Blog移植纪念

纪念一下陪伴了我3年的stblog,今天把blog整个移植到wordpress上。

因为系统移植所以有一些问题

比如说之前的代码无法正常展示

因为前面的文章太多了 一个一个修改太累 索性不整理了 哈哈哈

以后慢慢的再添加吧

Python3.5 用 pip 安装lxml

pip 安装不了

 

最后在知乎上找到答案

 

作者:深海鱼
链接:http://www.zhihu.com/question/26857761/answer/69754633
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

1. 安装wheel,命令行运行:pip install wheel
2.在这里下载对应的.whl文件,注意别改文件名!http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxmlCtrl + F,输入lxml,找到下面这段Lxml, a binding for the libxml2 and libxslt libraries.lxml‑3.4.4‑cp27‑none‑win32.whllxml‑3.4.4‑cp27‑none‑win_amd64.whllxml‑3.4.4‑cp33‑none‑win32.whllxml‑3.4.4‑cp33‑none‑win_amd64.whllxml‑3.4.4‑cp34‑none‑win32.whllxml‑3.4.4‑cp34‑none‑win_amd64.whllxml‑3.4.4‑cp35‑none‑win32.whllxml‑3.4.4‑cp35‑none‑win_amd64.whlcp后面是Python的版本号,27表示2.7,根据你的Python版本选择下载。3. 进入.whl所在的文件夹,执行命令即可完成安装pip install 带后缀的完整文件名

iframe 内部刷新外部界面

今天在做 erp系统的时候 用layer 调用的iframe 想在内部操作完之后 让外部列表刷新

以为直接用js的刷新页面就可以 结果刷新之后只是刷新iframe里面的页面

研究了一下 其实只要用parent. 就可以调用外部的function 

这样直接在外部写好刷新function 然后再内部调用就可以了

UNDO ISSUE JP VOUCHER

#1.update voucher
update voucher set stock_id = 33, status_id = 1, type_id = 0, expiry_date = NULL where voucher_id = 228534

#2.delete voucher_action
delete from voucher_action where voucher_id = 228534 and action_id = 30

#3.delete voucher campaign issue
delete from voucher_campaign_issue where voucher_id = 228534

delete from voucher_campaign_issue_request where request_id = 30217

#4.delete request
delete from voucher_request_approve  where request_id = 30217

#5.delete voucher batch
delete from voucher_batch where batch_id = 65236
delete from voucher_batch_no_section where batch_id = 65236

#6. check receipt
select * from voucher_receipt_numbers where voucher_ids like '"8534%'

分析浏览器脚本

    //Analysis browser

    function getBrowser($agent){
        if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断
            return "ie";
        else if(strpos($agent,'Firefox')!==false)
            return "firefox";
        else if(strpos($agent,'Chrome')!==false)
            return "chrome";
        else if(strpos($agent,'Opera')!==false)
            return 'opera';
        else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)
            return 'safari';
        else if((strpos($agent,'AppleWebKit')!==false))
            return 'safari';
        else
            return 'unknown';
    }

    function getBrowserVer($agent){
        if (preg_match('/MSIE\s(\d+)\..*/i', $agent, $regs))
            return $regs[1];
        elseif (preg_match('/FireFox\/(\d+)\..*/i', $agent, $regs))
            return $regs[1];
        elseif (preg_match('/Opera[\s|\/](\d+)\..*/i', $agent, $regs))
            return $regs[1];
        elseif (preg_match('/Chrome\/(\d+)\..*/i', $agent, $regs))
            return $regs[1];
        elseif ((strpos($agent,'Chrome')==false)&&preg_match('/Safari\/(\d+)\..*$/i', $agent, $regs))
            return $regs[1];
        elseif (preg_match('/AppleWebKit\/(\d+)\..*/i', $agent, $regs))
            return $regs[1];
        elseif (preg_match('/Trident\/(\d+)\..*/i', $agent, $regs))
            return $regs[1];
        else
            return 'unknow';
    }

    function get_ie_model($agent){
        if(strpos($agent,'compatible')!==false){
            return 'compatible';
        }else{
            return '';
        }
    }

    function getos($agent){
        if(strpos($agent,'Macintosh')!==false){
            return 'Mac';
        }
        else if(strpos($agent,'Android')!==false){
            return 'Android';
        }
        else if(strpos($agent,'Windows')!==false){
            return 'Windows';
        }
        else if(strpos($agent,'iPad')!==false){
            return 'iPad';
        }
        else if(strpos($agent,'iPhone')!==false){
            return 'iPhone';
        }
        else {
            return 'unknow';
        }
    }

    function transfer_browser_info(){
        ini_set('max_execution_time', '0');

        //get customer lkup arr
        $customer_list = $this->db->query("select customer_id, customer_name from evo_central_config.customer")->result_array();
        $customer_lkup = array();
        foreach($customer_list as $row){
            $customer_lkup[$row['customer_id']] = $row['customer_name'];
        }

        $sql = "select count(*) as cnt, login_name, user_agent from evo_central.user_login_trail where login_time > '2015-01-01 00:00:00' and login_password = 'OK' and login_name != '' group by login_name, user_agent" ;
        $result = $this->db->query($sql)->result_array();

        foreach($result as $row)
//        $query = $this->db->query($sql);
//        while ($row = $query->unbuffered_row())
        {
            $login_name = $row['login_name'];
            $agent = $row['user_agent'];

            #user_id,user_name,customer_id,customer_name,os,browser,version,model
            $user_info = $this->db->query("select * from evo_central_config.customer_user_online where login_name = '$login_name'")->row_array();

            $insert_arr = array();
            if(!empty($user_info)){
                $insert_arr['cnt']           = $row['cnt'];
                $insert_arr['user_id']       = $user_info['user_id'];
                $insert_arr['user_name']     = $user_info['user_name'];
                $insert_arr['customer_id']   = $user_info['customer_id'];
                $insert_arr['customer_name'] = !empty($customer_lkup[$insert_arr['customer_id']]) ? $customer_lkup[$insert_arr['customer_id']] : '' ;
                $insert_arr['os']            = $this->getos($agent);
                $insert_arr['browser']       = $this->getBrowser($agent);
                $insert_arr['version']       = $this->getBrowserVer($agent);
                $insert_arr['model']         = $this->get_ie_model($agent);
                $insert_arr['agent']         = $agent;

                $this->db->insert('evo_central.test',$insert_arr);
            }

        }
    }

PHP脚本的最大执行时间问题

php.ini 中缺省的最长执行时间是 30 秒,这是由 php.ini 中的 max_execution_time 变量指定,倘若你有一个需要颇多时间才能完成的工作,例如要发送很多电子邮件给大量收件者,或者要进行繁重的数据分析工作,服务器会在 30 秒后强行中止正在执行的程序,如何解决这个问题呢。

另一个办法是在 PHP 程序中加入 ini_set('max_execution_time', '0'),数值 0 表示没有执行时间的限制,你的程序需要跑多久便跑多久。若果你的程序仍在测试阶段,推荐你把时限设置一个实数,以免程序的错误把服务器当掉。

 <?php
 //max_execution_time=100;
 ini_set("max_execution_time", 1);  //用此function才能真正在运行时设置
 for($i=1; $i< 100000; $i++) 
 { 
  echo "No. {$i}\n"; 
  echo '<br />';
  flush(); 
 }
?>

在这里简单记录下~