Version 2.2.0 RC-1

This commit is contained in:
Neo committed 2025-12-19 00:22:37 -08:00
1 parent f73f8bff6d
commit 22f1b963ee
1034 files changed
+178610 -70897

No files matched your search

+104 -67
View File
@@ -2,27 +2,17 @@
/*
+--------------------------------------------------------------------------
| Invision Power Board 2.1.7
| Invision Power Board
| =============================================
| by Matthew Mecham
| (c) 2001 - 2005 Invision Power Services, Inc.
| (c) 2001 - 2006 Invision Power Services, Inc.
| http://www.invisionpower.com
| =============================================
| Web: http://www.invisionboard.com
| http://www.ibresource.ru/products/invisionpowerboard/
| Time: Tuesday 18th of July 2006 05:56:00 PM
| Release: 52f408a29988b02f45b5e6f4ba5af0ae
| Licence Info: http://www.invisionboard.com/?license
| http://www.ibresource.ru/license
+---------------------------------------------------------------------------
| INVISION POWER BOARD IS NOT FREE / OPEN SOURCE!
+---------------------------------------------------------------------------
| INVISION POWER BOARD ÍÅ ßÂËßÅÒÑß ÁÅÑÏËÀÒÍÛÌ ÏÐÎÃÐÀÌÌÍÛÌ ÎÁÅÑÏÅ×ÅÍÈÅÌ!
| Ïðàâà íà ÏÎ ïðèíàäëåæàò Invision Power Services
| Ïðàâà íà ïåðåâîä IBResource (http://www.ibresource.ru)
+---------------------------------------------------------------------------
| > $Date: 2006-01-31 22:47:20 +0000 (Tue, 31 Jan 2006) $
| > $Revision: 131 $
| > $Date: 2006-10-06 23:00:51 +0100 (Fri, 06 Oct 2006) $
| > $Revision: 617 $
| > $Author: bfarber $
+---------------------------------------------------------------------------
|
@@ -54,6 +44,7 @@ class ad_calendars
function auto_run()
{
$this->ipsclass->admin->nav[] = array( $this->ipsclass->form_code, 'Manage Calendars' );
$this->html = $this->ipsclass->acp_load_template('cp_skin_management');
switch($this->ipsclass->input['code'])
@@ -125,7 +116,7 @@ class ad_calendars
if ( ! $cal_id )
{
$this->ipsclass->main_msg = "Íå îäèí ID íå âûáðàí, ïîâòîðèòå ïîïûòêó çàíîâî ";
$this->ipsclass->main_msg = "No ID was passed, please try again";
$this->components_list();
return;
}
@@ -149,7 +140,7 @@ class ad_calendars
$this->calendar_rebuildcache();
$this->calendar_rss_cache();
$this->ipsclass->main_msg = "Êàëåíäàðü óäàëåí";
$this->ipsclass->main_msg = "Calendar Removed";
$this->calendar_list();
}
@@ -172,7 +163,7 @@ class ad_calendars
if ( ! $cal_id OR ! $move )
{
$this->ipsclass->main_msg = "Íå îäèí ID íå âûáðàí, ïîâòîðèòå ïîïûòêó çàíîâî";
$this->ipsclass->main_msg = "No ID was passed, please try again";
$this->calendar_list();
return;
}
@@ -187,7 +178,7 @@ class ad_calendars
$this->ipsclass->DB->do_update( 'cal_calendars', array( 'cal_position' => $new_position ), 'cal_id='.$cal_id );
$this->ipsclass->main_msg = "Êàëåíäàðü ïåðåñòðîåí";
$this->ipsclass->main_msg = "Calendar repositioned";
$this->calendar_list();
}
@@ -325,7 +316,7 @@ class ad_calendars
$eventcache = $calendar->get_day_events( $month, $day, $year );
foreach( $eventcache as $idx => $event )
foreach( $eventcache as $event )
{
if ( ! in_array( $event['event_id'], $seenids ) )
{
@@ -391,6 +382,8 @@ class ad_calendars
{
$event['event_content'] = $this->html->calendar_rss_range( $event );
}
$event['event_unix_from'] = $event['event_tz'] ? $event['event_unix_from'] : $event['event_unix_from'] + ( $this->ipsclass->vars['time_offset'] * 3600 );
$class_rss->create_add_item( $channel_id, array( 'title' => $event['event_title'],
'link' => $this->ipsclass->vars['board_url'].'/index.php?act=calendar&code=showevent&calendar_id='.$row['cal_id'].'&event_id='.$event['event_id'],
@@ -436,7 +429,7 @@ class ad_calendars
if ( $return )
{
$this->ipsclass->main_msg = "RSS ñîáûòèÿ êàëåíäàðÿ áûëè ïåðåêåøîâàíû";
$this->ipsclass->main_msg = "Calendar Events RSS Recached";
$this->calendar_list();
}
else
@@ -555,7 +548,7 @@ class ad_calendars
$eventcache = $calendar->get_day_events( $_month, $tday, $year );
foreach( $eventcache as $idx => $event )
foreach( $eventcache as $event )
{
if ( ! in_array( $event['event_id'], $seenids ) )
{
@@ -583,11 +576,21 @@ class ad_calendars
// Grab birthdays
//-----------------------------------------
$append_string = "";
if( !date("L") )
{
if( $month == "2" AND ( $day == "28" OR $day == "27" ) )
{
$append_string = " or( bday_month=2 AND bday_day=29 )";
}
}
$this->ipsclass->DB->simple_construct( array( 'select' => 'id, members_display_name, mgroup, bday_day, bday_month, bday_year',
'from' => 'members',
'where' => "( bday_day=$last_day AND bday_month=$last_month )
or ( bday_day=$day AND bday_month=$month )
or ( bday_day=$next_day AND bday_month=$next_month )"
or ( bday_day=$next_day AND bday_month=$next_month ) {$append_string}"
) );
$this->ipsclass->DB->simple_exec();
@@ -601,14 +604,15 @@ class ad_calendars
// Update calendar array
//--------------------------------------------
$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'cache_store', 'where' => "cs_key IN ('birthdays', 'calendar')" ) );
$this->ipsclass->DB->do_insert( 'cache_store', array( 'cs_array' => 1, 'cs_key' => 'birthdays', 'cs_value' => serialize($birthdays) ) );
$this->ipsclass->DB->do_insert( 'cache_store', array( 'cs_array' => 1, 'cs_key' => 'calendar' , 'cs_value' => serialize($calevents) ) );
$this->ipsclass->cache['birthdays'] =& $birthdays;
$this->ipsclass->cache['calendar'] =& $calevents;
$this->ipsclass->update_cache( array( 'name' => 'calendar', 'array' => 1, 'deletefirst' => 1 ) );
$this->ipsclass->update_cache( array( 'name' => 'birthdays', 'array' => 1, 'deletefirst' => 1 ) );
if ( $return )
{
$this->ipsclass->main_msg = "RSS ñîáûòèÿ êàëåíäàðÿ áûëè ïåðåêåøîâàíû";
$this->ipsclass->main_msg = "Calendar Events Recached";
$this->calendar_list();
}
}
@@ -625,7 +629,7 @@ class ad_calendars
//--------------------------------------------
$cal_id = intval($this->ipsclass->input['cal_id']);
$cal_title = trim( $this->ipsclass->txt_stripslashes( $this->ipsclass->txt_UNhtmlspecialchars($_POST['cal_title'])) );
$cal_title = trim( $this->ipsclass->txt_stripslashes( $this->ipsclass->txt_htmlspecialchars($_POST['cal_title'])) );
$cal_moderate = intval($this->ipsclass->input['cal_moderate']);
$cal_event_limit = intval($this->ipsclass->input['cal_event_limit']);
$cal_bday_limit = intval($this->ipsclass->input['cal_bday_limit']);
@@ -652,7 +656,7 @@ class ad_calendars
{
if ( ! $cal_title )
{
$this->ipsclass->main_msg = "Âû äîëæíû çàïîëíèòü âñå ïîëÿ.";
$this->ipsclass->main_msg = "You must complete the entire form.";
$this->calendar_form( $type );
return;
}
@@ -717,15 +721,16 @@ class ad_calendars
$this->ipsclass->DB->do_insert( 'cal_calendars', $array );
$cal_id = $this->ipsclass->DB->get_insert_id();
$this->ipsclass->main_msg = 'Íîâûé êàëåíäàðü äîáàâëåí';
$this->ipsclass->main_msg = 'New Calendar Added';
}
else
{
$this->ipsclass->DB->do_update( 'cal_calendars', $array, 'cal_id='.$cal_id );
$this->ipsclass->main_msg = 'Êàëåíäàðü èçìåíåí';
$this->ipsclass->main_msg = 'Calendar Edited';
}
$this->calendars_rebuildcache();
$this->calendar_rebuildcache( $cal_id, 0 );
$this->calendar_rss_cache( $cal_id, 0 );
$this->calendar_list();
@@ -741,11 +746,14 @@ class ad_calendars
// Init Vars
//-----------------------------------------
$cal_id = intval($this->ipsclass->input['cal_id']);
$form = array();
$form['perm_read'] = "";
$form['perm_post'] = "";
$form['perm_nomod'] = "";
$cal_id = isset($this->ipsclass->input['cal_id']) ? intval($this->ipsclass->input['cal_id']) : 0;
$form = array();
$form['perm_read'] = "";
$form['perm_post'] = "";
$form['perm_nomod'] = "";
$form['perm_read_all'] = "";
$form['perm_post_all'] = "";
$form['perm_nomod_all'] = "";
//-----------------------------------------
// Check (please?)
@@ -754,8 +762,21 @@ class ad_calendars
if ( $type == 'add' )
{
$formcode = 'calendar_add_do';
$title = "Äîáàâèòü íîâûé êàëåíäàðü";
$button = "Äîáàâèòü";
$title = "Add New Calendar";
$button = "Add New Calendar";
$calendar = array( 'perm_read' => '',
'perm_post' => '',
'perm_nomod' => '',
'cal_title' => '',
'cal_moderate' => '',
'cal_event_limit' => '',
'cal_bday_limit' => '',
'cal_rss_export' => '',
'cal_rss_update' => '',
'cal_rss_export_days' => '',
'cal_rss_export_max' => '',
'cal_id' => 0 );
}
else
{
@@ -764,40 +785,40 @@ class ad_calendars
if ( ! $calendar['cal_id'] )
{
$this->ipsclass->main_msg = "Íå îäèí ID íå âûáðàí, ïîâòîðèòå ïîïûòêó çàíîâî.";
$this->ipsclass->main_msg = "No ID was passed, please try again.";
$this->components_list();
return;
}
$formcode = 'calendar_edit_do';
$title = "Ðåäàêòèðîâàíèå: ".$calendar['cal_title'];
$button = "Ñîõðàíèòü èçìåíåíèÿ";
$title = "Edit Calendar ".$calendar['cal_title'];
$button = "Save Changes";
}
//-----------------------------------------
// Build Groups
//-----------------------------------------
$perm_read_array = is_array( $_POST['perm_read'] ) ? $_POST['perm_read'] : explode( ',', $calendar['perm_read'] );
$perm_post_array = is_array( $_POST['perm_post'] ) ? $_POST['perm_post'] : explode( ',', $calendar['perm_post'] );
$perm_nomod_array = is_array( $_POST['perm_nomod'] ) ? $_POST['perm_nomod'] : explode( ',', $calendar['perm_nomod'] );
$perm_read_array = ( isset($_POST['perm_read']) AND is_array( $_POST['perm_read'] ) ) ? $_POST['perm_read'] : explode( ',', $calendar['perm_read'] );
$perm_post_array = ( isset($_POST['perm_post']) AND is_array( $_POST['perm_post'] ) ) ? $_POST['perm_post'] : explode( ',', $calendar['perm_post'] );
$perm_nomod_array = ( isset($_POST['perm_nomod']) AND is_array( $_POST['perm_nomod'] ) ) ? $_POST['perm_nomod'] : explode( ',', $calendar['perm_nomod'] );
$perm_read_all = FALSE;
$perm_post_all = FALSE;
$perm_nomod_all = FALSE;
if ( in_array( '*', $perm_read_array ) OR $_POST['perm_read_all'] )
if ( in_array( '*', $perm_read_array ) OR ( isset($_POST['perm_read_all']) AND $_POST['perm_read_all'] ) )
{
$perm_read_all = TRUE;
$form['perm_read_all'] = ' checked="checked"';
}
if ( in_array( '*', $perm_post_array ) OR $_POST['perm_post_all'] )
if ( in_array( '*', $perm_post_array ) OR ( isset($_POST['perm_post_all']) AND $_POST['perm_post_all'] ) )
{
$perm_post_all = TRUE;
$form['perm_post_all'] = ' checked="checked"';
}
if ( in_array( '*', $perm_nomod_array ) OR $_POST['perm_nomod_all'] )
if ( in_array( '*', $perm_nomod_array ) OR ( isset($_POST['perm_nomod_all']) AND $_POST['perm_nomod_all'] ) )
{
$perm_nomod_all = TRUE;
$form['perm_nomod_all'] = ' checked="checked"';
@@ -856,32 +877,30 @@ class ad_calendars
// Form elements
//-----------------------------------------
$form['cal_title'] = $this->ipsclass->adskin->form_input( 'cal_title' , $this->ipsclass->txt_htmlspecialchars( $_POST['cal_title'] ? $_POST['cal_title'] : $calendar['cal_title'] ) );
$form['cal_moderate'] = $this->ipsclass->adskin->form_yes_no( 'cal_moderate' , $_POST['cal_moderate'] ? $_POST['cal_moderate'] : $calendar['cal_moderate'] );
$form['cal_event_limit'] = $this->ipsclass->adskin->form_simple_input( 'cal_event_limit' , $_POST['cal_event_limit'] ? $_POST['cal_event_limit'] : $calendar['cal_event_limit'], 5 );
$form['cal_bday_limit'] = $this->ipsclass->adskin->form_simple_input( 'cal_bday_limit' , $_POST['cal_bday_limit'] ? $_POST['cal_bday_limit'] : $calendar['cal_bday_limit'], 5 );
$form['cal_rss_export'] = $this->ipsclass->adskin->form_yes_no( 'cal_rss_export' , $_POST['cal_rss_export'] ? $_POST['cal_rss_export'] : $calendar['cal_rss_export'] );
$form['cal_rss_update'] = $this->ipsclass->adskin->form_simple_input( 'cal_rss_update' , $_POST['cal_rss_update'] ? $_POST['cal_rss_update'] : $calendar['cal_rss_update'], 5 );
$form['cal_rss_export_days'] = $this->ipsclass->adskin->form_simple_input( 'cal_rss_export_days' , $_POST['cal_rss_export_days'] ? $_POST['cal_rss_export_days'] : $calendar['cal_rss_export_days'], 5 );
$form['cal_rss_export_max'] = $this->ipsclass->adskin->form_simple_input( 'cal_rss_export_max' , $_POST['cal_rss_export_max'] ? $_POST['cal_rss_export_max'] : $calendar['cal_rss_export_max'], 5 );
$form['cal_title'] = $this->ipsclass->adskin->form_input( 'cal_title' , $this->ipsclass->txt_htmlspecialchars( ( isset($_POST['cal_title']) AND $_POST['cal_title'] ) ? $_POST['cal_title'] : $calendar['cal_title'] ) );
$form['cal_moderate'] = $this->ipsclass->adskin->form_yes_no( 'cal_moderate' , ( isset($_POST['cal_moderate']) AND $_POST['cal_moderate'] ) ? $_POST['cal_moderate'] : $calendar['cal_moderate'] );
$form['cal_event_limit'] = $this->ipsclass->adskin->form_simple_input( 'cal_event_limit' , ( isset($_POST['cal_event_limit']) AND $_POST['cal_event_limit'] ) ? $_POST['cal_event_limit'] : $calendar['cal_event_limit'], 5 );
$form['cal_bday_limit'] = $this->ipsclass->adskin->form_simple_input( 'cal_bday_limit' , ( isset($_POST['cal_bday_limit']) AND $_POST['cal_bday_limit'] ) ? $_POST['cal_bday_limit'] : $calendar['cal_bday_limit'], 5 );
$form['cal_rss_export'] = $this->ipsclass->adskin->form_yes_no( 'cal_rss_export' , ( isset($_POST['cal_rss_export']) AND $_POST['cal_rss_export'] ) ? $_POST['cal_rss_export'] : $calendar['cal_rss_export'] );
$form['cal_rss_update'] = $this->ipsclass->adskin->form_simple_input( 'cal_rss_update' , ( isset($_POST['cal_rss_update']) AND $_POST['cal_rss_update'] ) ? $_POST['cal_rss_update'] : $calendar['cal_rss_update'], 5 );
$form['cal_rss_export_days'] = $this->ipsclass->adskin->form_simple_input( 'cal_rss_export_days' , ( isset($_POST['cal_rss_export_days']) AND $_POST['cal_rss_export_days'] ) ? $_POST['cal_rss_export_days'] : $calendar['cal_rss_export_days'], 5 );
$form['cal_rss_export_max'] = $this->ipsclass->adskin->form_simple_input( 'cal_rss_export_max' , ( isset($_POST['cal_rss_export_max']) AND $_POST['cal_rss_export_max'] ) ? $_POST['cal_rss_export_max'] : $calendar['cal_rss_export_max'], 5 );
$this->ipsclass->html .= $this->html->calendar_form( $form, $title, $formcode, $button, $calendar );
$this->ipsclass->html_help_title = "Óïðàâëåíèå êàëåíäàðåì";
$this->ipsclass->html_help_msg = "Ýòà ñåêöèÿ ïîçâîëèò âàì óïðàâëÿòü êàëåíäàðåì.";
$this->ipsclass->html_help_title = "Calendar Manager";
$this->ipsclass->html_help_msg = "This section will allow you to manage your calendars.";
$this->ipsclass->admin->nav[] = array( "{$this->ipsclass->form_code}", "Êàëåíäàðü" );
$this->ipsclass->admin->nav[] = array( '', "Add/Edit Calendar" );
$this->ipsclass->admin->output();
}
/*-------------------------------------------------------------------------*/
// List current filetypes
// List current calendars
/*-------------------------------------------------------------------------*/
function calendar_list()
{
$this->ipsclass->admin->nav[] = array( $this->ipsclass->form_code, 'Óïðàâëåíèå êàëåíäàðåì' );
//-------------------------------
// INIT
//-------------------------------
@@ -904,7 +923,7 @@ class ad_calendars
$rows[] = $r;
}
foreach( $rows as $i => $r )
foreach( $rows as $r )
{
//-------------------------------
// Work out position images
@@ -944,15 +963,33 @@ class ad_calendars
$this->ipsclass->html .= $this->html->calendar_overview( $content );
$this->ipsclass->admin->page_title = "Óïðàâëåíèå êàëåíäàðåì";
$this->ipsclass->admin->page_detail = "Ýòà ñåêöèÿ ïîçâîëèò âàì óïðàâëÿòü êàëåíäàðåì.";
$this->ipsclass->admin->page_title = "Calendar Manager";
$this->ipsclass->admin->page_detail = "This section will allow you to manage your calendars.";
$this->ipsclass->admin->output();
}
/*-------------------------------------------------------------------------*/
// Builds a cache of the current calendars
/*-------------------------------------------------------------------------*/
function calendars_rebuildcache()
{
$this->ipsclass->cache['calendars'] = array();
$this->ipsclass->DB->build_query( array( 'select' => '*', 'from' => 'cal_calendars', 'order' => 'cal_position ASC' ) );
$this->ipsclass->DB->exec_query();
while( $r = $this->ipsclass->DB->fetch_row() )
{
$this->ipsclass->cache['calendars'][ $r['cal_id'] ] = $r;
}
$this->ipsclass->update_cache( array( 'name' => 'calendars', 'deletefirst' => 1, 'donow' => 1, 'array' => 1 ) );
return TRUE;
}
}