Source for file LC_Page_FrontParts_Bloc_Calendar.php

Documentation is available at LC_Page_FrontParts_Bloc_Calendar.php

  1. <?php
  2. /*
  3.  * This file is part of EC-CUBE
  4.  *
  5.  * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
  6.  *
  7.  * http://www.lockon.co.jp/
  8.  *
  9.  * This program is free software; you can redistribute it and/or
  10.  * modify it under the terms of the GNU General Public License
  11.  * as published by the Free Software Foundation; either version 2
  12.  * of the License, or (at your option) any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; if not, write to the Free Software
  21.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  22.  */
  23.  
  24. // {{{ requires
  25. $current_dir realpath(dirname(__FILE__));
  26. define('CALENDAR_ROOT'DATA_PATH.'module/Calendar'.DIRECTORY_SEPARATOR);
  27. require_once($current_dir "/../../../../module/Calendar/Month/Weekdays.php");
  28. require_once(CLASS_PATH "pages/frontparts/bloc/LC_Page_FrontParts_Bloc.php");
  29.  
  30. /**
  31.  * Calendar のページクラス.
  32.  *
  33.  * @package Page
  34.  * @author LOCKON CO.,LTD.
  35.  * @version $ $
  36.  */
  37.  
  38.     // }}}
  39.     // {{{ functions
  40.  
  41.     /**
  42.      * Page を初期化する.
  43.      *
  44.      * @return void 
  45.      */
  46.     function init({
  47.         parent::init();
  48.         $bloc_file 'calendar.tpl';
  49.         $this->setTplMainpage($bloc_file);
  50.     }
  51.  
  52.     /**
  53.      * Page のプロセス.
  54.      *
  55.      * @return void 
  56.      */
  57.     function process({
  58.         if (defined("MOBILE_SITE"&& MOBILE_SITE{
  59.             $objView new SC_MobileView();
  60.         else {
  61.             $objView new SC_SiteView();
  62.         }
  63.  
  64.         // 休日取得取得
  65.         $this->arrHoliday $this->lfGetHoliday();
  66.  
  67.         // 定休日取得取得
  68.         $this->arrRegularHoliday $this->lfGetRegularHoliday();
  69.  
  70.         // カレンダーデータ取得
  71.         $this->arrCalendar $this->lfGetCalendar(2);
  72.  
  73.         $objView->assignobj($this);
  74.         $objView->display($this->tpl_mainpage);
  75.     }
  76.  
  77.     /**
  78.      * モバイルページを初期化する.
  79.      *
  80.      * @return void 
  81.      */
  82.     function mobileInit({
  83.          $this->tpl_mainpage = MOBILE_TEMPLATE_DIR "frontparts/"
  84.             . BLOC_DIR 'best5.tpl';
  85.     }
  86.  
  87.     /**
  88.      * Page のプロセス(モバイル).
  89.      *
  90.      * @return void 
  91.      */
  92.     function mobileProcess({
  93.         $this->process();
  94.     }
  95.  
  96.     /**
  97.      * デストラクタ.
  98.      *
  99.      * @return void 
  100.      */
  101.     function destroy({
  102.         parent::destroy();
  103.     }
  104.  
  105.     // カレンダー情報取得
  106.     function lfGetCalendar($disp_month 1){
  107.  
  108.         for ($j 0$j <= $disp_month-1++$j{
  109.             $year date('Y');
  110.             $month date('n'$j;
  111.             if ($month 12{
  112.                 $month $month%12;
  113.                 $year $year $month%12;
  114.             }
  115.  
  116.             $Month new Calendar_Month_Weekdays($year$month0);
  117.             $Month->build();
  118.             $i 0;
  119.             while ($Day $Month->fetch()) {
  120.                 if ($month == $Day->month{
  121.                     $arrCalendar[$j][$i]['in_month'true;
  122.                 else {
  123.                     $arrCalendar[$j][$i]['in_month'false;
  124.                 }
  125.                 $arrCalendar[$j][$i]['first'$Day->first;
  126.                 $arrCalendar[$j][$i]['last'$Day->last;
  127.                 $arrCalendar[$j][$i]['empty'$Day->empty;
  128.                 $arrCalendar[$j][$i]['year'$year;
  129.                 $arrCalendar[$j][$i]['month'$month;
  130.                 $arrCalendar[$j][$i]['day'$Day->day;
  131.                 #if ($this->lfCheckHoliday($month, $Day->day) || $Day->first || $Day->last) {
  132.                 if ($this->lfCheckHoliday($year$month$Day->day)) {
  133.                     $arrCalendar[$j][$i]['holiday'true;
  134.                 else {
  135.                     $arrCalendar[$j][$i]['holiday'false;
  136.                 }
  137.                 ++$i;
  138.             }
  139.         }
  140.  
  141.         return $arrCalendar;
  142.     }
  143.  
  144.     // 休日取得
  145.     function lfGetHoliday({
  146.         $objQuery new SC_Query();
  147.         $objQuery->setorder("rank DESC");
  148.  
  149.         $where "del_flg <> 1";
  150.         $arrRet $objQuery->select("month, day""dtb_holiday"$where);
  151.         foreach ($arrRet AS $key=>$val{
  152.             $arrHoliday[$val['month']][$val['day'];
  153.         }
  154.         return $arrHoliday;
  155.     }
  156.  
  157.     // 定休日取得
  158.     function lfGetRegularHoliday({
  159.         $objSIteInfo new SC_SiteInfo();
  160.         $arrRegularHoliday explode('|'$objSIteInfo->data['regular_holiday_ids']);
  161.         return $arrRegularHoliday;
  162.     }
  163.  
  164.  
  165.     // 休日チェック
  166.     function lfCheckHoliday($year$month$day{
  167.         if (!empty($this->arrHoliday[$month])) {
  168.             if (in_array($day$this->arrHoliday[$month])) {
  169.                 return true;
  170.             }
  171.         }
  172.         if (!empty($this->arrRegularHoliday)) {
  173.             $w date('w'mktime(0,0,,$month$day$year));
  174.             if (in_array($w$this->arrRegularHoliday)) {
  175.                 return true;
  176.             }
  177.         }
  178.         return false;
  179.     }
  180.  
  181. }
  182. ?>

Documentation generated on Tue, 28 Apr 2009 18:12:13 +0900 by phpDocumentor 1.4.2