Example #1
0
 /**
  * Get language items and store them in an array
  *
  */
 function getTrans($lang, $item)
 {
     $app = JFactory::getApplication();
     $option = 'com_osmembership';
     $registry = new JRegistry();
     $languages = array();
     if (strpos($item, 'admin.') !== false) {
         $isAdmin = true;
         $item = substr($item, 6);
     } else {
         $isAdmin = false;
     }
     if ($isAdmin) {
         $path = JPATH_ROOT . '/administrator/language/en-GB/en-GB.' . $item . '.ini';
     } else {
         $path = JPATH_ROOT . '/language/en-GB/en-GB.' . $item . '.ini';
     }
     $registry->loadFile($path, 'INI');
     $languages['en-GB'][$item] = $registry->toArray();
     if ($isAdmin) {
         $path = JPATH_ROOT . '/administrator/language/' . $lang . '/' . $lang . '.' . $item . '.ini';
     } else {
         $path = JPATH_ROOT . '/language/' . $lang . '/' . $lang . '.' . $item . '.ini';
     }
     $search = $app->getUserStateFromRequest($option . 'search', 'search', '', 'string');
     $search = JString::strtolower($search);
     if (JFile::exists($path)) {
         $registry->loadFile($path, 'INI');
         $languages[$lang][$item] = $registry->toArray();
     } else {
         $languages[$lang][$item] = array();
     }
     return $languages;
 }
 /**
  * Method to run after installing the component
  */
 function postflight($type, $parent)
 {
     //Restore the modified language strings by merging to language files
     $registry = new JRegistry();
     foreach (self::$languageFiles as $languageFile) {
         $backupFile = JPATH_ROOT . '/language/en-GB/bak.' . $languageFile;
         $currentFile = JPATH_ROOT . '/language/en-GB/' . $languageFile;
         if (JFile::exists($currentFile) && JFile::exists($backupFile)) {
             $registry->loadFile($currentFile, 'INI');
             $currentItems = $registry->toArray();
             $registry->loadFile($backupFile, 'INI');
             $backupItems = $registry->toArray();
             $items = array_merge($currentItems, $backupItems);
             $content = "";
             foreach ($items as $key => $value) {
                 $content .= "{$key}=\"{$value}\"\n";
             }
             JFile::write($currentFile, $content);
         }
     }
     // Restore custom modified css file
     if (JFile::exists(JPATH_ROOT . '/components/com_osmembership/assets/css/bak.custom.css')) {
         JFile::copy(JPATH_ROOT . '/components/com_osmembership/assets/css/bak.custom.css', JPATH_ROOT . '/components/com_osmembership/assets/css/custom.css');
         JFile::delete(JPATH_ROOT . '/components/com_osmembership/assets/css/bak.custom.css');
     }
 }
Example #3
0
 /**
  * Get language items and store them in an array
  *
  */
 function getTrans($lang, $item)
 {
     $mainframe =& JFactory::getApplication();
     $option = 'com_helpdeskpro';
     jimport('joomla.filesystem.file');
     $registry = new JRegistry();
     $languages = array();
     $path = JPATH_ROOT . '/language/en-GB/en-GB.' . $item . '.ini';
     $registry->loadFile($path, 'INI');
     $languages['en-GB'][$item] = $registry->toArray();
     $path = JPATH_ROOT . '/language/' . $lang . '/' . $lang . '.' . $item . '.ini';
     $search = $mainframe->getUserStateFromRequest($option . 'language.search', 'search', '', 'string');
     $search = JString::strtolower($search);
     if (JFile::exists($path)) {
         $registry->loadFile($path);
         $languages[$lang][$item] = $registry->toArray();
     } else {
         $languages[$lang][$item] = array();
     }
     return $languages;
 }
Example #4
0
 public function onToolGetForm($context, $form, $name, $id)
 {
     if ($name != 'toolset') {
         return;
     }
     $tool = $this->_getTool($id);
     if (!JFile::exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'saved' . DIRECTORY_SEPARATOR . $id . '.conf')) {
         JFile::write(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'saved' . DIRECTORY_SEPARATOR . $id . '.conf', @$a);
     }
     $params = new JRegistry();
     $params->loadFile(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'saved' . DIRECTORY_SEPARATOR . $id . '.conf');
     $form_object = JForm::getInstance('plg_toolset.form', JPATH_PLUGINS . DIRECTORY_SEPARATOR . 'mint' . DIRECTORY_SEPARATOR . 'toolset' . DIRECTORY_SEPARATOR . 'helpers' . DIRECTORY_SEPARATOR . 'forms.xml', array('control' => 'jform'));
     $form = MEFormHelper::renderFieldset($form_object, 'toolset' . $id, $params, null, FORM_STYLE_TABLE);
 }
