public function reorder() { $object = new Crud_Models_Object(); $object->load($_POST['object_id']); $field = new Crud_Models_Field(); $field->load($_POST['field_id']); $row = new Libraries_Db_Mysql_Model($object->table_name); $row->load($_POST['row_id']); $where = array(); $order = array(); if (strtolower($_POST['direction']) == 'up') { $where[] = array('AND', $field->field_name, '>', $row->{$field->field_name}); $order[] = array($field->field_name, 'ASC'); } else { $where[] = array('AND', $field->field_name, '<', $row->{$field->field_name}); $order[] = array($field->field_name, 'DESC'); } $replacement_rows = $row->search($where, $order, 0, 1); if (count($replacement_rows)) { $replacement_row = $replacement_rows[0]; $tmp = $replacement_row->{$field->field_name}; $replacement_row->{$field->field_name} = $row->{$field->field_name}; $row->{$field->field_name} = $tmp; $row->save(); $replacement_row->save(); } }
public function login() { if (isset($_POST['username'])) { $where = array(); $where[] = array('AND', 'content', '=', $_POST['username']); $where[] = array('AND', 'action', '=', 'login_failure'); $where[] = array('AND', 'create_date', '>=', time() - 60 * 60); $order = array(); $order[] = array('create_date', 'desc'); $log = new Libraries_Db_Mysql_Model('sys_log'); $access_failures = $log->search($where, $order); if (count($access_failures) >= 3) { header('location: ' . SITE_ROOT_URI . '/admin/error/'); exit; } Admin_Libraries_Log::getInstance()->logAction('login_attempt', $_POST['username']); $username = $_POST['username']; $password = $_POST['password']; $is_login_success = Admin_Libraries_Admin::login($username, $password); $is_loged = Admin_Libraries_Admin::isLoged(); if ($is_login_success && $is_loged) { Admin_Libraries_Log::getInstance()->logAction('login_success', $_POST['username']); header('location:' . SITE_ROOT_URI . '/admin/'); exit; } Admin_Libraries_Log::getInstance()->logAction('login_failure', $_POST['username']); } Libraries_Layout::getInstance()->setTheme('admin'); Libraries_Layout::getInstance()->setLayout('login'); Libraries_Layout::getInstance()->render(); }
public function content($sys_object_id) { $sys_object = new Crud_Models_Object(); $sys_object->load(intval($sys_object_id)); $sys_object->loadFieldsForObject(); if ($sys_object->is_system == 1 && $this->user->role->safe_title != 'administrator') { echo '<script>window.location="' . SITE_ROOT_URI . '/admin/error/' . '"</script>'; exit; } if (!$this->user->role->canExecuteAction('can_view_' . $sys_object->table_name)) { echo '<script>window.location="' . SITE_ROOT_URI . '/admin/error/' . '"</script>'; exit; } $order = array(); $order[] = array('title', 'ASC'); $role = new Libraries_Db_Mysql_Model('adm_user_role'); $roles = $role->search(array(), $order); if (isset($_POST) && !empty($_POST)) { foreach ($roles as $role) { $sql = "DELETE \r\n\t\t\t\t\t\tFROM adm_user_role_permission\r\n\t\t\t\t\t\tWHERE id_adm_user_role = ?"; $data = array($role->id); Libraries_Db_Factory::getDb()->execute($sql, $data); foreach ($_POST as $action => $data) { $permission = new Libraries_Db_Mysql_Model('adm_user_role_permission'); $permission->id_adm_user_role = $role->id; $permission->action = $action; $permission->is_active = array_key_exists($role->id, $data) && $data[$role->id] == 1 ? 1 : 0; $permission->save(); } } Libraries_Flashdata::set('saved', __('Permissions is saved')); } $order = array(); $order[] = array('table_name', 'ASC'); $where = array(); $where[] = array('AND', 'is_system', '!=', 1); $objects = $sys_object->search($where, $order); Libraries_View::getInstance()->roles = $roles; Libraries_View::getInstance()->objects = $objects; Libraries_View::getInstance()->saved_status = Libraries_Flashdata::get('saved'); $content = Libraries_View::getInstance()->setModule('admin')->load('permissions'); Libraries_Layout::getInstance()->setTheme('admin'); Libraries_Layout::getInstance()->setLayout('admin'); Libraries_Layout::getInstance()->setRegionContent('content', $content); Libraries_Layout::getInstance()->render(); }
</div> </div> <?php } ?> <form action="" method="post" class="frm-save"> <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"> <?php foreach ($roles as $role) { ?> <?php $where = array(); $where[] = array('AND', 'id_adm_user_role', '=', $role->id); $permission = new Libraries_Db_Mysql_Model('adm_user_role_permission'); $permissions = $permission->search($where); ?> <div class="panel panel-default" data-field-id="<?php echo $role->id; ?> "> <div class="panel-heading" role="tab" id="heading<?php echo $role->title; ?> "> <h4 class="panel-title"> <a data-toggle="collapse" data-parent="#accordion" href="#collapse<?php echo $role->title; ?> " aria-expanded="true"