Version 3.4.9
This commit is contained in:
1 parent
c603205a25
commit
f9e857d255
920 files changed
+28189
-6840
No files matched your search
Binary file not shown.
|
After Width: | Height: | Size: 626 B |
@@ -0,0 +1,511 @@
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* Calendar skin file
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @subpackage Calendar
|
||||
* @link http://www.invisionpower.com
|
||||
* @since Friday 19th May 2006 17:33
|
||||
* @version $Revision: 10721 $
|
||||
*/
|
||||
|
||||
class cp_skin_calendar
|
||||
{
|
||||
/**
|
||||
* Registry Object Shortcuts
|
||||
*
|
||||
* @var $registry
|
||||
* @var $DB
|
||||
* @var $settings
|
||||
* @var $request
|
||||
* @var $lang
|
||||
* @var $member
|
||||
* @var $memberData
|
||||
* @var $cache
|
||||
* @var $caches
|
||||
*/
|
||||
protected $registry;
|
||||
protected $DB;
|
||||
protected $settings;
|
||||
protected $request;
|
||||
protected $lang;
|
||||
protected $member;
|
||||
protected $memberData;
|
||||
protected $cache;
|
||||
protected $caches;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param object $registry Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function __construct( ipsRegistry $registry )
|
||||
{
|
||||
$this->registry = $registry;
|
||||
$this->DB = $this->registry->DB();
|
||||
$this->settings =& $this->registry->fetchSettings();
|
||||
$this->request =& $this->registry->fetchRequest();
|
||||
$this->member = $this->registry->member();
|
||||
$this->memberData =& $this->registry->member()->fetchMemberData();
|
||||
$this->cache = $this->registry->cache();
|
||||
$this->caches =& $this->registry->cache()->fetchCaches();
|
||||
$this->lang = $this->registry->class_localization;
|
||||
}
|
||||
|
||||
/**
|
||||
* Form to add/edit a calendar
|
||||
*
|
||||
* @access public
|
||||
* @param array Form elements
|
||||
* @param string Form title
|
||||
* @param string Action code
|
||||
* @param string Button text
|
||||
* @param array Calendar data
|
||||
* @return string HTML
|
||||
*/
|
||||
public function calendarForm($form, $title, $formcode, $button, $calendar) {
|
||||
|
||||
$IPBHTML = "";
|
||||
//--starthtml--//
|
||||
|
||||
$IPBHTML .= <<<HTML
|
||||
<div class='section_title'>
|
||||
<h2>{$this->lang->words['c_title']}</h2>
|
||||
</div>
|
||||
|
||||
<form id='adminform' action='{$this->settings['base_url']}&{$this->form_code}&do={$formcode}&cal_id={$calendar['cal_id']}' method='post'>
|
||||
<input type='hidden' name='_admin_auth_key' value='{$this->registry->getClass('adminFunctions')->_admin_auth_key}' />
|
||||
|
||||
<div class='acp-box alternate_rows'>
|
||||
<h3>{$title}</h3>
|
||||
<div id='tabstrip_calendar' class='ipsTabBar'>
|
||||
<ul>
|
||||
<li id='tab_options'>{$this->lang->words['a_options']}</li>
|
||||
<li id='tab_perms'>{$this->lang->words['tab_permissions']}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id='tabContent' class='ipsTabBar_content'>
|
||||
|
||||
<div id='tab_options_content'>
|
||||
<table class='ipsTable double_pad'>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['c_block_title']}</strong>
|
||||
</td>
|
||||
<td class='field_field'>{$form['cal_title']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['c_block_mod']}</strong>
|
||||
</td>
|
||||
<td class='field_field'>{$form['cal_moderate']}<br /><span class='desctext'>{$this->lang->words['c_block_mod_info']}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['c_block_modc']}</strong>
|
||||
</td>
|
||||
<td class='field_field'>{$form['cal_moderatec']}<br /><span class='desctext'>{$this->lang->words['c_block_modc_info']}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['c_block_rsvp']}</strong>
|
||||
</td>
|
||||
<td class='field_field'>{$form['cal_rsvp']}<br /><span class='desctext'>{$this->lang->words['c_block_rsvp_info']}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['c_block_limit']}</strong>
|
||||
</td>
|
||||
<td class='field_field'>{$form['cal_event_limit']}<br /><span class='desctext'>{$this->lang->words['c_block_limit_info']}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['c_block_bday']}</strong>
|
||||
</td>
|
||||
<td class='field_field'>{$form['cal_bday_limit']}<br /><span class='desctext'>{$this->lang->words['c_block_bday_info']}</span></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th colspan='2'>{$this->lang->words['c_block_rss']}</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['c_block_enable']}</strong>
|
||||
</td>
|
||||
<td class='field_field'>{$form['cal_rss_export']}<br /><span class='desctext'>{$this->lang->words['c_block_enabled_info']}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['c_block_forthcoming']}</strong>
|
||||
</td>
|
||||
<td class='field_field'>{$form['cal_rss_export_days']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['c_block_max']}</strong>
|
||||
</td>
|
||||
<td class='field_field'>{$form['cal_rss_export_max']}<br /><span class='desctext'>{$this->lang->words['c_block_max_info']}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['c_block_freq']}</strong>
|
||||
</td>
|
||||
<td class='field_field'>{$form['cal_rss_update']}<br /><span class='desctext'>{$this->lang->words['c_block_freq_info']}</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id='tab_perms_content'>
|
||||
{$form['perm_matrix']}
|
||||
</div>
|
||||
</div>
|
||||
<div class='acp-actionbar'>
|
||||
<input type='submit' class='realbutton' value='{$button}' />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script type='text/javascript'>
|
||||
jQ("#tabstrip_calendar").ipsTabBar({tabWrap: "#tabContent", defaultTab: 'tab_options'});
|
||||
</script>
|
||||
HTML;
|
||||
|
||||
//--endhtml--//
|
||||
return $IPBHTML;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calendar overview screen
|
||||
*
|
||||
* @access public
|
||||
* @param array Calendars
|
||||
* @return string HTML
|
||||
*/
|
||||
public function calendarOverviewScreen( $rows ) {
|
||||
|
||||
$IPBHTML = "";
|
||||
|
||||
//--starthtml--//
|
||||
$IPBHTML .= <<<HTML
|
||||
<div class='section_title'>
|
||||
<h2>{$this->lang->words['c_title']}</h2>
|
||||
<div class='ipsActionBar clearfix'>
|
||||
<ul>
|
||||
<li class='ipsActionButton'>
|
||||
<a href='{$this->settings['base_url']}{$this->form_code}&do=calendar_add' title='{$this->lang->words['c_addcal']}'>
|
||||
<img src='{$this->settings['skin_acp_url']}/images/icons/add.png' alt='' />
|
||||
{$this->lang->words['c_addcal']}
|
||||
</a>
|
||||
</li>
|
||||
<li class='ipsActionButton'>
|
||||
<a href='{$this->settings['base_url']}{$this->form_code}&do=calendar_rebuildcache' title='{$this->lang->words['c_recachecal']}'>
|
||||
<img src='{$this->settings['skin_acp_url']}/images/icons/arrow_refresh.png' alt='' />
|
||||
{$this->lang->words['c_recachecal']}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='acp-box'>
|
||||
<h3>{$this->lang->words['c_calendars']}</h3>
|
||||
<ul class='ipsDragParent alternate_rows' id='sortable_handle'>
|
||||
HTML;
|
||||
|
||||
foreach( $rows as $r )
|
||||
{
|
||||
$IPBHTML .= <<<HTML
|
||||
<li class='isDraggable' id='calendar_{$r['cal_id']}'>
|
||||
<table class='ipsTable double_pad'>
|
||||
<tr class='ipsControlRow'>
|
||||
<td class='col_drag'><div class='draghandle'> </div></td>
|
||||
<td>
|
||||
<strong class='title'><a href='{$this->settings['base_url']}{$this->form_code}&do=calendar_edit&cal_id={$r['cal_id']}'>{$r['cal_title']}</a></strong>
|
||||
</td>
|
||||
<td class='col_buttons' nowrap="true">
|
||||
<ul class='ipsControlStrip'>
|
||||
<li class='i_edit'><a href='{$this->settings['base_url']}{$this->form_code}&do=calendar_edit&cal_id={$r['cal_id']}'>{$this->lang->words['c_editcal']}</a></li>
|
||||
<li class='i_refresh'><a href='{$this->settings['base_url']}{$this->form_code}&do=calendar_rss_cache&cal_id={$r['cal_id']}'>{$this->lang->words['c_rebuildcal']}</a></li>
|
||||
<li class='i_delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}{$this->form_code}&do=calendar_delete&cal_id={$r['cal_id']}");'>{$this->lang->words['c_deletecal']}</a></li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
HTML;
|
||||
}
|
||||
|
||||
$IPBHTML .= <<<HTML
|
||||
</ul>
|
||||
</div>
|
||||
<script type='text/javascript'>
|
||||
|
||||
dropItLikeItsHot = function( draggableObject, mouseObject )
|
||||
{
|
||||
var options = {
|
||||
method : 'post',
|
||||
parameters : Sortable.serialize( 'sortable_handle', { tag: 'li', name: 'calendars' } )
|
||||
};
|
||||
|
||||
new Ajax.Request( "{$this->settings['base_url']}&{$this->form_code_js}&do=calendar_move&md5check={$this->registry->adminFunctions->getSecurityKey()}".replace( /&/g, '&' ), options );
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
Sortable.create( 'sortable_handle', { revert: true, format: 'calendar_([0-9]+)', onUpdate: dropItLikeItsHot, handle: 'draghandle' } );
|
||||
</script>
|
||||
HTML;
|
||||
|
||||
//--endhtml--//
|
||||
return $IPBHTML;
|
||||
}
|
||||
|
||||
/**
|
||||
* Confirm feed deletion and how to handle events
|
||||
*
|
||||
* @access public
|
||||
* @param array Feed data
|
||||
* @return string HTML
|
||||
*/
|
||||
public function deleteConfirm( $feed ) {
|
||||
|
||||
$IPBHTML = "";
|
||||
//--starthtml--//
|
||||
|
||||
$IPBHTML .= <<<HTML
|
||||
<div class='section_title'>
|
||||
<h2>{$this->lang->words['feed_del_confirm_t']}</h2>
|
||||
</div>
|
||||
|
||||
<form id='adminform' action='{$this->settings['base_url']}{$this->form_code}&do=delete&id={$feed['feed_id']}' method='post'>
|
||||
<input type='hidden' name='_admin_auth_key' value='{$this->registry->getClass('adminFunctions')->_admin_auth_key}' />
|
||||
<input type='hidden' name='confirm' value='1' />
|
||||
|
||||
<div class='acp-box'>
|
||||
<table class='ipsTable double_pad'>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['delete_events_too']}</strong>
|
||||
</td>
|
||||
<td class='field_field'>{$this->registry->output->formYesNo( 'delete_events' , 0 )}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class='acp-actionbar'>
|
||||
<input type='submit' class='realbutton' value='{$this->lang->words['do_del_button']}' />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
HTML;
|
||||
|
||||
//--endhtml--//
|
||||
return $IPBHTML;
|
||||
}
|
||||
|
||||
/**
|
||||
* Form to add/edit an ical feed
|
||||
*
|
||||
* @access public
|
||||
* @param array Form elements
|
||||
* @param string Form title
|
||||
* @param string Action code
|
||||
* @param string Button text
|
||||
* @param array Feed data
|
||||
* @return string HTML
|
||||
*/
|
||||
public function feedForm($form, $title, $formcode, $button, $feed) {
|
||||
|
||||
$IPBHTML = "";
|
||||
//--starthtml--//
|
||||
|
||||
$IPBHTML .= <<<HTML
|
||||
<div class='section_title'>
|
||||
<h2>{$this->lang->words['ical_manager']}</h2>
|
||||
</div>
|
||||
|
||||
|
||||
<form id='adminform' action='{$this->settings['base_url']}{$this->form_code}&do={$formcode}&id={$feed['feed_id']}' method='post'>
|
||||
<input type='hidden' name='_admin_auth_key' value='{$this->registry->getClass('adminFunctions')->_admin_auth_key}' />
|
||||
|
||||
<div class='acp-box'>
|
||||
<h3>{$title}</h3>
|
||||
|
||||
<table class='ipsTable double_pad'>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['feed_formtitle']}</strong>
|
||||
</td>
|
||||
<td class='field_field'>{$form['feed_title']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['feed_formurl']}</strong>
|
||||
</td>
|
||||
<td class='field_field'>{$form['feed_url']}<br /><span class='desctext'>{$this->lang->words['feed_urlinfo']}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['feed_calid']}</strong>
|
||||
</td>
|
||||
<td class='field_field'>{$form['feed_calendar_id']}<br /><span class='desctext'>{$this->lang->words['feed_calinfo']}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['feed_formmem']}</strong>
|
||||
</td>
|
||||
<td class='field_field'>{$form['feed_member_id']}<br /><span class='desctext'>{$this->lang->words['feed_formmemi']}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['feed_formfreq']}</strong>
|
||||
</td>
|
||||
<td class='field_field'>{$form['feed_recache_freq']}<br /><span class='desctext'>{$this->lang->words['feed_freqinfo']}</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class='acp-actionbar'>
|
||||
<input type='submit' class='realbutton' value='{$button}' />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script type='text/javascript'>
|
||||
document.observe("dom:loaded", function(){
|
||||
var autocomplete = new ipb.Autocomplete( $('feed_member_id'), { multibox: false, url: acp.autocompleteUrl, templates: { wrap: acp.autocompleteWrap, item: acp.autocompleteItem } } );
|
||||
});
|
||||
</script>
|
||||
HTML;
|
||||
|
||||
//--endhtml--//
|
||||
return $IPBHTML;
|
||||
}
|
||||
|
||||
/**
|
||||
* List of feeds
|
||||
*
|
||||
* @access public
|
||||
* @param array Feeds
|
||||
* @param array Calendars
|
||||
* @return string HTML
|
||||
*/
|
||||
public function feedsList( $feeds, $calendars ) {
|
||||
|
||||
$IPBHTML = "";
|
||||
|
||||
//--starthtml--//
|
||||
$IPBHTML .= <<<HTML
|
||||
<div class='section_title'>
|
||||
<h2>{$this->lang->words['c_title']}</h2>
|
||||
<div class='ipsActionBar clearfix'>
|
||||
<ul>
|
||||
<li class='ipsActionButton'>
|
||||
<a href='{$this->settings['base_url']}{$this->form_code}&do=add' title='{$this->lang->words['feed_addlink']}'>
|
||||
<img src='{$this->settings['skin_acp_url']}/images/icons/add.png' alt='' />
|
||||
{$this->lang->words['feed_addlink']}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='acp-box'>
|
||||
<h3>{$this->lang->words['feeds_for_import']}</h3>
|
||||
<table class="ipsTable">
|
||||
HTML;
|
||||
|
||||
if( count($feeds) )
|
||||
{
|
||||
foreach( $feeds as $r )
|
||||
{
|
||||
$IPBHTML .= <<<HTML
|
||||
<tr class='ipsControlRow'>
|
||||
<td>
|
||||
<span class='larger_text'><a href='{$this->settings['base_url']}{$this->form_code}&do=edit&id={$r['feed_id']}'>{$r['feed_title']}</a></span>
|
||||
</td>
|
||||
<td class='col_buttons' nowrap="true">
|
||||
<ul class='ipsControlStrip'>
|
||||
<li class='i_edit'><a href='{$this->settings['base_url']}{$this->form_code}&do=edit&id={$r['feed_id']}'>{$this->lang->words['feed_editlink']}</a></li>
|
||||
<li class='i_refresh'><a href='{$this->settings['base_url']}{$this->form_code}&do=recache&id={$r['feed_id']}'>{$this->lang->words['feed_recachelink']}</a></li>
|
||||
<li class='i_delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}{$this->form_code}&do=delete&id={$r['feed_id']}");'>{$this->lang->words['feed_deletelink']}</a></li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
HTML;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$IPBHTML .= <<<HTML
|
||||
<tr>
|
||||
<td colspan='2' class='no_messages'>
|
||||
{$this->lang->words['no_feeds_yet']} <a href='{$this->settings['base_url']}{$this->form_code}&do=add' class='mini_button'>{$this->lang->words['addfirstfeed']}</a>
|
||||
</td>
|
||||
</tr>
|
||||
HTML;
|
||||
}
|
||||
|
||||
$IPBHTML .= <<<HTML
|
||||
</table>
|
||||
</div>
|
||||
<br />
|
||||
|
||||
<form action='{$this->settings['base_url']}{$this->form_code}&do=import' method='post' enctype='multipart/form-data'>
|
||||
<div class="acp-box">
|
||||
<h3>{$this->lang->words['feed_ics_import']}</h3>
|
||||
<table class='ipsTable double_pad'>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['upload_ics_feed']}</strong>
|
||||
</td>
|
||||
<td class='field_field'><input type='file' name='FILE_UPLOAD' /><br /><span class='desctext'>{$this->lang->words['upload_ics_info']}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['upload_ics_cal']}</strong>
|
||||
</td>
|
||||
<td class='field_field'>
|
||||
<select name='calendar_id' class='dropdown'>
|
||||
HTML;
|
||||
|
||||
foreach( $calendars as $calendar )
|
||||
{
|
||||
$IPBHTML .= "<option value='{$calendar['cal_id']}'>{$calendar['cal_title']}</option>";
|
||||
}
|
||||
|
||||
$IPBHTML .= <<<HTML
|
||||
</select>
|
||||
<br /><span class='desctext'>{$this->lang->words['upload_ics_calinfo']}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='field_title'>
|
||||
<strong class='title'>{$this->lang->words['upload_ics_user']}</strong>
|
||||
</td>
|
||||
<td class='field_field'><input type='text' autocomplete='off' name='member_name' id='feed_member_name' class='textinput' size='30' value='{$this->memberData['members_display_name']}' /><br /><span class='desctext'>{$this->lang->words['upload_ics_useri']}</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="acp-actionbar">
|
||||
<input type='submit' value='{$this->lang->words['feed_ics_upload']}' class="button primary" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script type='text/javascript'>
|
||||
document.observe("dom:loaded", function(){
|
||||
var autocomplete = new ipb.Autocomplete( $('feed_member_name'), { multibox: false, url: acp.autocompleteUrl, templates: { wrap: acp.autocompleteWrap, item: acp.autocompleteItem } } );
|
||||
});
|
||||
</script>
|
||||
HTML;
|
||||
|
||||
//--endhtml--//
|
||||
return $IPBHTML;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<html>
|
||||
<head><title>IP.Board - Bulletin Board System</title></head>
|
||||
<body>
|
||||
<h1>403: IP.Board -> Forbidden</h1>
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user