/** * */ function ExternConfig ($range_id, $module_name, $config_id = '') { if ($config_id != '') { if ($configuration = ExternConfig::GetConfigurationMetaData($range_id, $config_id)) { $this->id = $config_id; $this->module_type = $configuration['type']; $this->module_name = $configuration['module_name']; $this->config_name = $configuration['name']; $this->range_id = $range_id; $this->parse(); } else { ExternModule::printError(); } } else { foreach ($GLOBALS['EXTERN_MODULE_TYPES'] as $type => $module) { if ($module['module'] == $module_name) { $this->module_name = $module_name; $this->module_type = $type; $this->range_id = $range_id; break; } } } }
function getLinkToModule ($linked_element_name = null, $params = null, $with_module_params = false, $self = false) { if ($with_module_params) { $module_params = $this->getModuleParams(); $params = array_merge($module_params, $params); } $query_parts = array(); if (is_array($params)) { $param_key = 'ext_' . strtolower($this->name); foreach ($params as $name => $value) { $query_parts[] = "{$param_key}[{$name}]=" . $value; } } if (is_null($linked_element_name)) { $sriurl = trim($this->config->getValue('Main', 'sriurl')); $includeurl = trim($this->config->getValue('Main', 'includeurl')); } else { $sriurl = trim($this->config->getValue($linked_element_name, 'srilink')); $includeurl = trim($this->config->getValue($linked_element_name, 'includlink')); } if ($sriurl) { $url = $sriurl; } else if ($includeurl) { $url = $includeurl; } else { $url = $GLOBALS['EXTERN_SERVER_NAME'] . 'extern.php'; } if (parse_url($url, PHP_URL_QUERY)) { $url .= '&'; } else { $url .= '?'; } if ($self) { $module = $this->name; } else { // get module name by config id $linked_element_id = $this->config->getValue($linked_element_name, 'config'); // linked with module declared as standard? if ($linked_element_id) { $config_meta_data = ExternConfig::GetConfigurationMetaData($this->config->range_id, $linked_element_id); } else { $config_meta_data = array('module_name' => $this->config->module_name); } if (is_array($config_meta_data)) { $module = $config_meta_data['module_name']; // var_dump($this->config); } else { return ''; } } $url .= "module={$module}&config_id=" . (is_null($linked_element_name) ? $this->config->getId() : $this->config->getValue($linked_element_name, 'config')) . "&range_id={$this->config->range_id}"; if (sizeof($query_parts)) { $url .= '&' . implode('&', $query_parts); } return $url; }
function toString ($args) { if (!$args["main_module"]) { $args["main_module"] = "Main"; } $config_meta_data = ExternConfig::GetConfigurationMetaData($this->config->range_id, $this->config->getValue($this->name, 'config')); $sri_link = $this->config->getValue($this->name, "srilink"); $extern_link = $this->config->getValue($this->name, "externlink"); if ($this->config->config[$args["main_module"]]["incdata"]) { $link = $sri_link; if ($args["link_args"]) { if (preg_match("#.*\?.*#", $link)) { $link .= "&" . $args["link_args"]; } else { $link .= "?" . $args["link_args"]; } } } else { if ($sri_link) { $link = $GLOBALS['EXTERN_SERVER_NAME'] . 'extern.php'; if ($args["link_args"]) { $link .= "?" . $args["link_args"] . "&"; } else { $link .= "?"; } $link .= "page_url=" . $sri_link; } elseif ($extern_link) { if (strrpos($extern_link, '?')) { $link = "$extern_link&module={$config_meta_data['module_name']}"; } else { $link = "$extern_link?module={$config_meta_data['module_name']}"; } if ($config = $this->config->getValue($this->name, 'config')) { $link .= "&config_id=" . $config; } $link .= "&range_id={$this->config->range_id}"; if ($args["link_args"]) { $link .= "&" . $args["link_args"]; } } else { $link = $GLOBALS['EXTERN_SERVER_NAME'] . "extern.php?module={$config_meta_data['module_name']}"; if ($config = $this->config->getValue($this->name, 'config')) { $link .= "&config_id=" . $config; } $link .= "&range_id={$this->config->range_id}"; if ($args["link_args"]) { $link .= "&" . $args["link_args"]; } } } if ($this->config->global_id) { $link .= "&global_id=" . $this->config->global_id; } // to set the color of the font in the style-attribute of the a-tag if ($color = $this->config->getValue($this->name, "font_color")) { $this->config->setValue($this->name, "a_style", "color:$color;" . $this->config->getValue($this->name, "a_style")); } if ($font_attr = $this->config->getAttributes($this->name, "font")) { $out = "<font$font_attr>" . $args["content"] . "</font>"; } else { $out = $args["content"]; } $out = "<a href=\"$link\"" . $this->config->getAttributes($this->name, "a") . ">" . $out . "</a>"; return $out; }
} } if (Request::option('com') == 'delete') { $config = ExternConfig::GetInstance($range_id, '', $config_id); if ($config->deleteConfiguration()) { my_msg(sprintf(_("Konfiguration <strong>\"%s\"</strong> für Modul <strong>\"%s\"</strong> gelöscht!"), htmlReady($config->getConfigName()), htmlReady($GLOBALS['EXTERN_MODULE_TYPES'][$config->getTypeName()]['name'])), 'blank', 1, false); } else { my_error(_("Konfiguration konnte nicht gelöscht werden")); } } echo "<tr><td class=\"blank\" width=\"100%\" valign=\"top\">\n"; if (Request::option('com') == 'delete_sec') { $config = ExternConfig::GetConfigurationMetaData($range_id, $config_id); $message = sprintf(_("Wollen Sie die Konfiguration <b>"%s"</b> des Moduls <b>%s</b> wirklich löschen?"), $config["name"], $GLOBALS["EXTERN_MODULE_TYPES"][$config["type"]]["name"]); $message .= '<br><br>'; $message .= LinkButton::createAccept("JA", URLHelper::getURL('?com=delete&config_id='.$config_id)); $message .= LinkButton::createCancel("NEIN", URLHelper::getURL('?list=TRUE&view=extern_inst')); my_info($message, "blank", 1); print_footer(); $template = $GLOBALS['template_factory']->open('layouts/base.php'); $template->content_for_layout = ob_get_clean(); echo $template->render(); page_close(); die; }
function createUrl ($args) { if (!$args["main_module"]) { $args["main_module"] = "Main"; } $config_meta_data = ExternConfig::GetConfigurationMetaData($this->config->range_id, $this->config->getValue($this->name, 'config')); if (is_array($config_meta_data)) { $module_name = $config_meta_data['module_name']; } else { foreach ((array) $this->link_module_type as $type) { if (is_array($GLOBALS['EXTERN_MODULE_TYPES'][$type])) { $module_name = $GLOBALS['EXTERN_MODULE_TYPES'][$type]['module']; break; } } } $sri_link = $this->config->getValue($this->name, "srilink"); $extern_link = $this->config->getValue($this->name, "externlink"); if ($this->config->config[$args["main_module"]]["incdata"]) { $link = $sri_link; if ($args["link_args"]) { if (strrpos($link, '?')) { $link .= "&" . $args["link_args"]; } else { $link .= "?" . $args["link_args"]; } } if ($this->config->global_id) { $link .= "&global_id=" . $this->config->global_id; } } else { if ($sri_link) { $link = $GLOBALS['EXTERN_SERVER_NAME'] . 'extern.php'; if ($args["link_args"]) { $link .= "?" . $args["link_args"] . "&"; } else { $link .= "?"; } if ($this->config->global_id) { $link .= "global_id=" . $this->config->global_id . '&'; } $link .= "page_url=" . $sri_link; } elseif ($extern_link) { if (strrpos($extern_link, '?')) { $link = "$extern_link&module=$module_name"; } else { $link = "$extern_link?module=$module_name"; } if ($config = $this->config->getValue($this->name, "config")) { $link .= "&config_id=" . $config; } $link .= "&range_id={$this->config->range_id}"; if ($args["link_args"]) { $link .= "&" . $args["link_args"]; } if ($this->config->global_id) { $link .= "&global_id=" . $this->config->global_id; } } else { $link = $GLOBALS['EXTERN_SERVER_NAME'] . "extern.php?module=$module_name"; if ($config = $this->config->getValue($this->name, "config")) { $link .= "&config_id=" . $config; } $link .= "&range_id={$this->config->range_id}"; if ($args["link_args"]) { $link .= "&" . $args["link_args"]; } if ($this->config->global_id) { $link .= "&global_id=" . $this->config->global_id; } } } return $link; }