コード例 #1
0
ファイル: Boot.php プロジェクト: astar3086/studio_mn24
 /**
  *
  */
 public function action_index()
 {
     Assets::js('datatable_jquery', base_UI . 'js/plugins/datatables/jquery.dataTables.js');
     Assets::js('datatable', base_UI . 'js/plugins/datatables/dataTables.bootstrap.js');
     Assets::js('icheck', base_UI . 'js/plugins/iCheck/icheck.min.js');
     if ($boot_id = \Utils\Protect::Validate($this->request->param('id'), 'int')) {
         $this->template->assign(['code' => $boot_id]);
     }
     $this->response->body($this->template->fetch('admin/boot/Index.tpl'));
 }
コード例 #2
0
ファイル: Users.php プロジェクト: astar3086/studio_logistic
 public function action_delete()
 {
     if (false !== ($id = Protect::Validate($_POST['id'], 'int'))) {
         $status = false;
         $User = \Model\User::model()->findByPk($id);
         //$this->delete_credit( $id );
         if ($User->delete()) {
             $status = 0;
         }
         $this->response->body(json_encode(['code' => $status]));
         return true;
     }
 }
コード例 #3
0
ファイル: Pages.php プロジェクト: astar3086/studio_mn24
 public function action_display()
 {
     $user_id = \Registry::getCurrentUser()->iduser;
     if ($item_id = \Utils\Protect::Validate($this->request->param('id'), 'int')) {
         \Assets::js('page1', base_UI . 'js/pages/page.js');
         $page = \Model\Pages::model()->findByPk($item_id);
         $this->template->assign(['page' => $page]);
         $this->response->body($this->template->fetch('pages.tpl'));
     } else {
         if ($alias = \Utils\Protect::Validate($this->request->param('alias'), 'string')) {
             /**@var \Model\Item $data*/
             \Assets::js('page1', base_UI . 'js/pages/page.js');
             $page = \Model\Pages::model()->findByAttributes(['alias' => $alias]);
             $this->template->assign(['page' => $page]);
             $this->response->body($this->template->fetch('pages.tpl'));
         }
     }
 }
コード例 #4
0
ファイル: Search.php プロジェクト: astar3086/studio_logistic
 public function action_index()
 {
     $user_id = \Registry::getCurrentUser()->iduser;
     $category = $this->request->post('category');
     if (!($search = \Utils\Protect::Validate($this->request->post('search'), 'string'))) {
         $search = \Utils\Protect::Validate($this->request->query('search'), 'string');
     }
     if (!empty($search)) {
         switch ($category) {
             case '1':
                 $this->findAll($search);
                 break;
             default:
                 $this->findAll($search);
                 $category = 1;
         }
     }
     $this->template->assign(['category' => $category, 'search' => $search]);
     $this->response->body($this->template->fetch('search/results.tpl'));
 }
コード例 #5
0
 /**
  *
  */
 public function action_saveData()
 {
     $user = \Session::instance()->get('UloginData');
     $user_id = \Registry::getCurrentUser()->id;
     if ($user_id) {
         /** @var $data \Model\Item */
         $data = User::model()->findByPk($user_id);
         $keys = array_keys($_POST);
         foreach ($keys as $key) {
             $value = $_POST[$key];
             if ($value != '') {
                 if ($key == "month" || $key == "year") {
                     continue;
                 }
                 if ($key == "pass") {
                     $dynamic_salt = \Utils\Math::rand();
                     $pass = $_POST['password'] . \Cookie::$salt;
                     $value = \Utils\Protect::Crypt($pass, $dynamic_salt);
                     $data->salt = $dynamic_salt;
                 }
                 if ($key == "day") {
                     $date_birthday = date('Y-m-d', mktime(0, 0, 0, $_POST['month'], $_POST['day'], $_POST['year']));
                     $data->date_birthday = $date_birthday;
                 } else {
                     $data->{$key} = $value;
                 }
             }
         }
         if (!empty($_FILES['photo']['name'])) {
             $filename = $this->_save_image($_FILES['photo']);
             $data->photo = $filename;
         }
         if (!$data->save()) {
             $this->response->body('Error User Data');
         } else {
             $this->redirect(\Route::get('pages')->uri(['controller' => 'Portfolio', 'action' => 'main']));
         }
     }
 }
コード例 #6
0
ファイル: Main.php プロジェクト: astar3086/studio_logistic
 /**
  * @throws \Kohana_Database_Exception
  */
 public function action_continue()
 {
     $user = \Session::instance()->get('UloginData');
     if (!$user) {
         $this->response->body($this->template->fetch('internal.tpl'));
         return;
     }
     $dynamic_salt = \Utils\Math::rand();
     $pass = $_POST['password'] . \Cookie::$salt;
     $crypted_pass = \Utils\Protect::Crypt($pass, $dynamic_salt);
     $user_model = new User();
     $user_model->nickname = $_POST['nickname'];
     $user_model->first_name = $_POST['first_name'];
     $user_model->email = $_POST['email'];
     $user_model->salt = $dynamic_salt;
     $user_model->pass = $crypted_pass;
     $user_model->gender = $_POST['gender'];
     $user_model->date_birthday = strtotime($_POST['bdate']);
     $user_model->avatar = $_POST['avatar_url'];
     //TODO: uploaded file handler
     $access_level = new \Auth\Access();
     /*Allow user to authenticate*/
     $access_level->set(\Auth\Access::User_Login);
     $user_model->access_level = $access_level->getValue();
     if (!$user_model->save()) {
         throw new \Kohana_Database_Exception('Unable to save user model');
     }
     $ULogin = new ULogin();
     $ULogin->network = $user['network'];
     $ULogin->uid = $user['identity'];
     $ULogin->user_id = $user_model->id;
     if (!$ULogin->save()) {
         $this->response->body('Unable to save social network data');
     } else {
         $this->redirect(\Route::get('')->uri());
     }
 }
