ZenCart_Documentation  1.5.0
http://www.collinsharper.com
C:/xampp/htdocs/zen-cart/admin/includes/header.php
Go to the documentation of this file.
00001 <?php
00009 if (!defined('IS_ADMIN_FLAG')) {
00010   die('Illegal Access');
00011 }
00012 
00013   $version_check_requested = (isset($_GET['vcheck']) && $_GET['vcheck']!='') ? true : false;
00014 
00015 // Show Languages Dropdown for convenience only if main filename and directory exists
00016 if ((basename($PHP_SELF) != FILENAME_DEFINE_LANGUAGE . '.php') and (basename($PHP_SELF) != FILENAME_PRODUCTS_OPTIONS_NAME . '.php') and empty($action)) {
00017   $languages_array = array();
00018   $languages = zen_get_languages();
00019   if (sizeof($languages) > 1) {
00020     //$languages_selected = $_GET['language'];
00021     $languages_selected = $_SESSION['language'];
00022     $missing_languages='';
00023     $count = 0;
00024     for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {
00025       $test_directory= DIR_WS_LANGUAGES . $languages[$i]['directory'];
00026       $test_file= DIR_WS_LANGUAGES . $languages[$i]['directory'] . '.php';
00027       if ( file_exists($test_file) and file_exists($test_directory) ) {
00028         $count++;
00029         $languages_array[] = array('id' => $languages[$i]['code'],
00030                                  'text' => $languages[$i]['name']);
00031 //        if ($languages[$i]['directory'] == $language) {
00032         if ($languages[$i]['directory'] == $_SESSION['language']) {
00033           $languages_selected = $languages[$i]['code'];
00034         }
00035       } else {
00036         $missing_languages .= ' ' . ucfirst($languages[$i]['directory']) . ' ' . $languages[$i]['name'];
00037       }
00038     }
00039 
00040 // if languages in table do not match valid languages show error message
00041     if ($count != sizeof($languages)) {
00042       $messageStack->add('MISSING LANGUAGE FILES OR DIRECTORIES ...' . $missing_languages,'caution');
00043     }
00044     $hide_languages= false;
00045   } else {
00046     $hide_languages= true;
00047   } // more than one language
00048 } else {
00049   $hide_languages= true;
00050 } // hide when other language dropdown is used
00051 
00052 // check database version against source code
00053   $zv_db_patch_ok = true; // we start with true
00054   if (WARN_DATABASE_VERSION_PROBLEM != 'false') {
00055     $result = $db->Execute("SELECT project_version_major, project_version_minor FROM " . TABLE_PROJECT_VERSION . " WHERE project_version_key = 'Zen-Cart Database'");
00056     $zv_db_patch_level_found = $result->fields['project_version_major']. '.' . $result->fields['project_version_minor'];
00057     $zv_db_patch_level_expected = EXPECTED_DATABASE_VERSION_MAJOR . '.' . EXPECTED_DATABASE_VERSION_MINOR;
00058     if ($zv_db_patch_level_expected=='.' || ($zv_db_patch_level_found < $zv_db_patch_level_expected) ) {
00059       $zv_db_patch_ok = false;
00060       $messageStack->add(WARNING_DATABASE_VERSION_OUT_OF_DATE, 'warning');
00061     }
00062   }
00063 // Check that shipping/payment modules have been defined
00064   if (zen_get_configuration_key_value('MODULE_PAYMENT_INSTALLED') == '') {
00065     $messageStack->add(ERROR_PAYMENT_MODULES_NOT_DEFINED, 'caution');
00066   }
00067   if (zen_get_configuration_key_value('MODULE_SHIPPING_INSTALLED') == '') {
00068     $messageStack->add(ERROR_SHIPPING_MODULES_NOT_DEFINED, 'caution');
00069   }
00070 
00071 // if welcome email coupon is set and <= 21 days warn shop owner
00072     if (NEW_SIGNUP_DISCOUNT_COUPON > 0) {
00073       $zc_welcome_check = $db->Execute("SELECT coupon_expire_date from " . TABLE_COUPONS . " WHERE coupon_id=" . (int)NEW_SIGNUP_DISCOUNT_COUPON);
00074       $zc_current_date = date('Y-m-d');
00075       $zc_days_to_expire = zen_date_diff($zc_current_date, $zc_welcome_check->fields['coupon_expire_date']);
00076       if ($zc_days_to_expire <= 21) {
00077         $zc_caution_warning = ($zc_days_to_expire <= 5 ? 'warning' : 'caution');
00078         $messageStack->add(sprintf(WARNING_WELCOME_DISCOUNT_COUPON_EXPIRES_IN, $zc_days_to_expire), $zc_caution_warning);
00079       }
00080     }
00081 
00082 // Alerts for EZ-Pages
00083   if (EZPAGES_STATUS_HEADER == '2' and strstr(EXCLUDE_ADMIN_IP_FOR_MAINTENANCE, $_SERVER['REMOTE_ADDR'])) {
00084     $messageStack->add(TEXT_EZPAGES_STATUS_HEADER_ADMIN, 'caution');
00085   }
00086   if (EZPAGES_STATUS_FOOTER == '2' and strstr(EXCLUDE_ADMIN_IP_FOR_MAINTENANCE, $_SERVER['REMOTE_ADDR'])) {
00087     $messageStack->add(TEXT_EZPAGES_STATUS_FOOTER_ADMIN, 'caution');
00088   }
00089   if (EZPAGES_STATUS_SIDEBOX == '2' and strstr(EXCLUDE_ADMIN_IP_FOR_MAINTENANCE, $_SERVER['REMOTE_ADDR'])) {
00090     $messageStack->add(TEXT_EZPAGES_STATUS_SIDEBOX_ADMIN, 'caution');
00091   }
00092 
00093 // Editor alerts
00094   if (HTML_EDITOR_PREFERENCE != 'NONE' && !is_dir(DIR_FS_CATALOG . 'editors')) {
00095     $messageStack->add(ERROR_EDITORS_FOLDER_NOT_FOUND, 'caution');
00096   }
00097 
00098 
00099 // check activity log size
00100   if (basename($PHP_SELF) == FILENAME_DEFAULT . '.php') {
00101     $show_admin_activity_log_link = false;
00102 
00103     $chk_admin_log = $db->Execute("select count(log_id) as counter from " . TABLE_ADMIN_ACTIVITY_LOG);
00104     if ($chk_admin_log->fields['counter'] > 0) {
00105       if ($chk_admin_log->fields['counter'] > 50000) {
00106         $show_admin_activity_log_link = true;
00107         $_SESSION['reset_admin_activity_log'] = true;
00108         $messageStack->add(WARNING_ADMIN_ACTIVITY_LOG_RECORDS . $chk_admin_log->fields['counter'], 'caution');
00109       }
00110 
00111       $chk_admin_log = $db->Execute("select min(access_date) as access_date from " . TABLE_ADMIN_ACTIVITY_LOG . " where access_date < DATE_SUB(CURDATE(),INTERVAL 60 DAY)");
00112       if (!empty($chk_admin_log->fields['access_date'])) {
00113         $show_admin_activity_log_link = true;
00114         $_SESSION['reset_admin_activity_log'] = true;
00115         $messageStack->add(WARNING_ADMIN_ACTIVITY_LOG_DATE . date('m-d-Y', strtotime($chk_admin_log->fields['access_date'])), 'caution');
00116       }
00117     }
00118   }
00119 
00120 // display alerts/error messages, if any
00121   if ($messageStack->size > 0) {
00122     echo $messageStack->output();
00123   }
00124 
00125 // check version with zen-cart server
00126   // ignore version-check if INI file setting has been set
00127   $version_from_ini = '';
00128   $version_ini_sysinfo = '';
00129   $version_ini_index_sysinfo = '';
00130   if (!isset($version_check_sysinfo)) $version_check_sysinfo = false;
00131   if (!isset($version_check_index))   $version_check_index = false;
00132 
00133   if (file_exists(DIR_FS_ADMIN . 'includes/local/skip_version_check.ini')) {
00134     $lines=@file(DIR_FS_ADMIN . 'includes/local/skip_version_check.ini');
00135     foreach($lines as $line) {
00136       if (substr(trim($line),0,14)=='version_check=') $version_from_ini=substr(trim(strtolower(str_replace('version_check=','',$line))),0,3);
00137       if (substr(trim($line),0,41)=='display_update_link_only_on_sysinfo_page=') $version_ini_sysinfo=trim(strtolower(str_replace('display_update_link_only_on_sysinfo_page=','',$line)));
00138       if (substr(trim($line),0,46)=='display_update_link_on_index_and_sysinfo_page=') $version_ini_index_sysinfo=trim(strtolower(str_replace('display_update_link_only_on_sysinfo_page=','',$line)));
00139     }
00140   }
00141   // ignore version check if not enabled or if not on main page or sysinfo page
00142   if ((SHOW_VERSION_UPDATE_IN_HEADER == 'true' && $version_from_ini !='off' && ($version_check_sysinfo==true || $version_check_index==true) && $zv_db_patch_ok == true) || $version_check_requested==true ) {
00143     $new_version = TEXT_VERSION_CHECK_CURRENT; //set to "current" by default
00144     $lines = @file(NEW_VERSION_CHECKUP_URL);
00145     //check for major/minor version info
00146     if ((trim($lines[0]) > PROJECT_VERSION_MAJOR) || (trim($lines[0]) == PROJECT_VERSION_MAJOR && trim($lines[1]) > PROJECT_VERSION_MINOR)) {
00147       $new_version = TEXT_VERSION_CHECK_NEW_VER . trim($lines[0]) . '.' . trim($lines[1]) . ' :: ' . $lines[2];
00148     }
00149     //check for patch version info
00150     // first confirm that we're at latest major/minor -- otherwise no need to check patches:
00151     if (trim($lines[0]) == PROJECT_VERSION_MAJOR && trim($lines[1]) == PROJECT_VERSION_MINOR) {
00152       //check to see if either patch needs to be applied
00153       if (trim($lines[3]) > intval(PROJECT_VERSION_PATCH1) || trim($lines[4]) > intval(PROJECT_VERSION_PATCH2)) {
00154         // reset update message, since we WILL be advising of an available upgrade
00155         if ($new_version == TEXT_VERSION_CHECK_CURRENT) $new_version = '';
00156         //check for patch #1
00157         if (trim($lines[3]) > intval(PROJECT_VERSION_PATCH1)) {
00158 //          if ($new_version != '') $new_version .= '<br />';
00159           $new_version .= (($new_version != '') ? '<br />' : '') . '<span class="alert">' . TEXT_VERSION_CHECK_NEW_PATCH . trim($lines[0]) . '.' . trim($lines[1]) . ' - ' .TEXT_VERSION_CHECK_PATCH .': [' . trim($lines[3]) . '] :: ' . $lines[5] . '</span>';
00160         }
00161         if (trim($lines[4]) > intval(PROJECT_VERSION_PATCH2)) {
00162 //          if ($new_version != '') $new_version .= '<br />';
00163           $new_version .= (($new_version != '') ? '<br />' : '') . '<span class="alert">' . TEXT_VERSION_CHECK_NEW_PATCH . trim($lines[0]) . '.' . trim($lines[1]) . ' - ' .TEXT_VERSION_CHECK_PATCH .': [' . trim($lines[4]) . '] :: ' . $lines[5] . '</span>';
00164         }
00165       }
00166     }
00167     // display download link
00168     if ($new_version != '' && $new_version != TEXT_VERSION_CHECK_CURRENT) $new_version .= '<br /><a href="' . $lines[6] . '" target="_blank">'. TEXT_VERSION_CHECK_DOWNLOAD .'</a>';
00169   } else {
00170     // display the "check for updated version" button.  The button link should be the current page and all param's
00171     $url=(isset($_SERVER['REQUEST_URI'])) ? str_replace(array('<','>'), '', $_SERVER['REQUEST_URI']) : zen_href_link(FILENAME_DEFAULT);
00172     $url .= (strpos($url,'?')>5) ? '&vcheck=yes' : '?vcheck=yes';
00173     if ($zv_db_patch_ok == true || $version_check_sysinfo==true ) $new_version = '<a href="' . $url . '">' . zen_image_button('button_check_new_version.gif',IMAGE_CHECK_VERSION) . '</a>';
00174   }
00175 
00176 // check GV release queue and alert store owner
00177   if (SHOW_GV_QUEUE==true) {
00178     $new_gv_queue= $db->Execute("select * from " . TABLE_COUPON_GV_QUEUE . " where release_flag='N'");
00179     $new_gv_queue_cnt = 0;
00180     if ($new_gv_queue->RecordCount() > 0) {
00181       $new_gv_queue_cnt= $new_gv_queue->RecordCount();
00182       $goto_gv = '<a href="' . zen_href_link(FILENAME_GV_QUEUE) . '">' . zen_image_button('button_gift_queue.gif',IMAGE_GIFT_QUEUE) . '</a>';
00183     }
00184   }
00185 ?>
00186 <!-- All HEADER_ definitions in the columns below are defined in includes/languages/english.php //-->
00187 <table border="0" width="100%" cellspacing="0" cellpadding="0" class="header">
00188 <?php
00189 // special spacing for alt_nav.php
00190   if (basename($PHP_SELF) == 'alt_nav.php') {
00191 ?>
00192 <tr><td>&nbsp;</td></tr>
00193 <?php } // alt_nav spacing ?>
00194   <tr>
00195     <td align="left" valign="top" height="<?php echo HEADER_LOGO_HEIGHT; ?>" width="<?php echo HEADER_LOGO_WIDTH; ?>"><?php echo '<a href="' . zen_href_link(FILENAME_DEFAULT) . '">' . zen_image(DIR_WS_IMAGES . HEADER_LOGO_IMAGE, HEADER_ALT_TEXT) . '</a>'; ?></td>
00196     <td colspan="2" align="left"><table width="100%"><tr>
00197     <td align="left" class="main" valign="top"><?php if ($new_gv_queue_cnt > 0) echo $goto_gv . '<br />' . sprintf(TEXT_SHOW_GV_QUEUE, $new_gv_queue_cnt); ?></td>
00198 <?php
00199   if (isset($_SESSION['reset_admin_activity_log']) and ($_SESSION['reset_admin_activity_log'] == true and (basename($PHP_SELF) == FILENAME_DEFAULT . '.php'))) {
00200 ?>
00201     <td align="center" class="main" valign="top"><?php echo '<a href="' . zen_href_link(FILENAME_ADMIN_ACTIVITY) . '">' . zen_image_button('button_reset.gif', RESET_ADMIN_ACTIVITY_LOG) . '<br />' . RESET_ADMIN_ACTIVITY_LOG . '</a>'; ?></td>
00202 <?php
00203   }
00204 ?>
00205 <?php
00206   if ($new_version) {
00207 ?>
00208     <td align="right" class="main" valign="top"><?php echo $new_version; ?><br /><?php echo '(' . TEXT_CURRENT_VER_IS . ' v' . PROJECT_VERSION_MAJOR . '.' . PROJECT_VERSION_MINOR . (PROJECT_VERSION_PATCH1 != '' ? 'p' . PROJECT_VERSION_PATCH1 : '') . ')'; ?></td>
00209 <?php
00210   }
00211 ?>
00212     </tr></table></td>
00213   </tr>
00214 </table>
00215 <table border="0" cellspacing="0" cellpadding="0" width="100%">
00216   <tr class="headerBar">
00217 
00218     <td class="headerBarContent" align="left">
00219       <?php
00220       if (!$hide_languages) {
00221         echo zen_draw_form('languages', basename($PHP_SELF), '', 'get');
00222         echo DEFINE_LANGUAGE . '&nbsp;&nbsp;' . (sizeof($languages) > 1 ? zen_draw_pull_down_menu('language', $languages_array, $languages_selected, 'onChange="this.form.submit();"') : '');
00223         echo zen_hide_session_id();
00224         echo '</form>';
00225       } else {
00226         echo '&nbsp;';
00227       }
00228     ?>
00229     </td>
00230     <td class="headerBarContent" align="center"><b><?php echo date("r", time()) . 'GMT'  . '&nbsp;[' .  $_SERVER['REMOTE_ADDR'] . ' ]&nbsp;'; ?></b></td>
00231     <td class="headerBarContent" align="right"><?php echo '
00232         <a href="' . zen_href_link(FILENAME_DEFAULT, '', 'NONSSL') . '" class="headerLink">' . HEADER_TITLE_TOP . '</a>&nbsp;|&nbsp;
00233         <a href="' . zen_catalog_href_link() . '" class="headerLink" target="_blank">' . HEADER_TITLE_ONLINE_CATALOG . '</a>&nbsp;|&nbsp;
00234         <a href="http://www.zen-cart.com/" class="headerLink" target="_blank">' . HEADER_TITLE_SUPPORT_SITE . '</a>&nbsp;|&nbsp;
00235         <a href="' . zen_href_link(FILENAME_SERVER_INFO) . '" class="headerLink">' . HEADER_TITLE_VERSION . '</a>&nbsp;|&nbsp;
00236         <a href="' . zen_href_link(FILENAME_ADMIN_ACCOUNT) . '" class="headerLink">' . HEADER_TITLE_ACCOUNT . '</a>&nbsp;|&nbsp;
00237         <a href="' . zen_href_link(FILENAME_LOGOFF, '', 'SSL') . '" class="headerLink">' . HEADER_TITLE_LOGOFF . '</a>&nbsp;'; ?>
00238     </td>
00239   </tr>
00240 </table>
00241 <?php require(DIR_WS_INCLUDES . 'header_navigation.php'); ?>
 All Data Structures Namespaces Files Functions Variables Enumerations