2011年10月起河南最低工资标准上调

大河报讯(记者杨凌)最低工资标准上调了!9月30日,省人力资源和社会保障厅举行新闻通气会向全省通报这一好消息:2011年10月1日起,河南月最低工资标准将由现行的800元、700元、600元分别调整为1080元、950元和820元。

省辖市最低工资标准过千元

据悉,河南月最低工资标准由现行的800元、700元、600元分别调整为1080元、950元、820元;小时最低工资标准由现行的9元、7.9元、6.8元分别调整为10.2元、8.9元、7.7元。月最低工资标准适用于全日制就业劳动者;小时最低工资标准适用于非全日制就业劳动者。调整后的最低工资标准从2011年10月1日起执行。

根据当地经济发展水平的不同,我省将各地区分别划分为一、二、三类行政区域,分别执行高、中、低档月最低工资标准和小时最低工资标准,如郑州市、洛阳市、开封市等18个省辖市及省直管县巩义市属一类行政区域范围;新乡县、安阳县、临颍县等属二类行政区域范围;开封县、淅川县、沈丘县等属三类行政区域范围。

据悉,今年以来,全国已有18个省、市、区调整了最低工资标准。

最低工资标准包含个人缴纳“三险一金”

通气会上,该厅有关负责人介绍,河南现行月最低工资标准和小时最低工资标准是从2010年7月1日起执行的。以往河南公布的最低工资标准不包含职工个人缴纳的养老、医疗、失业保险费和住房公积金,即“三险一金”,用人单位需另行支付。自今年10月1日起,河南最低工资标准包含职工个人缴纳的“三险一金”,在构成上将与原劳动部颁发的《最低工资规定》并轨。

该负责人强调,最低工资标准不包含的项目有:用人单位支付给劳动者的加班加点工资;中班、夜班、高温、低温、井下、有毒有害等特殊工作环境、条件下的津贴;通过贴补伙食、住房等支付给劳动者的非货币性收入;用人单位依法为劳动者缴纳的各项社会保险费和住房公积金;按照国家规定为劳动者提供的福利待遇等内容。

两个PHP可逆加密函数

第一个是我自己写的一个简单的PHP可逆加密函数
第二个是我根据Discux!X的函数改写的一个较为复杂的PHP可逆加密函数

//第一个
function anrip_authcode1($str, $opt = 'encode', $key = 'anrip') {
  $result = '';
  $self = __FUNCTION__;
  if($opt == 'mcrypt') {
    $key = md5($key);
    $key_length = strlen($key);
    $str_length = strlen($str);
    for($i = $m = 0; $i < $str_length; $i++, $m++) {
      $m = $m == $key_length ? 0 : $m;
      $result .= $str[$i] ^ $key[$m];
    }
  } elseif($opt == 'encode') {
    $rnd = md5(mt_rand().$key);
    $rnd_length = strlen($rnd);
    $str_length = strlen($str);
    for($i = $m = 0;$i < $str_length; $i++, $m++) {
      $m = $m == $rnd_length ? 0 : $m;
      $result .= $rnd[$m].($str[$i] ^ $rnd[$m]);
    }
    $result = base64_encode($self($result, 'mcrypt', $key));
    $result = str_replace('==', '', $result);
    $result = str_replace('+', '*', $result);
  } elseif($opt == 'decode') {
    $str = str_replace('*', '+', $str);
    $str = $self(base64_decode($str), 'mcrypt', $key);
    $str_length = strlen($str);
    for($i = 0; $i < $str_length; $i++) {
      $md5 = $str[$i];
      $result .= $str[++$i] ^ $md5;
    }
  }
  return $result;
}
//第二个
function anrip_authcode2($str, $opt = 'encode', $key = 'anrip', $expiry = 0, $length = 4) {
  //define some key
  $key = md5(defined(AUTH_KEY) ? AUTH_KEY : $key);
  $keya = $length > 0 ? substr($opt == 'encode' ? md5(microtime()) : $str, 0, $length) : '';
  $keyb = md5(substr($key, 0, 16)).md5($key.$keya);
  $keyc = md5(substr($key, 16, 16).$keya.$keyb);
  //set $rnd
  $rnd = array();
  for($i = 0, $j = strlen($keyb); $i < 256; $i++) {
    $rnd[$i] = ord($keyb[$i%$j]);
  }
  //set $box
  $box = range(0, 255);
  for($j = $i = 0; $i < 256; $i++) {
    $j = ($j + $box[$i] + $rnd[$i]) % 256;
    list($box[$i], $box[$j]) = array($box[$j], $box[$i]);
  }
  //get $result
  $result = '';
  $expiry = $expiry ? $expiry + time() : 0;
  $str = $opt == 'encode' ? sprintf('%010d', $expiry).substr(md5($str.$keyc), 0, 16).$str : base64_decode(substr($str, $length));
  for($a = $i = $j = 0, $l = strlen($str); $i < $l; $i++) {
    $a = ($a + 1) % 256;
    $j = ($j + $box[$a]) % 256;
    list($box[$a], $box[$j]) = array($box[$j], $box[$a]);
    $result .= chr(ord($str[$i]) ^ ($box[($box[$a]+$box[$j]) % 256]));
  }
  //return $str
  if($opt == 'encode') {
    return $keya.str_replace('=', '', base64_encode($result));
  }
  else {
    $str = substr($result, 26);
    $expiry = substr($result, 0, 10);
    if(($expiry == 0 || $expiry > time()) && substr($result, 10, 16) == substr(md5($str.$keyc), 0, 16)) {
      return $str;
    }
    else return '';
  }
}

