예제 #1
0
	function addEventDate($runat,$event_id,$event_date='',$start_time='',$end_time=''){
		ob_start();			
		$this->event_id=$event_id;
		switch($runat) {
			case 'local':
				$FormName='FrmAddDate';				
				$ControlNames=array("event_date"	=>array('event_date',"''","Please Select Event Date ","span_event_date")															
									);
										
				$ValidationFunctionName="CheckValidity";
				$JsCodeForFormValidation=$this->validity->ShowJSFormValidationCode($FormName,$ControlNames,$ValidationFunctionName,$SameFields,$ErrorMsgForSameFields);
				echo $JsCodeForFormValidation;						
				?>				
				<script type="text/javascript">
				function checkTime(start_time,end_time){					
					var temp_start1 = new Array();
					var temp_end1 = new Array();
					var temp_start = new Array();
					var temp_end = new Array()
					var flag=0;
					temp_start1 = start_time.split(" ");
					temp_end1 = end_time.split(" ");
					temp_start = temp_start1[0].split(":");
					temp_end = temp_end1[0].split(":");
									
					if(temp_start1[1]=='pm') {
						temp_start[0]=parseInt(temp_start[0])+12;
					}
						
					if(temp_end1[1]=='pm') {
						temp_end[0]=parseInt(temp_end[0])+12;
					}
					if(parseInt(temp_start[0]) > parseInt(temp_end[0])) {
						flag=1;
						}
					else if(parseInt(temp_start[0]) == parseInt(temp_end[0]) && parseInt(temp_start[1]) > parseInt(temp_end[1])) {
						flag=1;
						}
					if(flag==1) { alert('Start time is greater then end time !!'); return false; }
					else return true;			
				
				}				
				
				</script>				
				<div class="prl">&nbsp;</div>
				<div id="lightbox">
				
					<div style="background-color:#ADC2EB;" align="left" class="ajax_heading">
					<div id="TB_ajaxWindowTitle">Add Event Date</div>
					<div id="TB_closeAjaxWindow"><a href="javascript:void(0)" onclick="javascript: document.getElementById('div_event').style.display='none';jQuery.ptTimeSelect.closeCntr();"><img border="0" src="images/close.gif" alt="close" /></a></div>
				</div>
				<div  class="white_content"> 
				<div style="padding:20px;" class="form_main">
				<ul id="error_list">
						<li><span id="span_event_date"></span></li>									
				</ul>		
				<form name="<?php echo $FormName; ?>" method="post" action="" enctype="multipart/form-data" >
				<table class="table" width="100%">
				<tr>
					<th>Event Date</th><td>
					<?php 
					if($event_date=='')
					{
					  
						$sql = "select * from ".EM_DATE." where event_id= ".$this->event_id." order by  event_date desc limit 1";
						$result = $this->db->query($sql,__FILE__,__lINE__);			
						$row = $this->db->fetch_array($result);		
						$d = explode("-",$row['event_date']);		
						if($row['event_date']) $event_date= date("Y-m-d",mktime(0, 0, 0, $d[1], ($d[2]+1), $d[0]));
						else $event_date= date("Y-m-d");												
					}
					?>
				<input name="event_date" type="text"  id="event_date" value="<?php echo $event_date;?>" readonly="true"/>			
				<script type="text/javascript">	
				 
				 function start_cal()  {				 
				 new Calendar({
				 inputField   	: "event_date",
				 dateFormat		: "%Y-%m-%d",
				 trigger		: "event_date",
				 weekNumbers   	: true,
				 bottomBar		: true,	
				 selected       : <?php echo $event_date;?>,			 
				 onSelect		: function() {
										this.hide();
										document.<?php echo $FormName;?>.event_date.value=this.selection.print("%Y-%m-%d");									
									}				
				  });
				  }
				
				</script>
				<a href="javascript:void(0);" onclick="javascript: document.<?php echo $FormName;?>.event_date.value='';"><img src="images/trash.gif" border="0"/></a>		
					</td>
					<th>Start Time</th>
					<td><input id='start_time' name="start_time" type='text' value="00:00 am" size="8" maxlength="8" ></td>
					</td>
					<th>End Time</th>
					<td><input id='end_time' name="end_time" type='text' value="00:00 pm" size="8" maxlength="8" ></td>
					<td><input type="button" name="submit" value="Add" id="submit" onClick="javascript: if(<?php echo $ValidationFunctionName; ?>()) { if(checkTime(this.form.start_time.value,this.form.end_time.value)) {  evt.checkConflict(this.form.event_date.value,'<?php echo $event_id; ?>',{onUpdate: function(response,root){
					res_arr = response.split('^');
					if(res_arr[0]>0 || res_arr[1]>0){
					 if(confirm('you have conflict in '+res_arr[0]+' contact(s) <?php if(count($_SESSION[contact_conflict])>0){ echo "with contact id(s) ";
					 for($k=0;$k<count($_SESSION[contact_conflict]);$k++)
					 	echo $_SESSION[contact_conflict][$k].","; } ?> and '+res_arr[1]+' equipment(s) <?php if(count($_SESSION[equipment_conflict])>0){ echo "with equipment id(s) ";
					 		for($k=0;$k<count($_SESSION[equipment_conflict]);$k++)
					 	echo $_SESSION[equipment_conflict][$k].","; } ?>.\nDo you wish to continue.'))
					 {					 	
						if(res_arr[0]>0){
							evt.addTaskForContact('<?php echo $event_id; ?>',{preloader:'prl'});
						}
						if(res_arr[1]>0){
							evt.addTaskForEquipment('<?php echo $event_id; ?>',{preloader:'prl'});
						}
						evt.addEventDate('server','<?php echo $event_id; ?>',document.getElementById('event_date').value,document.getElementById('start_time').value,document.getElementById('end_time').value,{target:'div_event', preloader: 'prl'});
					 } else {
					 document.getElementById('div_event').style.display='none';
					 evt.ShowEventDate('<?php echo $event_id ?>',{target:'event_date',preloader: 'prl'});
					 }					 
				} else {
						evt.addEventDate('server','<?php echo $event_id; ?>',document.getElementById('event_date').value,document.getElementById('start_time').value,document.getElementById('end_time').value,{target:'div_event', preloader: 'prl'});
					}
					
					}, preloader: 'prl'});   } } jQuery.ptTimeSelect.closeCntr();return false;" /></td>
					</tr>
					</table>
				  </form>
					</div></div></div>
				<?php
				break;
			case 'server':
								
				$sql_date = "select event_date from ".EM_DATE." where event_id= '".$event_id."'";
				$result_date = $this->db->query($sql_date,__FILE__,__LINE__);
				while($row_date = $this->db->fetch_array($result_date))
					if($row_date['event_date']==$event_date) $flag=1;				
				if($flag==1) {
					?><script> alert("Select a new date!! This date is already exist!!");
						evt.addEventDate('local','<?php echo $this->event_id;?>',
						{ onUpdate: function(response,root){
							 document.getElementById('div_event').innerHTML=response;
		  				 	 document.getElementById('div_event').style.display='';
							 start_cal();					 					 
							 }, preloader: 'prl'
						} );							
						</script> <?php				
					}
				else {
					$insert_sql_array[event_date] = $event_date;
					$insert_sql_array[end_time] = $end_time;
					$insert_sql_array[start_time] = $start_time;
					$insert_sql_array[event_id] = $event_id;	
					$this->db->insert(EM_DATE,$insert_sql_array);
					$con = new Event_Contacts();
					$sql = "select * from ".EM_DATE." where event_id= '".$event_id."'";
					$result = $this->db->query($sql,__FILE__,__LINE__);
					
					$sql_staff = "select * from ".EM_STAFFING." where event_id= '".$event_id."' and status='Staffed'";
					$result_staff = $this->db->query($sql_staff,__FILE__,__LINE__);
					while($row_staff = $this->db->fetch_array($result_staff)) {
					  if($row_staff[contact_id]){
						while($row = $this->db->fetch_array($result)) {
							$con->Availability($row_staff[contact_id],$event_id,$row['event_date'],$row['start_time'],$row['end_time'],'Event Assigned');
						}
					  }
					}
					/********************************************/
					$sql = "select * from ".EM_EVENT." where event_id= '".$event_id."'";
					$result = $this->db->query($sql,__FILE__,__LINE__);
					$row = $this->db->fetch_array($result);
					if(count($_SESSION[equipment_conflict])>0){
						$sql_eve = "select * from ".EM_EVENT_EQUIPMENT." where event_id= '".$event_id."'";
						$result_eve = $this->db->query($sql_eve,__FILE__,__LINE__);
						while($row_eve = $this->db->fetch_array($result_eve)) {
						  $sql_avail = "update ".EM_EQUIPMENT_AVAILABILITY." set `status`='".$row[group_event_id]."' where `event_id`= '".$event_id."' and `unavailability_date`='".$event_date."' and `equipment_id`='".$row_eve[equipment_id]."'";
						  ?><script type="text/javascript">alert('<?php echo $sql_avail; ?>')</script><?
						  $this->db->query($sql_avail,__FILE__,__LINE__);
						}
					} 
					else {
						$equipment = new Equipment();
						$sql = "select * from ".EM_DATE." where event_id= '".$event_id."'";
						$result = $this->db->query($sql,__FILE__,__LINE__);
						
						$sql_equip = "select * from ".EM_EVENT_EQUIPMENT." where event_id= '".$event_id."'";
						$result_equip = $this->db->query($sql_equip,__FILE__,__LINE__);
						while($row_equip = $this->db->fetch_array($result_equip)) {
							while($row = $this->db->fetch_array($result)) {
								$equipment->assignEquipment($row_equip[equipment_id],$event_id);
							}
						}
					}
				}
				?>
				<script type="text/javascript">
				document.getElementById('div_event').innerHTML='';
				evt.ShowEventDate('<?php echo $this->event_id ?>',{target:'event_date',preloader: 'prl'});
				</script>
				<?php				
				break;
		}
		$html = ob_get_contents();
		ob_end_clean();
		return $html;
	} 
예제 #2
0
 function assignStaff($event_id = '', $staffing_id = '', $contact_id = '')
 {
     ob_start();
     $sql_staff = "select * from " . EM_STAFFING . " where staffing_id='" . $staffing_id . "'";
     $result_staff = $this->db->query($sql_staff, __FILE__, __LINE__);
     $row = $this->db->fetch_array($result_staff);
     $event_id = $row['event_id'];
     if ($row['contact_id'] != '') {
         $this->deletePosition($staffing_id, $event_id, 'unstaff', 'false');
     }
     $con = new Event_Contacts();
     $update_sql_array = array();
     $update_sql_array['contact_id'] = $contact_id;
     //$update_sql_array['status'] = 'Staffed';
     $this->db->update(EM_STAFFING, $update_sql_array, 'staffing_id', $staffing_id);
     $sql = "select * from " . EM_DATE . " where event_id= '" . $event_id . "'";
     $result = $this->db->query($sql, __FILE__, __LINE__);
     while ($row = $this->db->fetch_array($result)) {
         $con->Availability($contact_id, $event_id, $row['event_date'], $row['start_time'], $row['end_time'], 'Event Assigned');
     }
     $html = ob_get_contents();
     ob_end_clean();
     return $html;
 }