Am codul acesta...daca puteti sa-mi explikti vreunul ce e gresit de nu merge cand il pun intr-o pagina...:
<?
include('functions.php');
$page_id = '27';
$prefix = $page_id.'_';
$db_fname = $prefix."cal_events.ezg";
$admin_fname = "admin_data.ezg";
$time_format = 12;
$first_day_ofweek = 1;
$day_name = array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
$month_name = array("January","February","March","April","May","June","July","August","September","October","November","December");
$category_name = array("Multiple selection","Events","Special events","Holidays","Birthday","Concerts");
$category_color = array("#FFC18A","#F2BFBF","#FBF484","#CCFF00","#A4CAE6","#CCCCC");
$noevents_msg = '';
$location_label = 'Location';
$cal_size = "large";
$def_view_param = 1;
if($def_view_param==2){
$def_view=3;
}
elseif ($def_view_param==3) {
$def_view=12;
}
else { $def_view=1;}
//----------------------------------------------------------------------
// --- Display User Calendar ---
function show_calendar($action_id)
{
global $db_fname, $prefix, $page_id;
global $month_name, $day_name, $category_name, $category_color, $def_view, $cal_size, $noevents_msg, $location_label;
old_version_check();
$current_date = getdate();
$current_mon = $current_date['mon'];
$current_year = $current_date['year'];
$nav_bar_mon = $current_mon;
$nav_bar_year = $current_year;
$flag = 'user';
if (isset($_GET['view'])) {
$view_type = $_GET['view'];
}
elseif (isset($_POST['view_type'])) {
$view_type = $_POST['view_type'];
}
else $view_type = $def_view; //by default set
settype($view_type, 'integer');
$cal_html = '<table class="enclosure" align="center" cellpadding="0" cellspacing="0"><tr>';
if (isset($_GET['mon'])) // on "<<" or ">>" press - calendar navigation --> previous/next month
{
$nav_bar_mon = $_GET['mon'];
$nav_bar_year = $_GET['year'];
}
elseif (isset($_GET['selected_mon'])) // on 'GO' button press - particular month/year selection
{
$selected_month = $_GET['selected_mon']; //$selected_month = $_POST['Month'];
$selected_mon = array_search($selected_month, $month_name);
$nav_bar_mon = $selected_mon+1;
$nav_bar_year = $_GET['selected_year']; //$nav_bar_year = $_POST['Year'];
}
if ($view_type == 1) //1-month view
{
$months = array($nav_bar_mon);
$years = array($nav_bar_year);
}
elseif ($view_type == 3) //3-months view
{
if($nav_bar_mon==1) {
$months = array(12,1,2);
$years = array($nav_bar_year-1,$nav_bar_year,$nav_bar_year);
}
elseif($nav_bar_mon==12) {
$months = array(11,12,1);
$years = array($nav_bar_year,$nav_bar_year,$nav_bar_year+1);
}
else {
$months = array($nav_bar_mon -1 ,$nav_bar_mon,$nav_bar_mon +1);
$years = array($nav_bar_year,$nav_bar_year,$nav_bar_year);
}
}
elseif ($view_type == 12) //12 months view
{
$months = range(1,12);
$years = array($nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year);
}
$fdayperiod_timestamp = mktime (0, 0, 0, $months[0], 1, $years[0]);
$ldayperiod_timestamp = mktime (23, 59, 59, $months[count($months)-1], days_in_month($months[count($months)-1], $years[count($years)-1]),$years[count($years)-1]);
for ($i=0; $i<count($months); $i++) {
$cal_html = $cal_html.'<td style="padding : 0px 4px 4px 0px;">'.build_calendar($months[$i], $years[$i], $flag, $prefix).'</td>';
if(($i==2) or ($i==5) or ($i==8)) { $cal_html = $cal_html.'</td><tr>'; }
}
$cal_html = $cal_html.'</tr></table>';
$page_name = '../documents/'.$page_id.'.html';
$fp = fopen($page_name, "r");
$data = fread($fp,filesize($page_name));
fclose($fp);
$data = str_replace('%CALENDAR_OBJECT%',$cal_html,$data); //parsing calendar object
$data = str_replace('%CALENDAR_SELECTION%', selection_bar($prefix,$action_id, $nav_bar_mon, $nav_bar_year, $view_type),$data); //parsing selection bar
$data = str_replace('%CALENDAR_VIEWTYPE%', viewtype_bar($prefix, $action_id, $nav_bar_mon, $nav_bar_year, $view_type),$data); //parsing viewtype bar
$data = str_replace('%CALENDAR_NAVIGATION_NEXT%', navigation_bar_next($prefix,$action_id, $nav_bar_mon, $nav_bar_year, $view_type),$data); //parsing navigation_next bar
$data = str_replace('%CALENDAR_NAVIGATION_PREV%', navigation_bar_prev($prefix,$action_id, $nav_bar_mon, $nav_bar_year, $view_type),$data); //parsing navigation_prev bar
$data = str_replace('%CALENDAR_EVENTS%', view_events($prefix, $fdayperiod_timestamp, $ldayperiod_timestamp, $flag),$data); //parsing calendar events
$data = str_replace('%LINK_TO_ADMIN%',$prefix.'calendar.php?action=index',$data);
$cal_css = "<link type=\"text/css\"". "href=\"".$prefix."cal_textstyles.css\"". "rel=\"STYLESHEET\"". "title=\"Calendar\">";
$data = str_replace('<!--scripts-->','<!--scripts-->'.$cal_css,$data);
print $data;
}
//----------------------------------------------------------------------
// --- Calendar Admin Screen ---
function show_admin_screen($action_id) {
global $db_fname, $prefix, $page_id;
global $month_name, $day_name, $category_name, $category_color, $def_view, $cal_size, $noevents_msg, $location_label;
$current_date = getdate();
$current_mon = $current_date['mon'];
$current_year = $current_date['year'];
$nav_bar_mon = $current_mon;
$nav_bar_year = $current_year;
////
if (isset($_GET['view'])) {
$view_type = $_GET['view'];
}
elseif (isset($_POST['view_type'])) {
$view_type = $_POST['view_type'];
}
else $view_type = $def_view; //by default set
settype($view_type, 'integer');
////
$flag="admin";
// particular MONTH/YEAR selection
if (isset($_GET['selected_mon'])) {
$selected_month = $_GET['selected_mon'];
$nav_bar_year = $_GET['selected_year'];
$nav_bar_mon = array_search($selected_month, $month_name);
$nav_bar_mon = $nav_bar_mon + 1;
}
// '<<' or '>>' navigation
elseif (isset($_GET['mon'])) {
$nav_bar_mon = $_GET['mon'];
$nav_bar_year = $_GET['year'];
}
////
if ($view_type == 1) //1-month view
{
$months = array($nav_bar_mon);
$years = array($nav_bar_year);
}
elseif ($view_type == 3) //3-months view
{
if($nav_bar_mon==1) {
$months = array(12,1,2);
$years = array($nav_bar_year-1,$nav_bar_year,$nav_bar_year);
}
elseif($nav_bar_mon==12) {
$months = array(11,12,1);
$years = array($nav_bar_year,$nav_bar_year,$nav_bar_year+1);
}
else {
$months = array($nav_bar_mon -1 ,$nav_bar_mon,$nav_bar_mon +1);
$years = array($nav_bar_year,$nav_bar_year,$nav_bar_year);
}
}
elseif ($view_type == 12) //12 months view
{
$months = range(1,12,1);
$years = array($nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year,$nav_bar_year);
}
//////
$page_name = '../documents/'.$page_id.'.html';
$fp = fopen($page_name, "r");
$data = fread($fp,filesize($page_name));
fclose($fp);
$fdayperiod_timestamp = mktime (0, 0, 0, $months[0], 1, $years[0]);
$ldayperiod_timestamp = mktime (23, 59, 59, $months[count($months)-1], days_in_month($months[count($months)-1], $years[count($years)-1]),$years[count($years)-1]);
//$fdayperiod_timestamp = mktime (0, 0, 0, $nav_bar_mon, 1, $nav_bar_year);
//$ldayperiod_timestamp = mktime (23, 59, 59, $nav_bar_mon, days_in_month($nav_bar_mon, $nav_bar_year),$nav_bar_year);
$cal_html = "<table class='enclosure' align='center' cellpadding='0' cellspacing='0'><tr>";
for ($i=0; $i<count($months); $i++) { /////
$cal_html = $cal_html.'<td style="padding : 0px 4px 4px 0px;">'.build_calendar($months[$i], $years[$i], $flag, $prefix).'</td>';
if(($i==2) or ($i==5) or ($i==8)) { $cal_html = $cal_html.'</td><tr>'; }
} /////
//$cal_html = $cal_html.'<td>'.build_calendar($nav_bar_mon, $nav_bar_year, 'admin', $prefix).'</td>';
$cal_html = $cal_html.'</tr></table>';
$cal_html = $cal_html."<br><a class='RVTS12' href='".$prefix."calendar.php?action=addevent'>Add Event</a> <a class=RVTS12 href='".$prefix."calendar.php?action=configpass'>Change user/pass</a> <a class='RVTS12' href='".$prefix."calendar.php?action=logout'>Logout</a>";
$data = str_replace('%CALENDAR_OBJECT%',$cal_html,$data); //parsing calendar object
$data = str_replace('%CALENDAR_SELECTION%', selection_bar($prefix,$action_id, $nav_bar_mon, $nav_bar_year, $view_type),$data); //parsing selection bar
$data = str_replace('%CALENDAR_VIEWTYPE%', viewtype_bar($prefix, $action_id, $nav_bar_mon, $nav_bar_year, $view_type),$data); //parsing viewtype bar
$data = str_replace('%CALENDAR_NAVIGATION_NEXT%', navigation_bar_next($prefix,$action_id, $nav_bar_mon, $nav_bar_year, $view_type),$data); //parsing navigation_next bar
$data = str_replace('%CALENDAR_NAVIGATION_PREV%', navigation_bar_prev($prefix,$action_id, $nav_bar_mon, $nav_bar_year, $view_type),$data); //parsing navigation_prev bar
$data = str_replace('%CALENDAR_EVENTS%',view_events($prefix, $fdayperiod_timestamp, $ldayperiod_timestamp, $flag),$data);
$data = str_replace('%LINK_TO_ADMIN%',$prefix.'calendar.php?action=index',$data);
$cal_css = "<link type=\"text/css\"". "href=\"".$prefix."cal_textstyles.css\"". "rel=\"STYLESHEET\"". "title=\"Calendar\">";
$data = str_replace('<!--scripts-->','<!--scripts-->'.$cal_css,$data);
return $data;
}
//----------------------------------------------------------------------
// --- Login Calendar Admin Screen ---
function login($action_id) {
global $db_fname, $prefix, $admin_fname;
$result = html_header("Calendar Administrator-Add events"); // --- HTML HEADER section ---
//check for first time login (before user/pass change)
clearstatcache();
if(filesize($admin_fname)==0) { //if first time --> admin/admin
$user = 'admin';
$pass = 'admin';
}
else { //if not first time --> retrieve user/pass from admin_data.ezg
if(!$handle = fopen($admin_fname, 'r')) {
print "<span class='RVTS8'>Can not open file to read admin info</span>";
exit;
}
$data = fgetcsv($handle, 2048);
fclose($handle);
$user = $data[0];
$pass = (get_magic_quotes_gpc() ? $data[1]: str_replace( array( '\\\\', '\\\'', '\"' ), array('\\', '\'', '"'), ($data[1])));
}
//user/pass checking and comparison
if(isset($_POST['login'])) {
if((empty($_POST['username'])) OR (empty($_POST['password']))) {
html_login_form($prefix,"Please fill in both Username and Password!");
}
//comparison of user/data entered and user/data stored
elseif((strcmp(trim($_POST['username']), trim($user))!=0) OR (strcmp(trim($_POST['password']),trim($pass))!=0)) {
html_login_form($prefix,"Incorrect Username/Password!");
}
else {
set_session( 'SID', session_id());
if(filesize($admin_fname)==0) { print config_pass(); }
else {
$result = $result.show_admin_screen($action_id);
}
}
}
else {
html_login_form($prefix, "Login Admin");
}
$result = $result.html_footer(); // --- html footer ---
print $result;
}
//----------------------------------------------------------------------
// --- Logout Admin Screen ---
function logout($action_id) {
global $admin_fname,$prefix;
if (unset_session('SID')) {
show_calendar($action_id);
}
}
//----------------------------------------------------------------------
// --- Edit Calendar Event Admin Screen ---
function edit_event() {
global $db_fname;
global $month_name, $day_name, $category_name, $category_color, $prefix;
$result = html_header($prefix, "Calendar Administartor-Edit events"); // --- html header ---
if(isset($_GET['Id'])) { //retrieving particular event that should be edited
$event_id = $_GET['Id'];
if (!$handle = fopen($db_fname, "r")) {
print "<span class='RVTS8'>Can not open file to edit event</span>";
}
$db_field_names = fgetcsv($handle, 2048);
while ($data = fgetcsv($handle, 2048)) {
if (in_array($event_id, $data)) {
$result_data = $data;
break;
}
}
fclose($handle);
$event_record = build_ass_array_record($result_data, $db_field_names);
$result = $result."<table class='enclosure' align='center' cellpadding='0' cellspacing='0'>"; // html edit event form
$result = $result."<tr><td align='right'><table><tr><td align='right'> <a class=RVTS12 href='".$prefix."calendar.php?action=configpass'>Change user/pass</a> <a class=RVTS12 href='".$prefix."calendar.php?action=logout'>Logout</a></td></tr></table></td></tr>";
$result = $result."<tr><td align='center'>".edit_event_form($prefix, $event_record)."</td></tr>";
$result = $result."</table>";
}
$result = $result.html_footer(); // --- html footer ---
print $result;
}
//----------------------------------------------------------------------
// --- Add Event Admin Screen ---
function add_event() {
global $db_fname,$prefix;
global $month_name,$day_name,$category_name,$category_color;
$result = html_header($prefix, "Calendar Administartor-Add events"); // --- html header ---
$result = $result.'<table class="enclosure" align="center" cellpadding="0" cellspacing="0">'; // html add event form
$result = $result.'<tr><td align="right"><table><tr><td align="right"> <a class="RVTS12" href="'.$prefix.'calendar.php?action=configpass">Change user/pass</a> <a class="RVTS12" href="'.$prefix.'calendar.php?action=logout"> Logout</a></td></tr></table></td></tr>';
$result = $result.'<tr><td align="center">';
if(isset($_GET['mon'])) {
$result = $result.add_event_form($prefix, $_GET['mon'], $_GET['mday'], $_GET['year']);
}
else {
$current_date = getdate();
$mday = $current_date['mday'];
$mon = $current_date['mon'];
$year = $current_date['year'];
$result = $result.add_event_form($prefix, $mon, $mday, $year);
}
$result = $result.'</td></tr>';
$result = $result.'</table>';
$result = $result.html_footer(); // --- html footer ---
print $result;
}
//----------------------------------------------------------------------
// --- Save Event ---
function save_event($action_id)
{
global $db_fname, $prefix;
global $month_name, $day_name, $category_name, $category_color;
global $time_format, $first_day_ofweek;
if (!isset($_POST['Id'])) { //check --> edit or add event
$uniqueid = md5(uniqid(mt_rand(),true));
$data['Id'] = $uniqueid;
}
foreach ($_POST as $k=>$v) {
if(($k=='flagedit') || ($k=='flagadd') ){ continue; }
$data[$k] = trim($v);
}
// SAVE edited or first added event
if(isset($_POST['Save'])) {
// formatting 'start' and 'end' dates as Unix timestamps
$start_mon = array_search($data['Start_month'], $month_name);
$end_mon = array_search($data['End_month'], $month_name);
if ($data['Start_hour']!='NA') {
settype($data['Start_hour'], 'integer');
if ($time_format==12) {
$start_hour = (($data['Start_ampm']=='AM') ? $data['Start_hour']: ($data['Start_hour']+12));
}
else {
$start_hour = $data['Start_hour'];
}
if ($data['End_hour']=='NA') {
$start_date = mktime ( $start_hour, $data['Start_min'], 0, ($start_mon+1), $data['Start_day'] , $data['Start_year']);
$end_date = mktime ( $start_hour, $data['Start_min'], 0, ($end_mon+1), $data['End_day'] , $data['End_year']);
}
else {
settype($data['End_hour'], 'integer');
if ($time_format==12) {
$end_hour = (($data['End_ampm']=='AM') ? $data['End_hour']: ($data['End_hour']+12));
}
else {
$end_hour = $data['End_hour'];
}
$start_date = mktime ( $start_hour, $data['Start_min'], 0, ($start_mon+1), $data['Start_day'] , $data['Start_year']);
$end_date = mktime ( $end_hour, $data['End_min'], 0, ($end_mon+1), $data['End_day'] , $data['End_year']);
}
}
else {
$start_date = mktime ( 0, 0, 0, ($start_mon+1), $data['Start_day'] , $data['Start_year']);
$end_date = mktime ( 0, 0, 0, ($end_mon+1), $data['End_day'] , $data['End_year']);
}
// preparing event data for db files writing as record
foreach ($data as $k=>$v) {
if($k=='Start_month') {
$record['Start_date'] = $start_date;
continue;
}
elseif(($k=='Start_day') or ($k=='Start_year') or ($k=='Start_hour') or ($k=='Start_min') or ($k=='Start_ampm') or ($k=='End_day') or ($k=='End_year') or ($k=='End_hour') or ($k=='End_min') or ($k=='End_ampm') or ($k=='Save') ) {
continue;
}
elseif ($k=='End_month') {
$record['End_date'] = $end_date;
continue;
}
$record[$k] = $v;
}
// check --> $start_date<=$end_date //($start_date>$end_date)&&
if( (mktime ( 0, 0, 0, ($start_mon+1), $data['Start_day'] , $data['Start_year'])> mktime ( 0, 0, 0, ($end_mon+1), $data['End_day'] , $data['End_year'])) || ($record['Short_description']=='') ){
$result = html_header($prefix); // --- html header ---
if ($record['Short_description']=='') {
$msg = "<SPAN class='RVTS8'><EM style=\"color: red; \">Short Description field is required</em></span>";
}
else {
$msg = "<SPAN class='RVTS8'><EM style=\"color: red; \">Start date should not exceed End date </em></span>";
}
$result .= "<table class='enclosure' align='center' cellpadding='0' cellspacing='0'>";
$result .= "<tr><td align='right'><table><tr><td align='right'> <a class=RVTS12 href='".$prefix."calendar.php?action=configpass'>Change user/pass</a> <a class=RVTS12 href='".$prefix."calendar.php?action=logout'>Logout</a></td></tr></table></td></tr>";
$result .= "<tr><td align='center'>$msg</td></tr>";
$result .= "<tr><td align='center'>";
$result .= edit_event_form($prefix, $record);
$result .= "</td></tr>";
$result .= "</table>";
$result .= html_footer(); // --- html footer ---
print $result;
exit();
}
else {
$editedrecord_line = prepare_for_write($record);
if (!isset($_POST['Id'])) {
db_add_event($prefix, $editedrecord_line);
}
else {
db_edit_event($record['Id'], $editedrecord_line);
}
}
}
// DELETE event
else {
db_delete_event($data['Id']);
}
print show_admin_screen($action_id);
}
//----------------------------------------------------------------------
// --- Change User/Pass Admin Screen ---
function config_pass() {
global $db_fname, $prefix, $admin_fname;
$result = html_header($prefix, "Calendar Administartor-Change username/password").'<br>'; // --- html header ---
//$result = $result."<table align='center'>";
//$result = $result."<tr><td align='right'><table><tr><td align='right'> <a class=RVTS12 href='".$prefix."calendar.php?action=index'>Manage Calendar</a> <a class=RVTS12 href='".$prefix."calendar.php?action=logout'>Logout</a></td></tr></table></td></tr>";
//$result = $result."<tr><td>";
// user/pass change proccessing
if(isset($_POST['submit'])) {
if((empty($_POST['username'])) OR (empty($_POST['password']))) {
$msg = "<span class='RVTS8'><EM style=\"color: red; \">>>Please, fill in both Username and Password</EM></span></br></br>";
$result .= html_changepass_form($prefix, $msg);
}
elseif (!preg_match("/^[A-Za-z_0-9]+$/", $_POST['username'])) {
$msg = "<span class='RVTS8'><EM style=\"color: red; \">>>Username can contain only A-Z, a-z, _ and 0-9</EM></span></br></br>";
$result .= html_changepass_form($prefix, $msg);
}
elseif(empty($_POST['rpassword'])) {
$msg = "<span class='RVTS8'><EM style=\"color: red; \">>>Please, repeat Password</span>";
$result .= html_changepass_form($prefix, $msg);
}
elseif ($_POST['password']!=$_POST['rpassword']) {
$msg = "<span class='RVTS8'><EM style=\"color: red; \">>>Password and repeated password don't match</EM></span></br></br>";
$result .= html_changepass_form($prefix, $msg);
}
elseif(strlen(trim($_POST['password']))<5) {
$msg = "<span class='RVTS8'><EM style=\"color: red; \">>>Your password should be at least five symbols!</EM></span></br></br>";
$result .= html_changepass_form($prefix, $msg);
//preg_match("/^[A-Za-z][A-Za-z_0-9]+$/", $field)
}
else {
$user = array($_POST['username'], $_POST['password']);
$line = prepare_for_write($user);
if (!$handle = fopen($admin_fname, 'w+')) {
print "<span class='RVTS8'>Can not open file to store info</span>";
exit;
}
if(fwrite($handle, $line)===false) {
print "<span class='RVTS8'>Failed to write to file</span>";
exit;
}
fclose($handle);
//print "<span class='RVTS8'>>>User/Pass changed successfully</span>";
$result .= show_admin_screen('index');
}
}
else { // user/pass form
clearstatcache();
// if first login user/pass change prompt
if(filesize($admin_fname)==0) {
print "<span class='RVTS8'><EM style=\"color: red; \">It is recommended to change your username/password</EM></span>";
}
$result .= html_changepass_form($prefix, 'Change Username/Password');
}
//$result = $result."</td></tr>";
// $result = $result."</table>";
$result = $result.html_footer(); // --- html footer ---
return $result;
}
//----------------------------------------------------------------------
// --- Proccess Calendar ---
function process_calendar()
{
global $prefix;
$action_id = 'show';
if (isset($_GET['action'])) { $action_id = $_GET['action']; }
else if (isset($_POST['action'])) { $action_id = $_POST['action']; }
if ($action_id == "show") { show_calendar($action_id); }
elseif ($action_id == "login") { login('index');}
elseif ($action_id == "logout") { logout($action_id);}
elseif ($action_id == "configpass") { print config_pass();}
else
{
if(!is_logged())
{
html_login_form($prefix);
exit;
}
if ($action_id == "index") { print show_admin_screen($action_id); }
elseif ($action_id == "addevent") { add_event();}
elseif ($action_id == "editevent") { edit_event();}
elseif ($action_id == "saveevent") { save_event('index');}
}
}
process_calendar();
?>
unde functions.php este:
error_reporting(E_ALL);
session_start();
//----------------------------------------------------------------------
// --- VARIABLES section ---
$db_fields = "\"Id\",\"Short_description\",\"Category\",\"Details\",\"Start_date\",\"End_date\",\"Location\"\n";
$days_in_month_array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31);
$years_array = array();
$j = 0;
for ($i=2000; $i<=2100; $i++) {
$years_array[$j] = $i;
$j++;
}
if (isset($_SERVER['SERVER_SOFTWARE']))
{ $use_linefeed = strpos($_SERVER['SERVER_SOFTWARE'] ,'Microsoft') !== false; }
else { $use_linefeed = false; }
//----------------------------------------------------------------------
/// --- FUNCTIONS section ---
// --------- SESSION functions ----------
function get_session( $Var ) {
return ( isset( $_SESSION[ $Var ] ) ?
$_SESSION[ $Var ] :
"" ) ;
}
//----------------------------------------------------------------------
function set_session( $Var, $varValue ) {
$_SESSION[ $Var ] = $varValue;
}
//----------------------------------------------------------------------
function is_logged() {
return ( "" != get_session( 'SID' ) );
}
//----------------------------------------------------------------------
function unset_session($Var) {
unset($_SESSION[ $Var ]);
session_destroy();
return true;
}
// --------- DATE functions ----------
// check 'days in february'
function days_in_feb($year) {
if ($year < 0) $year++;
$year += 4800;
if ( ($year % 4) == 0) {
if (($year % 100) == 0) {
if (($year % 400) == 0) {
return(29);
}
else {
return(28);
}
}
else {
return(29);
}
}
else {
return(28);
}
}
//----------------------------------------------------------------------
// check 'days in month'
function days_in_month($_month, $_year) {
if($_month == 2) {
return days_in_feb($_year); }
else {
if($_month == 1 || $_month == 3 || $_month == 5 || $_month == 7 || $_month == 8 || $_month == 10 || $_month == 12)
{ return(31); }
else { return(30); }
}
}
// ---------------------------------------------------------------------
// ---------- EVENTS PROCCESSING functions ------------
// preparing calendar event for writing in db files
function prepare_for_write($data) {
foreach ($data as $k=>$v) {
$temp = trim($v);
$data[$k] = '"'.(get_magic_quotes_gpc() ? $temp: str_replace( array( '\\', '\'', '"' ), array('\\\\', '\\\'', '\"'), $temp)).'"';
}
$line = implode(',', array_values($data))."\n";
return $line;
}
// ----------------------------------------------------------------------
// preparing calendar event for moving in db files
function prepare_for_move($data) {
foreach ($data as $k=>$v) {
$data[$k] = '"'. $v . '"';
}
$line = implode(',', array_values($data))."\n";
return $line;
}
// escaping special characters when displaying data from db files
function sth($s) {
return str_replace( array('\\\\', '\\\'', '\"'), array( '\\', '\'', '"' ), $s) ;
//htmlspecialchars(stripslashes($s), ENT_QUOTES);
//get_magic_quotes_gpc() ? stripslashes($s) : $s, ENT_QUOTES);
}
// ----------------------------------------------------------------------
// transforming data retrieved from db files into record (building associative array)
function build_ass_array_record($value, $key) {
$output = array();
foreach($key as $v) {
$output[$v] = current($value);
next($value);
}
return $output;
}
// ---------------------------------------------------------------------
// old verion calendar check --> without 'Location' field
function old_version_check() {
global $db_fname;
global $db_fields;
$label = 'Location';
clearstatcache();
if(filesize($db_fname)!=0) {
if (!$handle = fopen($db_fname, "r+")) {
echo "Could not open file";
exit;
}
flock($handle, LOCK_EX);
$old_dbfields_array = fgetcsv($handle, 2048);
if (!in_array($label, $old_dbfields_array)) {
$temp_fname = tempnam("php/", date("Ymd h-i-s"));
if (!$temp_handle = fopen($temp_fname, 'w+')) { // open temp file
echo "could not open temp file";
exit;
}
if (fwrite($temp_handle, $db_fields)===false) { // write db fields line
echo "could not write in file";
exit;
}
while ($data = fgetcsv($handle, 2048)) {
array_push($data, " ");
$record_line = prepare_for_move($data);
if (fwrite($temp_handle, $record_line)===FALSE) {
echo "could not write in temp file";
exit;
}
}
if(ftruncate($handle, 0)===false) {
echo "Failed to delete(ftruncate error) subscriber info from file (); see the temp file";
exit;
}
fseek($handle, 0);
fseek($temp_handle, 0);
while (!feof($temp_handle)) {
if(!$block = fread($temp_handle, 8192)) {
if (feof($temp_handle)) {
break;
}
echo ">>Failed to delete(fread error) event info from file (); see the temp file $temp_fname";
exit;
}
if (fwrite($handle, $block)===FALSE) {
echo ">>Failed to delete(fwrite error) subscriber info from file (); see the temp file $temp_fname";
exit;
}
}
flock($handle, LOCK_UN);
fclose($handle);
fclose($temp_handle);
unlink($temp_fname);
}
}
}
// ---------------------------------------------------------------------
// adding event record in db files
function db_add_event($prefix, $record_line) {
global $db_fname;
global $db_fields;
clearstatcache();
if (!$handle = fopen($db_fname, "a")) {
echo "could not open file";
exit;
}
flock($handle, LOCK_EX);
if(filesize($db_fname)==0) {
if (fwrite($handle, $db_fields)===false) {
echo "could not write in file";
exit;
}
}
if (fwrite($handle, $record_line)===false) {
echo "could not write in file";
exit;
}
flock($handle, LOCK_UN);
fclose($handle);
}
// ----------------------------------------------------------------------
// editing event record in db files
function db_edit_event($event_id, $editedrecord_line) {
global $db_fname;
if (!$handle = fopen($db_fname, "r+")) {
echo "could not open file";
exit;
}
flock($handle, LOCK_EX);
$temp_fname = tempnam("php/", date("Ymd h-i-s"));
if (!$temp_handle = fopen($temp_fname, 'w+')) {
echo "could not open temp file";
exit;
}
while ($data=fgetcsv($handle, 2048)) {
if (in_array($event_id, $data)) {
if (fwrite($temp_handle, $editedrecord_line)===FALSE) {
echo "could not write in temp file";
exit;
}
}
else {
$record_line = prepare_for_move($data);
if(fwrite($temp_handle, $record_line)===FALSE) {
echo "could not write in temp file";
exit;
}
}
}
if(ftruncate($handle, 0)===false) {
echo "Failed to delete(ftruncate error) subscriber info from file (); see the temp file";
exit;
}
fseek($handle, 0);
fseek($temp_handle, 0);
while (!feof($temp_handle)) {
if(!$block = fread($temp_handle, 8192)) {
if (feof($temp_handle)) {
break;
}
echo ">>Failed to delete(fread error) event info from file (); see the temp file $temp_fname";
exit;
}
if (fwrite($handle, $block)===FALSE) {
echo ">>Failed to delete(fwrite error) subscriber info from file (); see the temp file $temp_fname";
exit;
}
}
flock($handle, LOCK_UN);
fclose($handle);
fclose($temp_handle);
unlink($temp_fname);
}
// ----------------------------------------------------------------------
// deleting event record in db files
function db_delete_event($event_id) {
global $db_fname;
if (!$handle = fopen($db_fname, "r+")) {
echo "could not open file";
exit;
}
flock($handle, LOCK_EX);
$temp_fname = tempnam("../php/", date("Ymd h-i-s"));
if (!$temp_handle = fopen($temp_fname, 'w+')) {
echo "could not open temp file";
exit;
}
while ($data=fgetcsv($handle, 2048)) {
if (in_array($event_id, $data)) {
continue;
}
else {
$record_line = prepare_for_move($data);
if(fwrite($temp_handle, $record_line)===FALSE) {
echo "could not write in temp file";
exit;
}
}
}
if(ftruncate($handle, 0)===false) {
echo "Failed to delete(ftruncate error) subscriber info from file (); see the temp file";
exit;
}
fseek($handle, 0);
fseek($temp_handle, 0);
while (!feof($temp_handle)) {
if(!$block = fread($temp_handle, 8192)) {
if (feof($temp_handle)) {
break;
}
echo ">>Failed to delete(fread error) event info from file (); see the temp file $temp_fname";
exit;
}
if (fwrite($handle, $block)===FALSE) {
echo ">>Failed to delete(fwrite error) subscriber info from file (); see the temp file $temp_fname";
exit;
}
}
flock($handle, LOCK_UN);
fclose($handle);
fclose($temp_handle);
unlink($temp_fname);
}
// ----------------------------------------------------------------------
// -- CALENDAR BUILDING functions --
// building calendar selection bar
function selection_bar($prefix, $action_id, $mon, $year, $selected_view=1) {
global $month_name;
global $years_array;
$navig_html = '<script language="javascript" type="text/javascript"><!--' ."\n"
.' function showDate(){'
.' mon = document.getElementsByName("selected_month")[0].options[document.getElementsByName("selected_month")[0].selectedIndex].value; year = document.getElementsByName("selected_year")[0].options[document.getElementsByName("selected_year")[0].selectedIndex].value; document.location = "'.$prefix.'calendar.php?action='.$action_id.'&view='.$selected_view.'&selected_mon="+mon+"&selected_year="+year; } //--> </script> ';
//$navig_html = "<form action='".$prefix."calendar.php?action=".$action_id."&view=".$selected_view."' method='post' enctype='multipart/form-data'>";
$navig_html .= build_select('selected_month', $month_name, $month_name[$mon-1]). " " . build_select('selected_year', $years_array, $year);
$navig_html .= " <input class=input1 type='button' name='go' value=' Go ' onClick='showDate();' >";
//$navig_html .= "</form>";
return $navig_html;
}
// ----------------------------------------------------------------------
// building calendar navigation bar for users
function viewtype_bar($prefix, $action_id, $mon, $year, $selected_view=1) {
global $month_name;
global $years_array;
$navig_html = "<select onChange=\"document.location='".$prefix."calendar.php?action=".$action_id."&mon=".$mon."&year=".$year."&view=' + this.options[this.selectedIndex].value;\" class=input1 align='center' name='view_type'>";
$navig_html .= "<option value='1'" .($selected_view==1 ? " selected ": "") . ">1";
$navig_html .= "<option value='3'" . ($selected_view==3 ? " selected ": "") . ">3";
$navig_html .= "<option value='12'" . ($selected_view==12 ? " selected ": "") . ">12";
$navig_html .= "</select>";
return $navig_html;
}
// ----------------------------------------------------------------------
// building calendar navigation bar for users
function navigation_bar_prev($prefix, $action_id, $mon, $year, $selected_view=1) {
global $month_name;
global $years_array;
$navig_html = '';
if($selected_view!=12) {
$prev_mon = $mon -1;
$prev_year = $year;
$next_mon = $mon + 1;
$next_year = $year;
if ($mon==1) {
$prev_mon = 12;
$prev_year = $year-1;
}
elseif($mon==12) {
$next_mon = 1;
$next_year = $year+1;
}
$navig_html = "<input class='input1' type='button' value='<<' onClick=\"document.location='".$prefix."calendar.php?action=".$action_id."&mon=" .$prev_mon."&year=" .$prev_year. "&view=" . $selected_view . "';\">";
}
return $navig_html;
}
// ----------------------------------------------------------------------
// building calendar navigation bar for users
function navigation_bar_next($prefix, $action_id, $mon, $year, $selected_view=1) {
global $month_name;
global $years_array;
$navig_html = '';
if($selected_view!=12) {
$prev_mon = $mon -1;
$prev_year = $year;
$next_mon = $mon + 1;
$next_year = $year;
if ($mon==1) {
$prev_mon = 12;
$prev_year = $year-1;
}
elseif($mon==12) {
$next_mon = 1;
$next_year = $year+1;
}
$navig_html = "<input class='input1' type='button' value='>>' onClick=\"document.location='".$prefix."calendar.php?action=".$action_id."&mon=" .$next_mon."&year=".$next_year. "&view=" . $selected_view . "';\">";
}
return $navig_html;
}
// ----------------------------------------------------------------------
// calendar current day check
function current_day_check($day, $mon, $year) {
$current_date = getdate();
$currday = $current_date['mday'];
$currmon = $current_date['mon'];
$curryear = $current_date['year'];
if ( ($day==$currday) AND ($mon==$currmon) AND ($year==$curryear) ) {
$flag=true;
}
else {
$flag=false;
}
return $flag;
}
// ----------------------------------------------------------------------
// extracting event records for particular period from db files
function extract_event_records($fdayperiod_timestamp, $ldayperiod_timestamp) {
global $db_fname;
$result = array();
if (!$handle = fopen($db_fname, "r")) {
echo "<span class=RVTS8>could not open file</span>";
}
$db_field_names = fgetcsv($handle, 2048);
while ($data = fgetcsv($handle, 2048)) {
$record = build_ass_array_record($data, $db_field_names);
settype($record['Start_date'], 'integer');
settype($record['End_date'], 'integer');
if( (($record['Start_date']>=$fdayperiod_timestamp) && ($record['End_date']<=$ldayperiod_timestamp)) || (($record['Start_date']<$fdayperiod_timestamp) && ($record['End_date']>$fdayperiod_timestamp)) ||
(($record['Start_date']<$ldayperiod_timestamp) && ($record['End_date']>$ldayperiod_timestamp)) ) {
$result[]= $record;
}
}
return $result;
}
// ----------------------------------------------------------------------
// defining colors for each day in a month
function define_colors($mon, $year, $event_records) {
global $category_color;
global $category_name;
$bg_colors [] = array();
for ($i=1; $i<=days_in_month($mon, $year); $i++) {
$st_i_timestamp = mktime (0, 0, 0, $mon, $i, $year);
$end_i_timestamp = mktime (23, 59, 59, $mon, $i, $year);
foreach($event_records as $v) {
if( (($v['Start_date']>=$st_i_timestamp) && ($v['End_date']<=$end_i_timestamp)) || (($v['Start_date']<=$st_i_timestamp) && ($v['End_date']>=$st_i_timestamp)) ||
(($v['Start_date']<=$end_i_timestamp) && ($v['End_date']>=$end_i_timestamp)) ) {
$bg_colors [$i][] = $category_color[array_search ($v['Category'], $category_name)];
}
}
}
return $bg_colors;
}
// ----------------------------------------------------------------------
// calendar building
function build_calendar($mon, $year, $flag, $prefix) {
global $day_name;
global $month_name;
global $category_color;
global $category_name;
global $cal_size;
global $first_day_ofweek;
$current_date = getdate();
$fdaymonth_timestamp = mktime (0, 0, 0, $mon, 1, $year);
$ldaymonth_timestamp = mktime (0, 0, 0, $mon, days_in_month($mon, $year), $year);
$event_records = extract_event_records($fdaymonth_timestamp, $ldaymonth_timestamp); /////test
$bg_colors = define_colors($mon, $year, $event_records);
$month = $month_name[$mon-1];
$firstday_str = date('l', mktime (0, 0, 0, $mon, 1, $year));
// 'First day of week' check
if ($first_day_ofweek==1) {
$firstday = date('w', mktime (0, 0, 0, $mon, 1, $year));
}
else {
$firstday = ( (date('w', mktime (0, 0, 0, $mon, 1, $year))==0)? 6: (date('w', mktime (0, 0, 0, $mon, 1, $year))-1) );
$temp = $day_name[0];
$day_name_rev = $day_name;
array_shift($day_name_rev);
array_push($day_name_rev, $temp);
}
settype($firstday, 'integer');
$cal_pointer = $firstday;
$row_counter = 0;
$cal_html = "<table class='calendar' align='center'>";
$cal_html .= "<tr><td class='calh1' ID='$cal_size' colspan=7>$month $year</td></tr>";
$cal_html .= "<tr>";
// displaying weekday names
foreach ( (($first_day_ofweek==1)?$day_name:$day_name_rev) as $v) {
$cal_html .= "<td class='calh2' ID='$cal_size'>" . substr($v, 0, 1) . "</td>";
}
$cal_html .= "</tr>";
// displaying last days from previous month
$cal_html .= "<tr>";
if ($firstday!=0) {
if ($mon==1) {
$days_prev_mon = days_in_month(12, $year);
}
else {
$days_prev_mon = days_in_month(($mon-1), $year);
}
$t = $days_prev_mon - $firstday +1;
for ($i=0; $i<$firstday; $i++) {
$cal_html .= "<td class='day3' ID='$cal_size'>$t</td>"; //<font color='778899'>
$t++;
}
}
// displaying days from selected month
for ($i=1; $i<=days_in_month($mon, $year); $i++) {
if ($cal_pointer>6) {
$cal_pointer = 0;
$cal_html .= "</tr>";
$cal_html .= "<tr>"; $row_counter++; //
// user view
if($flag=="user") {
if(array_key_exists(($i), $bg_colors)) {
$day_bgcolors = $bg_colors[$i];
if(count($day_bgcolors)>1) {
$cal_html .= "<td class='" . (current_day_check($i, $mon, $year)? "currday": "day2" ) . "' ID='$cal_size' bgcolor='" . $category_color[array_search ('Multiple selection', $category_name)] ."'>$i</td>";
}
else {
$cal_html .= "<td class='" . (current_day_check($i, $mon, $year)? "currday": "day2" ) . "' ID='$cal_size' bgcolor='" .current($day_bgcolors) ."'>$i</td>";
}
}
else {
$cal_html .= "<td class='" . (current_day_check($i, $mon, $year)? "currdayempty": "day1" ) . "' ID='$cal_size'>$i</td>";
}
}
// admin view
else {
if(array_key_exists(($i), $bg_colors)) {
$day_bgcolors = $bg_colors[$i];
if(count($day_bgcolors)>1) {
$cal_html .= "<td class='day2' ID='$cal_size' bgcolor='" . $category_color[array_search ('Multiple selection', $category_name)] ."'><a class=" . (current_day_check($i, $mon, $year)? 'currdayurl': 'calurl' ) . " href='".$prefix."calendar.php?action=addevent&mon=$mon&mday=$i&year=$year'>$i</a></td>";
}
else {
$cal_html .= "<td class='day2' ID='$cal_size' bgcolor='" .current($day_bgcolors) ."'><a class=" . (current_day_check($i, $mon, $year)? 'currdayurl': 'calurl' ) . " href='".$prefix."calendar.php?action=addevent&mon=$mon&mday=$i&year=$year'>$i</a></td>";
}
}
else {
$cal_html .= "<td class='day1' ID='$cal_size'><a class=" . (current_day_check($i, $mon, $year)? 'currdayurl': 'calurl' ) . " href='".$prefix."calendar.php?action=addevent&mon=$mon&mday=$i&year=$year'>$i</a></td>";
}
}
$cal_pointer++;
}
else {
// user view
if($flag=="user") {
if(array_key_exists(($i), $bg_colors)) {
$day_bgcolors = $bg_colors[$i];
if(count($day_bgcolors)>1) {
$cal_html .= "<td class='" . (current_day_check($i, $mon, $year)? 'currday': "day2" ) ."' ID='$cal_size' bgcolor='" . $category_color[array_search ('Multiple selection', $category_name)] ."'>$i</td>";
}
else {
$cal_html .= "<td class=" . (current_day_check($i, $mon, $year)? "currday": "day2" ) . " ID='$cal_size' bgcolor='" .current($day_bgcolors) ."'>$i</td>";
}
}
else {
$cal_html .= "<td class=" . (current_day_check($i, $mon, $year)? "currdayempty": "day1" ) . " ID='$cal_size'>$i</td>";
}
}
// admin view
else {
if(array_key_exists(($i), $bg_colors)) {
$day_bgcolors = $bg_colors[$i];
if(count($day_bgcolors)>1) {
$cal_html .= "<td class='day2' ID='$cal_size' bgcolor='" . $category_color[array_search ('Multiple selection', $category_name)] ."'><a class=" . (current_day_check($i, $mon, $year)? 'currdayurl': 'calurl' ) . " href='".$prefix."calendar.php?action=addevent&mon=$mon&mday=$i&year=$year'>$i</a></td>";
}
else {
$cal_html .= "<td class='day2' ID='$cal_size' bgcolor='" .current($day_bgcolors) ."'><a class=" . (current_day_check($i, $mon, $year)? 'currdayurl': 'calurl' ) . " href='".$prefix."calendar.php?action=addevent&mon=$mon&mday=$i&year=$year'>$i</a></td>";
}
}
else {
$cal_html .= "<td class='day1' ID='$cal_size'><a class=" . (current_day_check($i, $mon, $year)? 'currdayurl': 'calurl' ) ." href='".$prefix."calendar.php?action=addevent&mon=$mon&mday=$i&year=$year'>$i</a></td>";
}
}
$cal_pointer++;
}
}
// displaying first days from next month
$next_month_days = 1;
while($cal_pointer<=6) {
$cal_html .= "<td class='day3' ID='$cal_size'>$next_month_days</td>";
$next_month_days++;
$cal_pointer++;
}
$cal_html .= "</tr>"; $row_counter++; ///
if ($row_counter<6) { //
$cal_html .= "<tr>";
$cal_pointer=0;
while($cal_pointer<=6) {
$cal_html .= "<td class='day3' ID='$cal_size'>$next_month_days</td>";
$next_month_days++;
$cal_pointer++;
}
$cal_html .= "</tr>";
}
$cal_html .= "</table>";
return $cal_html;
}
// ----------------------------------------------------------------------
// view events for particular month(s)
function view_events ($prefix, $fdayperiod_timestamp, $ldayperiod_timestamp, $flag="user") {
global $db_fname;
global $category_color;
global $category_name;
global $day_name, $month_name;
global $noevents_msg;
global $time_format, $first_day_ofweek;
global $location_label;
$events_html = "";
$records = array();
if (!$handle = fopen($db_fname, "r")) {
$events_html .= "<tr><td class='date'>Could not open file</td></tr>";
}
else {
$db_field_names = fgetcsv($handle, 2048);
while ($data = fgetcsv($handle, 2048)) { // retrieving event records for the Specified period
$temp = build_ass_array_record($data, $db_field_names);
settype($temp['Start_date'], 'integer');
settype($temp['End_date'], 'integer');
if( (($temp['Start_date']>=$fdayperiod_timestamp) and ($temp['End_date']<=$ldayperiod_timestamp)) or (($temp['Start_date']<$fdayperiod_timestamp) and ($temp['End_date']>$fdayperiod_timestamp)) or
(($temp['Start_date']<$ldayperiod_timestamp) and ($temp['End_date']>$ldayperiod_timestamp)) ) {
$records[] = $temp;
}
}
//var_dump($records);
if (!(empty($records))) {
foreach ($records as $key => $row) { // sorting event records by start_date
$name[$key] = $row['Start_date']; //
}
array_multisort($name, SORT_ASC, $records); //
foreach($records as $k=> $v) {
$font_color = $category_color[array_search ($v['Category'], $category_name)];
$events_html .= "<tr>";
if ($flag=="admin") { // if admin screen - Edit option
$events_html .= '<td bgcolor="'.$font_color.'" align="left"><input class="input1" type="button" value=" Edit " onClick="document.location=\''.$prefix.'calendar.php?action=editevent&Id='.$v['Id'].'\'"></td>';
}
else {
$events_html .= "<td class='date' bgcolor='$font_color' align='left'></td>";
}
// if one day event
if( date('n j, Y', $v['Start_date'])==date('n j, Y', $v['End_date']) ) {
$events_html .= "<td class='date' bgcolor='$font_color' align='left'>"
. substr($month_name[date('n', $v['Start_date'])-1], 0, 3).date(' j, Y ', $v['Start_date'])
. '('. substr($day_name[date('w', $v['Start_date'])], 0, 3) .')</td>' ;
}
else { // if multiple days event
$events_html .= "<td class='date' bgcolor='$font_color' align='left'>"
. substr($month_name[date('n', $v['Start_date'])-1], 0, 3).date(' j, Y ', $v['Start_date'])
. '('. substr($day_name[date('w', $v['Start_date'])], 0, 3) .')'
. " - "
. substr($month_name[date('n', $v['End_date'])-1], 0, 3).date(' j, Y ', $v['End_date'])
. '('. substr($day_name[date('w', $v['End_date'])], 0, 3) .')'
."</td>";
}
//Time Format 12 -Hour
if ($time_format==12) {
// if no time defined event
if((date('g:i A' , $v['Start_date'])==date('g:i A' , $v['End_date']))&& (date('g:i A' , $v['End_date'])=='12:00 AM')) {
$events_html .= "<td bgcolor='$font_color'></td>";
}
elseif((date('g:i A' , $v['Start_date'])==date('g:i A' , $v['End_date']))&& (date('g:i A' , $v['End_date'])!='12:00 AM')) {
$events_html .= "<td class='date' bgcolor='$font_color' align='left'>" . date('g:i A' , $v['Start_date']);
}
else { // if time defined event
$events_html .= "<td class='date' bgcolor='$font_color' align='left'>" . date('g:i A' , $v['Start_date']) . " - " . date('g:i A' , $v['End_date']) . "</td>";
}
}
else { //Time Format 24 -Hour
// if no time defined event
if((date('G:i' , $v['Start_date'])==date('G:i' , $v['End_date']))&& (date('G:i' , $v['End_date'])=='0:00')) {
$events_html .= "<td bgcolor='$font_color'></td>";
}
elseif((date('G:i' , $v['Start_date'])==date('G:i' , $v['End_date']))&& (date('G:i' , $v['End_date'])!='0:00')) {
$events_html .= "<td class='date' bgcolor='$font_color' align='left'>" . date('G:i' , $v['Start_date']);
}
else { // if time defined event
$events_html .= "<td class='date' bgcolor='$font_color' align='left'>" . date('G:i' , $v['Start_date']) . " - " . date('G:i' , $v['End_date']) . "</td>";
}
}
$events_html .= "</tr>";
$events_html .= "<tr>";
if ($flag=="admin") {
$events_html .= "<td class='desc'><input type='hidden' name='Id' value = " .$v['Id'] . "></td>";
}
else {
$events_html .= "<td class='desc'></td>";
}
$events_html .= "<td class='desc' align='left'>:: " .sth($v['Short_description']) ." </td><td class='desc' align='left'>" .((trim($v['Location'])!="")? $location_label.': '.sth($v['Location']) : "") ." </td></tr>";
$events_html .= "<tr><td class='details'></td><td class='details' align='left' colspan=2>". sth($v['Details']) . "</td>";
$events_html .= "</tr>";
}
$events_html .= "<tr><td class='details' colspan='3' height='100%'> </td></tr>";
}
else {
//if($events_html == '') {
$events_html .= "<tr><td align='left'></td></tr>";
$events_html .= "<tr><td class='desc' valign='top' align='left'>:: ". $noevents_msg."</td></tr>";
$events_html .= "<tr><td class='details' height='100%'> </td></tr>";
}
//else $events_html .= "<tr><td class='details' colspan='3' height='100%'> </td></tr>";
}
$events_html = "<table class='event'>".$events_html."</table>";
fclose($handle);
return $events_html;
}
// ----------------------------------------------------------------------
// building HTML select from flat array
function build_select($name, &$data, $selected, $attributes="", $size=1) {
$r = '';
if (is_array($data) and !empty($data)) {
$r = "<select class='input1' name='$name' size='$size' $attributes>\n";
foreach ($data as $v) {
$r .= "<option value='$v'";
if ($v==$selected) {
$r .= " selected";
}
$r .= ">$v</option>\n";
}
$r.= "</select>";
}
return $r;
}
// ----------------------------------------------------------------------
// building HTML select from flat array
function build_select_category($name, &$data, &$colors, $selected, $attributes="", $size=1) {
$r = '';
if (is_array($data) and !empty($data)) {
$r = "<select class='catcolor' name='$name' size='$size' $attributes>\n";
foreach ($data as $k=>$v) {
if($k==0) {
continue;
}
else {
$r .= "<option style=\" background-color: " .$colors[$k] . "\" value='$v'"; //
if ($v==$selected) {
$r .= " selected ";
}
$r .= ">$v</option>\n";
}
}
$r.= "</select>";
}
return $r;
}
// ----------------------------------------------------------------------
// building add_event form
function add_event_form($prefix, $mon, $mday, $year) {
global $category_name;
global $category_color;
global $month_name;
global $days_in_month_array;
global $years_array;
global $time_format, $first_day_ofweek;
if ($time_format==12) {
$hours_array = array('NA', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12');
$ampm_array = array('AM', 'PM');
}
else {
$hours_array = array('NA', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23');
}
$min_array = array('00', '05', '10', '15', '20', '25', '30', '35', '40', '45', '50', '55');
$addform_html = "<form action='".$prefix."calendar.php?action=saveevent' method='post' enctype='multipart/form-data'>";
$addform_html .= "<table>";
$addform_html .= "<tr><td colspan='2' align='center'><span class='RVTS9'> Add New Event </span></td></tr>";
$addform_html .= "<tr><td><span class='RVTS8'>Short Description</span></td><td><input class='input1' type='text' name='Short_description' value = '' size='50' maxlength='50'></td></tr>";
$addform_html .= "<tr><td><span class='RVTS8'>Category</span></td><td>" . build_select_category('Category', $category_name, $category_color, $category_name[1]) . "</td></tr>";
$addform_html .= "<tr><td><span class='RVTS8'>Details</span></td><td> <textarea class='input1' name='Details' value = '' cols='50' rows='5' ></textarea></td></tr>";
$addform_html .= "<tr><td ><span class='RVTS8'>Start Date</td><td> " . build_select('Start_month', $month_name, $month_name[$mon-1])
. build_select('Start_day', $days_in_month_array, $mday)
. build_select('Start_year', $years_array, $year) . "</span></td></tr>";
$addform_html .= " <tr><td><span class='RVTS8'> End Date</span></td><td> " . build_select('End_month', $month_name, $month_name[$mon-1])
. build_select('End_day', $days_in_month_array, $mday)
. build_select('End_year', $years_array, $year) . "</td></tr>";
$addform_html .= "<tr><td><span class='RVTS8'>Start Time</span></td><td> " . build_select('Start_hour', $hours_array, $hours_array[0])
. build_select('Start_min', $min_array, $min_array[0]);
if ($time_format==12) {
$addform_html .= build_select('Start_ampm', $ampm_array, $ampm_array[0]);
}
$addform_html .="</td></tr>";
$addform_html .= " <tr><td><span class='RVTS8'> End Time</span></td><td> " . build_select('End_hour', $hours_array, $hours_array[0])
. build_select('End_min', $min_array, $min_array[0]);
if ($time_format==12) {
$addform_html .= build_select('End_ampm', $ampm_array, $ampm_array[0]);
}
$addform_html .="</td></tr>";
$addform_html .= "<tr><td><span class='RVTS8'>Location</span></td><td><input class='input1' type='text' name='Location' value = '' size='50' maxlength='50'></td></tr>";
$addform_html .= "<tr><td></td><td><input class=input1 name='Save' type='submit' value=' Save Event '>";
$addform_html .= " <input class=input1 type='button' value=' Cancel ' onClick=\"document.location='".$prefix."calendar.php?action=index'\"></td></tr>";
$addform_html .= "</table>";
return $addform_html;
}
// ----------------------------------------------------------------------
// building edit_event form
function edit_event_form($prefix, $event_record) {
global $category_name;
global $category_color;
global $month_name;
global $days_in_month_array;
global $years_array;
global $time_format, $first_day_ofweek;
if ($time_format==12) {
$hours_array = array('NA', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12');
$ampm_array = array('AM', 'PM');
}
else {
$hours_array = array('NA', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23','0');
}
$min_array = array('00', '05', '10', '15', '20', '25', '30', '35', '40', '45', '50', '55');
$editform_html = "<form action='".$prefix."calendar.php?action=saveevent' method='post' enctype='multipart/form-data'>";
$editform_html .= "<table>";
$editform_html .= "<tr><td colspan='2' align='center'><span class='RVTS9'> Edit Event </span></td></tr>";
$editform_html .= "<tr><td><span class='RVTS8'><input class='input1' type='hidden' name='Id' value = '{$event_record['Id']}'>Short Description</span></td><td> <input class='input1' type='text' name='Short_description' value = '".sth($event_record['Short_description'])."' size='50' maxlength='50'></td></tr>";
$editform_html .= "<tr><td><span class='RVTS8'>Category</span></td><td>" . build_select_category('Category', $category_name, $category_color, $event_record['Category']) . "</td></tr>";
$editform_html .= "<tr><td><span class='RVTS8'>Details</span></td><td> <textarea class='input1' name='Details' cols = '50' rows='5' >" . sth($event_record['Details']) . "</textarea></td></tr>";
$st_mon = date('n' , $event_record['Start_date']);
$st_day = date('j' , $event_record['Start_date']);
$st_year = date('Y' , $event_record['Start_date']);
$editform_html .= "<tr><td><span class='RVTS8'>Start Date</span></td><td> " . build_select('Start_month', $month_name, $month_name[$st_mon-1])
. build_select('Start_day', $days_in_month_array, $st_day)
. build_select('Start_year', $years_array, $st_year) . "</td></tr>";
$end_mon = date('n' , $event_record['End_date']);
$end_day = date('j' , $event_record['End_date']);
$end_year = date('Y' , $event_record['End_date']);
$editform_html .= " <tr><td><span class='RVTS8'> End Date</span></td><td> " . build_select('End_month', $month_name, $month_name[$end_mon-1])
. build_select('End_day', $days_in_month_array, $end_day)
. build_select('End_year', $years_array, $end_year) . "</td></tr>";
$st_min = date('i' , $event_record['Start_date']);
$end_min = date('i' , $event_record['End_date']);
///////
if ($time_format==12) {
$st_hour = date('g' , $event_record['Start_date']);
$st_ampm = date('A' , $event_record['Start_date']);
$end_hour = date('g' , $event_record['End_date']);
$end_ampm = date('A' , $event_record['End_date']);
if( ($st_hour==$end_hour)&&($end_hour==12)&&($st_min==$end_min)&&($end_min=='00')&&($st_ampm==$end_ampm)&& ($end_ampm=='AM')) {
$editform_html .= "<tr><td><span class='RVTS8'>Start Time</span></td><td> " . build_select('Start_hour', $hours_array, $hours_array[0]);
}
else {
$editform_html .= "<tr><td><span class='RVTS8'>Start Time</span></td><td> " . build_select('Start_hour', $hours_array, $hours_array[$st_hour]);
}
$editform_html .= build_select('Start_min', $min_array, $st_min)
. build_select('Start_ampm', $ampm_array, $st_ampm) . "</td></tr>";
if( (($st_hour==$end_hour)&& ($end_hour==12)&&($st_min==$end_min) && ($end_min=='00')&&($st_ampm==$end_ampm)&& ($end_ampm=='AM')) || (($st_hour==$end_hour)&&($st_min==$end_min) && ($st_ampm==$end_ampm)) ){
$editform_html .= " <tr><td><span class='RVTS8'> End Time</span></td><td> " . build_select('End_hour', $hours_array, $hours_array[0]);
}
else {
$editform_html .= " <tr><td><span class='RVTS8'> End Time</span></td><td> " . build_select('End_hour', $hours_array, $hours_array[$end_hour]);
}
$editform_html .= build_select('End_min', $min_array, $end_min)
. build_select('End_ampm', $ampm_array, $end_ampm) . "</td></tr>";
}
else {
$st_hour = date('G' , $event_record['Start_date']);
$end_hour = date('G' , $event_record['End_date']);
if( ($st_hour==$end_hour)&&($end_hour==24)&&($st_min==$end_min)&&($end_min=='00')) {
$editform_html .= "<tr><td><span class='RVTS8'>Start Time</span></td><td> " . build_select('Start_hour', $hours_array, $hours_array[0]);
}
else {
$editform_html .= "<tr><td><span class='RVTS8'>Start Time</span></td><td> " . build_select('Start_hour', $hours_array, $hours_array[$st_hour]);
}
$editform_html .= build_select('Start_min', $min_array, $st_min). "</td></tr>";
if( (($st_hour==$end_hour)&& ($end_hour==24)&&($st_min==$end_min) && ($end_min=='00') ) || (($st_hour==$end_hour)&&($st_min==$end_min) ) ){
$editform_html .= " <tr><td><span class='RVTS8'> End Time</span></td><td> " . build_select('End_hour', $hours_arr
Problema cu un calendar :o
Moderatori: Moderatori, Start Moderator
WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOW
frate kiar crezi k iti va citi cineva tot codu ala??(si la cat cod e acolo pot fi intre 5 si 10 milioane de greseli
da ai fost si interesant si f f f provocator ne-ai incitat la maxim cu ceva de genu "asta-i codu, il vreau inapoi bun"
am citit doar prima linie si dak ai noroc poate kiar aia e greseala k d nu va trebui sa o gasesti singur!exista cumva fisieru ala functions care il importi??
PS: data viitoare cand mai vrei ajutor incearca sa intelegi c ar trebui sa faca codul tau,vezi c erori da si incearca sa intrebi in asa fel in cat sa rezolvi problema p bucati nu doar sa postezi kila de cod si sa ti-l repare cineva
-
salut1988
- PHPRomania Supporter
- Mesaje: 8
- Membru din: Sâm Oct 22, 2005 8:00 am
- Localitate: Bucuresti
- Contact:
mda...mah gandeam io k e prea mult...am postat si fisierul function.php si eroare este defapt...qm sa spun...in loc sa arate calendarul imi arata codul php.Am cautat sa vad dak nu qmva e vreo paranteza deschisa...nu gasesc...presimt k n-o sa gasesc rasp la ast...ai dreptat cn ar sta sa citeasca atat cod...ms oriqm... 
pai iti arata codul poate pt k nu exista nici un "?>"! u nu ai "inkis" codu
la inceputul codului pui <?php si la sfarsit <? deci pune aia la sfarsit si dupaia it va da acolo o eroare ceva dak nu merge,iar dak merge....ai bafta
)
EDIT: hmm..da vad acolo mai multe greseli , de exemplu p ultiam linie acolo se termina codul brusc
la inceputul codului pui <?php si la sfarsit <? deci pune aia la sfarsit si dupaia it va da acolo o eroare ceva dak nu merge,iar dak merge....ai bafta
EDIT: hmm..da vad acolo mai multe greseli , de exemplu p ultiam linie acolo se termina codul brusc
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 17 vizitatori
