function installMessage()
 {
     $db = JFactory::getDBO();
     $lang = JFactory::getLanguage();
     $currentlang = $lang->getTag();
     $objectReadxmlDetail = new JSNISReadXmlDetails();
     $infoXmlDetail = $objectReadxmlDetail->parserXMLDetails();
     $langSupport = $infoXmlDetail['langs'];
     $registry = new JRegistry();
     $newStrings = array();
     $path = null;
     $realLang = null;
     $queries = array();
     if (array_key_exists($currentlang, $langSupport)) {
         $path = JLanguage::getLanguagePath(JPATH_BASE, $currentlang);
         $realLang = $currentlang;
     } else {
         $filepath = JPATH_ROOT . DS . 'administrator' . DS . 'language';
         $foldersLang = $this->getFolder($filepath);
         foreach ($foldersLang as $value) {
             if (in_array($value, $langSupport) == true) {
                 $path = JLanguage::getLanguagePath(JPATH_BASE, $value);
                 $realLang = $value;
                 break;
             }
         }
     }
     $filename = $path . DS . $realLang . '.com_imageshow.ini';
     $objJNSUtils = JSNISFactory::getObj('classes.jsn_is_utils');
     $content = $objJNSUtils->readFileToString($filename);
     if ($content) {
         $registry->loadString($content);
         $newStrings = $registry->toArray();
         if (count($newStrings)) {
             if (count($infoXmlDetail['menu'])) {
                 $queries[] = 'TRUNCATE TABLE #__jsn_imageshow_messages';
                 foreach ($infoXmlDetail['menu'] as $value) {
                     $index = 1;
                     while (isset($newStrings['MESSAGE_' . $value . '_' . $index . '_PRIMARY'])) {
                         $queries[] = 'INSERT INTO #__jsn_imageshow_messages (msg_screen, published, ordering) VALUES (\'' . $value . '\', 1, ' . $index . ')';
                         $index++;
                     }
                 }
             }
         }
         if (count($queries)) {
             foreach ($queries as $query) {
                 $query = trim($query);
                 if ($query != '') {
                     $db->setQuery($query);
                     $db->query();
                 }
             }
         }
     }
     return true;
 }
Ejemplo n.º 2
0
 function installMessage()
 {
     $db =& JFactory::getDBO();
     $lang =& JFactory::getLanguage();
     $currentlang = $lang->getTag();
     $objectReadxmlDetail = new JSNISReadXmlDetails();
     $infoXmlDetail = $objectReadxmlDetail->parserXMLDetails();
     $langSupport = $infoXmlDetail['langs'];
     $registry = new JRegistry();
     $newStrings = array();
     $path = null;
     $realLang = null;
     $queries = array();
     if (array_key_exists($currentlang, $langSupport)) {
         $path = JLanguage::getLanguagePath(JPATH_BASE, $currentlang);
         $realLang = $currentlang;
     } else {
         $filepath = JPATH_ROOT . DS . 'administrator' . DS . 'language';
         $foldersLang = $this->getFolder($filepath);
         foreach ($foldersLang as $value) {
             if (in_array($value, $langSupport) == true) {
                 $path = JLanguage::getLanguagePath(JPATH_BASE, $value);
                 $realLang = $value;
                 break;
             }
         }
     }
     $filename = $path . DS . $realLang . '.com_imageshow.ini';
     $content = @file_get_contents($filename);
     if ($content) {
         $registry->loadINI($content);
         $newStrings = $registry->toArray();
         if (count($newStrings)) {
             if (count($infoXmlDetail['menu'])) {
                 $queries[] = 'TRUNCATE TABLE `#__imageshow_messages`';
                 foreach ($infoXmlDetail['menu'] as $value) {
                     $index = 1;
                     while (isset($newStrings['MESSAGE ' . $value . ' ' . $index . ' PRIMARY'])) {
                         $queries[] = 'INSERT INTO `#__imageshow_messages` (`msg_id`,`msg_screen`,`published`,`ordering`) VALUES (NULL, "' . $value . '", 1, ' . $index . ')';
                         $index++;
                     }
                 }
             }
         }
         if (count($queries)) {
             foreach ($queries as $query) {
                 $query = trim($query);
                 if ($query != '') {
                     $db->setQuery($query);
                     $db->query();
                 }
             }
         }
     }
     return true;
 }
