[phpBB Debug] PHP Warning: in file [ROOT]/includes/crs/crs_misc_functions.php on line 37: mime_content_type(): Empty filename or path
[phpBB Debug] PHP Warning: in file [ROOT]/includes/crs/crs_misc_functions.php on line 37: mime_content_type(): Empty filename or path
Zen Cart 源代码 modules.php

Zen Cart 源代码 modules.php




下载文件

文件名: modules.php
文件类型: PHP文件
文件大小: 21.56 KiB
MD5: f2bcb890effbd0f6585d9cfcbba36861

modules.php - 关闭高亮
  1. <?php
  2. /**
  3.  * @package admin
  4.  * @copyright Copyright 2003-2014 Zen Cart Development Team
  5.  * @copyright Portions Copyright 2003 osCommerce
  6.  * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
  7.  * @version GIT: $Id: Author: DrByte  Jun 30 2014 Modified in v1.5.4 $
  8.  */
  9.  
  10.   require('includes/application_top.php');
  11.   if (file_exists(DIR_FS_CATALOG . 'includes/classes/dbencdata.php')) require_once(DIR_FS_CATALOG . 'includes/classes/dbencdata.php');
  12.  
  13.   $set = (isset($_GET['set']) ? $_GET['set'] : (isset($_POST['set']) ? $_POST['set'] : ''));
  14.  
  15.   $is_ssl_protected = (substr(HTTP_SERVER, 0, 5) == 'https') ? TRUE : FALSE;
  16.  
  17.   if (zen_not_null($set)) {
  18.     switch ($set) {
  19.       case 'shipping':
  20.         $module_type = 'shipping';
  21.         $module_directory = DIR_FS_CATALOG_MODULES . 'shipping/';
  22.         $module_key = 'MODULE_SHIPPING_INSTALLED';
  23.         define('HEADING_TITLE', HEADING_TITLE_MODULES_SHIPPING);
  24.         $shipping_errors = '';
  25.         if (zen_get_configuration_key_value('SHIPPING_ORIGIN_ZIP') == 'NONE' or zen_get_configuration_key_value('SHIPPING_ORIGIN_ZIP') == '') {
  26.           $shipping_errors .= '<br />' . ERROR_SHIPPING_ORIGIN_ZIP;
  27.         }
  28.         if (zen_get_configuration_key_value('ORDER_WEIGHT_ZERO_STATUS') == '1' and !defined('MODULE_SHIPPING_FREESHIPPER_STATUS')) {
  29.           $shipping_errors .= '<br />' . ERROR_ORDER_WEIGHT_ZERO_STATUS;
  30.         }
  31.         if (defined('MODULE_SHIPPING_USPS_STATUS') and (MODULE_SHIPPING_USPS_USERID=='NONE' or MODULE_SHIPPING_USPS_SERVER == 'test')) {
  32.           $shipping_errors .= '<br />' . ERROR_USPS_STATUS;
  33.         }
  34.         if ($shipping_errors != '') {
  35.           $messageStack->add(ERROR_SHIPPING_CONFIGURATION . $shipping_errors, 'caution');
  36.         }
  37.         break;
  38.       case 'ordertotal':
  39.         $module_type = 'order_total';
  40.         $module_directory = DIR_FS_CATALOG_MODULES . 'order_total/';
  41.         $module_key = 'MODULE_ORDER_TOTAL_INSTALLED';
  42.         define('HEADING_TITLE', HEADING_TITLE_MODULES_ORDER_TOTAL);
  43.         break;
  44.       case 'payment':
  45.       default:
  46.         $module_type = 'payment';
  47.         $module_directory = DIR_FS_CATALOG_MODULES . 'payment/';
  48.         $module_key = 'MODULE_PAYMENT_INSTALLED';
  49.         define('HEADING_TITLE', HEADING_TITLE_MODULES_PAYMENT);
  50.         break;
  51.     }
  52.   }
  53.  
  54.   $action = (isset($_GET['action']) ? $_GET['action'] : '');
  55.  
  56.   if (zen_not_null($action)) {
  57.     $admname = '{' . preg_replace('/[^\d\w]/', '*', zen_get_admin_name()) . '[' . (int)$_SESSION['admin_id'] . ']}';
  58.     switch ($action) {
  59.       case 'save':
  60.         if (!$is_ssl_protected && in_array($class, array('paypaldp', 'linkpoint_api', 'authorizenet_aim', 'authorizenet_echeck'))) break;
  61.         while (list($key, $value) = each($_POST['configuration'])) {
  62.           if (is_array( $value ) ) {
  63.             $value = implode( ", ", $value);
  64.             $value = preg_replace ("/, --none--/", "", $value);
  65.           }
  66.           if (function_exists('dbenc_encrypt') && function_exists('dbenc_is_encrypted_value_key') && dbenc_is_encrypted_value_key($key)) {
  67.             $value = dbenc_encrypt($value);
  68.           }
  69.  
  70.           $db->Execute("update " . TABLE_CONFIGURATION . "
  71.                        set configuration_value = '" . zen_db_input($value) . "'
  72.                        where configuration_key = '" . zen_db_input($key) . "'");
  73.         }
  74.         $msg = sprintf(TEXT_EMAIL_MESSAGE_ADMIN_SETTINGS_CHANGED, preg_replace('/[^\d\w]/', '*', $_GET['module']), $admname);
  75.         zen_record_admin_activity($msg, 'warning');
  76.         zen_mail(STORE_OWNER_EMAIL_ADDRESS, STORE_OWNER_EMAIL_ADDRESS, TEXT_EMAIL_SUBJECT_ADMIN_SETTINGS_CHANGED, $msg, STORE_NAME, EMAIL_FROM, array('EMAIL_MESSAGE_HTML'=>$msg), 'admin_settings_changed');
  77.         zen_redirect(zen_href_link(FILENAME_MODULES, 'set=' . $set . ($_GET['module'] != '' ? '&module=' . $_GET['module'] : ''), 'NONSSL'));
  78.         break;
  79.       case 'install':
  80.         $file_extension = substr($PHP_SELF, strrpos($PHP_SELF, '.'));
  81.         $class = basename($_POST['module']);
  82.         if (!$is_ssl_protected && in_array($class, array('paypaldp', 'linkpoint_api', 'authorizenet_aim', 'authorizenet_echeck'))) break;
  83.         if (file_exists($module_directory . $class . $file_extension)) {
  84.           include($module_directory . $class . $file_extension);
  85.           $module = new $class;
  86.           $msg = sprintf(TEXT_EMAIL_MESSAGE_ADMIN_MODULE_INSTALLED, preg_replace('/[^\d\w]/', '*', $_POST['module']), $admname);
  87.           zen_record_admin_activity($msg, 'warning');
  88.           zen_mail(STORE_OWNER_EMAIL_ADDRESS, STORE_OWNER_EMAIL_ADDRESS, TEXT_EMAIL_SUBJECT_ADMIN_SETTINGS_CHANGED, $msg, STORE_NAME, EMAIL_FROM, array('EMAIL_MESSAGE_HTML'=>$msg), 'admin_settings_changed');
  89.           $result = $module->install();
  90.         }
  91.         if ($result != 'failed') {
  92.           zen_redirect(zen_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $class . '&action=edit', 'NONSSL'));
  93.         }
  94.        break;
  95.       case 'removeconfirm':
  96.         $file_extension = substr($PHP_SELF, strrpos($PHP_SELF, '.'));
  97.         $class = basename($_POST['module']);
  98.         if (file_exists($module_directory . $class . $file_extension)) {
  99.           include($module_directory . $class . $file_extension);
  100.           $module = new $class;
  101.           $msg = sprintf(TEXT_EMAIL_MESSAGE_ADMIN_MODULE_REMOVED, preg_replace('/[^\d\w]/', '*', $_POST['module']), $admname);
  102.           zen_record_admin_activity($msg, 'warning');
  103.           zen_mail(STORE_OWNER_EMAIL_ADDRESS, STORE_OWNER_EMAIL_ADDRESS, TEXT_EMAIL_SUBJECT_ADMIN_SETTINGS_CHANGED, $msg, STORE_NAME, EMAIL_FROM, array('EMAIL_MESSAGE_HTML'=>$msg), 'admin_settings_changed');
  104.           $result = $module->remove();
  105.         }
  106.         zen_redirect(zen_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $class, 'NONSSL'));
  107.        break;
  108.     }
  109.   }
  110. ?>
  111. <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
  112. <html <?php echo HTML_PARAMS; ?>>
  113. <head>
  114. <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
  115. <title><?php echo TITLE; ?></title>
  116. <link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
  117. <link rel="stylesheet" type="text/css" href="includes/cssjsmenuhover.css" media="all" id="hoverJS">
  118. <script language="javascript" src="includes/menu.js"></script>
  119. <script language="javascript" src="includes/general.js"></script>
  120. <script type="text/javascript">
  121.   <!--
  122.   function init()
  123.   {
  124.     cssjsmenu('navbar');
  125.     if (document.getElementById)
  126.     {
  127.       var kill = document.getElementById('hoverJS');
  128.       kill.disabled = true;
  129.     }
  130.   }
  131.   // -->
  132. </script>
  133. </head>
  134. <body onLoad="init()">
  135. <!-- header //-->
  136. <?php require(DIR_WS_INCLUDES . 'header.php'); ?>
  137. <!-- header_eof //-->
  138.  
  139. <!-- body //-->
  140. <table border="0" width="100%" cellspacing="2" cellpadding="2">
  141.   <tr>
  142. <!-- body_text //-->
  143.     <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
  144.       <tr>
  145.         <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
  146.           <tr>
  147.             <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
  148.             <td class="pageHeading" align="right"><?php echo zen_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
  149.           </tr>
  150.         </table></td>
  151.       </tr>
  152.       <tr>
  153.         <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
  154.           <tr>
  155.             <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
  156.               <tr class="dataTableHeadingRow">
  157.                 <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_MODULES; ?></td>
  158.                 <td class="dataTableHeadingContent">&nbsp;</td>
  159.                 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_SORT_ORDER; ?></td>
  160. <?php
  161.   if ($set == 'payment') {
  162. ?>
  163.                 <td class="dataTableHeadingContent" align="center" width="100"><?php echo TABLE_HEADING_ORDERS_STATUS; ?></td>
  164. <?php } ?>
  165.                 <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?>&nbsp;</td>
  166.               </tr>
  167. <?php
  168.   $file_extension = substr($PHP_SELF, strrpos($PHP_SELF, '.'));
  169.   $directory_array = array();
  170.   if ($dir = @dir($module_directory)) {
  171.     while ($file = $dir->read()) {
  172.       if (!is_dir($module_directory . $file)) {
  173.         if (substr($file, strrpos($file, '.')) == $file_extension) {
  174.           $directory_array[] = $file;
  175.         }
  176.       }
  177.     }
  178.     sort($directory_array);
  179.     $dir->close();
  180.   }
  181.  
  182.   $installed_modules = array();
  183.   for ($i=0, $n=sizeof($directory_array); $i<$n; $i++) {
  184.     $file = $directory_array[$i];
  185.     if (file_exists(DIR_FS_CATALOG_LANGUAGES . $_SESSION['language'] . '/modules/' . $module_type . '/' . $file)) {
  186.       include(DIR_FS_CATALOG_LANGUAGES . $_SESSION['language'] . '/modules/' . $module_type . '/' . $file);
  187.       include($module_directory . $file);
  188.       $class = substr($file, 0, strrpos($file, '.'));
  189.       if (zen_class_exists($class)) {
  190.         $module = new $class;
  191.         if ($module->check() > 0) {
  192.           if ($module->sort_order > 0) {
  193.             if (isset($installed_modules[$module->sort_order]) && $installed_modules[$module->sort_order] != '') {
  194.               $zc_valid = false;
  195.             }
  196.             $installed_modules[$module->sort_order] = $file;
  197.           } else {
  198.             $installed_modules[] = $file;
  199.           }
  200.         }
  201.         if ((!isset($_GET['module']) || (isset($_GET['module']) && ($_GET['module'] == $class))) && !isset($mInfo)) {
  202.           $module_info = array('code' => $module->code,
  203.                                'title' => $module->title,
  204.                                'description' => $module->description,
  205.                                'status' => $module->check());
  206.           $module_keys = $module->keys();
  207.           $keys_extra = array();
  208.           for ($j=0, $k=sizeof($module_keys); $j<$k; $j++) {
  209.             $key_value = $db->Execute("select configuration_title, configuration_value, configuration_key,
  210.                                          configuration_description, use_function, set_function
  211.                                          from " . TABLE_CONFIGURATION . "
  212.                                          where configuration_key = '" . zen_db_input($module_keys[$j]) . "'");
  213.             if (!$key_value->EOF){
  214.               $keys_extra[$module_keys[$j]]['title'] = $key_value->fields['configuration_title'];
  215.               $keys_extra[$module_keys[$j]]['value'] = $key_value->fields['configuration_value'];
  216.               $keys_extra[$module_keys[$j]]['description'] = $key_value->fields['configuration_description'];
  217.               $keys_extra[$module_keys[$j]]['use_function'] = $key_value->fields['use_function'];
  218.               $keys_extra[$module_keys[$j]]['set_function'] = $key_value->fields['set_function'];
  219.             }
  220.           }
  221.           $module_info['keys'] = $keys_extra;
  222.           $mInfo = new objectInfo($module_info);
  223.         }
  224.         if (isset($mInfo) && is_object($mInfo) && ($class == $mInfo->code) ) {
  225.           if ($module->check() > 0) {
  226.             echo '              <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . zen_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $class . '&action=edit', 'NONSSL') . '\'">' . "\n";
  227.           } else {
  228.             echo '              <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)">' . "\n";
  229.           }
  230.         } else {
  231.           echo '              <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . zen_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $class, 'NONSSL') . '\'">' . "\n";
  232.         }
  233. //print_r($module) . '<br><BR>';
  234. //echo (!empty($module->enabled) ? 'ENABLED' : 'NOT ENABLED') . ' vs ' . (is_numeric($module->sort_order) ? 'ON' : 'OFF') . '<BR><BR>' ;
  235. ?>
  236.                 <td class="dataTableContent"><?php echo $module->title; ?></td>
  237.                 <td class="dataTableContent"><?php echo (strstr($module->code, 'paypal') ? 'PayPal' : $module->code); ?></td>
  238.                 <td class="dataTableContent" align="right">
  239.                   <?php if (is_numeric($module->sort_order)) echo $module->sort_order; ?>
  240.                   <?php
  241.                     // show current status
  242.                     if ($set == 'payment' || $set == 'shipping') {
  243.                       echo '&nbsp;' . ((!empty($module->enabled) && is_numeric($module->sort_order)) ? zen_image(DIR_WS_IMAGES . 'icon_status_green.gif') : ((empty($module->enabled) && is_numeric($module->sort_order)) ? zen_image(DIR_WS_IMAGES . 'icon_status_yellow.gif') : zen_image(DIR_WS_IMAGES . 'icon_status_red.gif')));
  244.                     } else {
  245.                       echo '&nbsp;' . (is_numeric($module->sort_order) ? zen_image(DIR_WS_IMAGES . 'icon_status_green.gif') : zen_image(DIR_WS_IMAGES . 'icon_status_red.gif'));
  246.                     }
  247.                   ?>
  248.                 </td>
  249. <?php
  250.   if ($set == 'payment') {
  251.     $orders_status_name = $db->Execute("select orders_status_id, orders_status_name from " . TABLE_ORDERS_STATUS . " where orders_status_id='" . (int)$module->order_status . "' and language_id='" . (int)$_SESSION['languages_id'] . "'");
  252. ?>
  253.                 <td class="dataTableContent" align="left">&nbsp;&nbsp;&nbsp;<?php echo (is_numeric($module->sort_order) ? (($orders_status_name->fields['orders_status_id'] < 1) ? TEXT_DEFAULT : $orders_status_name->fields['orders_status_name']) : ''); ?>&nbsp;&nbsp;&nbsp;</td>
  254. <?php } ?>
  255.                 <td class="dataTableContent" align="right"><?php if (isset($mInfo) && is_object($mInfo) && ($class == $mInfo->code) ) { echo zen_image(DIR_WS_IMAGES . 'icon_arrow_right.gif'); } else { echo '<a href="' . zen_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $class, 'NONSSL') . '">' . zen_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?>&nbsp;</td>
  256.               </tr>
  257. <?php
  258.       }
  259.     } else {
  260.       echo ERROR_MODULE_FILE_NOT_FOUND . DIR_FS_CATALOG_LANGUAGES . $_SESSION['language'] . '/modules/' . $module_type . '/' . $file . '<br />';
  261.     }
  262.   }
  263.   ksort($installed_modules);
  264.   $check = $db->Execute("select configuration_value
  265.                         from " . TABLE_CONFIGURATION . "
  266.                         where configuration_key = '" . zen_db_input($module_key) . "'");
  267.  
  268.   if ($check->RecordCount() > 0) {
  269.     if ($check->fields['configuration_value'] != implode(';', $installed_modules)) {
  270.       $db->Execute("update " . TABLE_CONFIGURATION . "
  271.                    set configuration_value = '" . zen_db_input(implode(';', $installed_modules)) . "', last_modified = now()
  272.                    where configuration_key = '" . zen_db_input($module_key) . "'");
  273.     }
  274.   } else {
  275.     $db->Execute("insert into " . TABLE_CONFIGURATION . "
  276.                (configuration_title, configuration_key, configuration_value,
  277.                 configuration_description, configuration_group_id, sort_order, date_added)
  278.                 values ('Installed Modules', '" . zen_db_input($module_key) . "', '" . zen_db_input(implode(';', $installed_modules)) . "',
  279.                         'This is automatically updated. No need to edit.', '6', '0', now())");
  280.   }
  281.   if (isset($zc_valid) && $zc_valid == false) {
  282.     echo '<span class="alert">' . WARNING_MODULES_SORT_ORDER . '</span>';
  283.   }
  284. ?>
  285.               <tr>
  286.                 <td colspan="3" class="smallText"><?php echo TEXT_MODULE_DIRECTORY . ' ' . $module_directory; ?></td>
  287.               </tr>
  288.             </table></td>
  289. <?php
  290.   $heading = array();
  291.   $contents = array();
  292.   switch ($action) {
  293.     case 'remove':
  294.       $heading[] = array('text' => '<b>' . $mInfo->title . '</b>');
  295.  
  296.       $contents = array('form' => zen_draw_form('module_delete', FILENAME_MODULES, '&action=removeconfirm'));
  297.       $contents[] = array('text' => '<input type="hidden" name="set" value="' . (isset($_GET['set']) ? $_GET['set'] : "") . '" />');
  298.       $contents[] = array('text' => '<input type="hidden" name="module" value="' . (isset($_GET['module']) ? $_GET['module'] : "") . '"/>');
  299.       $contents[] = array('text' => TEXT_DELETE_INTRO);
  300.  
  301.       $contents[] = array('align' => 'center', 'text' => '<br>' . zen_image_submit('button_remove.gif', IMAGE_DELETE, 'name="removeButton"') . ' <a href="' . zen_href_link(FILENAME_MODULES, 'set=' . $set . ($_GET['module'] != '' ? '&module=' . $_GET['module'] : ''), 'NONSSL') . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL, 'name="cancelButton"') . '</a>');
  302.       break;
  303.     case 'edit':
  304.       if (!$is_ssl_protected && in_array($_GET['module'], array('paypaldp', 'linkpoint_api', 'authorizenet_aim', 'authorizenet_echeck'))) break;
  305.       $keys = '';
  306.       reset($mInfo->keys);
  307.       while (list($key, $value) = each($mInfo->keys)) {
  308.         $keys .= '<b>' . $value['title'] . '</b><br>' . $value['description'] . '<br>';
  309.         if ($value['set_function']) {
  310.           eval('$keys .= ' . $value['set_function'] . "'" . $value['value'] . "', '" . $key . "');");
  311.         } else {
  312.           $keys .= zen_draw_input_field('configuration[' . $key . ']', htmlspecialchars($value['value'], ENT_COMPAT, CHARSET, TRUE));
  313.         }
  314.         $keys .= '<br><br>';
  315.       }
  316.       $keys = substr($keys, 0, strrpos($keys, '<br><br>'));
  317.       $heading[] = array('text' => '<b>' . $mInfo->title . '</b>');
  318.       $contents = array('form' => zen_draw_form('modules', FILENAME_MODULES, 'set=' . $set . ($_GET['module'] != '' ? '&module=' . $_GET['module'] : '') . '&action=save', 'post', '', true));
  319.       if (ADMIN_CONFIGURATION_KEY_ON == 1) {
  320.         $contents[] = array('text' => '<strong>Key: ' . $mInfo->code . '</strong><br />');
  321.       }
  322.       $contents[] = array('text' => $keys);
  323.       $contents[] = array('align' => 'center', 'text' => '<br>' . zen_image_submit('button_update.gif', IMAGE_UPDATE, 'name="saveButton"') . ' <a href="' . zen_href_link(FILENAME_MODULES, 'set=' . $set . ($_GET['module'] != '' ? '&module=' . $_GET['module'] : ''), 'NONSSL') . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL, 'name="cancelButton"') . '</a>');
  324.       break;
  325.     default:
  326.       $heading[] = array('text' => '<b>' . $mInfo->title . '</b>');
  327.  
  328.       if ($mInfo->status == '1') {
  329.         $keys = '';
  330.         reset($mInfo->keys);
  331.         while (list(, $value) = each($mInfo->keys)) {
  332.           $keys .= '<b>' . $value['title'] . '</b><br>';
  333.           if ($value['use_function']) {
  334.             $use_function = $value['use_function'];
  335.             if (preg_match('/->/', $use_function)) {
  336.               $class_method = explode('->', $use_function);
  337.               if (!is_object(${$class_method[0]})) {
  338.                 include(DIR_WS_CLASSES . $class_method[0] . '.php');
  339.                 ${$class_method[0]} = new $class_method[0]();
  340.               }
  341.               $keys .= zen_call_function($class_method[1], $value['value'], ${$class_method[0]});
  342.             } else {
  343.               $keys .= zen_call_function($use_function, $value['value']);
  344.             }
  345.           } else {
  346.             $keys .= $value['value'];
  347.           }
  348.           $keys .= '<br><br>';
  349.         }
  350.  
  351.         if (ADMIN_CONFIGURATION_KEY_ON == 1) {
  352.           $contents[] = array('text' => '<strong>Key: ' . $mInfo->code . '</strong><br />');
  353.         }
  354.         $keys = substr($keys, 0, strrpos($keys, '<br><br>'));
  355.         if (!(!$is_ssl_protected && in_array($mInfo->code, array('paypaldp', 'linkpoint_api', 'authorizenet_aim', 'authorizenet_echeck')))) {
  356.           $contents[] = array('align' => 'center', 'text' => '<a href="' . zen_href_link(FILENAME_MODULES, 'set=' . $set . (isset($_GET['module']) ? '&module=' . $_GET['module'] : '') . '&action=edit', 'NONSSL') . '">' . zen_image_button('button_edit.gif', IMAGE_EDIT, 'name="editButton"') . '</a>');
  357.         } else {
  358.           $contents[] = array('align' => 'center', 'text' => TEXT_WARNING_SSL_EDIT);
  359.         }
  360.         $contents[] = array('align' => 'center', 'text' => '<a href="' . zen_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $mInfo->code . '&action=remove', 'NONSSL') . '">' . zen_image_button('button_module_remove.gif', IMAGE_MODULE_REMOVE, 'name="removeButton"') . '</a>');
  361.         $contents[] = array('text' => '<br>' . $mInfo->description);
  362.         $contents[] = array('text' => '<br>' . $keys);
  363.       } else {
  364.         if (!(!$is_ssl_protected && in_array($mInfo->code, array('paypaldp', 'linkpoint_api', 'authorizenet_aim', 'authorizenet_echeck')))) {
  365.           $contents[] = array('align' => 'center', 'text' => zen_draw_form('install_module', FILENAME_MODULES, 'set=' . $set . '&action=install') . '<input type="hidden" name="module" value="' . $mInfo->code . '" />' . zen_image_submit('button_module_install.gif', IMAGE_MODULE_INSTALL, 'name="installButton"') . '</form>');
  366.         } else {
  367.           $contents[] = array('align' => 'center', 'text' => TEXT_WARNING_SSL_INSTALL);
  368.         }
  369.         $contents[] = array('text' => '<br>' . $mInfo->description);
  370.       }
  371.       break;
  372.   }
  373.   if ( (zen_not_null($heading)) && (zen_not_null($contents)) ) {
  374.     echo '            <td width="25%" valign="top">' . "\n";
  375.     $box = new box;
  376.     echo $box->infoBox($heading, $contents);
  377.     echo '            </td>' . "\n";
  378.   }
  379. ?>
  380.           </tr>
  381.         </table></td>
  382.       </tr>
  383.     </table></td>
  384. <!-- body_text_eof //-->
  385.   </tr>
  386. </table>
  387. <!-- body_eof //-->
  388. <!-- footer //-->
  389. <?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
  390. <!-- footer_eof //-->
  391. <br>
  392. </body>
  393. </html>
  394. <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>


cron