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'); }
/** * * @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']); } }
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; }