Example #5
0
 /**
  * Save method is diff here because we're writing to a file
  * (non-PHPdoc)
  * @see Citruscart/admin/CitruscartController::save()
  */
 function save()
 {
     $app = JFactory::getApplication();
     $id = $app->input->get('id', 'en-GB');
     $temp_values = $app->input->getArray($_POST);
     $model = $this->getModel('Emails', 'CitruscartModel');
     // Filter values
     $prefix = $model->email_prefix;
     $values = array();
     foreach ($temp_values as $k => $v) {
         if (stripos($k, $prefix) === 0) {
             $values[$k] = $v;
         }
     }
     $lang = $model->getItem($id);
     $path = $lang->path;
     $msg = JText::_('COM_CITRUSCART_SAVED');
     jimport('joomla.filesystem.file');
     if (JFile::exists($path)) {
         $original = new JRegistry();
         $original->loadFile($path);
         $registry = new JRegistry();
         $registry->loadArray($values);
         $original->merge($registry);
         $txt = $original->__toString('INI');
         $success = JFile::write($path, $txt);
         if (!$success) {
             $msg = JText::_('COM_CITRUSCART_ERROR_SAVING_NEW_LANGUAGE_FILE');
         }
     }
     $model->clearCache();
     //$task = JRequest::getVar('task');
     $task = $app->input->getString('task');
     $redirect = "index.php?option=com_citruscart";
     switch ($task) {
         case "apply":
             $redirect .= '&view=' . $this->get('suffix') . '&task=edit&id=' . $id;
             break;
         case "save":
         default:
             $redirect .= "&view=" . $this->get('suffix');
             break;
     }
     $redirect = JRoute::_($redirect, false);
     $this->setRedirect($redirect, $this->message, $this->messagetype);
 }
 protected static function loadJSON($path)
 {
     $data = new JRegistry();
     $data->loadFile($path);
     return $data;
 }
 /**
  * Test the JRegistry::loadFile method.
  *
  * @covers  JRegistry::loadFile
  *
  * @return void
  */
 public function testLoadFile()
 {
     $registry = new JRegistry();
     // Result is always true, no error checking in method.
     // JSON.
     $result = $registry->loadFile(__DIR__ . '/stubs/jregistry.json');
     // Test getting a known value.
     $this->assertThat($registry->get('foo'), $this->equalTo('bar'), 'Line: ' . __LINE__ . '.');
     // INI.
     $result = $registry->loadFile(__DIR__ . '/stubs/jregistry.ini', 'ini');
     // Test getting a known value.
     $this->assertThat($registry->get('foo'), $this->equalTo('bar'), 'Line: ' . __LINE__ . '.');
     // INI + section.
     $result = $registry->loadFile(__DIR__ . '/stubs/jregistry.ini', 'ini', array('processSections' => true));
     // Test getting a known value.
     $this->assertThat($registry->get('section.foo'), $this->equalTo('bar'), 'Line: ' . __LINE__ . '.');
     // XML and PHP versions do not support stringToObject.
 }
Example #8
0
 private function checkJAT3v2CacheExclude($extension = 'mod_pwebcontact', $type = 'module')
 {
     if (!file_exists(JPATH_ROOT . '/plugins/system/jat3/jat3.php')) {
         return null;
     }
     $db = JFactory::getDBO();
     $query = $db->getQuery(true);
     $query->select($db->quoteName('element'))->from($db->quoteName('#__extensions'))->where($db->quoteName('type') . ' = ' . $db->quote('template'))->where($db->quoteName('element') . ' LIKE ' . $db->quote('ja_%'))->where($db->quoteName('client_id') . ' = 0');
     $db->setQuery($query);
     $templates = $db->loadColumn();
     if (!$templates or !count($templates)) {
         return null;
     }
     $app = JFactory::getApplication();
     foreach ($templates as $template) {
         $params = new JRegistry();
         $params->loadFile(JPATH_ROOT . '/templates/' . $template . '/params.ini', 'ini');
         if ($params->get('cache', false) === 1 and !preg_match('/' . $type . '=[^=]*' . $extension . '/i', $params->get('cache_exclude'))) {
             $app->enqueueMessage(JText::sprintf('MOD_PWEBCONTACT_CONFIG_MSG_JAT3V2_CACHE', $type . '=' . $extension, '<a href="index.php?option=com_templates&amp;filter_search=' . $template . '" target="_blank">', $template, '</a>'), 'warning');
         }
     }
     return true;
 }
