コード例 #1
0
ファイル: session.php プロジェクト: laiello/hecart
 /**
  * 清空所有SESSION
  *
  * @return boolean
  */
 public function cleanup()
 {
     switch ($this->_type) {
         case 'mem':
             return $this->_mem->flush();
         case 'db':
         case 'mdb':
             return $this->_db->truncate($this->_opt);
         case 'file':
             return self::kill_sfile($this->_path, true);
         case 'dir':
             $dir = 'abcdefghijklmnopqrstuvwxyz';
             $len = strlen($dir);
             for ($i = 0; $i < $len; ++$i) {
                 wcore_fso::rm_dir($dir[$i]);
             }
         default:
             return true;
     }
 }
コード例 #2
0
ファイル: page.php プロジェクト: laiello/hecart
 /**
  * 获取记录存入到数组中并返回
  *
  * @param string $sql  SQL语句
  * @param bool   $rsql 是否返回分布SQL语句
  * @return bool|mixed|string 有数据则返回数据数组,无则返回false
  */
 public function &get_value($sql, $rsql = false)
 {
     $false = false;
     if (empty($sql)) {
         return $false;
     }
     $sql = str_replace(';', '', $sql);
     $this->page_tip = $this->lang['not_data'];
     //未找到内容时显示的提示说明
     /**
      * 截取FROM后的条件SQL语句
      */
     $osql = $sql;
     $order_pos = stripos($osql, ' ORDER');
     if ($order_pos) {
         $osql = substr($osql, 0, $order_pos);
     }
     if ($this->amount == -1) {
         preg_match('/(\\t| |\\n|\\r)?FROM (.+?)$/is', $osql, $from);
         $this->_amount('SELECT COUNT(*) AS CNUM' . $from[0]);
     }
     /**
      * 计算能分多少页
      */
     $this->how_cleft();
     if ($this->now_page <= 0) {
         $this->now_page = 1;
     }
     $now_page = $this->now_page - 1;
     $snum = $now_page * $this->page_size;
     /**
      * 判断指定分页数是否大于实际分页数
      */
     if ($this->now_page > $this->how_cleft) {
         return $false;
     }
     $page_size = $this->page_size;
     /**
      * 判断数据库操作类型
      */
     if (get_class($this->_db) == 'wcore_mssql') {
         $sql = preg_replace('/SELECT /i', "SELECT TOP {$this->enum} ", $sql);
     } else {
         if (get_class($this->_db) == 'wcore_oci') {
             $enum = $snum + $page_size;
             $sql = "SELECT * FROM (SELECT PTPAGE.*, ROWNUM AS PTRNUM FROM ({$sql}) PTPAGE WHERE ROWNUM <= {$enum}) WHERE PTRNUM > {$snum}";
         } else {
             $sql = "{$sql} LIMIT {$snum}, {$page_size};";
         }
     }
     $this->snum = $snum <= 0 ? 1 : $snum + 1;
     //开始记录编号
     $this->enum = $snum + $page_size - 1;
     //终止记录编号
     /**
      * 判断最终显示的记录是否真的大于总记录
      */
     if ($this->enum > $this->amount) {
         $this->enum = $this->amount;
     }
     /**
      * 判断是否仅返回分页SQL,若为假则执行SQL并返回所有数据
      */
     if ($rsql) {
         return $sql;
     }
     $result = $this->_db->fetch_all($sql);
     return $result;
     //返回所有数据
 }