コード例 #1
0
 /**
  * Get Data from Database
  * 
  * @param string $option
  * @return array
  * @todo Delete in next releases
  */
 protected function getOldData($option)
 {
     $id = $this->getID();
     $data = mvb_Model_API::getBlogOption($option);
     $data = isset($data[$id]) ? $data[$id] : array();
     return $data;
 }
コード例 #2
0
ファイル: filtermenu.php プロジェクト: Netsoro/gdnlteamgroup
 /**
  *
  * @param type $caller
  */
 public function __construct($caller)
 {
     parent::__construct($caller);
     $key_params = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'key_params', array());
     $this->key_params = array_keys($key_params);
     //TODO - Save in array format
 }
コード例 #3
0
ファイル: metabox.php プロジェクト: Netsoro/gdnlteamgroup
 /**
  *
  * @global array $submenu
  * @param string $tmpl
  * @param mvb_Model_Manager $parent
  * @return string
  */
 public static function render($tmpl, $parent)
 {
     global $wp_post_types;
     self::$parent = $parent;
     //get cache. Compatible with version previouse versions
     $cache = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'cache', NULL);
     if (!is_array($cache)) {
         //yeap this is new version
         $cache = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'options', array());
         $cache = isset($cache['settings']) ? $cache['settings'] : array();
         mvb_Model_API::updateBlogOption(WPACCESS_PREFIX . 'cache', $cache);
     }
     $row_tmpl = mvb_Model_Template::retrieveSub('METABOX_LIST_ITEM', $tmpl);
     $list = '';
     if (isset($cache['metaboxes']) && is_array($cache['metaboxes'])) {
         $list_tmpl = mvb_Model_Template::retrieveSub('POST_METABOXES_LIST', $row_tmpl);
         $item_tmpl = mvb_Model_Template::retrieveSub('POST_METABOXES_ITEM', $list_tmpl);
         $widget_tmpl = mvb_Model_Template::retrieveSub('WIDGET_ITEM', $list_tmpl);
         foreach ($cache['metaboxes'] as $type => $metaboxes) {
             $render = TRUE;
             switch ($type) {
                 case 'widgets':
                     $temp = self::renderWidget($widget_tmpl, $metaboxes);
                     $label = mvb_Model_Label::get('LABEL_79');
                     break;
                 case 'dashboard':
                     $temp = self::renderMetabox($item_tmpl, $metaboxes, $type);
                     $label = mvb_Model_Label::get('LABEL_116');
                     break;
                 default:
                     if (isset($wp_post_types[$type])) {
                         $temp = self::renderMetabox($item_tmpl, $metaboxes, $type);
                         $label = $wp_post_types[$type]->labels->name;
                     } else {
                         $render = FALSE;
                     }
                     break;
             }
             if ($render) {
                 $temp = mvb_Model_Template::replaceSub('POST_METABOXES_LIST', $temp, $row_tmpl);
                 $list .= mvb_Model_Template::updateMarkers(array('###post_type_label###' => $label), $temp);
             }
         }
         $content = mvb_Model_Template::replaceSub('METABOX_LIST_ITEM', $list, $tmpl);
         $content = mvb_Model_Template::replaceSub('METABOX_LIST_EMPTY', '', $content);
     } else {
         $empty_tmpl = mvb_Model_Template::retrieveSub('METABOX_LIST_EMPTY', $tmpl);
         $content = mvb_Model_Template::replaceSub('METABOX_LIST_ITEM', '', $tmpl);
         $content = mvb_Model_Template::replaceSub('METABOX_LIST_EMPTY', $empty_tmpl, $content);
     }
     return $content;
 }
コード例 #4
0
ファイル: roleconfig.php プロジェクト: Netsoro/gdnlteamgroup
 /**
  * {@inheritdoc }
  */
 protected function getConfig()
 {
     $config = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'config_' . $this->getID());
     if ($config) {
         $this->setMenu($config->menu);
         $this->setMenuOrder($config->menu_order);
         $this->setMetaboxes($config->metaboxes);
         $this->setRestrictions($config->restrictions);
     }
     $roles = mvb_Model_API::getRoleList(FALSE);
     //TODO - Potensially hole
     if (isset($roles[$this->getID()]['capabilities'])) {
         $this->setCapabilities($roles[$this->getID()]['capabilities']);
     }
 }
