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 index() { $content = Libraries_View::getInstance()->setModule('admin')->load('404'); Libraries_Layout::getInstance()->setTheme('admin'); if (Admin_Libraries_Admin::getLogedUser()->id > 0) { Libraries_Layout::getInstance()->setLayout('admin'); } else { Libraries_Layout::getInstance()->setLayout('error'); } Libraries_Layout::getInstance()->setRegionContent('content', $content); Libraries_Layout::getInstance()->render(); }
public function maplist() { $db_object_list = Libraries_Db_Factory::getDb()->fetchAll("SHOW TABLES", array(), Libraries_Db_Adapter::FETCH_TYPE_NUM); $available_db_objects = array(); foreach ($db_object_list as $db_object) { $available_db_objects[] = $db_object[0]; } Libraries_View::getInstance()->available_db_objects = $available_db_objects; $content = Libraries_View::getInstance()->setModule('crud')->load('map/list'); Libraries_Layout::getInstance()->setTheme('admin'); Libraries_Layout::getInstance()->setLayout('admin'); Libraries_Layout::getInstance()->setRegionContent('content', $content); 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(); }
public function profile() { if (isset($_POST) && !empty($_POST)) { $this->user->email = $_POST['email']; if (!empty($_POST['password']) && $_POST['password'] == $_POST['repeat_password']) { $this->user->password = md5($_POST['password'] . $user->salt); } $this->user->save(); Libraries_Flashdata::set('saved', __('Profile is saved')); } Libraries_View::getInstance()->user = $this->user; Libraries_View::getInstance()->saved_status = Libraries_Flashdata::get('saved'); $content = Libraries_View::getInstance()->setModule('admin')->load('profile'); Libraries_Layout::getInstance()->setTheme('admin'); Libraries_Layout::getInstance()->setLayout('admin'); Libraries_Layout::getInstance()->setRegionContent('content', $content); Libraries_Layout::getInstance()->render(); }
public function index() { $arguments = Libraries_Request::getInstance()->getArguments(); $last_argument_part = end($arguments); $id_page = intval(preg_replace('/^(.*?)(\\d{1,})\\.html$/i', '$2', $last_argument_part)); $page = new Page_Models_Page(); if (!empty($id_page)) { $page->loadPublishedPageById($id_page); } else { $page->loadHomePage(); } $page_template = new Page_Models_Page_Template(); $page_template->load($page->id_page_template); $this->view->setSharedData('_SYSTEM_PAGE', $page); $this->view->setSharedData('_SYSTEM_PAGE_TEMPLATE', $page_template); Libraries_Layout::getInstance()->setTheme('demo'); Libraries_Layout::getInstance()->setLayout($page_template->view_name); Libraries_Layout::getInstance()->render(); }
$.cookie('activeNavigationGroup', opened); } }); var window_height = $(window).height() - $('.collapse.navbar-collapse.navbar-ex1-collapse').height(); $('.nav.navbar-nav.side-nav ').height(window_height + 'px'); }); </script> <div id="page-wrapper"> <div class="container-fluid"> <?php echo Libraries_Layout::getInstance()->renderRegion('content'); ?> <div class="modal fade" id="loaderModal" style="position: absolute; z-index: 10000" data-backdrop="false"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title">In progress</h4> </div> <div class="modal-body"> <div class="progress"> <div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%"> <span class="sr-only">100% Complete</span> </div> </div>
public function content($sys_object_id, $current_page = 1, $is_ajax_call = 0, $subform_relation_id = null, $subform_relation_value = null) { $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') { if ($is_ajax_call) { return false; } echo '<script>window.location="' . SITE_ROOT_URI . '/admin/error/' . '"</script>'; exit; } if (!$this->user->role->canExecuteAction('can_view_' . $sys_object->table_name)) { if ($is_ajax_call) { return false; } echo '<script>window.location="' . SITE_ROOT_URI . '/admin/error/' . '"</script>'; exit; } Libraries_Event::trigger('beforeCrudList', $sys_object); if ($sys_object->custom_crud_class != '' && new $sys_object->custom_crud_class() instanceof Crud_Interfaces_Crud) { echo call_user_func(array(new $sys_object->custom_crud_class(), 'content'), $sys_object_id); return; } $where = array(); $order = array(); $subform_relation_field = null; if ($subform_relation_id) { $subform_relation = new Crud_Models_Subform(); $subform_relation->load($subform_relation_id); $subform_relation_field = new Crud_Models_Field(); $subform_relation_field->load($subform_relation->id_sys_field); $where[] = array('AND', $subform_relation_field->field_name, '=', $subform_relation_value); } if (!isset($_GET['ord_field'])) { foreach ($sys_object->sys_field_list as $sys_field) { if ($sys_field->field_name == 'order_index') { $order[] = array($sys_field->field_name, 'DESC'); break; } } if (empty($order)) { $order[] = array('id', 'DESC'); } } else { $order[] = array($_GET['ord_field'], isset($_GET['ord_direction']) && $_GET['ord_direction'] == 'asc' ? 'asc' : 'desc'); } $sql = "SELECT *\r\n\t\t\t\tFROM {$sys_object->table_name}\r\n\t\t\t\tWHERE\tis_deleted = " . (isset($_SESSION['trash']) && $_SESSION['trash'] == 1 ? 1 : 0); $sql_count = "\tSELECT COUNT(id)\r\n\t\t\t\t\t\tFROM {$sys_object->table_name}\r\n\t\t\t\t\t\tWHERE\tis_deleted = " . (isset($_SESSION['trash']) && $_SESSION['trash'] == 1 ? 1 : 0); $data = array(); $search_data = array(); if (isset($_POST) && !empty($_POST)) { foreach ($_POST as $key => $value) { if (preg_match('/^search_field_query_/', $key)) { $field_key = str_replace('search_field_query_', '', $key); $matches = array(); preg_match_all('/\\:\\w{1,}/', $value, $matches); if (isset($matches[0])) { foreach ($matches[0] as $i => $match) { $match = trim($match, ':'); if (!isset($_POST[$match])) { continue; } if (empty($_POST[$match])) { continue; } // u prvom prolazu dodajemo parametre za upit if ($i == 0) { $sql .= ' AND ' . $value; $sql_count .= ' AND ' . $value; } $search_data[$match] = $_POST[$match]; if (preg_match('/LIKE \\:(.*?)/', $value)) { $data[$match] = '%' . $_POST[$match] . '%'; } else { $data[$match] = $_POST[$match]; } } } } } /* echo '<pre>'; print_r($sql); echo '</pre>'; echo '<pre>'; print_r($data); echo '</pre>'; exit; */ } else { if (!empty($where)) { foreach ($where as $where_item) { $sql .= ' ' . $where_item[0] . ' ' . $where_item[1] . ' ' . $where_item[2] . ' ?'; $sql_count .= ' ' . $where_item[0] . ' ' . $where_item[1] . ' ' . $where_item[2] . ' ?'; $data[] = $where_item[3]; } } } if (!empty($order)) { $sql .= ' ORDER BY '; } foreach ($order as $order_item) { $sql .= $order_item[0] . ' ' . $order_item[1]; } $sql .= ' LIMIT ' . ($current_page - 1) * Config_Environment::DEFAULT_ITEMS_PER_PAGE . ', ' . Config_Environment::DEFAULT_ITEMS_PER_PAGE; $response = Libraries_Db_Factory::getDb()->fetchAll($sql, $data, Libraries_Db_Adapter::FETCH_TYPE_ASSOC); $generic_model_data_count = Libraries_Db_Factory::getDb()->fetchColumn($sql_count, $data); $generic_model_data = array(); foreach ($response as $row) { $generic_model_data[] = new Libraries_Db_Mysql_Model($sys_object->table_name, $row); } $user = Admin_Libraries_Admin::getLogedUser()->loadRole(); Libraries_View::getInstance()->search_data = $search_data; Libraries_View::getInstance()->sys_object = $sys_object; Libraries_View::getInstance()->generic_model_data = $generic_model_data; Libraries_View::getInstance()->generic_model_data_count = $generic_model_data_count; Libraries_View::getInstance()->current_page = $current_page; Libraries_View::getInstance()->is_ajax_call = $is_ajax_call; Libraries_View::getInstance()->subform_relation_field = $subform_relation_field; Libraries_View::getInstance()->user = $user; $page_count = ceil($generic_model_data_count / Config_Environment::DEFAULT_ITEMS_PER_PAGE); if ($page_count > 0 && $current_page > $page_count) { header('location: ' . SITE_ROOT_URI . '/crud/content/' . $sys_object_id . '/' . $page_count); exit; } $content = Libraries_View::getInstance()->setModule('crud')->load('rows'); Libraries_Layout::getInstance()->setTheme('admin'); Libraries_Layout::getInstance()->setLayout('admin'); Libraries_Layout::getInstance()->setRegionContent('content', $content); if (!$is_ajax_call) { Libraries_Layout::getInstance()->render(); } else { echo $content; } }
/** * @return Libraries_Layout */ public static function getInstance() { return empty(self::$instance) ? self::$instance = new self() : self::$instance; }