Esempio n. 1
0
 public static function handle($select, $sql, $rsnum)
 {
     if (empty(self::$num)) {
         self::$num = CORE::$cfg["item_num"];
     }
     if (!empty($rsnum) && $rsnum > self::$num) {
         $offset = 0;
         list($offset, $oldNum) = explode(',', $select['limit']);
         self::$all = ceil($rsnum / self::$num);
         # 總頁數
         if (empty(self::$now)) {
             self::$now = 1;
         }
         if (self::$now < 0 || self::$now > self::$all) {
             self::$now = 1;
         }
         self::$start = $limit_start = self::$num * self::$now - self::$num + $offset;
         # limit 開始資料列數
         $new_limit = $limit_start . "," . self::$num;
         # limit 組合完成
         $select['limit'] = $new_limit;
         $sql_page = DB::select($select);
         $page = array($sql_page, DB::num($sql_page));
         self::row();
     } else {
         self::$now = 1;
         $page = array($sql, $rsnum);
     }
     SESS::write('PAGE', self::$now);
     return $page;
 }
Esempio n. 2
0
 public static function register($msg, $path)
 {
     CHECK::is_array_exist($msg);
     if (CHECK::is_pass()) {
         foreach ($msg as $field => $var) {
             SESS::write('msg', $field, $var);
         }
     } else {
         SESS::write('msg', $msg);
     }
     header("location: {$path}");
 }
Esempio n. 3
0
 public static function write()
 {
     $args = func_get_args();
     self::$write = array_pop($args);
     // 最後一個輸入為寫入值
     self::$act = 'write';
     self::$args = $args;
     if (is_array(self::$args)) {
         self::get();
     }
     self::$act = false;
     self::$args = false;
     self::$write = false;
 }
Esempio n. 4
0
 public static function fetch()
 {
     SESS::del('SK');
     if (!empty(self::$now)) {
         SESS::write('SK', self::$now);
         $sk_str = urldecode(self::$now);
         $sk_str = str_replace('sk-', '', $sk_str);
         $sk_array = explode("|", $sk_str);
         foreach ($sk_array as $sk_group) {
             list($field, $value) = explode(":", $sk_group);
             if (!empty($value)) {
                 $subCK = preg_match('/^sub-/', $field) ? true : false;
                 $output = false;
                 if ($subCK) {
                     list($prefix, $orignField) = explode('-', $field);
                     $field = $orignField;
                 }
                 switch (true) {
                     case $field == "parent":
                         $output = "{$field} = '{$value}'";
                         break;
                     default:
                         $output = "{$field} like '%{$value}%'";
                         break;
                 }
                 if (!$subCK) {
                     $sk[] = $output;
                 } else {
                     $sub[] = $output;
                     $field = 'SUB_' . $orignField;
                 }
                 self::$args[$field] = $value;
                 VIEW::assignGlobal("SK_" . strtoupper($field), $value);
             }
         }
         if (is_array($sub)) {
             self::$sub = implode(" and ", $sub);
         }
         if (is_array($sk)) {
             return implode(" and ", $sk);
         }
     }
     return false;
 }
Esempio n. 5
0
 private static function modify()
 {
     $id = array_shift(CORE::$args);
     $amount = array_shift(CORE::$args);
     $cart = SESS::get('cart', $id);
     $cart["amount"] = $amount;
     $cart["subtotal"] = $cart["price"] * $amount;
     SESS::write('cart', $id, $cart);
     header("location: " . CORE::$root . 'cart/');
 }
Esempio n. 6
0
 private static function reverify()
 {
     $manager = SESS::get("MANAGER");
     $reverify_code = CORE::rand_password();
     SESS::write('reverify', $reverify_code);
     $mail_temp = 'ogs-mail-manager-reverify-tpl.html';
     VIEW::assignGlobal('VALUE_REVERIFY_CODE', $reverify_code);
     new VIEW($mail_temp, false, true, 1);
     CORE::mail_handle(SYSTEM::$setting["email"], $manager["account"], VIEW::$output, CORE::$lang["manager_verify"], SYSTEM::$setting["name"]);
     # 寄出認證信
 }