Example #9
0
 /**
  * loadINI
  *
  * @return	bool
  */
 protected static function loadINI()
 {
     if (self::$_compinfo && self::$_pluginfo) {
         return true;
     }
     self::$_compinfo = array();
     self::$_pluginfo = array();
     self::$_thirdparty = array();
     // Get component parameter
     $version_check = EParameter::getComponentParam(CAUTOTWEETNG, 'version_check', 1);
     $remoteFile = self::SERVER_INI_PATH . self::SERVER_INI_FILE;
     $localFile = JPATH_AUTOTWEET_HELPERS . '/' . self::SERVER_INI_FILE;
     $file = $localFile;
     if ($version_check) {
         try {
             $ch = curl_init($remoteFile);
             curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
             curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, self::CXN_TIMEOUT);
             curl_setopt($ch, CURLOPT_TIMEOUT, self::EXEC_TIMEOUT);
             $data = curl_exec($ch);
             curl_close($ch);
             file_put_contents($localFile, $data);
         } catch (Exception $e) {
             $msg = $e->getMessage();
             $logger->log(JLog::ERROR, 'AutoTweetNG - ' . $msg);
         }
     }
     jimport('joomla.error.error');
     jimport('joomla.registry.registry');
     $registry = new JRegistry();
     if (!$registry->loadFile($file, 'INI', array('processSections' => 'true'))) {
         $logger->log(JLog::ERROR, 'AutoTweetNG - error reading INI file ' . $file);
         return false;
     }
     // Init logging
     $logger = AutotweetLogger::getInstance();
     $db = JFactory::getDBO();
     // Get component info and remove from array
     $data = JApplicationHelper::parseXMLInstallFile(JPATH_COMPONENT_ADMINISTRATOR . DIRECTORY_SEPARATOR . self::COMP_INSTALL_FILE);
     self::$_compinfo = array('id' => $registry->get('component.id'), 'name' => $registry->get('component.name'), 'server_version' => $registry->get('component.version'), 'client_version' => $data['version'], 'home' => $registry->get('component.home'), 'faq' => $registry->get('component.faq'), 'download' => $registry->get('component.download'), 'support' => $registry->get('component.support'), 'products' => $registry->get('component.products'), 'twitter' => $registry->get('component.twitter'), 'jed' => $registry->get('component.jed'), 'message' => $registry->get('component.message'), 'news' => $registry->get('component.news'));
     $extensions = TextUtil::listToArray($registry->get('component.extensions'));
     foreach ($extensions as $extension) {
         $state = self::EXT_NOTINSTALLED;
         $config = '';
         $client_version = '';
         $type = $registry->get($extension . '.type');
         $id = $registry->get($extension . '.id');
         $source = $registry->get($extension . '.source');
         if ('module' == $type) {
             $mod_filename = 'mod_' . $id;
             // Get the module id and set url for config
             $pluginsModel = F0FModel::getTmpInstance('Extensions', 'ExtlyModel');
             $pluginsModel->savestate(false)->setState('element', $mod_filename);
             $rows = $pluginsModel->getItemList();
             if (!empty($rows)) {
                 $row = $rows[0];
                 if ($row->client_id) {
                     $path = JPATH_ADMINISTRATOR . '/modules/' . $mod_filename . DIRECTORY_SEPARATOR . $mod_filename . '.xml';
                 } else {
                     $path = JPATH_ROOT . '/modules/' . $mod_filename . DIRECTORY_SEPARATOR . $mod_filename . '.xml';
                 }
                 $data = JApplicationHelper::parseXMLInstallFile($path);
                 $client_version = $data['version'];
                 if (self::_isEnabled($mod_filename)) {
                     $state = self::EXT_ENABLED;
                 } else {
                     $state = self::EXT_DISABLED;
                 }
                 // $config = 'index.php?option=com_modules&task=module.edit&id=' . $row->extension_id;
             }
         } else {
             // Get the plugin id and set url for config
             $pluginsModel = F0FModel::getTmpInstance('Plugins', 'AutoTweetModel');
             $pluginsModel->savestate(false)->set('element_id', $id);
             $rows = $pluginsModel->getItemList();
             if (!empty($rows)) {
                 $row = $rows[0];
                 $path = JPATH_PLUGINS . DIRECTORY_SEPARATOR . $row->folder . DIRECTORY_SEPARATOR . $row->element . DIRECTORY_SEPARATOR . $row->element . '.xml';
                 $data = JApplicationHelper::parseXMLInstallFile($path);
                 $client_version = $data['version'];
                 if (JPluginHelper::isEnabled($row->folder, $row->element)) {
                     $state = self::EXT_ENABLED;
                 } else {
                     $state = self::EXT_DISABLED;
                 }
                 $config = 'index.php?option=com_plugins&task=plugin.edit&extension_id=' . $row->id;
             }
         }
         // Append plugin state to result arrays
         if (self::FM_EXT_SOURCE == $source) {
             self::$_pluginfo[] = array('id' => $id, 'name' => $registry->get($extension . '.name'), 'state' => $state, 'client_version' => $client_version, 'server_version' => $registry->get($extension . '.version'), 'message' => $registry->get($extension . '.message'), 'config' => $config);
         } else {
             self::$_thirdparty[] = array('id' => $id, 'name' => $registry->get($extension . '.name'), 'state' => $state, 'client_version' => $client_version, 'message' => $registry->get($extension . '.message'), 'config' => $config, 'source' => $source, 'download' => $registry->get($extension . '.download'));
         }
     }
     // Add installed plugins without entry in ini file to 3rd party list
     $pluginsModel = F0FModel::getTmpInstance('Plugins', 'AutoTweetModel');
     $pluginsModel->savestate(false);
     $plugins = $pluginsModel->getItemList();
     foreach ($plugins as $plugin) {
         $id = $plugin->element;
         $type = $plugin->folder;
         if (!self::in_array_recursive($id, self::$_pluginfo) && !self::in_array_recursive($id, self::$_thirdparty)) {
             $path = JPATH_PLUGINS . DIRECTORY_SEPARATOR . $type . DIRECTORY_SEPARATOR . $id . DIRECTORY_SEPARATOR . $id . '.xml';
             $data = JApplicationHelper::parseXMLInstallFile($path);
             $client_version = $data['version'];
             if (JPluginHelper::isEnabled($type, $id)) {
                 $state = self::EXT_ENABLED;
             } else {
                 $state = self::EXT_DISABLED;
             }
             $config = 'index.php?option=com_plugins&task=plugin.edit&extension_id=' . $plugin->id;
             if (!empty($data['authorUrl'])) {
                 $source = $data['authorUrl'];
                 $download = $data['authorUrl'];
             } else {
                 $source = self::EXT_UNKNOWN;
                 $download = '';
             }
             self::$_thirdparty[] = array('id' => $id, 'name' => $plugin->name, 'state' => $state, 'client_version' => $client_version, 'message' => 'unknown extension plugin', 'config' => $config, 'source' => $source, 'download' => $download);
         }
     }
     return true;
 }
Example #10
0
 /**
  * Loading layout configuration in JSON format
  * @param (string) name of the layout
  */
 protected static function loadParams($layout)
 {
     $file = JPath::clean(JMF_TPL_PATH . '/assets/layout/' . $layout . '.json');
     $params = new JRegistry();
     if (JFile::exists($file)) {
         $params->loadString(JFile::read($file));
     }
     $defaults = new JRegistry();
     $default_settings_file = JPath::clean(JMF_TPL_PATH . '/templateDefaults.json');
     if (JFile::exists($default_settings_file)) {
         $defaults->loadFile($default_settings_file, 'JSON');
     }
     $params->def('#tmplWidth', $defaults->get('JMfluidGridContainerLg'));
     $params->def('#tmplSpace', $defaults->get('JMbaseSpace'));
     $data = $params->toString();
     return $data;
 }