JavaScript根据给定的时间获取Unix时间戳

因为项目需要,今天写了一个JS版的根据给定的时间获取Unix时间戳的转换函数,不多废话,直接上代码。

/*!
 * 根据给定的时间获取Unix时间戳
 * @time : 时间;字符:'yyyy-mth-dd hh:mm:ss'
 * @tzone: 时区;整数:[-12,+12]
 */
function timestamp(time, tzone) {
  if(time) {
    var t = time.match(/((\d{4})\D(\d\d)\D(\d\d))(\s(\d\d)\D(\d\d)\D(\d\d))?/) || [];
    if(t[8]) time = new Date(t[2], t[3]-1, t[4], t[6], t[7], t[8]);
    else if(t[4]) time = new Date(t[2], t[3]-1, t[4]);
    else return 0;
  }
  return Math.round((time||new Date()).getTime()/1000)+(tzone||8)*3600;
}

上述函数支持以下四种格式的参数:

timestamp(); //当前时间戳
timestamp('1970-01-01'); //表示当日0点
timestamp('1970-01-01 00:00:01'); //日期以-分割
timestamp('1970/01/01 00:00:01'); //日期以/分割

批处理检测本地网络是否可用

在做xServer批处理版控制台时写了这个方法,这里给出来,供大家参考:

:check_network
  echo. && echo 测试网络环境...
  ping 127.0.0.1 -n 2 >nul || (
    echo 测试失败,请检查网络连接.
    goto check_network
  )
  goto :EOF

本程序用于检测本地网络是否可用,不可用将循环检测,直到可用跳出循环。

框架自适应高度和宽度代码

今天做小春的一个小项目,又一次遇到了“框架自适应高度和宽度”的问题,此次记录下来代码备查。

<html>
<head>
<title>小春网</title>
</head>
<frameset cols="100%" border="0" frameborder="no" framespacing="0">
  <frame src="http://www.xiaochuncnjp.com" />
  <noframes>
    <body>请点击<a href="http://www.xiaochuncnjp.com">这里</a>访问本站镜像。</body>
  </noframes>
</frameset>
</html>

快速登录及关闭Windows2003的方法

一、禁用“关闭事件跟踪程序”

1、单击“开始->运行”,运行gpedit.msc命令
2、将“计算机配置->管理模板->系统->显示“关闭事件跟踪程序”改为“已禁用”

二、取消“按Ctrl+Alt+Del登录”

1、单击“开始->运行”,运行secpol.msc /s命令
2、将“本地策略->安全选项->交互式登陆:不需要按CTRL+ALT+DEL”改为“已启用”

三、自动登录

1、单击“开始->运行”,运行control userpasswords2命令
2、在“用户账户”对话框中清除“要使用本机,用户必须输入密码”的选中状态
3、按下键盘的“Ctrl+Shift+A”,在“自动登录”对话框中设置启动时自动登录使用的账户和密码。

Ubuntu 修改时区

因为装的是英文版的Ubuntu Server,故时区为美国东部时间。
查找/etc目录后发现在timezone文件中有指定时区。

修改timezone配置为"Asia/Shanghai"即可

echo "Asia/Shanghai" > /etc/timezone

也可以使用以下命令打开交互式界面来更改系统时区

sudo dpkg-reconfigure tzdata

同步时间