Esempio n. 7
0
 public static function noTrans($s = false)
 {
     if (empty($s)) {
         return false;
     }
     $noTrans = SESS::get('noTrans');
     $keys = count($noTrans) + 1;
     SESS::write('noTrans', $keys, $s);
     return true;
 }
Esempio n. 8
0
 public static function args_output($output = false, $tpl = false, $args = false)
 {
     if (!$output) {
         $sess_args = $args !== false ? $args : $_REQUEST;
         /*
         if(is_array($sess_args)){
         	foreach($sess_args as $field => $var){
         		$newArgs[$field] = urlencode($var);
         	}
         
         	$newArgsJson = json_encode($newArgs);
         }else{
         	$newArgsJson = json_encode(urlencode($sess_args));
         }
         */
         $newArgsJson = json_encode($sess_args);
         SESS::write('last_args', urlencode($newArgsJson));
     } else {
         $output_args = $args !== false ? $args : SESS::get('last_args');
         if (!empty($output_args)) {
             $argsArray = json_decode(urldecode($output_args), true);
         }
         CHECK::is_array_exist($argsArray);
         if (CHECK::is_pass()) {
             self::$args = $argsArray;
             if ($tpl) {
                 foreach ($argsArray as $field => $value) {
                     #$value = urldecode($value);
                     switch ($field) {
                         case "filename":
                         case "title":
                         case "h1":
                         case "keywords":
                         case "description":
                         case "short_desc":
                             $prefix = "SEO_";
                             break;
                         default:
                             $prefix = "VALUE_";
                             break;
                     }
                     VIEW::assignGlobal($prefix . strtoupper($field), $value);
                 }
             }
         }
         SESS::del('last_args');
         return self::$args;
     }
 }
Esempio n. 9
0
 private static function login()
 {
     CHECK::is_email($_POST["account"]);
     CHECK::is_password($_POST["password"]);
     if (CHECK::is_pass()) {
         $rsnum = CRUD::dataFetch('manager', array('ban' => '0', 'status' => '1', 'account' => $_POST["account"], 'password' => md5($_POST["password"])));
         if ($rsnum == 1) {
             list($manager) = CRUD::$data;
             $pass = true;
         }
     }
     if (!$pass) {
         $fail_count = SESS::get('LOGIN_FAIL');
         SESS::write('LOGIN_FAIL', ++$fail_count);
         if ($fail_count <= 3) {
             CORE::msg(self::$lang["login_error"], CORE::$manage . 'manager/login/');
         } else {
             # 失敗超過三次禁止登入
             session_destroy();
             CRUD::dataInsert('ban', array('ip' => CORE::getIP()));
             CORE::msg(self::$lang["login_ban"], CORE::$root);
         }
     } else {
         if (!empty($_POST["cookie"])) {
             $path = CORE::$manage . 'manager/reverify/';
         } else {
             $path = CORE::$manage;
         }
         SESS::write("MANAGER", $manager);
         CORE::msg(self::$lang["login_success"], $path);
     }
 }
Esempio n. 10
0
 private static function login($path = 'member')
 {
     CHECK::is_email($_POST["account"]);
     CHECK::is_password($_POST["password"]);
     if (CHECK::is_pass()) {
         $rsnum = CRUD::dataFetch('member', array('status' => '1', 'verify' => '1', 'account' => $_POST["account"], 'password' => md5($_POST["password"])));
         if ($rsnum == 1) {
             list($row) = CRUD::$data;
             SESS::write('m_id', $row["id"]);
             CORE::msg(CORE::$lang["login_done"], CORE::$root . $path);
             return true;
         } else {
             CORE::msg(CORE::$lang["login_error"], CORE::$root . $path);
             return false;
         }
     } else {
         CORE::msg(CHECK::$alert, CORE::$root . $path);
         return false;
     }
 }