Пример #1
0
 /**
  * Show modules
  *
  * @param   integer $id_area Area ID
  * @param   string  $area Area name
  * @return  void
  */
 public function index($id_area = 2, $area = 'public')
 {
     // load dictionary
     $this->dict->get_wordarray(array('modules'));
     $area = new Area_model();
     list($id_area, $areas) = $area->get_my_areas($id_area);
     $view = new X4View_core('container');
     $view->content = new X4View_core('modules/module_list');
     // get page
     $page = $this->get_page('modules');
     $navbar = array($this->site->get_bredcrumb($page));
     $view->content->navbar = $navbar;
     $view->content->page = $page;
     $view->content->id_area = $id_area;
     $view->content->area = $area->get_by_id($id_area);
     // get installed and installable plugins
     $mod = new X4Plugin_model();
     $view->content->plugged = $mod->get_installed($id_area);
     $chk = AdmUtils_helper::get_ulevel(1, $_SESSION['xuid'], '_module_install');
     $view->content->pluggable = !$chk || $chk->level < 4 ? array() : $mod->get_installable($id_area);
     // area switcher
     $view->content->areas = $areas;
     $view->render(TRUE);
 }
Пример #2
0
<?php

defined('ROOT') or die('No direct script access.');
/**
 * X3 CMS - A smart Content Management System
 *
 * @author		Paolo Certo
 * @copyright	(c) CBlu.net di Paolo Certo
 * @license		http://www.gnu.org/licenses/agpl.htm
 * @package		X3CMS
 */
// x3flags area_uninstall
$mod_name = 'x3flags';
$required = array();
$sql = array();
$a = new Area_model();
$area = $a->get_by_id($plugin->id_area);
$sql[] = 'DELETE FROM param WHERE xrif = \'' . $mod_name . '\' AND id_area = ' . $area->id;
$sql[] = 'DELETE FROM dictionary WHERE what = \'' . $mod_name . '\' AND area = \'' . $area->name . '\'';
$sql[] = 'DELETE FROM modules WHERE id = ' . intval($id);
Пример #3
0
 /**
  * Initialize area: create default pages
  *
  * @param   integer	$id_area Area ID
  * @param   string	$lang Language code
  * @return  void
  */
 public function init($id_area, $lang)
 {
     $msg = null;
     // check permissions
     $msg = AdmUtils_helper::chklevel($_SESSION['xuid'], '_page_creation', 0, 4);
     if (is_null($msg)) {
         $qs = X4Route_core::get_query_string();
         // get object: the area
         $area = new Area_model();
         $a = $area->get_by_id($id_area);
         $mod = new Page_model($id_area, $lang);
         // build the post array
         $post = array();
         if ($id_area == 1) {
             // admin area
             // uses admin area with language = SESSION['lang'] as base and duplicates all pages
             $pmod = new Page_model($id_area, $_SESSION['lang']);
             $pages = $pmod->get_pages();
             foreach ($pages as $i) {
                 $post[] = array($i->url, array('lang' => $lang, 'id_area' => $id_area, 'xid' => $i->xid, 'url' => $i->url, 'name' => $i->name, 'title' => $i->title, 'description' => $i->description, 'xfrom' => $i->xfrom, 'tpl' => $i->tpl, 'css' => $i->css, 'id_menu' => $i->id_menu, 'xpos' => $i->xpos, 'deep' => $i->deep, 'ordinal' => $i->ordinal, 'xon' => $i->xon));
             }
         } else {
             // other areas
             // home
             $post[] = array('home', array('lang' => $lang, 'id_area' => $id_area, 'xid' => 'pages', 'url' => 'home', 'name' => 'Home page', 'title' => 'Home page', 'description' => 'Home page', 'xfrom' => 'home', 'tpl' => 'base', 'css' => 'base', 'id_menu' => 0, 'xpos' => 0, 'deep' => 0, 'ordinal' => 'A', 'xon' => 1));
             // x3admin
             $post[] = array('x3admin', array('lang' => $lang, 'id_area' => $id_area, 'xid' => 'pages', 'url' => 'x3admin', 'name' => 'Editor', 'title' => 'Editor', 'description' => 'Editor', 'xfrom' => 'home', 'tpl' => 'base', 'css' => 'base', 'id_menu' => 0, 'xpos' => 1, 'deep' => 1, 'ordinal' => 'A0000001', 'hidden' => 1, 'xlock' => 1, 'xon' => 1));
             // msg
             $post[] = array('comunication', array('lang' => $lang, 'id_area' => $id_area, 'xid' => 'pages', 'url' => 'msg', 'name' => 'Communication', 'title' => 'Communication', 'description' => 'Communication', 'xfrom' => 'home', 'tpl' => 'base', 'css' => 'base', 'id_menu' => 0, 'xpos' => 2, 'deep' => 1, 'ordinal' => 'A0000002', 'hidden' => 1, 'xlock' => 1, 'xon' => 1));
             // search
             $post[] = array('search', array('lang' => $lang, 'id_area' => $id_area, 'xid' => 'pages', 'url' => 'search', 'name' => 'Search result', 'title' => 'Search result', 'description' => 'Search result', 'xfrom' => 'home', 'tpl' => 'base', 'css' => 'base', 'id_menu' => 0, 'xpos' => 3, 'deep' => 1, 'ordinal' => 'A0000003', 'hidden' => 1, 'xlock' => 1, 'xon' => 1));
             // if is a private area
             if ($a->private) {
                 // exit
                 $post[] = array('logout', array('lang' => $lang, 'id_area' => $id_area, 'xid' => 'pages', 'url' => 'logout', 'name' => 'Logout', 'title' => 'Logout', 'description' => 'Logout', 'xfrom' => 'home', 'tpl' => 'base', 'css' => 'base', 'id_menu' => 0, 'xpos' => 4, 'deep' => 1, 'ordinal' => 'A0000004', 'hidden' => 0, 'xlock' => 1, 'xon' => 1));
             }
         }
         // action
         $result = $mod->initialize_area($id_area, $lang, $post);
         // set message
         $this->dict->get_words();
         $msg = AdmUtils_helper::set_msg($result);
         if ($result[1]) {
             // create default contexts
             $mod->initialize_context($id_area, $lang);
             // refresh permissions
             $perm = new Permission_model();
             $perm->refactory($_SESSION['xuid']);
             // set update
             $msg->update[] = array('element' => $qs['div'], 'url' => urldecode($qs['url']), 'title' => null);
         }
     }
     $this->response($msg);
 }
