173 lines
5.0 KiB
PHP
173 lines
5.0 KiB
PHP
<?php
|
|
|
|
/*
|
|
+--------------------------------------------------------------------------
|
|
| Invision Power Board
|
|
| =============================================
|
|
| by Matthew Mecham
|
|
| (c) 2001 - 2006 Invision Power Services, Inc.
|
|
| http://www.invisionpower.com
|
|
| =============================================
|
|
| Web: http://www.invisionboard.com
|
|
| Licence Info: http://www.invisionboard.com/?license
|
|
+---------------------------------------------------------------------------
|
|
| > $Date: 2006-09-22 11:28:54 +0100 (Fri, 22 Sep 2006) $
|
|
| > $Revision: 567 $
|
|
| > $Author: matt $
|
|
+---------------------------------------------------------------------------
|
|
|
|
|
| > PORTAL PLUG IN MODULE: CALENDAR
|
|
| > Module written by Matt Mecham
|
|
| > Date started: Tuesday 2nd August 2005 (15:52)
|
|
+--------------------------------------------------------------------------
|
|
*/
|
|
|
|
/**
|
|
* Portal Plug In Module
|
|
*
|
|
* Portal Calendar functions
|
|
*
|
|
* @package InvisionPowerBoard
|
|
* @subpackage PortalPlugIn
|
|
* @author Matt Mecham
|
|
* @copyright Invision Power Services, Inc.
|
|
* @version 2.1
|
|
*/
|
|
|
|
/**
|
|
* Portal Plug In Module
|
|
*
|
|
* Portal Blog functions
|
|
* Each class name MUST be in the format of:
|
|
* ppi_{file_name_minus_dot_php}
|
|
*
|
|
* @package InvisionPowerBoard
|
|
* @subpackage PortalPlugIn
|
|
* @author Matt Mecham
|
|
* @copyright Invision Power Services, Inc.
|
|
* @version 2.1
|
|
*/
|
|
|
|
if ( ! defined( 'IN_IPB' ) )
|
|
{
|
|
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded 'admin.php'.";
|
|
exit();
|
|
}
|
|
|
|
class ppi_calendar
|
|
{
|
|
/**
|
|
* IPS Global object
|
|
*
|
|
* @var string
|
|
*/
|
|
var $ipsclass;
|
|
|
|
/**
|
|
* Array of portal objects including:
|
|
* good_forum, bad_forum
|
|
*
|
|
* @var array
|
|
*/
|
|
var $portal_object = array();
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
// INIT
|
|
/*-------------------------------------------------------------------------*/
|
|
/**
|
|
* This function must be available always
|
|
* Add any set up here, such as loading language and skins, etc
|
|
*
|
|
*/
|
|
function init()
|
|
{
|
|
}
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
// MAIN FUNCTION
|
|
/*-------------------------------------------------------------------------*/
|
|
/**
|
|
* Main function
|
|
*
|
|
* @return VOID
|
|
*/
|
|
function calendar_show_current_month()
|
|
{
|
|
//-----------------------------------------
|
|
// INIT
|
|
//-----------------------------------------
|
|
|
|
//-----------------------------------------
|
|
// Grab calendar class
|
|
//-----------------------------------------
|
|
|
|
require_once( ROOT_PATH . 'sources/action_public/calendar.php' );
|
|
$calendar = new calendar();
|
|
$calendar->ipsclass =& $this->ipsclass;
|
|
|
|
//-----------------------------------------
|
|
// Load lang and templs
|
|
//-----------------------------------------
|
|
|
|
$this->ipsclass->load_language('lang_calendar');
|
|
$this->ipsclass->load_template('skin_calendar');
|
|
|
|
//-----------------------------------------
|
|
// DO some set up
|
|
//-----------------------------------------
|
|
|
|
$calendar->calendar_id = 1; // CHANGE TO DEFAULT?
|
|
|
|
$calendar->calendar = $this->ipsclass->DB->build_and_exec_query( array( 'select' => '*',
|
|
'from' => 'cal_calendars',
|
|
'where' => 'cal_id='.$calendar->calendar_id ) );
|
|
|
|
$calendar->calendar = array_merge( unserialize( $calendar->calendar['cal_permissions'] ), $calendar->calendar );
|
|
|
|
if ( $this->ipsclass->check_perms($calendar->calendar['perm_read']) != TRUE )
|
|
{
|
|
return '';
|
|
}
|
|
|
|
//-----------------------------------------
|
|
// Finally, build up the lang arrays
|
|
//-----------------------------------------
|
|
|
|
$calendar->month_words = array( $this->ipsclass->lang['M_1'] , $this->ipsclass->lang['M_2'] , $this->ipsclass->lang['M_3'] ,
|
|
$this->ipsclass->lang['M_4'] , $this->ipsclass->lang['M_5'] , $this->ipsclass->lang['M_6'] ,
|
|
$this->ipsclass->lang['M_7'] , $this->ipsclass->lang['M_8'] , $this->ipsclass->lang['M_9'] ,
|
|
$this->ipsclass->lang['M_10'], $this->ipsclass->lang['M_11'], $this->ipsclass->lang['M_12'] );
|
|
|
|
$calendar->day_words = array( $this->ipsclass->lang['D_0'], $this->ipsclass->lang['D_1'], $this->ipsclass->lang['D_2'],
|
|
$this->ipsclass->lang['D_3'], $this->ipsclass->lang['D_4'], $this->ipsclass->lang['D_5'],
|
|
$this->ipsclass->lang['D_6'] );
|
|
|
|
//-----------------------------------------
|
|
// What now?
|
|
//-----------------------------------------
|
|
|
|
$a = explode( ',', gmdate( 'Y,n,j,G,i,s', time() + $this->ipsclass->get_time_offset() ) );
|
|
|
|
$now_date = array(
|
|
'year' => $a[0],
|
|
'mon' => $a[1],
|
|
'mday' => $a[2],
|
|
'hours' => $a[3],
|
|
'minutes' => $a[4],
|
|
'seconds' => $a[5]
|
|
);
|
|
|
|
$content = $calendar->get_mini_calendar( $now_date['mon'], $now_date['year'] );
|
|
|
|
return $this->ipsclass->compiled_templates['skin_portal']->tmpl_calendar_wrap( $content );
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
?>
|