Advertisement
Guest User

CI Calendar With Ajax

a guest
Jun 6th, 2014
362
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.93 KB | None | 0 0
  1. <?php
  2. private function _calconfig()
  3.     {
  4.         return array(
  5.             'start_day'         => 'monday',
  6.             'show_next_prev'    => true,
  7.             'next_prev_url'     => base_url('view/show_cal_ajax'),
  8.             'month_type'        => 'long',
  9.             'day_type'          => 'short',
  10.             'template'          => '{table_open}<table class="mytablecal">{/table_open}
  11.                                    
  12.                                        {heading_row_start}&nbsp;{/heading_row_start}
  13.                                             {heading_previous_cell}<caption><a id="prevcal" href="{previous_url}" class="prev_date" title="Previous Month">&lt;&lt; </a>{/heading_previous_cell}
  14.                                             {heading_title_cell}<span class="heading-kalender"> {heading} </span>{/heading_title_cell}
  15.                                             {heading_next_cell}<a id="nextcal" href="{next_url}" class="next_date"  title="Next Month"> &gt;&gt;</a></caption>{/heading_next_cell}
  16.                                        {heading_row_end}<col class="weekdays" span="5"><col class="weekend"><col class="weekend">{/heading_row_end}
  17.                                        
  18.                                        {week_row_start}<thead><tr>{/week_row_start}
  19.                                             {week_day_cell}<th>{week_day}</th>{/week_day_cell}
  20.                                        {week_row_end}</tr></thead><tbody>{/week_row_end}
  21.                                        
  22.                                        {cal_row_start}<tr>{/cal_row_start}                                     
  23.                                            {cal_cell_start}<td>{/cal_cell_start}
  24.                                                {cal_cell_content}<div data-toggle="modal" data-target=".mymodal" class="detail" val="{day}"><span class="myclass">{day}</span><span class="d{day}">{content}</span></div>{/cal_cell_content}
  25.                                                {cal_cell_content_today}<div data-toggle="modal" data-target=".mymodal" class="detail" val="{day}"><span class="myclass">{day}</span><span class="d{day}">{content}</span></div>{/cal_cell_content_today}
  26.                                                
  27.                                                {cal_cell_no_content}<div data-toggle="modal" data-target=".mymodal" class="detail" val="{day}"><span class="myclass">{day}</span><span class="d{day}">&nbsp;</span></div>{/cal_cell_no_content}
  28.                                                {cal_cell_no_content_today}<div data-toggle="modal" data-target=".mymodal" class="detail" val="{day}"><span class="myclass">{day}</span><span class="d{day}">&nbsp;</span></div>{/cal_cell_no_content_today}
  29.                                                
  30.                                                {cal_cell_blank}&nbsp;{/cal_cell_blank}
  31.                                            {cal_cell_end}</td>{/cal_cell_end}                                      
  32.                                        {cal_row_end}</tr>{/cal_row_end}
  33.                                    
  34.                                    {table_close}</tbody></table>{/table_close}');
  35.     }
  36.  
  37. public function default_cal($yr = NULL, $mth = NULL)
  38. {
  39.         $this->load->model('m_cal');
  40.         $this->load->library('calendar', $this->_calconfig());
  41.         $year = $month = "";
  42.         if($yr != NULL && $mth != NULL)
  43.         {
  44.             $month = $mth;
  45.             $year = $yr;
  46.         }
  47.         else
  48.         {
  49.             $month = date('m');
  50.             $year = date('Y');
  51.         }
  52.        
  53.         $numEvent   = $this->m_cal->numOfEvent($month, $year);
  54.         $data           = array(
  55.                             'cal_data' => $this->calendar->generate($year, $month, $numEvent),                           
  56.                             'month'             => $month,
  57.                             'year'              => $year
  58.                         );
  59.         return $data;
  60. }
  61.    
  62. public function show_cal_ajax($yr = NULL, $mth = NULL)
  63.     {
  64.         $this->load->model('m_cal');
  65.         $this->load->library('calendar', $this->_calconfig());
  66.         $year = $month = "";
  67.         if($yr != NULL && $mth != NULL)
  68.         {
  69.             $month = $mth;
  70.             $year = $yr;
  71.         }
  72.         else
  73.         {
  74.             $month = date('m');
  75.             $year = date('Y');
  76.         }
  77.        
  78.         $numEvent   = $this->m_cal->numOfEvent($month, $year);
  79.         $data           = array(
  80.                             'cal_data' => $this->calendar->generate($year, $month, $numEvent)
  81.                         );
  82.         echo $data['cal_data'];
  83.     }
  84.  
  85. public function show_event_detail()
  86.     {
  87.         $this->load->model('m_cal');
  88.         $this->load->library('calendar', $this->_calconfig());
  89.  
  90.         ?>
  91.         <div class="modal-header">
  92.             <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  93.             <h5 class="modal-title hdr-mdl-title"><span class="glyphicon glyphicon-calendar"></span> Calendar Detail</h5>
  94.             </div>
  95.             <div class="modal-body">
  96.                 <div class="row mymodalcontent">
  97.         <?php
  98.             if($data = $this->m_cal->listEvent($this->input->post('d'), $this->input->post('m'), $this->input->post('y')))
  99.             {
  100.                 foreach ($data as  $val) {
  101.                     ?>
  102.                     <div class="col-md-6 cnt-isi-kal">                     
  103.                         <div class="row form-horizontal">
  104.                             <label class="col-md-4">Room Name :</label>
  105.                             <div class="col-md-8">
  106.                                 <label class="cont"><?php echo $val['room']; ?></label>
  107.                             </div>
  108.                             <label class="col-md-4">Time :</label>
  109.                             <div class="col-md-8">
  110.                                 <label class="cont"><?php echo $val['time']; ?></label>
  111.                             </div>
  112.                             <label class="col-md-4">Purpose :</label>
  113.                             <div class="col-md-8">
  114.                                 <label class="cont"><?php echo $val['purpose']; ?></label>
  115.                             </div>
  116.                         </div> 
  117.                     </div>
  118.                     <?php
  119.                 }              
  120.             }
  121.             else
  122.             {
  123.                 ?>
  124.                 <div class="modal-msg"><h4>Not Found</h4></div>
  125.                 <?php
  126.             }  
  127.         ?>
  128.             </div>
  129.         </div>
  130.         <div class="modal-footer ftr-mdl-jdwl">
  131.             <div class="isi-ftr-mdl-jdwl">
  132.                 <p class="update-info-jdwl-popup"><em>Last update : &nbsp; <?php echo $lastUpdate; ?></em></p>
  133.                 <button type="button" class="btn btn-primary btn-sm" data-dismiss="modal">Close</button>
  134.             </div>
  135.         </div>
  136.         <?php
  137.     }
  138.     ?>
  139.     $(document).on('click','#prevcal',function(){
  140.         var href = $(this).attr('href');       
  141.         $.post(href, {}, function(data){
  142.             $('#calendar').html(data);
  143.         });
  144.  
  145.         return false;
  146.     });
  147.  
  148.     $(document).on('click','#nextcal',function(){
  149.         var href = $(this).attr('href');       
  150.         $.post(href, {}, function(data){
  151.             $('#calendar').html(data);
  152.         });
  153.  
  154.         return false;
  155.     });
  156.  
  157. $(".detail").on('click',function(){
  158.         var day = $(this).attr('val');
  159.  
  160.         $.ajax({
  161.             type: 'POST',
  162.             dataType: 'html',
  163.             url: <?php echo "'".base_url('view/show_event_detail')."'"; ?>,
  164.             data:{<?php echo "y: $year, m: $month";?>, d: day},
  165.             success: function( data ) {
  166.                 $( ".modal-content").html(data);
  167.             },
  168.             error: function(){
  169.                 alert('Error: ajax request error.');
  170.             }
  171.         });
  172. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement