Example #1
0
 public function modifyForm(Crud_Models_Field $field)
 {
     Libraries_View::getInstance()->setModule('controls');
     Libraries_View::getInstance()->field = $field;
     Libraries_View::getInstance()->properties = json_decode($field->sys_control_properties);
     return Libraries_View::getInstance()->load('/filemanager/form');
 }
Example #2
0
 public static function render($widget_area)
 {
     $view = Libraries_View::getInstance();
     $page = $view->getSharedData('_SYSTEM_PAGE');
     $page_template = $view->getSharedData('_SYSTEM_PAGE_TEMPLATE');
     $where = array();
     $where[] = array('AND', 'id_page', '=', $page->id);
     $where[] = array('AND', 'area_name', '=', $widget_area);
     $order = array();
     $order[] = array('order_index', 'ASC');
     $widget_instance = new Page_Models_Page_Widget_Instance();
     $widget_instances = $widget_instance->search($where, $order);
     foreach ($widget_instances as $widget_instance) {
         $widget = new Page_Models_Page_Widget();
         $widget->load($widget_instance->id_page_widget);
         $sys_object = new Crud_Models_Object();
         $sys_object->load($widget->id_sys_object);
         $row = new Libraries_Db_Mysql_Model($sys_object->table_name);
         $row->load($widget_instance->id_row);
         $widget_class_name = $widget->class_name;
         /*
         echo '<pre>'; print_r($widget); echo '</pre>';
         echo '<pre>'; print_r($widget_instance); echo '</pre>'; exit;
         */
         echo '<div class="widget" data-widget-id="' . $widget->id . '" data-widget-instance-id="' . $widget_instance->id . '" data-widget-object-id="' . $widget->id_sys_object . '" data-widget-row-id="' . $widget_instance->id_row . '">';
         call_user_func_array(array(new $widget_class_name(), 'render'), array($widget, $widget_instance, $row));
         echo '</div>';
     }
 }
Example #3
0
 public static function renderJs()
 {
     if (self::$is_js_rendered == false) {
         self::$is_js_rendered = true;
         echo Libraries_View::getInstance()->setModule('controls')->load('/orderindex/js');
     }
 }
Example #4
0
 public static function render($items_count, $items_per_page, $current_page, $url)
 {
     $view = new Libraries_View('common');
     $number_of_pages = ceil($items_count / $items_per_page);
     $max_number_of_pages = $number_of_pages;
     $pagination_start = 1;
     if ($number_of_pages > 5) {
         if ($current_page == 1) {
             $pagination_start = 1;
             $number_of_pages = 5;
         } else {
             if ($current_page - 2 <= 1) {
                 $pagination_start = 1;
                 $number_of_pages = 5;
             } else {
                 if ($current_page + 2 >= $number_of_pages) {
                     $pagination_start = $number_of_pages - 4;
                 } else {
                     $pagination_start = $current_page - 2;
                     $number_of_pages = $current_page + 2;
                 }
             }
         }
     }
     $get_results = '';
     if (!empty($_GET)) {
         $get_results = '?';
         foreach ($_GET as $key => $value) {
             $get_results .= $key . '=' . $value . '&';
         }
         $get_results = rtrim($get_results, '&');
     }
     $view->items_count = $items_count;
     $view->items_per_page = $items_per_page;
     $view->current_page = $current_page;
     $view->url = $url;
     $view->number_of_pages = $number_of_pages;
     $view->pagination_start = $pagination_start;
     $view->get_results = $get_results;
     $view->max_number_of_pages = $max_number_of_pages;
     if ($number_of_pages > 1) {
         return $view->load('pagination');
     }
     return '';
 }
Example #5
0
 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();
 }
Example #6
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();
 }
Example #7
0
 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();
 }
Example #8
0
 public static function render($control, $object, $field, $row = array(), $index = '', $control_type = self::CONTROL_TYPE_EDIT)
 {
     if ($control->isEmpty()) {
         return '';
     }
     $control_class = $control->class;
     if ($control_type == self::CONTROL_TYPE_EDIT) {
         $view_file = $control_class::$edit_file;
     } else {
         if ($control_type == self::CONTROL_TYPE_LIST) {
             $view_file = $control_class::$list_file;
         } else {
             if ($control_type == self::CONTROL_TYPE_SEARCH) {
                 $view_file = $control_class::$search_file;
             }
         }
     }
     $control_view = Libraries_View::getInstance(true);
     // create new instance of view; only for controls
     $control_view->setModule('controls');
     $value = '';
     if (!empty($row)) {
         $value = $row->{$field->field_name};
     }
     $control_view->field = $field;
     // set field data
     $control_view->value = $value;
     // set value
     $control_view->row = $row;
     // set value
     $control_view->control_properties = json_decode($field->sys_control_properties);
     // set control properties; ex. table for autocomplete
     $control_view->object = $object;
     $control_view->index = intval($index) + 1;
     return $control_view->load($view_file);
     // load control file
 }
