Ejemplo n.º 1
0
 public static function renderSiteSelector($tmpl)
 {
     global $wpdb;
     $tmpl = mvb_Model_Template::retrieveSub('MULTISITE_SELECTOR', $tmpl);
     $content = '';
     $render_mss = mvb_Model_Helper::getParam('render_mss', 'REQUEST');
     if (mvb_Model_API::isNetworkPanel() || $render_mss) {
         $list_tmpl = mvb_Model_Template::retrieveSub('ROLE_LIST', $tmpl);
         $list = '';
         $sites = mvb_Model_Helper::getSiteList();
         $current = mvb_Model_Helper::getParam('site', 'REQUEST', get_current_blog_id());
         if (is_array($sites)) {
             foreach ($sites as $site) {
                 $blog_prefix = $wpdb->get_blog_prefix($site->blog_id);
                 //get Site Name
                 $query = "SELECT option_value FROM {$blog_prefix}options ";
                 $query .= "WHERE option_name = 'blogname'";
                 $name = $wpdb->get_var($query);
                 if ($site->blog_id == $current) {
                     $is_current = 'selected';
                     $c_name = $name;
                 } else {
                     $is_current = '';
                 }
                 $markers = array('###value###' => $site->blog_id, '###title###' => $name . ' ', '###selected###' => $is_current);
                 $list .= mvb_Model_Template::updateMarkers($markers, $list_tmpl);
             }
         }
         $content = mvb_Model_Template::replaceSub('ROLE_LIST', $list, $tmpl);
         $markers = array('###current_site###' => mvb_Model_Helper::cutStr($c_name, 15), '###title_full###' => $c_name);
         $content = mvb_Model_Template::updateMarkers($markers, $content);
     }
     return $content;
 }
 public function deactivate()
 {
     global $wpdb;
     $sites = mvb_Model_Helper::getSiteList();
     if (is_array($sites) && count($sites)) {
         foreach ($sites as $site) {
             $c_blog = new mvb_Model_Blog(array('id' => $site->blog_id, 'url' => get_site_url($site->blog_id), 'prefix' => $wpdb->get_blog_prefix($site->blog_id)));
             self::remove_options($c_blog);
         }
     } else {
         self::remove_options();
     }
 }
