diff --git a/e107_plugins/calendar_menu/admin_config.php b/e107_plugins/calendar_menu/admin_config.php index 6c4c45f3b..2bf47a44e 100644 --- a/e107_plugins/calendar_menu/admin_config.php +++ b/e107_plugins/calendar_menu/admin_config.php @@ -1,1173 +1,1214 @@ - format, reads the $_POST variable of each name, applies the specified formatting, -// identifies changes, writes back the changes, makes admin log entry -function logPrefChanges(&$prefList, $logRef) -{ - global $admin_log; - $pref = e107::getPref(); - $tp = e107::getParser(); - $prefChanges = array(); - foreach ($prefList as $prefName => $process) - { - switch ($process) - { - case 0 : - $temp = varset($_POST[$prefName],''); - break; - case 1 : - $temp = intval(varset($_POST[$prefName],0)); - break; - case 2 : - $temp = $tp->toDB(varset($_POST[$prefName],'')); - break; - case 3 : // Array of integers - turn into comma-separated string - $tmp = array(); - foreach ($_POST[$prefName] as $v) - { - $tmp[] = intval($v); - } - $temp = implode(",", $tmp); - unset($tmp); - break; - } - if (!isset($pref[$prefName]) || ($temp != $pref[$prefName])) - { // Change to process - $pref[$prefName] = $temp; - $prefChanges[] = $prefName.' => '.$temp; - } - } - if (count($prefChanges)) - { - save_prefs(); - // Do admin logging - $logString = implode('[!br!]', $prefChanges); - $admin_log->log_event($logRef,$logString,''); - } -} - - -$prefSettings = array( - 'updateOptions' => array( - 'eventpost_admin' => 1, // Integer - 'eventpost_super' => 1, // Integer - 'eventpost_adminlog' => 1, // Integer - 'eventpost_menulink' => 1, // Integer - 'eventpost_showmouseover' => 1, // Integer - 'eventpost_showeventcount' => 1, // Integer - 'eventpost_forum' => 1, // Integer - 'eventpost_recentshow' => 2, // String ('LV' or an integer) - 'eventpost_weekstart' => 1, // Integer - 'eventpost_lenday' => 1, // Integer - 'eventpost_dateformat' => 2, // String ('my' or 'ym') - 'eventpost_datedisplay' => 1, // Integer - 'eventpost_fivemins' => 1, // Integer - 'eventpost_editmode' => 1, // Integer - 'eventpost_caltime' => 1, // Integer - 'eventpost_timedisplay' => 1, // Integer - 'eventpost_timecustom' => 2, // String - 'eventpost_dateevent' => 1, // Integer - 'eventpost_eventdatecustom' => 2, // String - 'eventpost_datenext' => 1, // Integer - 'eventpost_nextdatecustom' => 2, // String - 'eventpost_printlists' => 1, // Integer - 'eventpost_asubs' => 1, // Integer - 'eventpost_mailfrom' => 2, // String - 'eventpost_mailsubject' => 2, // String - 'eventpost_mailaddress' => 2, // String - 'eventpost_emaillog' => 1 // Integer - ), - 'updateForthcoming' => array( - 'eventpost_menuheading' => 2, // String - 'eventpost_daysforward' => 1, // Integer - 'eventpost_numevents' => 1, // Integer - 'eventpost_checkrecur' =>1, // Integer - 'eventpost_linkheader' => 1, // Integer - 'eventpost_fe_set' => 3, // Array of class values - 'eventpost_fe_hideifnone' => 1, // Integer - 'eventpost_fe_showrecent' => 1, // Integer - 'eventpost_showcaticon' => 1, // Integer - 'eventpost_namelink' => 1 // Integer - ) -); -if (isset($_POST['updatesettings'])) -{ - logPrefChanges(&$prefSettings['updateOptions'], 'EC_ADM_06'); - $e107cache->clear('nq_event_cal'); // Clear cache as well, in case displays changed - $message = EC_ADLAN_A204; // "Calendar settings updated."; -} - -// ****************** FORTHCOMING EVENTS ****************** -if (isset($_POST['updateforthcoming'])) -{ - logPrefChanges(&$prefSettings['updateForthcoming'], 'EC_ADM_07'); - $e107cache->clear('nq_event_cal'); // Clear cache as well, in case displays changed - $message = EC_ADLAN_A109; // "Forthcoming Events settings updated."; -} - -$action = 'config'; // Default action - show preferences -if (e_QUERY) -{ - $ec_qs = explode('.', e_QUERY); - $action = preg_replace('#\W#', '',$ec_qs[0]); -} - -require_once('ecal_class.php'); -global $ecal_class; -$ecal_class = new ecal_class; - - -// ****************** MAINTENANCE ****************** -if (isset($_POST['deleteold']) && isset($_POST['eventpost_deleteoldmonths'])) -{ - $back_count = intval($_POST['eventpost_deleteoldmonths']); - if (($back_count >= 1) && ($back_count <= 12)) - { - $old_date = intval(mktime(0,0,0,$ecal_class->now_date['mon']-$back_count,1,$ecal_class->now_date['year'])); - $old_string = strftime("%d %B %Y",$old_date); - // $message = "Back delete {$back_count} months. Oldest date = {$old_string}"; - $action = 'confdel'; - $ec_qs[1] = $old_date; - } - else - $message = EC_ADLAN_A148; -} - - -if (isset($_POST['cache_clear'])) -{ - $action = 'confcache'; -} - - -//------------------------------------------------- - -require_once(e_ADMIN.'auth.php'); - -if (!defined('USER_WIDTH')){ define('USER_WIDTH','width:auto'); } - - - -// Actually delete back events -if (isset($_POST['confirmdeleteold']) && ($action == 'backdel')) -{ - $old_date = intval($ec_qs[1]); - $old_string = strftime("%d %B %Y",$old_date); - // Check both start and end dates to avoid problems with events originally entered under 0.617 - $qry = "event_start < {$old_date} AND event_end < {$old_date} AND event_recurring = 0"; - // $message = "Back delete {$back_count} months. Oldest date = {$old_string} Query = {$qry}"; - if ($sql -> db_Delete('event',$qry)) - { - // Add in a log event - $ecal_class->cal_log(4,"db_Delete - earlier than {$old_string} (past {$back_count} months)",$qry); - $message = EC_ADLAN_A146.$old_string.EC_ADLAN_A147; - } - else - { - $message = EC_ADLAN_A149." : ".$sql->mySQLresult; - } - - $action = 'maint'; -} - - -// Actually empty cache -if (isset($_POST['confirmdelcache']) && ($action == 'cachedel')) -{ - $e107cache->clear('nq_event_cal'); - $message = EC_ADLAN_A163; - $action = 'maint'; // Re-display maintenance menu -} - - -// Prompt to delete back events -if ($action == 'confdel') -{ - $old_string = strftime("%d %B %Y",$ec_qs[1]); - $text = " -
- "; - - $ns->tablerender(EC_ADLAN_A205, $text); -} - - -// Prompt to clear cache -if ($action == 'confcache') -{ - $text = " -