/** * */ 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')); }
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; } }
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')); } } }
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')); }
/** * */ 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'])); } } }
/** * @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()); } }
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')); }
/** * @return string */ private static function getToken() { $salt = \Kohana::$config->load('session')->get('native'); return Protect::Crypt(\Request::$user_agent, $salt['salt']); }
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; } }
/** * 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); }