Esempio n. 1
0
 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();
     }
 }
Esempio n. 2
0
 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();
 }
Esempio n. 3
0
 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();
 }
Esempio n. 4
0
		</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"