| [ PHPXref.com ] | [ Generated: Sun Jul 20 19:13:40 2008 ] | [ osCommRes 1.2.0 ] |
| [ Index ] [ Variables ] [ Functions ] [ Classes ] [ Constants ] [ Statistics ] | ||
[Summary view] [Print] [Text view]
1 <?php 2 /* 3 4 osCommerce, Open Source E-Commerce Solutions 5 http://www.oscommerce.com 6 7 Copyright (c) 2003 osCommerce 8 9 osCommRes, Services Online 10 http://www.oscommres.com 11 12 Copyright (c) 2005 osCommRes 13 14 Released under the GNU General Public License 15 */ 16 function get_dates_array($sInfo,$type) 17 { 18 $result_dates=array(); 19 $caldate=$sInfo->sessions_start_date; 20 $edate=$sInfo->sessions_end_date; 21 $sdate=$sInfo->sessions_start_date; 22 //daily type 23 if ($type=='DD') 24 { 25 while ($caldate<=$edate) 26 { 27 $result_dates[]=$caldate; 28 $query = tep_db_query("select date_add('" . $caldate . "',interval '" . $sInfo->sessions_type_daily_days . "' day) as datenew"); 29 $result=tep_db_fetch_array($query); 30 $caldate=$result['datenew']; 31 } 32 } 33 // weekly type 34 else if ($type=='WW') 35 { 36 $weekno=$sInfo->sessions_type_weekly_weeks; 37 $weekday=$sInfo->sessions_type_weekly_days; 38 39 $query = tep_db_query("select date_format('" . $caldate . "', '%w') as weekdate"); 40 $result=tep_db_fetch_array($query); 41 $query = tep_db_query("select date_sub('" . $caldate . "',interval '" . ($result['weekdate']-1) . "' day) as caldate"); 42 43 $result=tep_db_fetch_array($query); 44 $caldate=$result['caldate']; 45 while ($caldate<=$edate) 46 { 47 $query = tep_db_query("select date_format('" . $caldate . "', '%d') as day,date_format('" . $caldate . "', '%m') as month,date_format('" . $caldate . "', '%Y') as year"); 48 $result=tep_db_fetch_array($query); 49 50 $startday=$result['day']; 51 $month=$result['month']; 52 $year=$result['year']; 53 54 $caldate=date('Y-m-d',mktime(0,0,0,$month,$startday,$year)); 55 if ($caldate>$edate) break; 56 for ($icnt=0;$icnt<7;$icnt++){ 57 $caldate=date('Y-m-d',mktime(0,0,0,$month,$startday,$year)); 58 if ($caldate>$edate) break; 59 if ($caldate>$sdate && substr($weekday,$icnt,1)=='1'){ 60 $result_dates[]=$caldate;} 61 $startday=$startday+1; 62 } 63 $query = tep_db_query("select date_add('" . $caldate . "',interval '" . (($sInfo->sessions_type_weekly_weeks-1) * 7) . "' day) as datenew"); 64 $result=tep_db_fetch_array($query); 65 $caldate=$result['datenew']; 66 } 67 } 68 //monthly day 69 else if ($type=='MD') 70 { 71 $query = tep_db_query("select date_format('" . $caldate . "', '%d') as day,date_format('" . $caldate . "', '%m') as month,date_format('" . $caldate . "', '%Y') as year"); 72 $result=tep_db_fetch_array($query); 73 $day=$sInfo->sessions_type_monthly_days; 74 $month=$result['month']; 75 $year=$result['year']; 76 if ($day<$result['day']) $month=$month+$sInfo->sessions_type_monthly_months; 77 $caldate=date('Y-m-d',mktime(0,0,0,$month,$day,$year)); 78 while ($caldate<=$edate) 79 { 80 $result_dates[]=$caldate; 81 $month=$month+$sInfo->sessions_type_monthly_months; 82 $caldate=date('Y-m-d',mktime(0,0,0,$month,'01',$year)); 83 } 84 } 85 //Monthly month 86 else if ($type=='MM') 87 { 88 $query = tep_db_query("select date_format('" . $caldate . "', '%d') as day,date_format('" . $caldate . "', '%m') as month,date_format('" . $caldate . "', '%Y') as year"); 89 $result=tep_db_fetch_array($query); 90 $weekno=$sInfo->sessions_type_monthly_weeks; 91 $weekday=$sInfo->sessions_type_monthly_weekdays; 92 $day=1; 93 $month=$result['month']; 94 $year=$result['year']; 95 //if ($day<$result['day']) $month=$month+$sInfo->sessions_type_monthly_months; 96 $caldate=date('Y-m-d',mktime(0,0,0,$month,$day,$year)); 97 while ($caldate<=$edate) 98 { 99 $day='01'; 100 $query = tep_db_query("select date_format('" . $caldate . "', '%w') as weekdate"); 101 $result=tep_db_fetch_array($query); 102 $weekdate=$result['weekdate']; 103 if ($weekdate>$weekday) 104 $day=$day+(7-$weekdate)+$weekday; 105 else 106 $day=$day+($weekday-$weekdate); 107 if ($weekno>1) $day=$day+($weekno-1)*7; 108 $caldate=date('Y-m-d',mktime(0,0,0,$month,$day,$year)); 109 if ($caldate>$edate) break; 110 if ($caldate>$sdate){ 111 $result_dates[]=$caldate; 112 } 113 $month=$month+$sInfo->sessions_type_monthly_weekmonths; 114 $caldate=date('Y-m-d',mktime(0,0,0,$month,'01',$year)); 115 } 116 } 117 else if ($type=='YD') 118 { 119 $query = tep_db_query("select date_format('" . $caldate . "', '%d') as day,date_format('" . $caldate . "', '%m') as month,date_format('" . $caldate . "', '%Y') as year"); 120 $result=tep_db_fetch_array($query); 121 $day=$sInfo->sessions_type_yearly_monthdays; 122 $month=$sInfo->sessions_type_yearly_months; 123 $year=$result['year']; 124 if ($day<$result['day']) $year=$year+1; 125 $caldate=date('Y-m-d',mktime(0,0,0,$month,$day,$year)); 126 while ($caldate<=$edate) 127 { 128 $result_dates[]=$caldate; 129 $year=$year+1; 130 $caldate=date('Y-m-d',mktime(0,0,0,$month,$day,$year)); 131 } 132 } 133 else if ($type=='YY') 134 { 135 $query = tep_db_query("select date_format('" . $caldate . "', '%d') as day,date_format('" . $caldate . "', '%m') as month,date_format('" . $caldate . "', '%Y') as year"); 136 $result=tep_db_fetch_array($query); 137 $weekno=$sInfo->sessions_type_yearly_weeks; 138 $weekday=$sInfo->sessions_type_yearly_weekdays; 139 $day=1; 140 $month=$sInfo->sessions_type_yearly_weekmonths; 141 $year=$result['year']; 142 $caldate=date('Y-m-d',mktime(0,0,0,$month,$day,$year)); 143 while ($caldate<=$edate) 144 { 145 $day='1'; 146 $query = tep_db_query("select date_format('" . $caldate . "', '%w') as weekdate"); 147 $result=tep_db_fetch_array($query); 148 $weekdate=$result['weekdate']; 149 if ($weekdate>$weekday) 150 $day=$day+(7-$weekdate)+$weekday; 151 else 152 $day=$day+($weekday-$weekdate); 153 if ($weekno>1) $day=$day+($weekno-1)*7; 154 155 $caldate=date('Y-m-d',mktime(0,0,0,$month,$day,$year)); 156 if ($caldate>$edate) break; 157 if ($caldate>$sdate){ 158 $result_dates[]=$caldate; 159 } 160 $year=$year+1; 161 $caldate=date('Y-m-d',mktime(0,0,0,$month,'01',$year)); 162 } 163 } 164 return $result_dates; 165 } 166 167 function tep_delete_multiple_sessions($session_id) 168 { 169 $session_query=tep_db_query("select sessions_id from " . TABLE_EVENTS_SESSIONS . " where recursive_sessions_id='" . $session_id . "' and sessions_type='R'"); 170 171 while($result=tep_db_fetch_array($session_query)) 172 { 173 if (!tep_check_linked_reservation($result['sessions_id'])) 174 tep_db_query("delete from " . TABLE_EVENTS_SESSIONS . " where sessions_id='" . $result['sessions_id'] . "'"); 175 else 176 tep_db_query("update " . TABLE_EVENTS_SESSIONS . " set sessions_type='' where sessions_id='" . $result['sessions_id'] . "'"); 177 } 178 } 179 function tep_add_multiple_session($sql_data_array) 180 { 181 $session_query=tep_db_query("select sessions_id from " . TABLE_EVENTS_SESSIONS . " where events_id='" . $sql_data_array['events_id'] . "' and start_date='". $sql_data_array['start_date'] . "'"); 182 $cnt=tep_db_num_rows($session_query); 183 if ($cnt>0){ 184 $result=tep_db_fetch_array($session_query); 185 tep_db_query("update " . TABLE_EVENTS_SESSIONS . " set sessions_type='R', recursive_sessions_id='" . $sql_data_array['recursive_sessions_id'] . "' where sessions_id='" . $result['sessions_id'] . "'"); 186 return; 187 } 188 tep_db_perform(TABLE_EVENTS_SESSIONS, $sql_data_array); 189 } 190 function tep_delete_single_session($session_id) 191 { 192 if (!tep_check_linked_reservation($session_id)) 193 tep_db_query("delete from " . TABLE_EVENTS_SESSIONS . " where sessions_id='" . $session_id . "'"); 194 else 195 tep_db_query("update " . TABLE_EVENTS_SESSIONS . " set sessions_type='' where sessions_id='" . $session_id . "'"); 196 } 197 function tep_delete_recursive_session($session_id) 198 { 199 tep_db_query("delete from " . TABLE_RECURSIVE_SESSIONS . " where recursive_sessions_id='" . $session_id . "'"); 200 } 201 function tep_change_event_valid($event_id,$old_id) 202 { 203 if ((int)$old_id=='') $old_id=0; 204 if ($event_id==$old_id) 205 return ''; 206 207 $session_type_new=tep_get_session_type($event_id); 208 $session_type_old=tep_get_session_type($old_id); 209 210 if ($session_type_new=='' && $session_type_old=='') 211 return ''; 212 213 if ($session_type_new=='' && $session_type_old!='') 214 return ''; 215 216 if ($session_type_new=='S' && $session_type_old=='S') 217 return ''; 218 219 if ($session_type_new=='R' && $session_type_old=='R') 220 return ''; 221 222 if ($session_type_new=='S' && $session_type_old!='S') 223 return sprintf(TEXT_ERR_RECUR_SINGLE,tep_get_events_name($event_id)); 224 225 if ($session_type_new=='R' && $session_type_old!='R') 226 return sprintf(TEXT_ERR_SINGLE_RECUR,tep_get_events_name($event_id)); 227 else 228 return sprintf(TEXT_ERR_RECUR_SINGLE,tep_get_events_name($event_id)); 229 } 230 function tep_add_single_session($sql_data_array) 231 { 232 global $session_id; 233 $session_query=tep_db_query("select sessions_id from " . TABLE_EVENTS_SESSIONS . " where events_id='" . $sql_data_array['events_id'] . "' and start_date='". $sql_data_array['start_date'] . "'"); 234 $cnt=tep_db_num_rows($session_query); 235 if ($cnt>0){ 236 $result=tep_db_fetch_array($session_query); 237 tep_db_query("update " . TABLE_EVENTS_SESSIONS . " set sessions_type='S' where sessions_id='" . $result['sessions_id'] . "'"); 238 return; 239 } 240 tep_db_perform(TABLE_EVENTS_SESSIONS, $sql_data_array); 241 $session_id=tep_db_insert_id(); 242 } 243 function tep_check_dates_collide($start_date,$end_date,$session_id,$event_id){ 244 $date_query=tep_db_query("select sessions_start_date,sessions_end_date from " . TABLE_RECURSIVE_SESSIONS . " where ('" . $start_date . "' between sessions_start_date and sessions_end_date or '" . $end_date . "' between sessions_start_date and sessions_end_date or ('" . $start_date . "'< sessions_start_date and '" . $end_date . "'>sessions_end_date)) and recursive_sessions_id!='" . $session_id . "' and events_id='" . $event_id . "'"); 245 $cnt=tep_db_num_rows($date_query); 246 if ($cnt>0) 247 return true; 248 else 249 return false; 250 } 251 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| [ Powered by PHPXref - Served by Debian GNU/Linux ] |