Ejemplo n.º 1
0
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');
}