/**
  * Down
  **/
 public function down()
 {
     $this->addComponentEntry('register');
     $rparams = $this->getParams('com_members');
     $values = $rparams->toArray();
     $this->db->setQuery("SELECT * FROM `#__extensions` WHERE `type`='component' AND `element`='com_register' LIMIT 1");
     if ($data = $this->db->loadAssoc()) {
         $component = new \JTableExtension($this->db);
         $component->bind($data);
         $mparams = new \Hubzero\Config\Registry($component->params);
         foreach ($values as $key => $value) {
             $mparams->set($key, $value);
         }
         $component->params = $mparams->toString();
         $component->store();
     }
 }
Example #2
0
 /**
  * Set plugin parameter.
  * http://stackoverflow.com/questions/22236929/setting-persistent-plugin-parameters-in-joomla-3
  * http://stackoverflow.com/questions/22236929/setting-persistent-plugin-parameters-in-joomla-3
  */
 public static function setPluginParameter($name, $value)
 {
     if (class_exists('JTableExtension')) {
         $db = JFactory::getDBO();
         $extensionTable = new JTableExtension($db);
         //$pluginId = $extensionTable->find('element', self::PLG_NAME);
         $pluginId = self::getPluginId($db);
         if (empty($pluginId)) {
             return false;
         }
         $extensionTable->load($pluginId);
         $plugin =& JPluginHelper::getPlugin(self::PLG_TYPE, self::PLG_NAME);
         if (empty($plugin)) {
             return false;
         }
         $params = self::getPluginParams();
         $params->set($name, $value);
         $extensionTable->bind(array('params' => $params->toString()));
         // check and store
         if (!$extensionTable->check()) {
             return false;
         }
         if (!$extensionTable->store()) {
             return false;
         }
         return true;
     }
     return false;
 }