Beispiel #1
0
 public static function saveConfig($config)
 {
     $file = WPACCESS_BASE_DIR . 'config.ini';
     if (is_writable($file) || chmod($file, 0755)) {
         file_put_contents($file, $config);
     }
     //also save to db as backup
     $default_blog = mvb_Model_API::getBlog(1);
     mvb_Model_API::updateBlogOption(WPACCESS_PREFIX . 'config_press', $config, $default_blog);
     //clear cache
     self::$config = NULL;
 }
 /**
  * {@inheritdoc }
  */
 public function saveConfig()
 {
     $roles = mvb_Model_API::getRoleList(FALSE);
     if (isset($roles[$this->getID()])) {
         $roles[$this->getID()]['capabilities'] = $this->getCapabilities();
         mvb_Model_API::updateBlogOption('user_roles', $roles);
     }
     $options = (object) array('menu' => $this->getMenu(), 'metaboxes' => $this->getMetaboxes(), 'menu_order' => $this->getMenuOrder(), 'restrictions' => $this->getRestrictions(), 'excludes' => $this->getExcludes());
     mvb_Model_API::updateBlogOption(WPACCESS_PREFIX . 'config_' . $this->getID(), $options);
     mvb_Model_Cache::clearCache();
     do_action(WPACCESS_PREFIX . 'do_save');
 }
Beispiel #3
0
 /**
  *
  * @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;
 }
 private function init_key_params()
 {
     global $menu, $submenu;
     $roles = mvb_Model_API::getCurrentUser()->getRoles();
     $keys = array('post_type' => 1, 'page' => 1);
     //add core params
     if (in_array(WPACCESS_ADMIN_ROLE, $roles)) {
         //do this only for admin role
         if (is_array($menu)) {
             //main menu
             foreach ($menu as $item) {
                 $keys = array_merge($keys, $this->get_parts($item[2]));
             }
         }
         if (is_array($submenu)) {
             foreach ($submenu as $m => $s_items) {
                 if (is_array($s_items)) {
                     foreach ($s_items as $item) {
                         $keys = array_merge($keys, $this->get_parts($item[2]));
                     }
                 }
             }
         }
         mvb_Model_API::updateBlogOption(WPACCESS_PREFIX . 'key_params', $keys);
     }
 }
 /**
  * Save parameters to database
  * 
  */
 function do_save()
 {
     if (isset($_POST['submited'])) {
         $params = isset($_POST['wpaccess']) ? $_POST['wpaccess'] : array();
         //overwrite current blog
         //TODO - maybe there is better way
         if (isset($_GET['site'])) {
             mvb_Model_API::setCurrentBlog($_GET['site']);
         }
         $dump = isset($params['menu']) ? $params['menu'] : array();
         $this->config->setMenu($dump);
         $dump = isset($params['metabox']) ? $params['metabox'] : array();
         $this->config->setMetaboxes($dump);
         $dump = isset($params['advance']) ? $params['advance'] : array();
         $this->config->setCapabilities($dump);
         $this->config->saveConfig();
         //save global access congif
         mvb_Model_API::updateBlogOption(WPACCESS_PREFIX . 'access_config', $params['access_config']);
     }
 }
Beispiel #6
0
 protected static function upgradeTo165()
 {
     global $wpdb;
     //add custom capabilities
     self::extendCapabilities(array('edit_comment' => 1, 'approve_comment' => 1, 'unapprove_comment' => 1, 'reply_comment' => 1, 'quick_edit_comment' => 1, 'spam_comment' => 1, 'unspam_comment' => 1, 'trash_comment' => 1, 'untrash_comment' => 1, 'delete_comment' => 1, 'edit_permalink' => 1));
     $roles = mvb_Model_API::getRoleList(FALSE);
     //upgrade Restrictions - Roles first
     foreach ($roles as $role => $dummy) {
         $config = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'config_' . $role);
         if (!$config) {
             $options = (object) self::getRoleOldData($role, WPACCESS_PREFIX . 'options');
             $m_order = self::getRoleOldData($role, WPACCESS_PREFIX . 'menu_order');
             $restric = self::getRoleOldData($role, WPACCESS_PREFIX . 'restrictions');
             $exclude = self::getExcludeList($restric);
             $config = (object) array();
             $config->menu = isset($options->menu) ? $options->menu : array();
             $config->metaboxes = isset($options->metaboxes) ? $options->metaboxes : array();
             $config->menu_order = is_array($m_order) ? $m_order : array();
             $config->restrictions = is_array($restric) ? $restric : array();
             $config->excludes = is_array($exclude) ? $exclude : array();
         } else {
             $config->excludes = array();
         }
         $up_config = new stdClass();
         $up_config->menu = $config->menu;
         $up_config->metaboxes = $config->metaboxes;
         $up_config->menu_order = $config->menu_order;
         $up_config->restrictions = self::prepareRestrictions($config->restrictions, $config->excludes);
         mvb_Model_API::updateBlogOption(WPACCESS_PREFIX . 'config_' . $role, $up_config);
     }
     //update all users
     $query = "SELECT * FROM {$wpdb->usermeta} WHERE meta_key = '" . WPACCESS_PREFIX . "_config'";
     $results = $wpdb->get_results($query);
     if (is_array($results)) {
         foreach ($results as $user) {
             $config = unserialize($user->meta_value);
             if (!$config) {
                 $options = (object) self::getUserOldData($user->user_id, WPACCESS_PREFIX . 'options');
                 $m_order = self::getUserOldData($user->user_id, WPACCESS_PREFIX . 'menu_order');
                 $restric = self::getUserOldData($user->user_id, WPACCESS_PREFIX . 'restrictions');
                 $exclude = self::getExcludeList($restric);
                 $config = (object) array();
                 $config->menu = isset($options->menu) ? $options->menu : array();
                 $config->metaboxes = isset($options->metaboxes) ? $options->metaboxes : array();
                 $config->menu_order = is_array($m_order) ? $m_order : array();
                 $config->restrictions = is_array($restric) ? $restric : array();
                 $config->excludes = is_array($exclude) ? $exclude : array();
             } else {
                 $config->excludes = array();
             }
             $up_config = new stdClass();
             $up_config->menu = $config->menu;
             $up_config->metaboxes = $config->metaboxes;
             $up_config->menu_order = $config->menu_order;
             $up_config->restrictions = self::prepareRestrictions($config->restrictions, $config->excludes);
             update_user_meta($user->user_id, WPACCESS_PREFIX . 'config', $up_config);
         }
     }
 }
 protected function create_super()
 {
     global $wpdb;
     $answer = intval($_POST['answer']);
     $user_id = get_current_user_id();
     if ($answer == 1) {
         $role_list = mvb_Model_API::getRoleList(FALSE);
         if (isset($role_list[WPACCESS_SADMIN_ROLE])) {
             $result = array('result' => 'success', 'new_role' => WPACCESS_SADMIN_ROLE);
         } else {
             $result = $this->create_role('Super Admin', mvb_Model_API::getAllCapabilities());
         }
         if ($result['result'] == 'success') {
             //update current user role
             if (!is_user_member_of_blog(get_current_blog_id())) {
                 $this->add_blog_admin();
             } else {
                 $this->assign_role(WPACCESS_SADMIN_ROLE, $user_id);
             }
             $this->deprive_role($user_id, WPACCESS_SADMIN_ROLE, WPACCESS_ADMIN_ROLE);
             mvb_Model_API::updateBlogOption(WPACCESS_FTIME_MESSAGE, $answer);
         } else {
             $result = array('result' => 'error');
         }
     } else {
         $result = array('result' => 'error');
     }
     return $result;
 }