Пример #4
0
 /**
  * New / Edit group form (use Ajax)
  *
  * @param   integer  $id item ID (if 0 then is a new item)
  * @return  void
  */
 public function edit($id = 0)
 {
     // load dictionaries
     $this->dict->get_wordarray(array('form', 'groups'));
     // get object
     $group = new Group_model();
     $g = $id ? $group->get_by_id($id) : new Group_obj();
     // build the form
     $fields = array();
     $fields[] = array('label' => null, 'type' => 'hidden', 'value' => $id, 'name' => 'id');
     $amod = new Area_model();
     if ($id) {
         // update a group
         $area = $amod->get_by_id($g->id_area, 'areas', 'title');
         $fields[] = array('label' => null, 'type' => 'html', 'value' => '<h4>' . _AREA . ': ' . $area->title . '</h4>');
         $fields[] = array('label' => null, 'type' => 'hidden', 'value' => $g->id_area, 'name' => 'id_area');
     } else {
         $fields[] = array('label' => _AREA, 'type' => 'select', 'value' => '', 'options' => array($amod->get_areas(), 'id', 'title'), 'name' => 'id_area', 'extra' => 'class="large"');
     }
     $fields[] = array('label' => _NAME, 'type' => 'text', 'value' => $g->name, 'name' => 'name', 'rule' => 'required', 'extra' => 'class="large"');
     $fields[] = array('label' => _DESCRIPTION, 'type' => 'textarea', 'value' => $g->description, 'name' => 'description', 'rule' => 'required', 'extra' => 'class="large"');
     // if submitted
     if (X4Route_core::$post) {
         $e = X4Validation_helper::form($fields, 'editor');
         if ($e) {
             $this->editing($_POST);
         } else {
             $this->notice($fields);
         }
         die;
     }
     // contents
     $view = new X4View_core('editor');
     $view->title = $id ? _EDIT_GROUP : _ADD_GROUP;
     // form builder
     $view->form = X4Form_helper::doform('editor', $_SERVER["REQUEST_URI"], $fields, array(_RESET, _SUBMIT, 'buttons'), 'post', '', 'onclick="setForm(\'editor\');"');
     $view->render(TRUE);
 }
Пример #5
0
 /**
  * Delete Area form (use Ajax)
  *
  * @param   integer $id Area ID
  * @return  void
  */
 public function delete($id)
 {
     // load dictionaries
     $this->dict->get_wordarray(array('form', 'areas'));
     // get object
     $area = new Area_model();
     $obj = $area->get_by_id($id, 'areas', 'name');
     // build the form
     $fields = array();
     $fields[] = array('label' => null, 'type' => 'hidden', 'value' => $id, 'name' => 'id');
     // if submitted
     if (X4Route_core::$post) {
         $this->deleting($id, $obj->name);
         die;
     }
     // contents
     $view = new X4View_core('delete');
     $view->title = _DELETE_AREA;
     $view->item = $obj->name;
     // form builder
     $view->form = X4Form_helper::doform('delete', $_SERVER["REQUEST_URI"], $fields, array(null, _YES, 'buttons'), 'post', '', 'onclick="setForm(\'delete\');"');
     $view->render(TRUE);
 }