Ejemplo n.º 3
0
 function do_save()
 {
     if (isset($_POST['submited'])) {
         $params = isset($_POST['wpaccess']) ? $_POST['wpaccess'] : array();
         $error_message = NULL;
         if (mvb_Model_API::isNetworkPanel() && mvb_Model_ConfigPress::getOption('aam.multisite.apply_all') == 'true') {
             $limit = apply_filters(WPACCESS_PREFIX . 'msar_restrict_limit', WPACCESS_APPLY_LIMIT);
             foreach (mvb_Model_Helper::getSiteList() as $i => $site) {
                 if ($site->blog_id == $_GET['site']) {
                     continue;
                 } elseif ($i + 1 >= WPACCESS_APPLY_LIMIT && $limit != -1) {
                     $error_message = mvb_Model_Label::get('LABEL_148');
                     break;
                 }
                 mvb_Model_API::setCurrentBlog($site->blog_id);
                 $this->initConfig();
                 $this->config->setMenu(isset($params['menu']) ? $params['menu'] : array());
                 $this->config->setMetaboxes(isset($params['metabox']) ? $params['metabox'] : array());
                 $this->config->setCapabilities(isset($params['advance']) ? $params['advance'] : array());
                 $this->config->saveConfig();
             }
         }
         //overwrite current blog
         //TODO - maybe there is better way
         if (isset($_GET['site'])) {
             mvb_Model_API::setCurrentBlog($_GET['site']);
         }
         $this->config->setMenu(isset($params['menu']) ? $params['menu'] : array());
         $this->config->setMetaboxes(isset($params['metabox']) ? $params['metabox'] : array());
         $this->config->setCapabilities(isset($params['advance']) ? $params['advance'] : array());
         $this->config->saveConfig();
         mvb_Model_ConfigPress::saveConfig(stripslashes($params['config_press']));
     } else {
         $error_message = FALSE;
     }
     return $error_message;
 }
 /**
  *
  * @global type $wpdb
  * @param type $template
  * @return type 
  */
 function renderSiteSelector($template)
 {
     global $wpdb;
     $m_tempate = $this->templObj->retrieveSub('MULTISITE_SELECTOR', $template);
     if (mvb_Model_API::isNetworkPanel() || isset($_REQUEST['render_mss'])) {
         $listTemplate = $this->templObj->retrieveSub('ROLE_LIST', $m_tempate);
         $list = '';
         $sites = mvb_Model_Helper::getSiteList();
         $current = isset($_REQUEST['site']) ? $_REQUEST['site'] : get_current_blog_id();
         if (is_array($sites)) {
             foreach ($sites as $site) {
                 $blog_prefix = $wpdb->get_blog_prefix($site->blog_id);
                 //get Site Name
                 $query = "SELECT option_value FROM {$blog_prefix}options ";
                 $query .= "WHERE option_name = 'blogname'";
                 $name = $wpdb->get_var($query);
                 if ($site->blog_id == $current) {
                     $is_current = 'selected="selected"';
                     $c_name = $name;
                 } else {
                     $is_current = '';
                 }
                 $markers = array('###value###' => $site->blog_id, '###title###' => $name . ' ', '###selected###' => $is_current);
                 $list .= $this->templObj->updateMarkers($markers, $listTemplate);
             }
         }
         $m_tempate = $this->templObj->replaceSub('ROLE_LIST', $list, $m_tempate);
         $m_array = array('###current_site###' => strlen($c_name) > 15 ? substr($c_name, 0, 14) . '...' : $c_name, '###title_full###' => $c_name);
         $m_tempate = $this->templObj->updateMarkers($m_array, $m_tempate);
     } else {
         $m_tempate = '';
     }
     return $this->templObj->replaceSub('MULTISITE_SELECTOR', $m_tempate, $template);
 }
 protected function apply_all()
 {
     global $wpdb;
     $sites = mvb_Model_Helper::getSiteList();
     //TODO - implement more complex checking
     $result = array('status' => 'success', 'message' => mvb_Model_Label::get('LABEL_152'));
     if (is_array($sites) && count($sites)) {
         $c_blog = mvb_Model_API::getCurrentBlog();
         $options = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'options', array());
         $morders = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'menu_order', array());
         $usroles = mvb_Model_API::getBlogOption('user_roles', array());
         $kparams = mvb_Model_API::getBlogOption(WPACCESS_PREFIX . 'key_params', array());
         $limit = WPACCESS_APPLY_LIMIT;
         /*
          * Check if Restriction class exist.
          * Note for hacks : Better will be to buy an add-on for $10 because on
          * next release I'll change the checking class
          */
         if (class_exists('aamms_msar_extend')) {
             $limit = apply_filters(WPACCESS_PREFIX . 'msar_restrict_limit', $limit);
         }
         foreach ($sites as $i => $site) {
             if ($site->blog_id == $c_blog->getID()) {
                 //skip current blog
                 continue;
             }
             $blog = new mvb_Model_Blog(array('id' => $site->blog_id, 'url' => get_site_url($site->blog_id), 'prefix' => $wpdb->get_blog_prefix($site->blog_id)));
             /*
                               $options1 = get_blog_option($site->blog_id, $blog_prefix . WPACCESS_PREFIX . 'options', array());
                               $morders1 = get_blog_option($site->blog_id, $blog_prefix . WPACCESS_PREFIX . 'menu_order', array());
                               $usroles1 = get_blog_option($site->blog_id, $blog_prefix . 'user_roles', array());
                               $kparams1 = get_blog_option($site->blog_id, $blog_prefix . WPACCESS_PREFIX . 'key_params', array());
             
                               $options1 = array_merge_recursive($options, $options1);
                               $morders1 = array_merge_recursive($morders, $morders1);
                               $usroles1 = array_merge_recursive($usroles, $usroles1);
                               $kparams1 = array_merge_recursive($kparams, $kparams1);
                              * */
             mvb_Model_API::updateBlogOption(WPACCESS_PREFIX . 'options', $options, $blog);
             mvb_Model_API::updateBlogOption(WPACCESS_PREFIX . 'menu_order', $morders, $blog);
             mvb_Model_API::updateBlogOption('user_roles', $usroles, $blog);
             mvb_Model_API::updateBlogOption(WPACCESS_PREFIX . 'key_params', $kparams, $blog);
             if ($limit != -1 && $i + 1 > $limit) {
                 $result = array('status' => 'error', 'message' => mvb_Model_Label::get('LABEL_156'));
                 break;
             }
         }
     }
     return $result;
 }