コード例 #5
0
 /**
  * 
  */
 public function render_optionlist()
 {
     $role = mvb_Model_Helper::getParam('role', 'POST');
     $user = mvb_Model_Helper::getParam('user', 'POST');
     $m = new mvb_Model_Manager($this, $role, $user);
     $or_roles = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'original_user_roles');
     $content = $m->getMainOptionsList();
     $content = $m->templObj->clearTemplate($content);
     $result = array('html' => apply_filters(WPACCESS_PREFIX . 'option_page', $content), 'restorable' => isset($or_roles[$role]) ? TRUE : FALSE);
     die(json_encode($result));
 }
コード例 #6
0
 public function admin_menu()
 {
     global $submenu, $menu;
     if (mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'first_time', FALSE) !== FALSE) {
         $aam_cap = mvb_Model_API::isSuperAdmin() ? WPACCESS_ADMIN_ROLE : 'aam_manage';
     } else {
         $aam_cap = WPACCESS_ADMIN_ROLE;
     }
     if (!isset($submenu['awm-group'])) {
         add_menu_page(__('AWM Group', 'aam'), __('AWM Group', 'aam'), 'administrator', 'awm-group', array($this, 'awm_group'), WPACCESS_CSS_URL . 'images/active-menu.png');
     }
     add_submenu_page('awm-group', __('Access Manager', 'aam'), __('Access Manager', 'aam'), $aam_cap, 'wp_access', array($this, 'accessManagerPage'));
     //init the list of key parameters
     $this->init_key_params();
     if (!mvb_Model_API::isSuperAdmin()) {
         //filter the menu
         $this->getAccessControl()->getMenuFilter()->manage();
     }
 }
コード例 #7
0
 function __construct()
 {
     $keyParams = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'key_params', array());
     $this->keyParams = array_keys($keyParams);
     //TODO - Save in array format
 }
コード例 #8
0
 /**
  *
  * @global type $submenu
  * @param type $template
  * @return type 
  */
 public function renderMainMenuOptions($template)
 {
     global $submenu;
     $s_menu = $this->getRoleMenu();
     /*
      * First Tab - Main Menu
      */
     $listTemplate = $this->templObj->retrieveSub('MAIN_MENU_LIST', $template);
     $itemTemplate = $this->templObj->retrieveSub('MAIN_MENU_ITEM', $listTemplate);
     $sublistTemplate = $this->templObj->retrieveSub('MAIN_MENU_SUBLIST', $itemTemplate);
     $subitemTemplate = $this->templObj->retrieveSub('MAIN_MENU_SUBITEM', $sublistTemplate);
     $list = '';
     if (is_array($s_menu)) {
         foreach ($s_menu as $menuItem) {
             if (!$menuItem[0]) {
                 //seperator
                 continue;
             }
             //render submenu
             $subList = '';
             if (isset($submenu[$menuItem[2]]) && is_array($submenu[$menuItem[2]])) {
                 foreach ($submenu[$menuItem[2]] as $submenuItem) {
                     $checked = $this->checkChecked('submenu', array($menuItem[2], $submenuItem[2]));
                     $markers = array('###submenu_name###' => $this->removeHTML($submenuItem[0]), '###value###' => $submenuItem[2], '###checked###' => $checked);
                     $subList .= $this->templObj->updateMarkers($markers, $subitemTemplate);
                 }
                 $subList = $this->templObj->replaceSub('MAIN_MENU_SUBITEM', $subList, $sublistTemplate);
             }
             $tTempl = $this->templObj->replaceSub('MAIN_MENU_SUBLIST', $subList, $itemTemplate);
             $markers = array('###name###' => $this->removeHTML($menuItem[0]), '###id###' => $menuItem[5], '###menu###' => $menuItem[2], '###whole_checked###' => $this->checkChecked('menu', array($menuItem[2])));
             $list .= $this->templObj->updateMarkers($markers, $tTempl);
         }
     }
     $listTemplate = $this->templObj->replaceSub('MAIN_MENU_ITEM', $list, $listTemplate);
     $template = $this->templObj->replaceSub('MAIN_MENU_LIST', $listTemplate, $template);
     /*
      * Second Tab - Metaboxes
      */
     $listTemplate = $this->renderMetaboxList($template);
     $template = $this->templObj->replaceSub('METABOX_LIST', $listTemplate, $template);
     /*
      * Third Tab - Advance Settings
      */
     $capList = mvb_Model_API::getCurrentUser()->getAllCaps();
     //TODO ?
     ksort($capList);
     $listTemplate = $this->templObj->retrieveSub('CAPABILITY_LIST', $template);
     $itemTemplate = $this->templObj->retrieveSub('CAPABILITY_ITEM', $listTemplate);
     $list = '';
     if (is_array($capList) && count($capList)) {
         foreach ($capList as $cap => $dump) {
             $desc = str_replace("\n", '<br/>', mvb_Model_Label::get($cap));
             $markers = array('###title###' => $cap, '###description###' => $desc, '###checked###' => $this->checkChecked('capability', array($cap)), '###cap_name###' => mvb_Model_Helper::getCapabilityHumanTitle($cap));
             $titem = $this->templObj->updateMarkers($markers, $itemTemplate);
             if (!in_array($cap, $this->custom_caps)) {
                 $titem = $this->templObj->replaceSub('CAPABILITY_DELETE', '', $titem);
             } else {
                 $titem = $this->templObj->replaceSub('CAPABILITY_DELETE', $this->templObj->retrieveSub('CAPABILITY_DELETE', $titem), $titem);
             }
             $list .= $titem;
         }
         $template = $this->templObj->replaceSub('CAPABILITY_LIST_EMPTY', '', $template);
     } else {
         $empty = $this->templObj->retrieveSub('CAPABILITY_LIST_EMPTY', $template);
         $template = $this->templObj->replaceSub('CAPABILITY_LIST_EMPTY', $empty, $template);
     }
     $listTemplate = $this->templObj->replaceSub('CAPABILITY_ITEM', $list, $listTemplate);
     $template = $this->templObj->replaceSub('CAPABILITY_LIST', $listTemplate, $template);
     //Posts & Pages
     $template = $this->templObj->replaceSub('POST_INFORMATION', '', $template);
     $template = $this->templObj->updateMarkers(array('###access_config###' => stripslashes(mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'access_config', ''))), $template);
     return $template;
 }
