/** * Checks all modules for update status */ public static function checkAll() { PHPWS_Core::initModClass('boost', 'Boost.php'); $all_mods = PHPWS_Boost::getAllMods(); if (empty($all_mods)) { return; } PHPWS_Core::initCoreClass('Module.php'); $all_mods[] = 'core'; if (!ini_get('allow_url_fopen')) { return false; } foreach ($all_mods as $mod_title) { $module = new PHPWS_Module($mod_title); $file = $module->getVersionHttp(); if (empty($file)) { continue; } $full_xml_array = PHPWS_Text::xml2php($file, 2); if (empty($full_xml_array)) { continue; } $version_info = PHPWS_Text::tagXML($full_xml_array); if (empty($version_info) || empty($version_info['VERSION'])) { continue; } $_SESSION['Boost_Needs_Update'][$mod_title] = $version_info['VERSION']; } }
public function getDependencies() { $file = $this->getDirectory() . 'boost/dependency.xml'; if (!is_file($file)) { return null; } $dep_list = PHPWS_Text::xml2php($file, 1); $module_list = PHPWS_Text::tagXML($dep_list); if (!isset($module_list['MODULE'])) { return null; } return $module_list; }
public static function tagXML($arr_vals) { if (empty($arr_vals)) { return null; } foreach ($arr_vals as $tag) { if (is_array($tag['value'])) { $new_arr[$tag['tag']][] = PHPWS_Text::tagXML($tag['value']); } else { $new_arr[$tag['tag']] = $tag['value']; } } return $new_arr; }