Ejemplo n.º 3
0
 function checkSupportLang()
 {
     $objectReadxmlDetail = new JSNISReadXmlDetails();
     $infoXmlDetail = $objectReadxmlDetail->parserXMLDetails();
     $supportLang = $infoXmlDetail['langs'];
     $objLanguage = JFactory::getLanguage();
     $language = $objLanguage->getTag();
     if (@in_array($language, $supportLang)) {
         return true;
     }
     return false;
 }
 public function preflight($mode, $parent)
 {
     $this->_parent = $parent->getParent();
     $this->_manifest = $this->_parent->getManifest();
     $this->_currentVersion = $this->_manifest->version;
     $this->_currentEdition = $this->_manifest->edition;
     $errorFolders = $this->_checkFolderUnwritable();
     if (count($errorFolders)) {
         $msg = '</li><li>Following folder(s) must have Writable permission during installation process:</li><li><br/></li>';
         foreach ($errorFolders as $folder) {
             $msg .= '<li>' . $folder;
             if ($folder == '/language' || $folder == '/administrator/language') {
                 $msg .= ' (including all subfolders)';
             }
             $msg .= '</li>';
         }
         $msg .= '<li><br/></li><li>Please set Writable permission to appropriate folder(s) and reinstall the extension.';
         $this->_parent->abort($msg);
         return false;
     }
     if ($this->_checkManifestFileExist()) {
         $file = JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_imageshow' . DS . 'classes' . DS . 'jsn_is_readxmldetails.php';
         if (JFile::exists($file)) {
             include_once $file;
             $objectReadxmlDetail = new JSNISReadXmlDetails();
             $info = $objectReadxmlDetail->parserXMLDetails();
             $this->_previousVersion = $info['version'];
             $tmpCurrentVersion = (double) str_replace('.', '', $this->_currentVersion);
             $tmpPrevioustVersion = (double) str_replace('.', '', $this->_previousVersion);
             if ($tmpCurrentVersion < $tmpPrevioustVersion) {
                 $msg = JText::sprintf('You cannot install an older version %s on top of the newer version %s', $this->_currentVersion, $this->_previousVersion);
                 $this->_parent->abort($msg);
                 return false;
             }
         }
         $fileUpgrade = $this->_parent->getPath('source') . DS . 'admin' . DS . 'subinstall' . DS . 'upgrade.helper.php';
         if (JFile::exists($fileUpgrade)) {
             require_once $fileUpgrade;
             $objUpgradeHelper = new JSNUpgradeHelper($this->_manifest);
             $objUpgradeHelper->executeUpgrade();
         }
         $this->_updateSchema($this->_previousVersion);
         $this->_updateMenu();
     } else {
         $session = JFactory::getSession();
         $session->set('preversion', null, 'jsnimageshow');
     }
     return true;
 }
Ejemplo n.º 5
0
 function getPreviousEdition()
 {
     $objectReadxmlDetail = new JSNISReadXmlDetails();
     $infoXmlDetail = $objectReadxmlDetail->parserXMLDetails();
     return isset($infoXmlDetail['edition']) ? str_replace(' ', '_', JString::strtolower($infoXmlDetail['edition'])) : '';
 }
Ejemplo n.º 6
0
 function setManifestXML()
 {
     $objectReadxmlDetail = new JSNISReadXmlDetails();
     $this->_manifestXML = $objectReadxmlDetail->parserXMLDetails();
 }
Ejemplo n.º 7
0
 function setCurrentVersion()
 {
     $objectReadxmlDetail = new JSNISReadXmlDetails();
     $infoXmlDetail = $objectReadxmlDetail->parserXMLDetails();
     $this->_currentVersion = @$infoXmlDetail['version'];
 }
Ejemplo n.º 8
0
 function setPreviousVersion()
 {
     $objectReadxmlDetail = new JSNISReadXmlDetails();
     $infoXmlDetail = $objectReadxmlDetail->parserXMLDetails();
     $this->_previousVersion = @$infoXmlDetail['version'];
 }