コード例 #9
0
ファイル: upgrade.php プロジェクト: Netsoro/gdnlteamgroup
 /**
  * Get Data from Database
  *
  * @param string $option
  * @return array
  * @todo Delete in next releases
  */
 protected static function getRoleOldData($role, $option)
 {
     $data = mvb_Model_API::getBlogOption($option);
     $data = isset($data[$role]) ? $data[$role] : array();
     return $data;
 }
コード例 #10
0
 protected function initAccessConfig()
 {
     $a_conf = stripslashes(mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'access_config'));
     require_once 'Zend/Config.php';
     require_once 'Zend/Config/Ini_Str.php';
     if (trim($a_conf)) {
         $a_conf = new Zend_Config_Ini_Str($a_conf);
     }
     $this->access_config = new mvb_Model_ConfigPress($a_conf);
 }
コード例 #11
0
 protected function delete_capability()
 {
     global $wpdb;
     $cap = trim($_POST['cap']);
     $custom_caps = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'custom_caps');
     if (in_array($cap, $custom_caps)) {
         $roles = mvb_Model_API::getBlogOption('user_roles');
         if (is_array($roles)) {
             foreach ($roles as &$role) {
                 if (isset($role['capabilities'][$cap])) {
                     unset($role['capabilities'][$cap]);
                 }
             }
         }
         mvb_Model_API::updateBlogOption('user_roles', $roles);
         $result = array('status' => 'success');
         mvb_Model_Cache::clearCache();
     } else {
         $result = array('status' => 'error', 'message' => mvb_Model_Label::get('LABEL_125'));
     }
     return $result;
 }
コード例 #12
0
ファイル: ajax.php プロジェクト: Netsoro/gdnlteamgroup
 protected function restore_role($role)
 {
     $or_roles = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'original_user_roles', array());
     $roles = mvb_Model_API::getRoleList(FALSE);
     if ($role != WPACCESS_ADMIN_ROLE || $role == WPACCESS_ADMIN_ROLE && mvb_Model_API::isSuperAdmin()) {
         if (isset($or_roles[$role])) {
             $roles[$role]['capabilities'] = $or_roles[$role]['capabilities'];
         } else {
             $roles[$role]['capabilities'] = $this->default_caps;
         }
         mvb_Model_API::updateBlogOption('user_roles', $roles);
         mvb_Model_API::deleteBlogOption(WPACCESS_PREFIX . 'config_' . $role);
         mvb_Model_Cache::clearCache();
         $result = array('status' => 'success');
     } else {
         $result = array('status' => 'error');
     }
     return $result;
 }