コード例 #7
0
ファイル: Auth.php プロジェクト: astar3086/studio_logistic
 public function action_recovery()
 {
     $action_status = '';
     if ($recovery = $this->request->post('recovery')) {
         $action_status = '';
         $criteria = (new \DBCriteria())->addCondition('recovery', $recovery);
         $criteria->condition = " lifetime > :lifetime ";
         $criteria->params = array(':lifetime' => time());
         $userInfo = User::model()->find($criteria);
         if (($userInfo = User::model()->find($criteria)) && !empty($_POST['pass'])) {
             $dynamic_salt = Math::rand();
             $pass = $_POST['pass'] . \Cookie::$salt;
             $crypted_pass = Protect::Crypt($pass, $dynamic_salt);
             $userInfo->pass = $crypted_pass;
             $userInfo->salt = $dynamic_salt;
             $userInfo->recovery = '';
             if ($userInfo->save()) {
                 $action_status = 'Password Changed!';
             }
         }
     } else {
         $recovery = $this->request->param('recovery');
     }
     $this->template->assign(['action_status' => $action_status, 'recovery' => $recovery]);
     $this->response->body($this->template->fetch('portfolio/recovery.tpl'));
 }
コード例 #8
0
ファイル: Base.php プロジェクト: astar3086/studio_logistic
 /**
  * @return string
  */
 private static function getToken()
 {
     $salt = \Kohana::$config->load('session')->get('native');
     return Protect::Crypt(\Request::$user_agent, $salt['salt']);
 }
コード例 #9
0
ファイル: Payments.php プロジェクト: astar3086/studio_mn24
 public function action_delete()
 {
     if (false !== ($id = Protect::Validate($_POST['id'], 'int'))) {
         $status = false;
         $User = \Model\UserPayment::model()->findByPk($id);
         if (\Model\UserPayment::model()->deleteAllByAttributes(['idpages' => $id])) {
             $status = 0;
         }
         $this->response->body(json_encode(['code' => $status]));
         return true;
     }
 }
コード例 #10
0
ファイル: Protect.php プロジェクト: astar3086/studio_logistic
 /**
  * Validate
  * @param $var
  * @param $type
  * @param null $flag
  * @return mixed
  */
 public static function Validate($var, $type, $flag = null)
 {
     if (is_array($var)) {
         $tmp_arr = [];
         foreach ($var as $key => $val) {
             $tmp_arr[$key] = Protect::Validate($val, $type);
         }
         return $tmp_arr;
     } else {
         switch ($type) {
             default:
                 $type = FILTER_DEFAULT;
                 break;
             case 'bool':
                 $type = FILTER_VALIDATE_BOOLEAN;
                 break;
             case 'float':
                 $type = FILTER_VALIDATE_FLOAT;
                 break;
             case 'int':
                 $type = FILTER_VALIDATE_INT;
                 break;
             case 'ip':
                 $type = FILTER_VALIDATE_IP;
                 break;
             case 'email':
                 $type = FILTER_VALIDATE_EMAIL;
                 break;
             case 'url':
                 $type = FILTER_VALIDATE_URL;
                 break;
             case 'regexp':
                 $type = FILTER_VALIDATE_REGEXP;
                 break;
             case 'double':
                 return is_double($var) ? $var : false;
             case 'array':
                 return is_array($var) ? $var : false;
             case 'dir':
                 return is_dir($var) ? $var : false;
             case 'upload':
                 return is_uploaded_file($var) ? $var : false;
             case 'exec':
                 return is_executable($var) ? $var : false;
             case 'file':
                 return is_file($var) ? $var : false;
             case 'link':
                 return is_link($var) ? $var : false;
             case 'read':
                 return is_readable($var) ? $var : false;
             case 'write':
                 return is_writable($var) ? $var : false;
             case 'null':
                 return is_null($var) ? true : false;
             case 'resource':
                 return is_resource($var) ? $var : false;
             case 'login':
                 return preg_match("/^[a-zA-Z0-9_\\.-]+\$/", $var) && strlen($var) >= self::DEFAULT_USERNAME_MIN_LEN && strlen($var) <= self::DEFAULT_USERNAME_MAX_LEN ? $var : false;
         }
         switch ($flag) {
             default:
                 $flag = null;
                 break;
             case 'ipv4':
                 $flag = $type == 'ip' ? FILTER_FLAG_IPV4 : null;
                 break;
             case 'ipv6':
                 $flag = $type == 'ip' ? FILTER_FLAG_IPV6 : null;
                 break;
             case 'ip_p':
                 $flag = $type == 'ip' ? FILTER_FLAG_NO_PRIV_RANGE : null;
                 break;
             case 'ip_r':
                 $flag = $type == 'ip' ? FILTER_FLAG_NO_RES_RANGE : null;
                 break;
             case 'thousand':
                 $flag = $type == 'float' ? FILTER_FLAG_ALLOW_THOUSAND : null;
                 break;
             case 'octal':
                 $flag = $type == 'int' ? FILTER_FLAG_ALLOW_OCTAL : null;
                 break;
             case 'hex':
                 $flag = $type == 'int' ? FILTER_FLAG_ALLOW_HEX : null;
                 break;
             case 'bool_null':
                 $flag = $type == 'bool' ? FILTER_NULL_ON_FAILURE : null;
                 break;
         }
     }
     return filter_var($var, $type, $flag);
 }