ntpdate cn.pool.ntp.org

写入硬件时钟

hwclock -w

WordPress 清理全攻略

WordPress3.x数据库表

(1)wp_commentmeta: 用于保存评论的元信息,在将评论放入回收站等操作时会将数据放入此表,Akismet等插件也会生成此表的数据。
(2)wp_comments: 用于保存评论信息的表。
(3)wp_links: 用于保存用户输入到Wordpress中的链接(通过Link Manager)的表。
(4)wp_options: 用于保存Wordpress相关设置、参数的表,里面包括了大量的重要信息。
(5)wp_postmeta: 用于保存文章的元信息(meta)的表。此表不太重要。
(6)wp_posts: 用于保存你所有的文章相关信息的表,非常的重要。
(7)wp_terms: 文章和链接分类以及文章的tag分类可以在表里找到。
(8)wp_term_relationships: 日志与wp_terms中的类别与标签联合起来共同存储在此表中。类别相关链接也存储在此表中。
(9)wp_term_taxonomy: 该表格对wp_terms表中的条目分类(类别、链接以及标签)进行说明。
(10)wp_usermeta: 用于保存用户元信息(meta)的表。
(11)wp_users:用于保存Wordpress使用者的相关信息的表。

清理数据表操作主要涉及到以下几张表:

一、wp_options表:

这个数据表是wordpress设置的全局数据,这个表会经常插件、主题的残留数据,一些数据缓存。
(1)使用插件clean options
(2)清空wp_options表,会删除一些设置,需要重新设置wordpress

TRUNCATE TABLE wp_options;

二、wp_posts表:

删除除已发布的内容以外的文章、修订版本、页面、文章的附件、菜单

DELETE FROM wp_posts WHERE NOT(post_status = 'publish' AND post_type IN('post','nav_menu_item','page'));

三、wp_postmeta表:

(1)规矩删除,删除文章中不存在文章的元信息

DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT post_id FROM wp_posts);

(2)安全删除,删除_edit_lock和_edit_last条目是安全的

DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';
DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';

(3)风险删除,目前没有发现问题,待进一步考证

DELETE FROM wp_postmeta WHERE meta_key = '_wp_old_slug';
DELETE FROM wp_postmeta WHERE meta_key = '_revision-control';
DELETE FROM wp_postmeta WHERE meta_value = '{{unknown}}';

(4)特殊操作删除,后台上传图片或者附件的信息,若不需要可以删除

DELETE FROM wp_postmeta WHERE meta_key = '_wp_attached_file';
DELETE FROM wp_postmeta WHERE meta_key = '_wp_attachment_metadata';

(5)特殊插件删除,postnav插件会记录每个文章的访问数,若不需要可以删除

DELETE FROM wp_postmeta WHERE meta_key = 'views';

四、wp_commentmeta表:

(1)删除没有用的数据,不出意外,下面的操作我们应该不需要做

DELETE FROM wp_comments WHERE comment_approved = 'trash';
DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);

(2)在此表会记录评论被删除的时间,当评论被从回收站删除之后,这些记录就可以删除了

DELETE FROM wp_commentmeta WHERE meta_key LIKE '%trash%';

(3)如果直接全部删除wp_commentmeta,影响不会太大,这里面不会涉及重要的数据

TRUNCATE TABLE wp_commentmeta;

Nginx Rewrite 伪静态配置参数详解

正则表达式匹配:

  • ~ 为区分大小写匹配
  • ~* 为不区分大小写匹配
  • !~和!~*分别为区分大小写不匹配及不区分大小写不匹配

文件及目录匹配:

  • -f和!-f用来判断是否存在文件
  • -d和!-d用来判断是否存在目录
  • -e和!-e用来判断是否存在文件或目录
  • -x和!-x用来判断文件是否可执行

flag标记有:

  • last 相当于Apache里的[L]标记,表示完成rewrite
  • break 终止匹配, 不再匹配后面的规则
  • redirect 返回302临时重定向 地址栏会显示跳转后的地址
  • permanent 返回301永久重定向 地址栏会显示跳转后的地址

一些可用的全局变量有,可以用做条件判断(待补全)

$args
$content_length
$content_type
$document_root
$document_uri
$host
$http_user_agent
$http_cookie
$limit_rate
$request_body_file
$request_method
$remote_addr
$remote_port
$remote_user
$request_filename
$request_uri
$query_string
$scheme
$server_protocol
$server_addr
$server_name
$server_port
$uri