Example #9
0
 public function loadsubforms($parent_sys_object_id)
 {
     // load relations
     $where = array();
     $order = array();
     $where[] = array('AND', 'id_sys_object_parent', '=', $parent_sys_object_id);
     $order[] = array('table_name', 'ASC');
     $selected_maped_object = new Crud_Models_Subform();
     $selected_maped_objects = $selected_maped_object->search($where);
     // load maped objects
     $where = array();
     $order = array();
     $where[] = array('AND', 'id', '!=', $parent_sys_object_id);
     $order[] = array('table_name', 'ASC');
     $maped_object = new Crud_Models_Object();
     $maped_objects = $maped_object->search($where, $order);
     Libraries_View::getInstance()->selected_maped_objects = $selected_maped_objects;
     Libraries_View::getInstance()->maped_objects = $maped_objects;
     echo Libraries_View::getInstance()->setModule('crud')->load('map/subforms');
 }
Example #10
0
 /**
  * @return Libraries_View
  */
 public static function getInstance($single_instance = false)
 {
     if ($single_instance) {
         return new self();
     }
     return empty(self::$instance) ? self::$instance = new self() : self::$instance;
 }
Example #11
0
 public function search($sys_object_id)
 {
     $sys_object = new Crud_Models_Object();
     $sys_object->load(intval($sys_object_id));
     $sys_object->loadFieldsForObject();
     Libraries_View::getInstance()->sys_object = $sys_object;
     echo Libraries_View::getInstance()->setModule('crud')->load('search');
 }
Example #12
0
 public function index()
 {
     $where = array();
     $all_projects_ids = array();
     $project_ids = array();
     // Load All projects //
     $sql = "SELECT id\r\n\t\t\t\tFROM projects";
     $data = array();
     $obj_all_projects_ids = Libraries_Db_Factory::getDb()->fetchAll($sql, $data, Libraries_Db_Adapter::FETCH_TYPE_CLASS);
     // id-s from all projects
     foreach ($obj_all_projects_ids as $obj) {
         $all_projects_ids[] = $obj->id;
         // getting array of id-s of projects
     }
     // Loading sectors select //
     $sector = new Home_Models_Sector();
     $sectors = $sector->search();
     Libraries_View::getInstance()->sectors = $sectors;
     // Loading regions-cities //
     $city = new Home_Models_City();
     $order = array();
     $order[] = array('name', 'ASC');
     $cities = $city->search(array(), $order);
     Libraries_View::getInstance()->cities = $cities;
     // Search by project title //
     if (isset($_POST['name']) && !empty($_POST['name'])) {
         $where[] = array('AND', 'title', 'LIKE', '%' . $_POST['name'] . '%');
     }
     // Sector search //
     if (isset($_POST['sectors'])) {
         $sectors = join(',', array_filter($_POST['sectors'], 'intval'));
         $sql = "SELECT project_id, COUNT(id) AS 'sectors_count'\r\n\t\t\t\t\tFROM projects_sectors\r\n\t\t\t\t\tWHERE sector_id IN ({$sectors})\r\n\t\t\t\t\tGROUP BY project_id\r\n\t\t\t\t\tHAVING sectors_count = " . count($_POST['sectors']);
         $data = array();
         $obj_ids_projects_by_sectors = Libraries_Db_Factory::getDb()->fetchAll($sql, $data, Libraries_Db_Adapter::FETCH_TYPE_CLASS);
         // project_id-s from table project_sectors
         $ids_projects_by_sectors = array();
         foreach ($obj_ids_projects_by_sectors as $obj) {
             $ids_projects_by_sectors[] = $obj->project_id;
             // getting array of id-s of projects
         }
         $project_ids = array_intersect($all_projects_ids, $ids_projects_by_sectors);
     }
     // Regions=Cities search //
     if (isset($_POST['regions-select'])) {
         $cities = join(',', array_filter($_POST['regions-select'], 'intval'));
         $sql = "SELECT project_id, COUNT(id) AS 'cities_count'\r\n\t\t\t\t\tFROM cities_projects\r\n\t\t\t\t\tWHERE city_id IN ({$cities},23)\r\n\t\t\t\t\tGROUP BY project_id\r\n\t\t\t\t\tHAVING cities_count = " . count($_POST['regions-select']);
         $data = array();
         $obj_ids_projects_by_cities = Libraries_Db_Factory::getDb()->fetchAll($sql, $data, Libraries_Db_Adapter::FETCH_TYPE_CLASS);
         // project_id-s from table cities_projects
         $ids_projects_by_cities = array();
         foreach ($obj_ids_projects_by_cities as $obj) {
             $ids_projects_by_cities[] = $obj->project_id;
             // getting array of id-s of projects
         }
         $project_ids = array_intersect($all_projects_ids, $ids_projects_by_cities);
     }
     if (!empty($_POST)) {
         if (empty($project_ids)) {
             $where[] = array('AND', '1', '=', 1);
         } else {
             $where[] = array('AND', 'id', 'IN', $project_ids);
         }
     }
     //echo '<pre>'; print_r($where); echo '</pre>';
     $project = new Home_Models_Project();
     $projects = $project->search($where);
     //echo '<pre>'; print_r($projects); echo '</pre>';
     Libraries_View::getInstance()->projects = $projects;
     echo Libraries_View::getInstance()->setModule('home')->load('home');
 }