function main_dependencies($eventData) { global $gLocale, $gPageTitle, $gXmlDefinition; $query = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getDataAccess()->execute('SELECT appid FROM applications WHERE id=' . $eventData['appid'] . ' '); $applicationData = $query->getFields(); $tempDeps = new \Innomatic\Application\ApplicationDependencies(); $applicationDeps = array(); $applicationSuggs = array(); $dependingMods = array(); $suggestingMods = array(); $enabledDomains = array(); $applicationDepsArray = $tempDeps->dependsOn($applicationData['appid']); if (is_array($applicationDepsArray)) { while (list($key, $val) = each($applicationDepsArray)) { if ($val['deptype'] == \Innomatic\Application\ApplicationDependencies::TYPE_DEPENDENCY) { $applicationDeps[$val['moddep']] = $val['moddep'] . ' ' . $val['version']; } else { $applicationSuggs[$val['moddep']] = $val['moddep'] . ' ' . $val['version']; } } } $dependingModsArray = $tempDeps->checkDependingApplications($applicationData['appid'], \Innomatic\Application\ApplicationDependencies::TYPE_DEPENDENCY); if (is_array($dependingModsArray)) { while (list($key, $val) = each($dependingModsArray)) { $dependingMods[$val] = $val; } } $suggestingModsArray = $tempDeps->checkDependingApplications($applicationData['appid'], \Innomatic\Application\ApplicationDependencies::TYPE_SUGGESTION); if (is_array($suggestingModsArray)) { while (list($key, $val) = each($suggestingModsArray)) { $suggestingMods[$val] = $val; } } $enabledDomainsArray = $tempDeps->checkEnabledDomains($eventData['appid']); if (is_array($enabledDomainsArray)) { asort($enabledDomainsArray); while (list($key, $val) = each($enabledDomainsArray)) { $enabledDomains[$val] = $val; } } $xmlDef = '<grid><name>deps</name><children> <vertframe row="0" col="0"> <name>deps</name> <children> <label> <name>deps</name> <args> <label>' . $gLocale->getStr('appdeps_label') . '</label> </args> </label> <listbox> <name>deps</name> <args> <disp>action</disp> <readonly>true</readonly> <elements type="array">' . WuiXml::encode($applicationDeps) . '</elements> <size>5</size> </args> </listbox> </children> </vertframe> <vertframe row="0" col="1"><name>suggs</name><children> <label><name>suggs</name><args><label>' . $gLocale->getStr('appsuggs_label') . '</label></args></label> <listbox><name>suggs</name><args><disp>action</disp><readonly>true</readonly><elements type="array">' . WuiXml::encode($applicationSuggs) . '</elements><size>5</size></args></listbox> </children></vertframe>'; if (strcmp($applicationData['appid'], 'innomatic')) { $xmlDef .= ' <vertframe row="1" col="0"><name>depending</name><children> <label><name>depending</name><args><label>' . sprintf($gLocale->getStr('dependingapps_label'), $applicationData['appid']) . '</label></args></label> <listbox><name>depending</name><args><disp>action</disp><readonly>true</readonly><elements type="array">' . WuiXml::encode($dependingMods) . '</elements><size>5</size></args></listbox> </children></vertframe> <vertframe row="1" col="1"><name>suggesting</name><children> <label><name>suggesting</name><args><label>' . sprintf($gLocale->getStr('suggestingapps_label'), $applicationData['appid']) . '</label></args></label> <listbox><name>suggesting</name><args><disp>action</disp><readonly>true</readonly><elements type="array">' . WuiXml::encode($suggestingMods) . '</elements><size>5</size></args></listbox> </children></vertframe> <vertframe row="2" col="0"><name>enabled</name><children> <label><name>enabled</name><args><label>' . $gLocale->getStr('enableddomains_label') . '</label></args></label> <listbox><name>enabled</name><args><disp>action</disp><readonly>true</readonly><elements type="array">' . WuiXml::encode($enabledDomains) . '</elements><size>5</size></args></listbox> </children></vertframe>'; } $xmlDef .= '</children></grid>'; $gXmlDefinition = $xmlDef; $gPageTitle .= ' - ' . $applicationData['appid'] . ' - ' . $gLocale->getStr('applicationdeps_title'); }