Welcome,
Guest
|
Can't get kuneri to install correctly
(1 viewing) (1) Guest
|
TOPIC: Can't get kuneri to install correctly
Can't get kuneri to install correctly 14 years, 8 months ago #200
|
Joomla 1.5.15
PHP 5.2.12 MobileJoomla! setQuery("INSERT INTO `jos_plugins` (`nam, `element`, `folder`, `published`) VALUES ('$fullname', '$name', 'system', $publish);"); $database->query(); } return $status; } function UninstallSystemMambot($name) { global $MambotsSystem; $database =& JFactory::getDBO(); $database->setQuery( 'DELETE FROM jos_plugins WHERE `element` = '.$database->Quote($name)); $database->query(); $status = true; $status &= JFile::delete($MambotsSystem.DS.$name.'.php'); $status &= JFile::delete($MambotsSystem.DS.$name.'.xml'); return $status; } function InallTemplate($sourcedir,$name) { global $Templates,$ERRORS; if(!is_dir($sourcedir)) { $ERRORS[]=MJ_LANG_ERROR_CANNOTFINDDIR." $sourcedir."; return FALSE; } if(is_dir($Templates.DS.$name)) { JFolder::delete($Templates.DS.$name); } $status=JFolder::copy($sourcedir,$Templates.DS.$name,'',true); if(is_file($Templates.DS.$name.DS.'templateDetails.xm_')&& !JFile::move($Templates.DS.$name.DS.'templateDetails.xm_',$Templates.DS.$name.DS.'templateDetails.xml')) { $ERRORS[]=str_replace(array('%1','%2,array($Templates.DS.$name.DS.'templateDetails.xm_',$Templates.DS.$name.DS.'templateDetails.xml'),MJ_LANG_ERROR_CANNOTRENAME); $status=FALSE; } return $status; } function UninstallTemplate($name) { global $Templates,$ERRORS; $database =& JFactory::getDBO(); $quotedname=$database->Quote($name); $database->setQuery("DELETE FROM jos_templates_menu WHERE client_id = 0 AND template = $quotedname"); $database->query(); if(!JFolder::delete($Templates.DS.$name)) { $ERRORS[]=MJ_LANG_ERROR_CANNOTREMOVEDIR.'.$Templates.DS.$name; return FALSE; } return TRUE; } function InstallModule($sourcedir,$name,$title,$position,$published=1,$showtitle=1) { global $Modules,$ERRORS; if(!is_dir($sourcedir)) { $ERRORS[]=MJ_LANG_ERROR_CANNOTFINDDIR." $sourcedir."; return FALSE; } $upgrade=false; if(is_file($Modules.DS.$name.DS.$name.'.php')) { $upgrade=true; JFolder::delete($Modules.DS.$name); } if(!$upgrade) { $database =& JFactory::getDBO(); $database->setQuery( "SELECT id FROM jos_modules WHEREodule = '$name' AND client_id = 0" ); $ids=$database->loadResultArray(); foreach($ids as $id) { $database->setQuery( "DELETE FROM jos_modules_menu WHERE moduleid = $id" ); $database->query(); } $database->setQuery( "DELETE FROM jos_modules WHERE module = '$name' AND client_id = 0" ); $database->query(); } if(!JFolder::copy($sourcedir.DS.$name,$Modules.DS.$name,'',true)) { $ERRORS[]=str_replace(array('%1','%2'),array($sourcedir.DS.$name,$Modules.DS.$name.DS),MJ_LANG_ERROR_CANNOTCOPY); returFALSE; } if(is_file($Modules.DS.$name.DS.$name.'.xm_')&& !JFile::move($Modules.DS.$name.DS.$name.'.xm_',$Modules.DS.$name.DS.$name.'.xml')) { $ERRORS[]=str_replace(array('%1','%2'),array($Modules.DS.$name.DS.$name.'.xm_',$Modules.DS.$name.DS.$name.'.xml'),MJ_LANG_ERROR_CANNOTRENAME); return FALSE; } if(!$upgrade) { if(!is_array($position)) $position=array($position); foreach($position as $pos) { $database->setQuery( "INSERT INTO `jos_modules` (`title`, `content`, `ordering`, `position`, `publhed`, `module`, `showtitle`, `params`) VALUES ('$title', '', 1, '$pos', $published, '$name', '$showtitle', '')" ); $database->query(); $id=(int)$database->insertid(); $database->setQuery( "INSERT INTO `jos_modules_menu` VALUES ( $id, 0 )" ); $database->query(); } } return TRUE; } function UninstallModule($name) { global $Modules; $database =& JFactory::getDBO(); $database->setQuery( "SELECT id FROM jos_modules WHERE module = '$name' AND client_id = 0" ); $ids = $database->loadResultArray( foreach ($ids as $id) { $database->setQuery( "DELETE FROM jos_modules_menu WHERE moduleid = $id" ); $database->query(); } $database->setQuery( "DELETE FROM jos_modules WHERE module = '$name' AND client_id = 0" ); $database->query(); if (!JFolder::delete($Modules.DS.$name)) { $ERRORS[] = MJ_LANG_ERROR_CANNOTREMOVEDIR.' '.$Modules.DS.$name; return FALSE; } return TRUE; } function UpdateConfig ($botparams = null, $dbconnector='MySQL5') { global $ERRORS, $DUMPSUCCESS; gbal $MJ_version; $configfile = JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_mobilejoomla'.DS.'config.php'; $defconfigfile = JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_mobilejoomla'.DS.'defconfig.php'; if (is_file($configfile)) { include($configfile); } elseif (is_file($defconfigfile)) { include($defconfigfile); } else { $ERRORS[]=MJ_LANG_ERROR_CANNOTFIND." $defconfigfile"; return FALSE; } $settings = array( 'useragent', 'domains', 'pcpage', 'templatewidth', 'jpegquality', 'xhtmltemplate', 'xhtmlhomepage', 'xhtmlgzip', 'xhtmldomain', 'xhtmlredirect', 'waptemplate', 'waphomepage', 'wapgzip', 'wapdomain', 'wapredirect', 'imodetemplate', 'imodehomepage', 'imodegzip', 'imodedomain', 'imoderedirect', 'iphonetemplate', 'iphonehomepage', 'iphonegzip', 'iphonedomain', 'iphoneredirect', 'tmpl_xhtml_header1', 'tmpl_xhtml_header2', 'tmpl_xhtml_pathway', 'tmpl_xhtml_pathwayhome', 'tmpl_xhtml_middle1', 'tmpl_xhtml_middle2', 'tmpl_xhtml_componenthome', 'tmpl_xhtml_footer1', 'tmpl_xhtml_footer2', 'tmpl_xhtml_jfooter', 'tmpl_xhtml_simplehead', 'tmpl_xhtml_allowextedit', 'tmpl_xhtml_removetags', 'tmpl_xhtml_removescripts', 'tmpl_xhtml_img', 'tmpl_xhtml_entitydecode', 'tmpl_xhtml_embedcss', 'tmpl_xhtml_contenttype', 'tmpl_xhtml_xmlhead', 'tmpl_xhtml_doctype', 'tmpl_xhtml_xmlns', 'tmpl_wap_header', 'tmpl_wap_pathway', 'tmpl_wap_pathwayhome', 'tmpl_wap_middle', 'tmpl_wap_componenthome', 'tmpl_wap_footer', 'tmpl_wap_cards', 'tmpl_wap_jfooter', 'tmpl_wap_removetags', 'tmpl_wap_img', 'tmpl_wap_entitydecode', 'tmpl_wap_doctype', 'tmpl_imode_header1', 'tmpl_imode_header2', 'tmpl_imode_paway', 'tmpl_imode_pathwayhome', 'tmpl_imode_middle1', 'tmpl_imode_middle2', 'tmpl_imode_componenthome', 'tmpl_imode_footer1', 'tmpl_imode_footer2', 'tmpl_imode_jfooter', 'tmpl_imode_removetags', 'tmpl_imode_img', 'tmpl_imode_entitydecode', 'tmpl_imode_doctype', 'tmpl_iphone_header1', 'tmpl_iphone_header2', 'tmpl_iphone_pathway', 'tmpl_iphone_pathwayhome', 'tmpl_iphone_middle1', 'tmpl_iphone_middle2', 'tmpl_iphone_componenthome', 'tmpl_iphone_footer1', 'tmpl_iphone_footer2', 'tmpl_iphone_jfooter', 'tmpl_iphone_img', 'xhtml_buffer_width', 'wml_buffer_width', 'iphone_buffer_width', 'chtml_buffer_width', 'tmpl_iphone_removetags', 'dbconnector', 'desktop_url' ); $params=array(); $MobileJoomla_Settings['desktop_url'] = JURI::root (); if (!$DUMPSUCCESS) $MobileJoomla_Settings['useragent'] = 3; elseif ($MobileJoomla_Settgs['useragent'] == 3 || $MobileJoomla_Settings['useragent'] == 0) $MobileJoomla_Settings['useragent'] = 2; //Needed for stored procedure suppport checking $MobileJoomla_Settings['dbconnector'] = $dbconnector; foreach($settings as $param) { if($botparams && isset($botparams->$param)) $MobileJoomla_Settings[$param]=$botparams->$param; if(is_numeric($MobileJoomla_Settings[$param])) $params[]="'$param'=>".$MobileJoomla_Settings[$param]; else $params[]="'$param'=>'".addslashes($MobileJoom_Settings[$param])."'"; } $config = "'$MJ_version',n" . implode(",n",$params)."n" . ");n" . "?>"; if(!JFile::write($configfile,$config)) { $ERRORS[]=MJ_LANG_ERROR_CANNOTUPDATE." $configfile"; return FALSE; } else { JFile::delete($defconfigfile); } return TRUE; } function install_procedure () { $db = JFactory::getDB(); $db->setQuery ("DROP PROCEDURE IF EXISTS `TeraWurfl_RIS`"); $db->query (); $TeraWurfl_RIS = "CREATE PROCEDURE `TeraWurfl_RIS`(IN ua VARCHAR(255), IN tolerance INT, IN matcher VARCHAR(128)) BEGIN DECLARE curlen INT; DECLARE wurflid VARCHAR(128) DEFAULT NULL; DECLARE curua VARCHAR(255); SELECT CHAR_LENGTH(ua) INTO curlen; findua: WHILE ( curlen >= tolerance ) DO SELECT CONCAT(LEFT(ua, curlen ),'%') INTO curua; SELECT idx.DeviceID INTO wurflid FROM jos_terawurflindex idx INNER JOIN _terawurflmerge mrg ON idx.DeviceID = mrg.DeviceID WHERE idx.matcher = matcher AND mrg.user_agent LIKE curua LIMIT 1; IF wurflid IS NOT NULL THEN LEAVE findua; END IF; SELECT curlen - 1 INTO curlen; END WHILE; SELECT wurflid as DeviceID; END"; $db->setQuery ($TeraWurfl_RIS); $isSuccessful = $db->query (); return $isSuccessful; } function plain_parse_mysql_dump ($url) { $db = JFactory::getDBO (); $handle = fopen ($url, 'r'); $query = ''; wle (!feof ($handle)) { $sql_line = fgets ($handle); if (trim ($sql_line) != '' && strpos ($sql_line, '--') === false) { $query .= $sql_line; if (preg_match ("/;[ 40]*$/", $sql_line)) { $db->setQuery ($query); $db->query (); $query = ''; } } } } function parse_mysql_dump ($file) { if (function_exists ('bzopen') && JFile::exists ($file)) { bz2_parse_mysql_dump file); } else { $teraPath = JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_mobilejoomla'.DS.'terawurfl'.DS; $teraSQL = $teraPath . 'tera_dump.sql'; if (JFile::exists ($file)) { $pwd = getcwd (); chdir ($teraPath); exec ("bunzip2 {$file}�"); } if (JFile::exists ($teraSQL)) { plain_parse_mysql_dump ($teraSQL); } else { plain_parse_mysql_dump ('www.mobilejoomla.com/tera_dump.sql'); } chdir ($pwd); } } function bz2_parse_mysql_dump ($url) { $db = JFactory::getDBO (); $handle = bzopen ($url, 'r'); $sql_line = ''; $i = 0; while (!feof ($handle)) { $buf = bzread ($handle); if (trim ($buf) != '') { $sql_line .= $buf; if (($pos = strrs ($sql_line, ";n")) !== FALSE) { $queries = substr ($sql_line, 0, $pos + 1); $queries = explode (";n", $queries); foreach ($queries as $query) { if (trim ($query) != '') { $db->setQuery ($query); $db->query (); } } $sql_line = substr ($sql_line, $pos + 2); } } } } function com_install() { //check joomla version if(!defined('_JEXEC')) { echo 'This component is released for Joomla!1.5.x getBackwardLang(); set_time_limit (600); ini_set ('max_execution_time', 600); ini_set ('max_input_time', 600); ini_set'memory_limit', '32M'); JError::setErrorHandling (E_ERROR,'Message'); $languagepath = JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_mobilejoomla'.DS.'languages'.DS; if (is_file($languagepath.$mosConfig_lang.'.php')) { include($languagepath.$mosConfig_lang.'.php'); } elseif (is_file($languagepath.'english.php')) { include($languagepath.'english.php'); } else { $ERRORS[] = "Installation error: language file '${languagepath}english.php' is not found."; } //heck for upgrade $prev_version = ''; $manifest = JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_mobilejoomla'.DS.'mobilejoomla.xml'; if(is_file($manifest)) { if (!class_exists ('DOMIT_Lite_Document')) jimport('domit.xml_domit_lite_include'); $xmlDoc = new DOMIT_Lite_Document(); $xmlDoc->resolveErrors(false); if($xmlDoc->loadXML($manifest, false, true)) { $root = &$xmlDoc->documentElement; $element = &$root->getElementsByPath('version', 1); $prev_version = $element ? $elementgetText() : ''; if($prev_version) { $upgrade = true; $UPDATES[] = MJ_LANG_UPGRADE.' '.$prev_version; } } } $extFile = JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_mobilejoomla'.DS.'extensions'.DS.'extensions.json'; $extDistFile = JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_mobilejoomla'.DS.'extensions'.DS.'extensions.json.dist'; if (!JFile::exists ($extFile)) { JFile::move($extDistFile, $extFile); } else { JFile::delete($extDistFile) } // set icons for menu $database->setQuery( "UPDATE jos_components" . "n SET admin_menu_img='../administrator/components/com_mobilejoomla/images/mj16x16.gif' " . "n WHERE admin_menu_link='option=com_mobilejoomla'" ); $database->query(); $database->setQuery( "UPDATE jos_components" . "n SET admin_menu_img='js/ThemeOffice/config.png'" . "n WHERE admin_menu_link='option=com_mobilejoomla&task=settings'" ); $database->query(); // $database->setQuery( "UPDATE jos_components" // . "SET admin_menu_img='../administrator/components/com_mobilejoomla/images/wurfl16x16.gif' " // . "n WHERE admin_menu_link='option=com_mobilejoomla&task=wurfl'" ); // $database->query(); $database->setQuery( "UPDATE jos_components" . "n SET admin_menu_img='js/ThemeOffice/info.png'" . "n WHERE admin_menu_link='option=com_mobilejoomla&task=about'" ); $database->query(); $MambotsSystem=JPATH_SITE.DS.'plugins'.DS.'system'; $Templates=JPATH_SITE.DS.'templates'; $Modules=JPATH_SITE.DS.'modules'; $dabase->setQuery( "SELECT template FROM jos_templates_menu WHERE client_id = 0 AND menuid = 0" ); $cur_template=$database->loadResult(); //install bot $MambotSource=JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_mobilejoomla'.DS.'plugin'; if(InstallSystemMambot($MambotSource,'mobilebot','Mobile Joomla Bot')) { JFolder::delete($MambotSource); } else { $ERRORS[]="".MJ_LANG_ERROR_CANNOTINSTALL." Mobile Joomla Bot."; } // install templates $TemplateSource=JPATH_SITE.DS.'ministrator'.DS.'components'.DS.'com_mobilejoomla'.DS.'templates'; if ($t1 = InstallTemplate($TemplateSource.DS.'mobile_pda','mobile_pda')) { JFolder::delete($TemplateSource.DS.'mobile_pda'); } else { $ERRORS[]="".MJ_LANG_ERROR_CANNOTINSTALL." Mobile Joomla 'mobile_pda' template."; } if ($t2 = InstallTemplate($TemplateSource.DS.'mobile_wap','mobile_wap')) { JFolder::delete($TemplateSource.DS.'mobile_wap'); } else { $ERRORS[]="".MJ_LANG_ERROR_CANNOTINSTALL." Mobileoomla 'mobile_wap' template."; } if ($t3 = InstallTemplate($TemplateSource.DS.'mobile_imode','mobile_imode')) { JFolder::delete($TemplateSource.DS.'mobile_imode'); } else { $ERRORS[]="".MJ_LANG_ERROR_CANNOTINSTALL." Mobile Joomla 'mobile_imode' template."; } if ($t4 = InstallTemplate($TemplateSource.DS.'mobile_iphone','mobile_iphone')) { JFolder::delete($TemplateSource.DS.'mobile_iphone'); } else { $ERRORS[]="".MJ_LANG_ERROR_CANNOTINSTALL." Mobile Jmla 'mobile_iphone' template."; } if ($t1 && $t2 && $t3 && $t4) JFolder::delete($TemplateSource); //install modules (over existing) $ModuleSource = JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_mobilejoomla'.DS.'modules'; $status = TRUE; $status &= InstallModule($ModuleSource,'mod_mj_header', 'Header Module','mj_pda_header', 1, 0); $status &= InstallModule($ModuleSource,'mod_mj_pda_menu', 'Main Menu', 'mj_pda_header2', 1, 0); $status &= InstallModule($Modulource,'mod_mj_wap_menu', 'Main Menu', 'mj_wap_footer'); $status &= InstallModule($ModuleSource,'mod_mj_imode_menu', 'Main Menu', 'mj_imode_footer'); $status &= InstallModule($ModuleSource,'mod_mj_iphone_menu', 'Main Menu', 'mj_iphone_middle', 1, 0); $status &= InstallModule($ModuleSource,'mod_mj_markupchooser','Select Markup', array('footer','mj_pda_footer2','mj_wap_footer','mj_imode_footer','mj_iphone_footer2'),1,0); if($status) JFolder::delete($ModuleSource); else $ERRORS[]="".MJ_LANG_ROR_CANNOTINSTALL." Mobile Joomla modules."; $query = "CREATE TABLE IF NOT EXISTS `jos_capability` (" ." `ua` varchar(250) NOT NULL default ''," ." `format` varchar(4) NOT NULL default ''," ." `devwidth` int(11) NOT NULL default '0'," ." `devheight` int(11) NOT NULL default '0'" ." ) TYPE=MyISAM;"; $database->setQuery($query); $database->query(); $teraSQL = JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_mobilejoomla'.DS.'terawurfl'.DS.'tera_dump.sql.bz2'; $DUMPSUCCESS = te; if (JFile::exists ($teraSQL)) { parse_mysql_dump ($teraSQL); } else { $WARNINGS[] = "SQL file {$teraSQL} does not exist"; $DUMPSUCCESS = false; } if ( ! version_compare(JFactory::getDBO()->getVersion(), '5.0.0', '<')) { $dbconnector = 'MySQL5'; //this might be overriden below $procedureInstalled = install_procedure(); //it might still fail (5.1.2) if ($procedureInstalled === FALSE) { $dbconnector = 'MySQL4'; } } else { $dbconnector = 'MySQL4'; } UpdateConfig($botParams = NULL, $dbconnector); //Show install log $msg=''; if(count($ERRORS)) $msg.=''.MJ_LANG_ERRORS.' '.implode(' ',$ERRORS).' '; if(count($WARNINGS)) $msg.=''.MJ_LANG_WARNINGS.' '.implode(' ',$WARNINGS).' '; if(count($UPDATES)) $msg.=''.MJ_LANG_UPDATES.' '.implode(' ',$UPDATES).' '; if(count($ERRORS)==0) $msg.=str_replac'[VER]',$MJ_version,MJ_LANG_INSTALL_OK); ?> getBackwardLang(); $languagepath=JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_mobilejoomla'.DS.'languages'.DS; if(is_file($languagepath.$mosConfig_lang.'.php')) include($languagepath.$mosConfig_lang.'.php'); elseif(is_file($languagepath.'english.php')) include($languagepath.'english.php'); else $ERRORS[]="Uninstallation error: language file '${languagepath}english.php' is not found."; $mbotsSystem=JPATH_SITE.DS.'plugins'.DS.'system'; $Templates=JPATH_SITE.DS.'templates'; $Modules=JPATH_SITE.DS.'modules'; $database->setQuery( "SELECT template FROM jos_templates_menu WHERE client_id = 0 AND menuid = 0" ); $cur_template=$database->loadResult(); //uninstall bot if(!UninstallSystemMambot('mobilebot')) $ERRORS[]="".MJ_LANG_ERROR_CANNOTUNINSTALL." Mobile Joomla 3.0.alpha Mambot."; //uninstall templates $templateslist=array('mobile_pda','mobile_wap','mobile_imode','mobile_iphone'); forea($templateslist as $t) { if($cur_template==$t) $ERRORS[]="".str_replace('%1',$t,MJ_LANG_ERROR_CANNOTDELTEMPLATE).""; elseif(!UninstallTemplate($t)) $ERRORS[]="".MJ_LANG_ERROR_CANNOTUNINSTALL." Mobile Joomla '$t' template."; } $query = "DROP TABLE IF EXISTS `jos_capability`;"; $database->setQuery($query); $database->query(); $tables = array ( 'jos_terawurflcache', 'jos_terawurflcache_temp', 'jos_terawurflindex', 'jos_terawurflmerge', 'jos_terawurfl_catel', 'jos_terawurfl_android', 'jos_terawurfl_aol', 'jos_terawurfl_apple', 'jos_terawurfl_benq', 'jos_terawurfl_blackberry', 'jos_terawurfl_bot', 'jos_terawurfl_catchall', 'jos_terawurfl_chrome', 'jos_terawurfl_docomo', 'jos_terawurfl_firefox', 'jos_terawurfl_grundig', 'jos_terawurfl_htc', 'jos_terawurfl_kddi', 'jos_terawurfl_konqueror', 'jos_terawurfl_kyocera', 'jos_terawurfl_lg', 'jos_tewurfl_mitsubishi', 'jos_terawurfl_motorola', 'jos_terawurfl_msie', 'jos_terawurfl_nec', 'jos_terawurfl_nintendo', 'jos_terawurfl_nokia', 'jos_terawurfl_opera', 'jos_terawurfl_operamini', 'jos_terawurfl_panasonic', 'jos_terawurfl_pantech', 'jos_terawurfl_philips', 'jos_terawurfl_portalmmm', 'jos_terawurfl_qtek', 'jos_terawurfl_safari', 'jos_terawurfl_sagem', 'jos_terawurfl_samsung', 'jos_terawurfl_sao', 'jos_terawurfl_sharp', 'jos_terawurfl_siemens', 'jos_terawurfl_sonyericsson', 'jos_terawurfl_spv', 'jos_terawurfl_toshiba', 'jos_terawurfl_vodafone', 'jos_terawurfl_windowsce' ); foreach ($tables as $table) { $query = "DROP TABLE IF EXISTS `{$table}`;"; $database->setQuery($query); $database->query(); } //uninstall modules $moduleslist = array ( 'mod_mj_pda_menu', 'mod_mj_wap_menu', 'modj_imode_menu', 'mod_mj_iphone_menu', 'mod_mj_markupchooser', 'mod_mj_header' ); foreach($moduleslist as $m) if(!UninstallModule($m)) $ERRORS[]="".MJ_LANG_ERROR_CANNOTUNINSTALL." Mobile Joomla '$m' module."; $database->setQuery ("DROP PROCEDURE IF EXISTS `TeraWurfl_RIS`"); $database->query (); //Show install log $msg=''; if(count($ERRORS)) $msg.=''.MJ_LANG_ERRORS.' '.implode(' ',$ERRORS).' '; if(count($WARNINGS $msg.=''.MJ_LANG_WARNINGS.' '.implode(' ',$WARNINGS).' '; if(count($UPDATES)) $msg.=''.MJ_LANG_UPDATES.' '.implode(' ',$UPDATES).' '; if(count($ERRORS)==0) $msg.=''.str_replace('[VER]',$MJ_version,MJ_LANG_UNINSTALL_OK).''; ?> |
|
|
Time to create page: 0.23 seconds