Version 3.2.3

This commit is contained in:
Neo committed 2025-12-19 00:34:03 -08:00
1 parent ae5c01cc78
commit 78706903a2
2641 files changed
+228363 -201264

No files matched your search

@@ -2,39 +2,69 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.1.4
* IP.Board v3.2.3
* ACP ban filters skin file
* Last Updated: $Date: 2010-01-15 10:18:44 -0500 (Fri, 15 Jan 2010) $
* Last Updated: $Date: 2011-08-19 20:27:50 -0400 (Fri, 19 Aug 2011) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/community/board/license.html
* @license This is NULLED!
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @link http://hatynka.in
* @since 20th February 2002
* @version $Rev: 5713 $
* @version $Rev: 9401 $
*
*/
class cp_skin_banfilters extends output
class cp_skin_banfilters
{
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* 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;
}
/**
* Ban filter overview screen
*
* @access public
* @param array IPs
* @param array Emails
* @param array Usernames
@@ -44,136 +74,191 @@ public function banOverview( $ips, $emails, $names ) {
$IPBHTML = "";
//--starthtml--//
$canRemove = $this->registry->class_permissions->checkPermission( 'ban_remove' );
/* Ban types */
$ban = array();
$ban['bantype'] = $this->registry->output->formDropdown( 'bantype', array( array( 'ip', $this->lang->words['ban_ip'] ), array( 'email', $this->lang->words['ban_email'] ), array( 'name', $this->lang->words['ban_name'] ) ) );
$ban['bantext'] = $this->registry->output->formSimpleInput( 'bantext', '', 50 );
$ban['banreason'] = $this->registry->output->formSimpleInput( 'banreason', '', 50 );
/* Remove new lines from the type dropdown or JS won't be happy.. */
$ban['bantype'] = IPSText::br2nl($ban['bantype']);
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['ban_title']}</h2>
<div class='ipsActionBar clearfix'>
<ul>
<li class='ipsActionButton'>
<a href='#' id='add_banfilter' title='{$this->lang->words['ban_addnew']}'><img src='{$this->settings['skin_acp_url']}/images/icons/add.png' alt='' /> {$this->lang->words['ban_addnew']}</a>
</li>
</ul>
</div>
</div>
<form method='post' action='{$this->settings['base_url']}{$this->form_code}&amp;do=ban_add'>
<script tyle='text/javascript' src='{$this->settings['js_app_url']}acp.banfilters.js'></script>
<form method='post' id='ban-delete' action='{$this->settings['base_url']}{$this->form_code}'>
<input type='hidden' name='do' value='ban_delete' />
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->_admin_auth_key}' />
<input type='text' size='30' class='input_text' value='' name='bantext' />
<select class='input_select' name='bantype' style='vertical-align:middle;'>
<option value='ip'>{$this->lang->words['ban_ip']}</option>
<option value='email'>{$this->lang->words['ban_email']}</option>
<option value='name'>{$this->lang->words['ban_name']}</option>
</select>
<input type='submit' value='{$this->lang->words['ban_addnew']}' class='button primary' />
</form>
<div class='acp-box' style='margin-top: 4px;'>
<h3>{$this->lang->words['ban_bancontrol']}</h3>
<form method='post' id='ban-delete' action='{$this->settings['base_url']}{$this->form_code}&amp;do=ban_delete'>
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->_admin_auth_key}' />
<table width='100%' class='alternate_rows double_pad'>
<tr>
<th colspan='3'>{$this->lang->words['ban_ips']}</th>
</tr>
<div class='acp-box'>
<h3>{$this->lang->words['ban_bancontrol']}</h3>
<div id='tabstrip_banForm' class='ipsTabBar with_left with_right'>
<span class='tab_left'>&laquo;</span>
<span class='tab_right'>&raquo;</span>
<ul>
<li id='tab_BanIps'>{$this->lang->words['ban_ips']}</li>
<li id='tab_BanEmails'>{$this->lang->words['ban_emails']}</li>
<li id='tab_BanNames'>{$this->lang->words['ban_names']}</li>
</ul>
</div>
<div id='tabstrip_banForm_content' class='ipsTabBar_content'>
<!-- IP ADDRESSES -->
<div id='tab_BanIps_content'>
<table class='ipsTable double_pad'>
<tr>
<th width='1%'>&nbsp;</th>
<th width='15%'>{$this->lang->words['ban_ip']}</th>
<th width='60%'>{$this->lang->words['ban_form_reason']}</th>
<th width='24%'>{$this->lang->words['ban_added_on']}</th>
</tr>
HTML;
if( is_array( $ips ) && count( $ips ) )
{
foreach( $ips as $r )
{
$IPBHTML .= <<<HTML
<tr>
<td width='1%'>{$r['_checkbox']}</td>
<td width='80%'>{$r['ban_content']}</td>
<td width='20%'>{$r['_date']}</td>
</tr>
$checkbox = $canRemove ? "<input type='checkbox' name='banid_{$r['ban_id']}' value='1' />" : '';
$IPBHTML .= <<<HTML
<tr>
<td>{$checkbox}</td>
<td>{$r['ban_content']}</td>
<td>{$r['ban_reason']}</td>
<td>{$r['_date']}</td>
</tr>
HTML;
}
}
else
{
$IPBHTML .= <<<HTML
<tr>
<td colspan='3'>{$this->lang->words['ban_ips_none']}</td>
</tr>
$IPBHTML .= <<<HTML
<tr>
<td colspan='4'>{$this->lang->words['ban_ips_none']}</td>
</tr>
HTML;
}
$IPBHTML .= <<<HTML
<tr>
<th colspan='3'>{$this->lang->words['ban_emails']}</th>
</tr>
</table>
</div>
<!-- EMAIL ADDRESSES -->
<div id='tab_BanEmails_content'>
<table class='ipsTable double_pad'>
<tr>
<th width='1%'>&nbsp;</th>
<th width='20%'>{$this->lang->words['ban_email']}</th>
<th width='55%'>{$this->lang->words['ban_form_reason']}</th>
<th width='24%'>{$this->lang->words['ban_added_on']}</th>
</tr>
HTML;
if( is_array( $emails ) && count( $emails ) )
{
foreach( $emails as $r )
{
$IPBHTML .= <<<HTML
<tr>
<td width='1%'>{$r['_checkbox']}</td>
<td width='80%'>{$r['ban_content']}</td>
<td width='20%'>{$r['_date']}</td>
</tr>
$checkbox = $canRemove ? "<input type='checkbox' name='banid_{$r['ban_id']}' value='1' />" : '';
$IPBHTML .= <<<HTML
<tr>
<td>{$checkbox}</td>
<td>{$r['ban_content']}</td>
<td>{$r['ban_reason']}</td>
<td>{$r['_date']}</td>
</tr>
HTML;
}
}
else
{
$IPBHTML .= <<<HTML
<tr>
<td colspan='3'>{$this->lang->words['ban_emails_none']}</td>
</tr>
$IPBHTML .= <<<HTML
<tr>
<td colspan='4'>{$this->lang->words['ban_emails_none']}</td>
</tr>
HTML;
}
$IPBHTML .= <<<HTML
<tr>
<th colspan='3'>{$this->lang->words['ban_names']}</th>
</tr>
</table>
</div>
<!-- NAMES -->
<div id='tab_BanNames_content'>
<table class='ipsTable double_pad'>
<tr>
<th width='1%'>&nbsp;</th>
<th width='15%'>{$this->lang->words['ban_name']}</th>
<th width='60%'>{$this->lang->words['ban_form_reason']}</th>
<th width='24%'>{$this->lang->words['ban_added_on']}</th>
</tr>
HTML;
if( is_array( $names ) && count( $names ) )
{
foreach( $names as $r )
{
$IPBHTML .= <<<HTML
<tr>
<td width='1%'>{$r['_checkbox']}</td>
<td width='80%'>{$r['ban_content']}</td>
<td width='20%'>{$r['_date']}</td>
</tr>
$checkbox = $canRemove ? "<input type='checkbox' name='banid_{$r['ban_id']}' value='1' />" : '';
$IPBHTML .= <<<HTML
<tr>
<td>{$checkbox}</td>
<td>{$r['ban_content']}</td>
<td>{$r['ban_reason']}</td>
<td>{$r['_date']}</td>
</tr>
HTML;
}
}
else
{
$IPBHTML .= <<<HTML
<tr>
<td colspan='4'>{$this->lang->words['ban_names_none']}</td>
</tr>
HTML;
}
$IPBHTML .= <<<HTML
<tr>
<td colspan='3'>{$this->lang->words['ban_names_none']}</td>
</tr>
</table>
</div>
<script type='text/javascript'>
jQ("#tabstrip_banForm").ipsTabBar({ tabWrap: "#tabstrip_banForm_content" });
</script>
</div>
HTML;
if ( $canRemove )
{
$IPBHTML .= <<<HTML
<div class='acp-actionbar'>
<input type='submit' value='{$this->lang->words['ban_deletebutton']}' class='realbutton redbutton' />
</div>
HTML;
}
$IPBHTML .= <<<HTML
</tr>
</table>
<div class='acp-actionbar'>
<input type='submit' value='{$this->lang->words['ban_deletebutton']}' class='realbutton redbutton' />
</div>
</form>
</div>
</form>
<script type='text/javascript'>
$('ban-delete').observe( 'submit', function( e ){
var checkboxes = $('ban-delete').getElementsByTagName( 'input' );
for( var i = 0; i < checkboxes.length; i++ )
{
if( checkboxes[i].checked )
{
return true;
}
}
alert( '{$this->lang->words['no_ban_to_delete']}' );
Event.stop( e );
});
ipb.templates['add_banfilter'] = "<div class='acp-box'><h3>{$this->lang->words['ban_addnew']}</h3><form action='{$this->settings['base_url']}{$this->form_code}do=ban_add' method='post'><table class='ipsTable double_pad'><tr><td class='field_title' style='min-width:100px;'><strong class='title'>{$this->lang->words['ban_form_type']}</strong></td><td class='field_field'>{$ban['bantype']}</td></tr><tr><td class='field_title' style='min-width:100px;'><strong class='title'>{$this->lang->words['ban_form_filter']}</strong></td><td class='field_field'>{$ban['bantext']}<br /><span class='desctext'>{$this->lang->words['ban_form_filter_desc']}</span></td></tr><tr><td class='field_title' style='min-width:100px;'><strong class='title'>{$this->lang->words['ban_form_reason']}</strong></td><td class='field_field'>{$ban['banreason']}<br /><span class='desctext'>{$this->lang->words['ban_form_reason_desc']}</span></td></tr></table><div class='acp-actionbar'><input type='submit' value='{$this->lang->words['ban_addnew']}' class='button primary' /></div></form></div>";
</script>
HTML;
@@ -2,39 +2,69 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.1.4
* IP.Board v3.2.3
* ACP bulk mail skin file
* Last Updated: $Date: 2010-09-29 20:23:38 -0400 (Wed, 29 Sep 2010) $
* Last Updated: $Date: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
* </pre>
*
* @author $Author: bfarber $
* @author $Author: ips_terabyte $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/community/board/license.html
* @license This is NULLED!
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @link http://hatynka.in
* @since 20th February 2002
* @version $Rev: 6925 $
* @version $Rev: 8644 $
*
*/
class cp_skin_bulkmail extends output
class cp_skin_bulkmail
{
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* 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;
}
/**
* Bulk mail start
*
* @access public
* @param array Mail data
* @param int Number of members to send this to
* @return string HTML
@@ -48,7 +78,7 @@ $IPBHTML = "";
$IPBHTML .= <<<HTML
<div class='information-box'>
<h4><img src='{$this->settings['skin_acp_url']}/_newimages/icons/bullet_error.png' />{$this->lang->words['bulkmail_notes_tl']}</h4>
<h3><strong>{$this->lang->words['bulkmail_notes_tl']}</strong></h3>
{$this->lang->words['bulkmail_notes_info']}
</div>
<br />
@@ -61,7 +91,7 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$countmembers}</h3>
<table class='form_table double_pad alternate_rows' cellspacing='0' cellpadding='0'>
<table class='ipsTable double_pad' cellspacing='0' cellpadding='0'>
<tr>
<th colspan='2'>{$this->lang->words['b_maildetails']}</th>
</tr>
@@ -91,9 +121,9 @@ $IPBHTML .= <<<HTML
</td>
</tr>
</table>
</div>
<div class='acp-actionbar'>
{$this->lang->words['b_percycle']} <input type='text' class='realbutton' size='5' name='pergo' value='20' /> &nbsp; <input type='submit' value='{$this->lang->words['b_mailbutton']}' class='realbutton' />
<div class='acp-actionbar'>
{$this->lang->words['b_percycle']} <input type='text' class='input_text' size='5' name='pergo' value='20' /> &nbsp; <input type='submit' value='{$this->lang->words['b_mailbutton']}' class='realbutton' />
</div>
</div>
</form>
HTML;
@@ -105,7 +135,6 @@ return $IPBHTML;
/**
* Bulk mail form
*
* @access public
* @param string Type (add|edit)
* @param array Mail data
* @param string Mail content
@@ -188,7 +217,7 @@ $IPBHTML = "";
$IPBHTML .= <<<HTML
<div class='information-box'>
<h4><img src='{$this->settings['skin_acp_url']}/_newimages/icons/bullet_error.png' />{$this->lang->words['bulkmail_notes_tl']}</h4>
<h3><strong>{$this->lang->words['bulkmail_notes_tl']}</strong></h3>
{$this->lang->words['bulkmail_notes_info']}
</div>
<br />
@@ -223,33 +252,29 @@ function runpreview()
<div class='acp-box'>
<h3>{$title}</h3>
<table class='form_table double_pad alternate_rows' cellspacing='0' cellpadding='0'>
<table class='ipsTable double_pad' cellspacing='0' cellpadding='0'>
<tr>
<th colspan='2'>{$this->lang->words['b_step1_title']}</th>
</tr>
<tr>
<td style='width: 40%;'>
<label>{$this->lang->words['b_subject']}</label>
<td class='field_title'>
<strong class='title'>{$this->lang->words['b_subject']}</strong>
</td>
<td style='width: 60%'>
<td class='field_field'>
{$form['mail_subject']}
</td>
</tr>
<tr>
<td colspan='2'>
<label>{$this->lang->words['b_content']}</label>
<br />
<div style='margin-top: 10px; margin-left: 15px;'>{$form['mail_content']}</div>
<td class='field_title'>
<strong class='title'>{$this->lang->words['b_content']}</strong>
</td>
<td class='field_field'>
{$form['mail_content']}<br />
<p style='margin-top: 5px' class='desctext'>
{$form['mail_html']}&nbsp;{$this->lang->words['b_html']}
</p>
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['b_html']}</label>
</td>
<td>
{$form['mail_html']}&nbsp;
</td>
</tr>
</table>
</div>
<br />
@@ -257,53 +282,53 @@ function runpreview()
<h3>{$this->lang->words['b_step2']}</h3>
<div style='width: 100%;'>
<table class='form_table double_pad alternate_rows' cellspacing='0' cellpadding='0'>
<table class='ipsTable double_pad' cellspacing='0' cellpadding='0'>
<tr>
<th colspan='2'>{$this->lang->words['b_addfilters']}</th>
<th>{$this->lang->words['b_groups']}</th>
</tr>
<tr>
<td style='width: 40%;'>
<label>{$this->lang->words['b_nposts']}</label><br />
<span class='desctext'>{$this->lang->words['b_leaveblank']}</span>
<td class='field_title' style='width: 25%; max-width: 280px; min-width: 230px;'>
<strong class='title'>{$this->lang->words['b_nposts']}</strong>
</td>
<td style='width: 30%'>
{$form['mail_post_ltmt']} {$form['mail_filter_post']}
<td class='field_field' style='width: 40%'>
{$form['mail_post_ltmt']} {$form['mail_filter_post']}<br />
<span class='desctext'>{$this->lang->words['b_leaveblank']}</span>
</td>
<td style='width: 30%;' rowspan='3'>
<td style='width: 30%; line-height: 1.5; vertical-align: top' class='larger_text' rowspan='3'>
{$form['groups']}
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['b_ndays']}</label><br />
<span class='desctext'>{$this->lang->words['b_leaveblank']}</span>
<td class='field_title'>
<strong class='title'>{$this->lang->words['b_ndays']}</strong>
</td>
<td>
{$form['mail_visit_ltmt']} {$form['mail_filter_visit']}
<td class='field_field'>
{$form['mail_visit_ltmt']} {$form['mail_filter_visit']}<br />
<span class='desctext'>{$this->lang->words['b_leaveblank']}</span>
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['b_njoined']}</label><br />
<span class='desctext'>{$this->lang->words['b_leaveblank']}</span>
<td class='field_title'>
<strong class='title'>{$this->lang->words['b_njoined']}</strong>
</td>
<td>
{$form['mail_joined_ltmt']} {$form['mail_filter_joined']}
<td class='field_field'>
{$form['mail_joined_ltmt']} {$form['mail_filter_joined']}<br />
<span class='desctext'>{$this->lang->words['b_leaveblank']}</span>
</td>
</tr>
</table>
</div>
<div class='acp-actionbar'>
<input class='realbutton' onclick='runpreview()' type='button' value='{$this->lang->words['b_preview']}' /> &nbsp; &nbsp; <input class='realbutton' type='submit' value='{$button}' />
</div>
</div>
<br />
<div class='acp-actionbar'>
<input class='realbutton' onclick='runpreview()' type='button' value='{$this->lang->words['b_preview']}' /> &nbsp; &nbsp; <input class='realbutton' type='submit' value='{$button}' />
</div>
<br />
<div class='information-box'>
<h4>{$this->lang->words['b_qtag']}</h4>
<h3><strong>{$this->lang->words['b_qtag']}</strong></h3>
{$this->lang->words['b_qtag_info']}
<br /><br />
<table width='100%'>
@@ -349,7 +374,6 @@ return $IPBHTML;
/**
* HTML to show inside preview iframe
*
* @access public
* @param string Content
* @return string HTML
*/
@@ -380,7 +404,6 @@ return $IPBHTML;
/**
* HTML to show in popup
*
* @access public
* @return string HTML
*/
public function mailPopupContent() {
@@ -425,7 +448,6 @@ return $IPBHTML;
/**
* Saved bulk mails overview
*
* @access public
* @param string Content
* @return string HTML
*/
@@ -436,20 +458,20 @@ $IPBHTML = "";
$IPBHTML .= <<<HTML
<div class='information-box'>
<h4><img src='{$this->settings['skin_acp_url']}/_newimages/icons/bullet_error.png' />{$this->lang->words['bulkmail_notes_tl']}</h4>
<h3><strong>{$this->lang->words['bulkmail_notes_tl']}</strong></h3>
{$this->lang->words['bulkmail_notes_info']}
</div>
<br />
<div class='section_title'>
<h2>{$this->lang->words['b_title']}</h2>
<ul class='context_menu'>
<li><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=mail_new'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/add.png' alt='' /> {$this->lang->words['b_create']}</a></li>
<li><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=mail_new'><img src='{$this->settings['skin_acp_url']}/images/icons/add.png' alt='' /> {$this->lang->words['b_create']}</a></li>
</ul>
</div>
<div class='acp-box'>
<h3>{$this->lang->words['b_stored']}</h3>
<table class='alternate_rows' width='100%'>
<table class='ipsTable'>
<tr>
<th width='1%'>&nbsp;</th>
<th width='30%'>{$this->lang->words['b_lsubject']}</th>
@@ -469,7 +491,7 @@ HTML;
{
$IPBHTML .= <<<HTML
<tr>
<td colspan='6' class='no_items'>{$this->lang->words['b_nobulk']}</td>
<td colspan='6' class='no_messages'>{$this->lang->words['b_nobulk']}</td>
</tr>
HTML;
}
@@ -491,7 +513,6 @@ return $IPBHTML;
/**
* Bulk mail row
*
* @access public
* @param array Mail data
* @return string HTML
*/
@@ -525,23 +546,28 @@ else
if ( $r['mail_active'] )
{
$inprogress = " <em>( {$this->lang->words['b_inprogress']} - <a href='#' class='cancel' onclick=\"acp.confirmDelete('{$this->settings['base_url']}&{$this->form_code_js}&do=mail_send_cancel', '{$this->lang->words['b_cancelconfirm']}'); return false;\">{$this->lang->words['b_cancel']}</a> )</em>";
$inprogress = " ( {$this->lang->words['b_inprogress']} - <a href='#' class='ipsBadge badge_red' onclick=\"acp.confirmDelete('{$this->settings['base_url']}&{$this->form_code_js}&do=mail_send_cancel', '{$this->lang->words['b_cancelconfirm']}'); return false;\">{$this->lang->words['b_cancel']}</a> )";
}
$IPBHTML .= <<<HTML
<tr>
<td><img src='{$this->settings['skin_acp_url']}/_newimages/icons/email.png' /></td>
<td><b>{$r['mail_subject']}</b> {$inprogress}</td>
<tr class='ipsControlRow'>
<td><img src='{$this->settings['skin_acp_url']}/images/icons/email.png' /></td>
<td><b><a href='{$this->settings['base_url']}&{$this->form_code}&do=mail_edit&id={$r['mail_id']}' title='{$this->lang->words['b_editdot']}'>{$r['mail_subject']}</a></b> {$inprogress}</td>
<td>{$r['_mail_start']}</td>
<td>{$r['_mail_sentto']}</td>
<td>{$time_taken}</td>
<td>
<img id='mid-{$r['mail_id']}' src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['b_options']}' class='ipbmenu' />
<ul class='acp-menu' id='mid-{$r['mail_id']}_menucontent'>
<li class='icon info'><a href='{$this->settings['base_url']}&{$this->form_code}&do=mail_send_start&id={$r['mail_id']}'>{$this->lang->words['b_resenddot']}</a></li>
<li class='icon edit'><a href='{$this->settings['base_url']}&{$this->form_code}&do=mail_edit&id={$r['mail_id']}'>{$this->lang->words['b_editdot']}</a></li>
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}&{$this->form_code}&do=mail_delete&id={$r['mail_id']}");'>{$this->lang->words['b_deletedot']}</a></li>
<td class='col_buttons'>
<ul class='ipsControlStrip'>
<li class='i_refresh'>
<a href='{$this->settings['base_url']}&{$this->form_code}&do=mail_send_start&id={$r['mail_id']}' title='{$this->lang->words['b_resenddot']}'>{$this->lang->words['b_resenddot']}</a>
</li>
<li class='i_edit'>
<a href='{$this->settings['base_url']}&{$this->form_code}&do=mail_edit&id={$r['mail_id']}' title='{$this->lang->words['b_editdot']}'>{$this->lang->words['b_editdot']}</a>
</li>
<li class='i_delete'>
<a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}&{$this->form_code}&do=mail_delete&id={$r['mail_id']}");' title='{$this->lang->words['b_deletedot']}'>{$this->lang->words['b_deletedot']}</a>
</li>
</ul>
</td>
</tr>
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -2,39 +2,69 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.1.4
* IP.Board v3.2.3
* ACP member forms skin file
* Last Updated: $Date: 2010-09-24 21:21:39 -0400 (Fri, 24 Sep 2010) $
* Last Updated: $Date: 2011-09-20 18:16:05 -0400 (Tue, 20 Sep 2011) $
* </pre>
*
* @author $Author: bfarber $
* @author $Author: rtissier $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/community/board/license.html
* @license This is NULLED!
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @link http://hatynka.in
* @since 20th February 2002
* @version $Rev: 6915 $
* @version $Rev: 9519 $
*
*/
class cp_skin_member_form extends output
class cp_skin_member_form
{
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* 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;
}
/**
* Ban member dhtml window
*
* @access public
* @param array Member data
* @param array Form data
* @return string HTML
@@ -48,59 +78,80 @@ $IPBHTML .= <<<EOF
<form action='{$this->settings['base_url']}&amp;module=members&amp;section=members&amp;do=ban_member&amp;member_id={$member['member_id']}' method='post'>
<div class='acp-box'>
<h3>{$this->lang->words['sm_banmanage']}</h3>
<ul class='acp-form modal-overflow'>
<li>
{$form['member']}
{$this->lang->words['mf_banperm']}
</li>
<li>
{$form['groups_confirm']}
{$this->lang->words['mf_movefrom']} '{$member['_group_title']}' {$this->lang->words['mf_to']}<br />
<span style='margin-left: 25px;'>{$form['groups']}</span>
</li>
<li>
{$form['email']}
{$this->lang->words['mf_banemail']} '{$member['email']}'
</li>
<li>
{$form['name']}
{$this->lang->words['mf_banname']} '{$member['name']}'
</li>
<div class='fixed_inner'>
<table class='ipsTable double_pad'>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['mf_banperm']}</strong></td>
<td class='field_field'>{$form['member']}</td>
</tr>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['mf_movefrom']} '{$member['_group_title']}' {$this->lang->words['mf_to']}</strong></td>
<td class='field_field'>
{$form['groups_confirm']}
{$form['groups']}
</td>
</tr>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['mf_banemail']} '{$member['email']}'</strong></td>
<td class='field_field'>{$form['email']}</td>
</tr>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['mf_banname']} '{$member['name']}'</strong></td>
<td class='field_field'>{$form['name']}</td>
</tr>
EOF;
if( $form['ips'] && count( $form['ips'] ) )
{
$IPBHTML .= "<li><label class='head'>{$this->lang->words['ipaddresses']}</label></li>";
foreach( $form['ips'] as $ip => $form_field )
if( $form['ips'] && count( $form['ips'] ) )
{
$IPBHTML .= <<<EOF
<li style='padding-left: 25px;'>
{$form_field}
{$this->lang->words['mf_banip']} '{$ip}'
</li>
<tr><th colspan='2'>{$this->lang->words['ipaddresses']}</tr>
</table>
<div style='max-height: 150px; overflow: auto;'>
<table class='ipsTable double_pad'>
EOF;
foreach( $form['ips'] as $ip => $form_field )
{
$IPBHTML .= <<<EOF
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['mf_banip']} '{$ip}'</strong></td>
<td class='field_field'>{$form_field}</td>
</tr>
EOF;
}
$IPBHTML .= <<<EOF
</table>
</div>
<table class='ipsTable double_pad'>
EOF;
}
}
$IPBHTML .= <<<EOF
<li>
{$form['note']}
{$this->lang->words['mf_addnote']} <span style='font-weight:normal;'>[<a href='#' onclick="return acp.openWindow('{$this->settings['board_url']}/index.php?app=members&amp;module=warn&amp;section=warn&amp;mid={$member['member_id']}&amp;do=view&amp;popup=1','980','600'); return false;">{$this->lang->words['mf_viewnotes']}</a>]</span>
<br />
<div style='margin-top: 5px'>{$form['note_field']}</div>
</li>
<li>
<a href='{$this->settings['base_url']}&amp;module=members&amp;section=members&amp;do=banmember&amp;member_id={$member['member_id']}'>{$this->lang->words['mf_clickhere']}</a> {$this->lang->words['mf_tosuspend']}<br />
{$this->lang->words['mf_justor']} <a href='#' onclick="new Effect.Fade( $('inlineFormWrap'), {duration: 0.3} ); acp.members.goToTab( 'tabtab-MEMBERS|7' ); return false;">{$this->lang->words['mf_clickhere']}</a> {$this->lang->words['mf_topostrestrict']}
</li>
</ul>
$IPBHTML .= <<<EOF
<tr>
<td class='field_title'>
<strong class='title'>{$this->lang->words['mf_addnote']} <span style='font-weight:normal;'>[<a href='#' onclick="return acp.openWindow('{$this->settings['board_url']}/index.php?app=core&amp;module=modcp&amp;section=editmember&amp;mid={$member['member_id']}&amp;do=view&amp;popup=1','980','600'); return false;">{$this->lang->words['mf_viewnotes']}</a>]</span></strong>
</td>
<td class='field_field'>
{$form['note']}
</td>
</tr>
<tr>
<td colspan='2'>
<div align='center'>{$form['note_field']}</div>
</td>
</tr>
<tr>
<td colspan='2'><a href='{$this->settings['base_url']}&amp;module=members&amp;section=members&amp;do=banmember&amp;member_id={$member['member_id']}'>{$this->lang->words['mf_clickhere']}</a> {$this->lang->words['mf_tosuspend']}<br />
{$this->lang->words['mf_justor']} <a href='#' onclick="new Effect.Fade( $('inlineFormWrap'), {duration: 0.3} ); acp.members.goToTab( 'tab_MEMBERS_7' ); return false;">{$this->lang->words['mf_clickhere']}</a> {$this->lang->words['mf_topostrestrict']}</td>
</tr>
</table>
</div>
<div class='acp-actionbar'>
<input type='submit' value=' {$this->lang->words['mf_alterban']} ' class='realbutton' />
<input type='submit' value='{$this->lang->words['mf_alterban']}' class='button primary' />
</div>
</div>
</form>
EOF;
return $IPBHTML;
@@ -109,7 +160,6 @@ return $IPBHTML;
/**
* Edit email dhtml window
*
* @access public
* @param array Member data
* @return string HTML
*/
@@ -118,29 +168,20 @@ public function inline_email( $member )
$IPBHTML = "";
$IPBHTML .= <<<EOF
<script type='text/javascript'>
acp.members.fields['MF__email'] = {};
acp.members.fields['MF__email']['fields'] = $A(['email']);
acp.members.fields['MF__email']['url'] = "app=members&amp;module=ajax&amp;section=editform&amp;do=save_email&amp;member_id={$member['member_id']}";
acp.members.fields['MF__email']['callback'] = function( t, json ){
$('MF__email').innerHTML = json['email'];
new Effect.Pulsate( $('MF__email'), { pulses: 3 } );
}
</script>
<form action='{$this->settings['base_url']}&amp;module=members&amp;section=editform&amp;do=save_email&amp;member_id={$member['member_id']}&amp;secure_key={$this->member->form_hash}' method='post'>
<div class='acp-box'>
<h3>{$this->lang->words['mem_ajfo_email']}</h3>
<ul class='acp-form'>
<li>
<label for='email'>{$this->lang->words['mem_ajfo_email1']}</label>
<input type='text' size='30' id='email' name='email' value="{$member['email']}" class='input_text' />
</li>
</ul>
<table class='ipsTable double_pad'>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['mem_ajfo_email1']}</strong></td>
<td class='field_field'><input type='text' size='30' id='email' name='email' value="{$member['email']}" class='input_text' /></td>
</tr>
</table>
<div class='acp-actionbar'>
<input type='submit' value='{$this->lang->words['mf_save']}' class='realbutton' id='MF__email_save' />
<input type='submit' value='{$this->lang->words['mf_save']}' class='button primary' />
</div>
</div>
</form>
EOF;
return $IPBHTML;
@@ -150,7 +191,6 @@ return $IPBHTML;
/**
* Upload photo dhtml window
*
* @access public
* @param array Member data
* @return string HTML
*/
@@ -161,18 +201,18 @@ $IPBHTML = "";
$IPBHTML .= <<<EOF
<form action='{$this->settings['base_url']}&amp;module=members&amp;section=members&amp;do=new_photo&amp;member_id={$member['member_id']}' method='post' enctype='multipart/form-data'>
<div class='acp-box'>
<h3>{$this->lang->words['mem_ajfo_photo']}</h3>
<ul class='acp-form'>
<li>
<label for='upload_photo'>{$this->lang->words['mf_newphoto']}</label>
<input type='file' size='30' id='upload_photo' name='upload_photo' />
</li>
</ul>
<div class='acp-actionbar'>
<input type='submit' value='{$this->lang->words['mf_save']}' class='realbutton' />
</div>
<div class='acp-box'>
<h3>{$this->lang->words['mem_ajfo_photo']}</h3>
<table class='ipsTable double_pad'>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['mf_newphoto']}</strong></td>
<td class='field_field'><input type='file' size='30' id='upload_photo' name='upload_photo' /></td>
</tr>
</table>
<div class='acp-actionbar'>
<input type='submit' value='{$this->lang->words['mf_save']}' class='button primary' />
</div>
</div>
</form>
EOF;
@@ -183,7 +223,6 @@ return $IPBHTML;
/**
* Edit password dhtml window
*
* @access public
* @param array Member data
* @return string HTML
*/
@@ -196,36 +235,29 @@ $_form_new_pepper = ipsRegistry::getClass('output')->formYesNo( "new_key" ,
$IPBHTML .= <<<EOF
<script type='text/javascript'>
acp.members.fields['MF__password'] = {};
acp.members.fields['MF__password']['fields'] = $A(['password', 'password2', 'new_salt', 'new_key']);
acp.members.fields['MF__password']['bypass'] = true;
</script>
<form action='{$this->settings['base_url']}&amp;module=ajax&amp;section=editform&amp;do=save_password&amp;member_id={$member['member_id']}&amp;secure_key={$this->member->form_hash}' method='post'>
<form action='{$this->settings['base_url']}&amp;module=members&amp;section=editform&amp;do=save_password&amp;member_id={$member['member_id']}&amp;secure_key={$this->member->form_hash}' method='post'>
<div class='acp-box'>
<h3>{$this->lang->words['mem_ajfo_password']}</h3>
<ul class='acp-form'>
<li>
<label for='password'>{$this->lang->words['mem_ajfo_password1']}</label>
<input type='password' size='30' id='password' name='password' class='input_text' />
</li>
<li>
<label for='password2'>{$this->lang->words['mem_ajfo_password2']}</label>
<input type='password' size='30' id='password2' name='password2' class='input_text' />
</li>
<li>
<label for='new_key'>{$this->lang->words['mem_afjo_new_key']}<br /><span class='desctext'>{$this->lang->words['mem_afjo_new_key_desc']}</span></label>
{$_form_new_pepper}
</li>
<li>
<label for='new_key'>{$this->lang->words['mem_afjo_new_salt']}</label>
{$_form_new_salt}
</li>
</ul>
<table class='ipsTable double_pad'>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['mem_ajfo_password1']}</strong></td>
<td class='field_field'><input type='password' size='30' id='password' name='password' class='input_text' /></td>
</tr>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['mem_ajfo_password2']}</strong></td>
<td class='field_field'><input type='password' size='30' id='password2' name='password2' class='input_text' /></td>
</tr>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['mem_afjo_new_key']}</strong></td>
<td class='field_field'>{$_form_new_pepper}<br /><span class='desctext'>{$this->lang->words['mem_afjo_new_key_desc']}</span></td>
</tr>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['mem_afjo_new_salt']}</strong></td>
<td class='field_field'>{$_form_new_salt}</td>
</tr>
</table>
<div class='acp-actionbar'>
<input type='submit' value='{$this->lang->words['mf_save']}' class='realbutton' id='MF__password_save' />
<input type='submit' value='{$this->lang->words['mf_save']}' class='button primary' id='MF__password_save' />
</div>
</div>
</form>
@@ -238,7 +270,6 @@ return $IPBHTML;
/**
* Change name dhtml window
*
* @access public
* @param array Member data
* @return string HTML
*/
@@ -250,35 +281,24 @@ $_form_send_email = ipsRegistry::getClass('output')->formYesNo( "send_email"
$_form_email_contents = ipsRegistry::getClass('output')->formTextarea( "email_contents", $this->lang->words['mem_afjo_email_contents'] );
$IPBHTML .= <<<EOF
<script type='text/javascript'>
acp.members.fields['MF__name'] = {};
acp.members.fields['MF__name']['fields'] = $A(['name', 'send_email', 'email_contents']);
acp.members.fields['MF__name']['bypass'] = true;
</script>
<form action='{$this->settings['base_url']}&amp;module=ajax&amp;section=editform&amp;do=save_name&amp;member_id={$member['member_id']}&amp;secure_key={$this->member->form_hash}' method='post'>
<form action='{$this->settings['base_url']}&amp;module=members&amp;section=editform&amp;do=save_name&amp;member_id={$member['member_id']}&amp;secure_key={$this->member->form_hash}' method='post'>
<div class='acp-box'>
<h3>{$this->lang->words['mem_edit_login_name']}</h3>
<ul class='acp-form'>
<li>
<label for='name'>{$this->lang->words['mem_ajfo_name']}</label>
<input type='text' size='30' id='name' name='name' value='{$member['name']}' />
</li>
<li>
<label for=''>{$this->lang->words['mem_afjo_send_email']}</label>
{$_form_send_email}
</li>
<li style='text-align: center; padding: 10px;'>
{$_form_email_contents}
<br /><span class='desctext'>{$this->lang->words['mem_afjo_send_email_desc']}</span>
</li>
</ul>
<table class='ipsTable double_pad'>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['mem_ajfo_name']}</strong></td>
<td class='field_field'><input type='text' size='30' id='name' name='name' value='{$member['name']}' class='input_text' /></td>
</tr>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['mem_afjo_send_email']}</strong></td>
<td class='field_field'>{$_form_send_email}<br /><br />{$_form_email_contents}<br /><span class='desctext'>{$this->lang->words['mem_afjo_send_email_desc']}</span></td>
</tr>
</table>
<div class='acp-actionbar'>
<input type='submit' value='{$this->lang->words['mf_save']}' class='realbutton' id='MF__name_save' />
<input type='submit' value='{$this->lang->words['mf_save']}' class='button primary' id='MF__name_save' />
</div>
</div>
</form>
EOF;
return $IPBHTML;
@@ -288,7 +308,6 @@ return $IPBHTML;
/**
* Change display name dhtml window
*
* @access public
* @param array Member data
* @return string HTML
*/
@@ -297,24 +316,17 @@ public function inline_form_display_name( $member )
$IPBHTML = "";
$IPBHTML .= <<<EOF
<script type='text/javascript'>
acp.members.fields['MF__member_display_name'] = {};
acp.members.fields['MF__member_display_name']['fields'] = $A(['display_name']);
acp.members.fields['MF__member_display_name']['bypass'] = true;
</script>
<form action='{$this->settings['base_url']}&amp;module=ajax&amp;section=editform&amp;do=save_display_name&amp;member_id={$member['member_id']}&amp;secure_key={$this->member->form_hash}' method='post'>
<form action='{$this->settings['base_url']}&amp;module=members&amp;section=editform&amp;do=save_display_name&amp;member_id={$member['member_id']}&amp;secure_key={$this->member->form_hash}' method='post'>
<div class='acp-box'>
<h3>{$this->lang->words['mem_edit_display_name']}</h3>
<ul class='acp-form'>
<li>
<label for='name'>{$this->lang->words['mem_display_name']}</label>
<input type='text' size='30' id='display_name' name='display_name' value='{$member['members_display_name']}' />
</li>
</ul>
<table class='ipsTable double_pad'>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['mem_display_name']}</strong></td>
<td class='field_field'><input type='text' size='30' id='display_name' name='display_name' value='{$member['members_display_name']}' class='input_text' /></td>
</tr>
</table>
<div class='acp-actionbar'>
<input type='submit' value='{$this->lang->words['mf_save']}' class='realbutton' id='MF__member_display_name_save' />
<input type='submit' value='{$this->lang->words['mf_save']}' class='button primary' id='MF__member_display_name_save' />
</div>
</div>
</form>
@@ -2,39 +2,69 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.1.4
* IP.Board v3.2.3
* ACP notification config skin file
* Last Updated: $Date: 2010-06-17 17:00:56 -0400 (Thu, 17 Jun 2010) $
* Last Updated: $Date: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
* </pre>
*
* @author $Author: josh $
* @author $Author: ips_terabyte $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/community/board/license.html
* @license This is NULLED!
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @link http://hatynka.in
* @since 20th February 2002
* @version $Rev: 6551 $
* @version $Rev: 8644 $
*
*/
class cp_skin_notifications extends output
class cp_skin_notifications
{
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* 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;
}
/**
* Show the form to configure notification defaults
*
* @access public
* @param array Application notification options
* @param array Current configuration
* @return string HTML
@@ -52,7 +82,7 @@ $IPBHTML .= <<<HTML
<h3>{$this->lang->words['notifications_config_title']}</h3>
<form method='post' action='{$this->settings['base_url']}{$this->form_code}&amp;do=save'>
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->_admin_auth_key}' />
<table width='100%' class='alternate_rows double_pad'>
<table class='ipsTable double_pad'>
<tr>
<th>{$this->lang->words['notificationtype_h']}</th>
<th>{$this->lang->words['notificationdfs_h']}</th>
@@ -61,8 +91,7 @@ $IPBHTML .= <<<HTML
</tr>
HTML;
$_options = array(
array( 'pm', $this->lang->words['notopt__pm'] ),
$_options = array(
array( 'email', $this->lang->words['notopt__email'] ),
array( 'inline', $this->lang->words['notopt__inline'] ),
array( 'mobile', $this->lang->words['notopt__mobile'] )
@@ -78,8 +107,8 @@ foreach( $options as $option )
$_thisConfig['disabled'] = $option['disabled'];
}
$_defaultOpt = $this->registry->output->formMultiDropdown( 'default_' . $option['key'] . '[]', $_options, $_thisConfig['selected'], 4, 'default_' . $option['key'] );
$_disabledOpt = $this->registry->output->formMultiDropdown( 'disabled_' . $option['key'] . '[]', $_options, $_thisConfig['disabled'], 4,'disabled_' . $option['key'] );
$_defaultOpt = $this->registry->output->formMultiDropdown( 'default_' . $option['key'] . '[]', $_options, $_thisConfig['selected'], 3, 'default_' . $option['key'] );
$_disabledOpt = $this->registry->output->formMultiDropdown( 'disabled_' . $option['key'] . '[]', $_options, $_thisConfig['disabled'], 3,'disabled_' . $option['key'] );
$_disableOver = $this->registry->output->formYesNo( 'disable_override_' . $option['key'], intval($_thisConfig['disable_override']) );
$IPBHTML .= <<<HTML
@@ -2,39 +2,69 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.1.4
* IP.Board v3.2.3
* ACP permissions skin file
* Last Updated: $Date: 2010-05-19 21:06:53 -0400 (Wed, 19 May 2010) $
* Last Updated: $Date: 2011-09-02 20:55:33 -0400 (Fri, 02 Sep 2011) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/community/board/license.html
* @license This is NULLED!
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @link http://hatynka.in
* @since 20th February 2002
* @version $Rev: 6326 $
* @version $Rev: 9450 $
*
*/
class cp_skin_permissions extends output
class cp_skin_permissions
{
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* 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;
}
/**
* Confirmation page that perm set was removed
*
* @access public
* @param string Name
* @return string HTML
*/
@@ -44,10 +74,11 @@ $IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='tableheaderalt'>{$this->lang->words['per_result']}</div>
<table width='100%' align='center'>
<div class='acp-box'>
<h3>{$this->lang->words['per_result']}</h3>
<table class='ipsTable'>
<tr>
<td class='tablerow1' width='100%' valign='middle'>{$this->lang->words['per_removecustom']}<b>{$name}</b>.</td>
<td valign='middle'>{$this->lang->words['per_removecustom']}<b>{$name}</b>.</td>
</tr>
</table>
</div>
@@ -60,7 +91,6 @@ return $IPBHTML;
/**
* Show users assigned to the perm mask
*
* @access public
* @param integer Perm mask id
* @param string Permission set name
* @param array Users with this mask
@@ -72,13 +102,13 @@ $IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='tableborder'>
<div class='tableheaderalt'>{$this->lang->words['per_membersusing']}{$set}</div>
<div class='acp-box'>
<h3>{$this->lang->words['per_membersusing']}{$set}</h3>
<table width='100%' align='center'>
<table class='ipsTable'>
<tr>
<td class='tablesubheader' width='50%' align='center'>{$this->lang->words['per_userdetail']}</td>
<td class='tablesubheader' width='50%' align='center'>{$this->lang->words['per_action']}</td>
<th width='50%'>{$this->lang->words['per_userdetail']}</th>
<th width='50%'>{$this->lang->words['per_action']}</th>
</tr>
HTML;
@@ -93,16 +123,16 @@ foreach( $rows as $r )
$IPBHTML .= <<<HTML
<tr>
<td class='tablerow1' width='50%' valign='middle'>
<td width='50%' style='vertical-align: top;'>
<div style='font-weight:bold;font-size:11px;padding-bottom:6px;margin-bottom:3px;border-bottom:1px solid #000'>{$r['members_display_name']}</div>
&#149;&nbsp;{$this->lang->words['per_posts']}{$r['posts']}<br />
&#149;&nbsp;{$this->lang->words['per_email']}{$r['email']}
{$also_using}
</td>
<td class='tablerow2' width='50%' valign='middle'>
<td width='50%' style='vertical-align: top;'>
&#149;&nbsp;<a href='{$this->settings['base_url']}{$this->form_code}do=remove_mask&amp;id={$r['member_id']}&amp;pid={$perm_id}' title='{$this->lang->words['per_removethis']}'>{$this->lang->words['per_removethisset']}</a><br />
&#149;&nbsp;<a href='{$this->settings['base_url']}{$this->form_code}do=remove_mask&amp;id={$r['member_id']}&amp;pid=all' title='{$this->lang->words['per_removeall']}'>{$this->lang->words['per_removeall']}</a><br /><br />
&#149;&nbsp;<a href='{$this->settings['base_url']}{$this->form_code}do=remove_mask&amp;id={$r['member_id']}&amp;pid=all' title='{$this->lang->words['per_removeall']}'>{$this->lang->words['per_removeall']}</a>
</td>
</tr>
HTML;
@@ -120,14 +150,15 @@ return $IPBHTML;
/**
* Permissions matrix
*
* @access public
* @param array Permission names
* @param array Compiled grids
* @param array Permissions checked
* @param array Colors
* @param string Type
* @param boolean $addOutsideBox Add or not the outside acp-box
* @return string HTML
*/
public function permissionMatrix( $perm_names, $perm_matrix, $perm_checked, $colors )
public function permissionMatrix( $perm_names, $perm_matrix, $perm_checked, $colors, $type, $addOutsideBox=true )
{
$IPBHTML = "";
//--starthtml--//
@@ -135,90 +166,96 @@ $IPBHTML = "";
$cols = count( $perm_names ) + 1;
$width = ceil( 83 / count( $perm_names ) );
$IPBHTML .= <<<HTML
$IPBHTML .= $addOutsideBox ? "<div class='acp-box'>" : '';
<div class='acp-box'>
<h3>{$this->lang->words['frm_enterthematrix']}</h3>
<script type='text/javascript' src='{$this->settings['js_main_url']}acp.permissions2.js'></script>
$IPBHTML .= <<<HTML
<!--<h3>{$this->lang->words['frm_enterthematrix']}</h3>-->
<script type='text/javascript' src='{$this->settings['js_main_url']}acp.permissions2.js'></script>
<table class='ipsTable permission_table' id='perm_matrix'>
<tr>
<th style='width: 13%'>&nbsp;</th>
HTML;
foreach( $perm_names as $k => $v )
{
$IPBHTML .= <<<HTML
<th style='width: {$width}%; text-align: center;'>{$v}</td>
HTML;
}
$IPBHTML .= <<<HTML
</tr>
<tr>
<td class='section' colspan='{$cols}'>{$this->lang->words['frm_global']}</td>
</tr>
<tr>
<td class='off'>&nbsp;</td>
HTML;
$col_num = 0;
foreach( $perm_names as $k => $v )
{
$col_num++;
$IPBHTML .= <<<HTML
<!-- Check an entire column -->
<td style='background-color:{$colors[$k]}' class='perm column' id='column_{$col_num}'>
{$v}<br />
<input type='checkbox' name='perms[{$type}{$k}][*]' id='col_{$col_num}' value='1'{$perm_checked['*'][$k]}>
</td>
HTML;
}
$IPBHTML .= <<<HTML
</tr>
HTML;
$row_num = 0;
foreach( $perm_matrix as $set => $row )
{
$set = explode( '%', $set );
$row_num++;
$col_num = 0;
$IPBHTML .= <<<HTML
<tr>
<td class='section' colspan='{$cols}'><strong>{$set[1]}</strong></td>
</tr>
<tr id='forum{$type}_row_{$row_num}'>
<td class='off'>
<input type='button' id='forum_select_row_1_{$row_num}' value='+' class='select_row' />&nbsp;
<input type='button' id='forum_select_row_0_{$row_num}' value='&ndash;' class='select_row' />
</td>
HTML;
foreach( $row as $key => $perm )
{
$col_num++;
$IPBHTML .= <<<HTML
<td class='perm' id='clickable_{$col_num}' style='background-color:{$colors[$key]}'>
{$perm}<br />
<input type='checkbox' name='perms[{$type}{$key}][{$set[0]}]' id='perm_{$row_num}_{$col_num}' value='1'{$perm_checked[$set[0]][$key]}>
</td>
HTML;
}
<table class='permission_table' id='perm_matrix'>
<tr>
<th style='width: 13%'>&nbsp;</th>
$IPBHTML .= <<<HTML
</tr>
HTML;
foreach( $perm_names as $k => $v )
{
$IPBHTML .= <<<HTML
<th style='width: {$width}%; text-align: center;'>{$v}</td>
HTML;
}
}
$IPBHTML .= <<<HTML
</tr>
<tr>
<td class='section' colspan='{$cols}'>{$this->lang->words['frm_global']}</td>
</tr>
<tr>
<td class='off'>&nbsp;</td>
HTML;
$col_num = 0;
foreach( $perm_names as $k => $v )
{
$col_num++;
$IPBHTML .= <<<HTML
<!-- Check an entire column -->
<td style='background-color:{$colors[$k]}' class='perm column' id='column_{$col_num}'>
{$v}<br />
<input type='checkbox' name='perms[$k][*]' id='col_{$col_num}' value='1'{$perm_checked['*'][$k]}>
</td>
HTML;
}
$IPBHTML .= <<<HTML
</tr>
HTML;
$row_num = 0;
foreach( $perm_matrix as $set => $row )
{
$set = explode( '%', $set );
$row_num++;
$col_num = 0;
$IPBHTML .= <<<HTML
<tr>
<td class='section' colspan='{$cols}'><strong>{$set[1]}</strong></td>
</tr>
<tr id='forum_row_{$row_num}'>
<td class='off'>
<input type='button' id='forum_select_row_1_{$row_num}' value=' + ' class='select_row' />&nbsp;
<input type='button' id='forum_select_row_0_{$row_num}' value=' &ndash; ' class='select_row' />
</td>
HTML;
foreach( $row as $key => $perm )
{
$col_num++;
$IPBHTML .= <<<HTML
<td class='perm' id='clickable_{$col_num}' style='background-color:{$colors[$key]}'>
{$perm}<br />
<input type='checkbox' name='perms[{$key}][{$set[0]}]' id='perm_{$row_num}_{$col_num}' value='1'{$perm_checked[$set[0]][$key]}>
</td>
HTML;
}
$IPBHTML .= <<<HTML
</tr>
HTML;
}
$IPBHTML .= <<<HTML
</table>
</div>
$IPBHTML .= <<<HTML
</table>
<script type='text/javascript'>
var permissions = new acp.permissions( { 'form': 'adminform', 'table': 'perm_matrix', 'app': 'forum' } );
var permissions = new acp.permissions( { 'form': 'adminform', 'table': 'perm_matrix', 'app': 'forum', 'typekey': '{$type}' } );
var noShowAlert = false;
</script>
HTML;
$IPBHTML .= $addOutsideBox ? '</div>' : '';
//--endhtml--//
return $IPBHTML;
}
@@ -226,7 +263,6 @@ return $IPBHTML;
/**
* Permission set matrix
*
* @access public
* @param array Perm names
* @param array Perm grids
* @param array Boxes to check
@@ -243,7 +279,7 @@ $IPBHTML = "";
if( !is_array( $perm_matrix ) || !count( $perm_matrix ) ){ return ''; }
$IPBHTML .= <<<HTML
<table class='permission_table' id='perm_matrix_{$app}'>
<table class='permission_table' id='perm_matrix_{$app}{$type}' style='width: 100%'>
HTML;
if( is_array( $perm_names ) && count( $perm_names ) )
@@ -264,8 +300,8 @@ HTML;
$IPBHTML .= <<<HTML
<td class='perm' style='background-color: {$colors[$key]}; width: {$col_width}%'>
<input type='button' id='{$app}_select_col_1_{$col_num}' value=' + ' class='select_col' />&nbsp;
<input type='button' id='{$app}_select_col_0_{$col_num}' value=' &ndash; ' class='select_col' />
<input type='button' id='{$app}{$type}_select_col_1_{$col_num}' value='+' class='select_col' />&nbsp;
<input type='button' id='{$app}{$type}_select_col_0_{$col_num}' value='&ndash;' class='select_col' />
</td>
HTML;
}
@@ -290,10 +326,10 @@ $IPBHTML .= <<<HTML
<tr>
<td style='padding: 0px;'>
<table width='100%'>
<tr id='{$app}_row_{$row_num}'>
<tr id='{$app}{$type}_row_{$row_num}'>
<td class='off' style='width: 13%; text-align: right;'>
<input type='button' id='{$app}_select_row_1_{$row_num}' value=' + ' class='select_row' />&nbsp;
<input type='button' id='{$app}_select_row_0_{$row_num}' value=' &ndash; ' class='select_row' />
<input type='button' id='{$app}{$type}_select_row_1_{$row_num}' value='+' class='select_row' />&nbsp;
<input type='button' id='{$app}{$type}_select_row_0_{$row_num}' value='&ndash;' class='select_row' />
</td>
HTML;
@@ -309,7 +345,7 @@ foreach( $perm_names as $key => $perm )
$IPBHTML .= <<<HTML
<td class='perm' style='background-color:{$colors[$key]}; width: {$col_width}%'>
{$perm}<br />
<input type='checkbox' id='{$app}_{$col_num}_{$row_num}' name='perms[{$app}][{$type}][{$key}][{$set[0]}]' value='1'{$perm_checked[$set[0]][$key]}>
<input type='checkbox' id='{$app}{$type}_{$col_num}_{$row_num}' name='perms[{$app}][{$type}][{$key}][{$set[0]}]' value='1'{$perm_checked[$set[0]][$key]}>
</td>
HTML;
}
@@ -335,7 +371,7 @@ HTML;
$IPBHTML .= <<<HTML
</table>
<script type='text/javascript'>
perms["{$app}"] = new acp.permissions( { 'form': 'adminform', 'table': 'perm_matrix_{$app}', 'app': '{$app}' } );
perms["{$app}{$type}"] = new acp.permissions( { 'form': 'adminform', 'table': 'perm_matrix_{$app}{$type}', 'app': '{$app}', 'typekey': '{$type}' } );
</script>
HTML;
@@ -346,7 +382,6 @@ return $IPBHTML;
/**
* Show dialog to advise user to apply group restrictions
*
* @access public
* @return string HTML
*/
public function groupAdminConfirm( $group_id ) {
@@ -355,17 +390,20 @@ $IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<!--SKINNOTE: Not yet skinned-->
<div class='tableborder'>
<div class='tableheaderalt'>{$this->lang->words['sm_configrest']}</div>
<div class='tablerow1'>
{$this->lang->words['sm_detectacp']}
<br /><br />
{$this->lang->words['sm_setrestrict']}
</div>
<div class='tablesubheader' align='center'>
<span class='fauxbutton'><a href='{$this->settings['base_url']}&amp;{$this->form_code}'>{$this->lang->words['sm_nothanks']}</a></span>&nbsp;&nbsp;
<span class='fauxbutton'><a href='{$this->settings['base_url']}&amp;module=restrictions&amp;section=restrictions&amp;do=acpperms-group-add-complete&amp;entered_group={$group_id}'>{$this->lang->words['sm_yesplease']}</a></span>
<div class='acp-box'>
<h3>{$this->lang->words['sm_configrest']}</h3>
<table class='ipsTable double_pad'>
<tr>
<td>
<strong class='title'>{$this->lang->words['sm_detectacp']}</strong>
<br /><br />
{$this->lang->words['sm_setrestrict']}
</td>
</tr>
</table>
<div class='acp-actionbar'>
<a class='button' href='{$this->settings['base_url']}&amp;{$this->form_code}'>{$this->lang->words['sm_nothanks']}</a>&nbsp;&nbsp;
<a class='button' href='{$this->settings['base_url']}&amp;module=restrictions&amp;section=restrictions&amp;do=acpperms-group-add-complete&amp;entered_group={$group_id}'>{$this->lang->words['sm_yesplease']}</a>
</div>
</div>
<br />
@@ -378,7 +416,6 @@ return $IPBHTML;
/**
* Edit permissions mask
*
* @access public
* @param string Set name
* @param array Perm grids
* @param integer Id
@@ -392,14 +429,14 @@ $IPBHTML = "";
$i = 1;
$IPBHTML .= <<<HTML
<script type="text/javascript">
<!--<script type="text/javascript">
//<![CDATA[
document.observe("dom:loaded",function()
{
ipbAcpTabStrips.register('tab_perms');
});
//]]>
</script>
</script>-->
<div class='section_title'>
<h2>{$set_name}</h2>
@@ -412,39 +449,48 @@ ipbAcpTabStrips.register('tab_perms');
<form action='{$this->settings['base_url']}{$this->form_code}do=do_edit_set&amp;id={$this->request['id']}' method='post' id='adminform'>
<input type='hidden' name='_from' value='{$this->request['_from']}' />
<div class='acp-box'>
<h3>{$this->lang->words['per_editset']}</h3>
<table class='alternate_rows' width='100%'>
<div class='acp-box'>
<table class='ipsTable double_pad'>
<tr>
<td>{$this->lang->words['per_setname']}</td>
<td><input type='text' class='input' size='30' name='perm_name' value='{$set_name}' /></td>
<td class='field_title'><strong class='title'>{$this->lang->words['per_setname']}</strong></td>
<td class='field_field'><input type='text' class='input_text' size='30' name='perm_name' value='{$set_name}' /></td>
</tr>
</table>
</div>
<br />
HTML;
foreach( $apps as $app => $type )
foreach( $apps as $app => $types )
{
$IPBHTML .= <<<HTML
<input type='hidden' name='apps[{$app}][{$type}]' value='1' />
foreach( $types as $type )
{
$IPBHTML .= <<<HTML
<input type='hidden' name='apps[{$app}][{$type}]' value='1' />
HTML;
}
}
$IPBHTML .= <<<HTML
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->getSecurityKey()}' />
<ul id='tab_perms' class='tab_bar no_title'>
<div class='acp-box'>
<h3>{$this->lang->words['per_editset']}</h3>
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->getSecurityKey()}' />
<div id='tab_perms' class='ipsTabBar with_left with_right'>
<span class='tab_left'>&laquo;</span>
<span class='tab_right'>&raquo;</span>
<ul>
HTML;
foreach( $perm_matricies as $type => $matrix )
{
if( !$matrix ){ continue; }
$IPBHTML .= " <li id='tabtab-MEMBERS|" . $i ."' class=''>" . $type . "</li>";
$IPBHTML .= " <li id='tab_members" . $i ."'>" . $type . "</li>";
$i++;
}
$IPBHTML .= <<<HTML
</ul>
</ul>
</div>
<div id='tab_perms_content'>
HTML;
$i = 1;
@@ -453,20 +499,24 @@ foreach( $perm_matricies as $type => $matrix )
{
if( !$matrix ){ continue; }
$IPBHTML .= <<<HTML
<div id='tabpane-MEMBERS|{$i}'>
{$matrix}
</div>
<div id='tab_members{$i}_content' class='ipsTabBar_content'>
{$matrix}
</div>
HTML;
$i++;
}
$IPBHTML .= <<<HTML
<div class='acp-actionbar'><input type='submit' value='{$this->lang->words['frm_savechanges']}' class='realbutton' /></div>
</div>
<div class='acp-actionbar'><input type='submit' value='{$this->lang->words['frm_savechanges']}' class='realbutton' /></div>
</div>
<br style='clear: both' />
</form>
<br /><br /><br /><br /><br />
<br />
<script type='text/javascript'>
jQ("#tab_perms").ipsTabBar({ tabWrap: "#tab_perms_content" });
</script>
HTML;
//--endhtml--//
@@ -477,7 +527,6 @@ return $IPBHTML;
/**
* Mask splash page
*
* @access public
* @param array Masks
* @param string Dropdown lsit
* @return string HTML
@@ -495,7 +544,7 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['per_setname']}</h3>
<table class='alternate_rows' width='100%'>
<table class='ipsTable'>
<tr>
<th width='20%'>{$this->lang->words['per_name']}</th>
<th width='15%'>{$this->lang->words['per_usedgroups']}</th>
@@ -508,10 +557,10 @@ HTML;
foreach( $rows as $r )
{
$IPBHTML .= <<<HTML
<tr>
<tr class='ipsControlRow'>
<td><strong>{$r['name']}</strong></td>
<td>{$r['groups']}</td>
<td align='right'>
<td>
HTML;
if ( $r['mems'] > 0 )
{
@@ -527,27 +576,25 @@ HTML;
}
$IPBHTML .= <<<HTML
</td>
<td class='tablerow1' align='center'>
<img id="menu{$r['id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['per_options']}' class='ipbmenu' />
<ul class='acp-menu' id='menu{$r['id']}_menucontent'>
<li class='icon edit'><a href='{$this->settings['base_url']}{$this->form_code}do=edit_set_form&amp;id={$r['id']}'>{$this->lang->words['per_editset']}</a></li>
<td class='col_buttons'>
<ul class='ipsControlStrip'>
<li class='i_edit'><a href='{$this->settings['base_url']}{$this->form_code}do=edit_set_form&amp;id={$r['id']}' title='{$this->lang->words['per_editset']}'>{$this->lang->words['per_editset']}</a></li>
HTML;
if ( ! $r['isactive'] )
{
$IPBHTML .= <<<HTML
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=delete_set&amp;id={$r['id']}");'>{$this->lang->words['per_deleteset']}</a></li>
<li class='i_delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=delete_set&amp;id={$r['id']}");' title='{$this->lang->words['per_deleteset']}'>{$this->lang->words['per_deleteset']}</a></li>
HTML;
}
else
{
$IPBHTML .= <<<HTML
<li class='icon delete'>{$this->lang->words['per_inuse']}</li>
<li class='i_delete disabled'><a href='#' onclick='return false;' title='{$this->lang->words['per_inuse']}'>{$this->lang->words['per_inuse']}</a></li>
HTML;
}
$IPBHTML .= <<<HTML
</ul>
</ul>
</td>
</tr>
HTML;
@@ -565,20 +612,18 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['per_createnew']}</h3>
<table class='alternate_rows' width='100%'>
<table class='ipsTable double_pad'>
<tr>
<td>{$this->lang->words['per_setname']}</td>
<td><input type='text' class='input' size='30' name='new_perm_name' /></td>
<td class='field_title'><strong class='title'>{$this->lang->words['per_setname']}</strong></td>
<td class='field_field'><input type='text' class='input' size='30' name='new_perm_name' /></td>
</tr>
<tr>
<td>{$this->lang->words['per_baseon']}</td>
<td><select name='new_perm_copy' class='dropdown'>{$dlist}</select></td>
<td class='field_title'><strong class='title'>{$this->lang->words['per_baseon']}</strong></td>
<td class='field_field'><select name='new_perm_copy' class='dropdown'>{$dlist}</select></td>
</tr>
</table>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' value='{$this->lang->words['per_createbutton']}' class='button primary' />
</div>
<input type='submit' value='{$this->lang->words['per_createbutton']}' class='button primary' />
</div>
</div>
</form>
@@ -2,39 +2,69 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.1.4
* IP.Board v3.2.3
* ACP profile fields skin file
* Last Updated: $Date: 2010-09-27 18:18:35 -0400 (Mon, 27 Sep 2010) $
* Last Updated: $Date: 2011-09-12 20:59:05 -0400 (Mon, 12 Sep 2011) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/community/board/license.html
* @license This is NULLED!
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @link http://hatynka.in
* @since 20th February 2002
* @version $Rev: 6917 $
* @version $Rev: 9483 $
*
*/
class cp_skin_profilefields extends output
class cp_skin_profilefields
{
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* 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;
}
/**
* Add/edit a group
*
* @access public
* @param int ID
* @param array Group data
* @param string Page title
@@ -58,21 +88,28 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$title}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['cf_g_name']}</label>
<input type='text' name='pf_group_name' value="{$data['pf_group_name']}" size='30' class='textinput'>
</li>
<li>
<label>{$this->lang->words['cf_g_key']}<span class='desctext'>{$this->lang->words['cf_g_key_desc']}</span></label>
<input type='text' name='pf_group_key' value="{$data['pf_group_key']}" size='30' class='textinput'>
</li>
</ul>
<table class='ipsTable double_pad'>
<tr>
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_g_name']}</strong>
</td>
<td class='field_field'>
<input type='text' name='pf_group_name' value="{$data['pf_group_name']}" size='30' class='textinput'>
</td>
</tr>
<tr>
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_g_key']}</strong>
</td>
<td class='field_field'>
<input type='text' name='pf_group_key' value="{$data['pf_group_key']}" size='30' class='textinput'><br />
<span class='desctext'>{$this->lang->words['cf_g_key_desc']}</span>
</td>
</tr>
</table>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' value='{$this->lang->words['cf_g_save']}' class='button primary' accesskey='s'>
</div>
<input type='submit' value='{$this->lang->words['cf_g_save']}' class='button primary' accesskey='s'>
</div>
</div>
</form>
@@ -82,72 +119,9 @@ HTML;
return $IPBHTML;
}
/**
* List all the gropus
*
* @access public
* @param array Groups
* @return string HTML
*/
public function groupList( $rows )
{
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['cf_g_groups']}</h2>
<ul class='context_menu'>
<li><a href='{$this->settings['base_url']}{$this->form_code}do=group_form_add'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/add.png' alt='' /> {$this->lang->words['cf_g_add']}</a></li>
</ul>
</div>
<div class='acp-box'>
<h3>{$this->lang->words['cf_g_groups']}</h3>
<table class='alternate_rows' width='100%'>
HTML;
if( ! count( $rows ) )
{
$IPBHTML .= <<<HTML
<tr>
<td>{$this->lang->words['cf_nonefound']}</td>
</tr>
HTML;
}
else
{
foreach( $rows as $r )
{
$IPBHTML .= <<<HTML
<tr>
<td width='95%'><strong>{$r['pf_group_name']}</strong><div class='graytext'>({$r['pf_group_key']})</div></td>
<td width='5%'>
<img class='ipbmenu' id="menu{$r['pf_group_id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['a_options']}' />
<ul class='acp-menu' id='menu{$r['pf_group_id']}_menucontent'>
<li class='icon edit'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=group_form_edit&id={$r['pf_group_id']}'>{$this->lang->words['cf_g_edit']}</a></li>
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}{$this->form_code}&amp;do=group_form_delete&id={$r['pf_group_id']}")'>{$this->lang->words['cf_g_delete']}</a></li>
</ul>
</td>
</tr>
HTML;
}
}
$IPBHTML .= <<<HTML
</table>
</div>
HTML;
//--endhtml--//
return $IPBHTML;
}
/**
* List custom profile fields
*
* @access public
* @param array Fields
* @return string HTML
*/
@@ -160,135 +134,147 @@ $IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['cf_management']}</h2>
<ul class='context_menu'>
<li><a href='{$this->settings['base_url']}{$this->form_code}do=add'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/add.png' alt='' /> {$this->lang->words['cf_addbutton']}</a></li>
<li><a href='{$this->settings['base_url']}{$this->form_code}do=add'><img src='{$this->settings['skin_acp_url']}/images/icons/add.png' alt='' /> {$this->lang->words['cf_addbutton']}</a></li>
<li><a href='{$this->settings['base_url']}{$this->form_code}do=group_form_add'><img src='{$this->settings['skin_acp_url']}/images/icons/folder_add.png' alt='' /> {$this->lang->words['cf_g_add']}</a></li>
</ul>
</div>
<div class='acp-box'>
<h3>{$this->lang->words['cf_management']}</h3>
<div>
<table width='100%'>
<table class='ipsTable'>
<tr>
<td class='tablesubheader' style='width: 2%'>&nbsp;</td>
<td class='tablesubheader' style='width: 24%'>{$this->lang->words['cf_title']}</td>
<td class='tablesubheader' style='width: 20%'>{$this->lang->words['cf_type']}</td>
<td class='tablesubheader' style='width: 13%; text-align: center;'>{$this->lang->words['cf_required']}</td>
<td class='tablesubheader' style='width: 13%; text-align: center;'>{$this->lang->words['cf_notpublic']}</td>
<td class='tablesubheader' style='width: 13%; text-align: center;'>{$this->lang->words['cf_showreg']}</td>
<td class='tablesubheader' style='width: 13%; text-align: center;'>{$this->lang->words['cf_adminonly']}</td>
<td class='tablesubheader' style='width: 2%; text-align: center;'>&nbsp;</td>
<th style='width: 2%'>&nbsp;</td>
<th style='width: 24%'>{$this->lang->words['cf_title']}</td>
<th style='width: 12%'>{$this->lang->words['cf_type']}</td>
<th style='width: 15%; text-align: center;'>{$this->lang->words['cf_required']}</td>
<th style='width: 15%; text-align: center;'>{$this->lang->words['cf_notpublic']}</td>
<th style='width: 15%; text-align: center;'>{$this->lang->words['cf_showreg']}</td>
<th style='width: 15%; text-align: center;'>{$this->lang->words['cf_adminonly']}</td>
<th class='col_buttons'>&nbsp;</td>
</tr>
</table>
</div>
HTML;
if( ! count( $rows ) )
{
$IPBHTML .= <<<HTML
<li style='width:100%; clear:both;'>
<div style='width:100%;'>{$this->lang->words['cf_nonefound']}</div>
</li>
</ul>
<tr>
<td colspan='8' class='no_messages'>
{$this->lang->words['cf_nonefound']}
</td>
</tr>
HTML;
}
else
{
$IPBHTML .= <<<HTML
</ul>
HTML;
$incrementer = 1;
foreach( $rows as $group => $fields )
{
if( is_array($fields) )
{
$_groupData = array_rand($fields, 1);
$_id = $fields[ $_groupData ]['pf_group_id'];
}
else
{
$_id = $fields;
}
$IPBHTML .= <<<HTML
<ul id='handle_{$incrementer}' class='alternate_rows'>
<li class='tablesubsubheader'>
<strong>{$group}</strong>
</li>
<tr>
<td colspan='8' class='no_pad'>
<table class='ipsTable' id='handle_{$incrementer}'>
<tr class='ipsControlRow'>
<th class='subhead col_drag'>&nbsp;</th>
<th colspan='6' class='subhead'>{$group}</th>
<th class='subhead col_buttons'>
<ul class='ipsControlStrip'>
<li class='i_edit'>
<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=group_form_edit&amp;id={$_id}'>{$this->lang->words['cf_g_edit']}</a>
</li>
<li class='i_delete'>
<a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}{$this->form_code}&amp;do=group_form_delete&id={$_id}")'>{$this->lang->words['cf_g_delete']}</a>
</li>
</ul>
</th>
</tr>
HTML;
if( is_array($fields) AND count($fields) )
{
foreach( $fields as $r )
{
$IPBHTML .= <<<HTML
<li class='isDraggable' style='width:100%;' id='field_{$r['pf_id']}'>
<table width='100%' cellpadding='0' cellspacing='0' class='double_pad'>
<tr>
<td style='width: 2%'>
<div class='draghandle'><img src='{$this->settings['skin_acp_url']}/_newimages/drag_icon.png' alt='drag' /></div>
</td>
<td style='width: 24%'>
<tr id='fields_{$r['pf_id']}' class='ipsControlRow isDraggable sortable_{$incrementer}'>
<td class='col_drag'>
<div class='draghandle'>Drag</div>
</td>
<td style='width: 24%'>
HTML;
if( $r['pf_icon'] )
{
$IPBHTML .= "<img src='{$this->settings['public_dir']}{$r['pf_icon']}' alt='Иконка' />&nbsp;";
$IPBHTML .= "<img src='{$this->settings['public_dir']}{$r['pf_icon']}' alt='Icon' />&nbsp;";
}
$IPBHTML .= <<<HTML
<a href="{$this->settings['base_url']}{$this->form_code}do=edit&amp;id={$r['pf_id']}"><strong>{$r['pf_title']}</strong></a>
<a href="{$this->settings['base_url']}{$this->form_code}do=edit&amp;id={$r['pf_id']}"><span class='larger_text'>{$r['pf_title']}</span></a>
HTML;
if( $r['pf_desc'] )
{
$IPBHTML .= <<<HTML
<br /><span class='desctext'>{$r['pf_desc']}</span>
<br /><span class='desctext'>{$r['pf_desc']}</span>
HTML;
}
$IPBHTML .= <<<HTML
</td>
<td style='width: 20%'>
{$r['pf_type']}
</td>
<td style='width: 13%; text-align: center;'>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$r['_req']}' alt='Иконка' />
</td>
<td style='width: 13%; text-align: center;'>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$r['_hide']}' alt='Иконка' />
</td>
<td style='width: 13%; text-align: center;'>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$r['_regi']}' alt='Иконка' />
</td>
<td style='width: 13%; text-align: center;'>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$r['_admin']}' alt='Иконка' />
</td>
<td style='width: 2%'>
<img class='ipbmenu' id="menu{$r['pf_id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['a_options']}' />
<ul class='acp-menu' id='menu{$r['pf_id']}_menucontent'>
<li class='icon edit'><a href="{$this->settings['base_url']}{$this->form_code}do=edit&amp;id={$r['pf_id']}">{$this->lang->words['cf_edit']}</a></li>
<li class='icon delete'><a href="{$this->settings['base_url']}{$this->form_code}do=delete&amp;id={$r['pf_id']}">{$this->lang->words['cf_delete']}</a></li>
</ul>
</td>
</tr>
</table>
</li>
</td>
<td style='width: 12%'>
<span class='desctext'>{$r['pf_type']}</span>
</td>
<td style='width: 15%; text-align: center;'>
<img src='{$this->settings['skin_acp_url']}/images/icons/{$r['_req']}' alt='Icon' />
</td>
<td style='width: 15%; text-align: center;'>
<img src='{$this->settings['skin_acp_url']}/images/icons/{$r['_hide']}' alt='Icon' />
</td>
<td style='width: 15%; text-align: center;'>
<img src='{$this->settings['skin_acp_url']}/images/icons/{$r['_regi']}' alt='Icon' />
</td>
<td style='width: 15%; text-align: center;'>
<img src='{$this->settings['skin_acp_url']}/images/icons/{$r['_admin']}' alt='Icon' />
</td>
<td class='col_buttons'>
<ul class='ipsControlStrip'>
<li class='i_edit'>
<a href="{$this->settings['base_url']}{$this->form_code}do=edit&amp;id={$r['pf_id']}" title='{$this->lang->words['cf_edit']}'>{$this->lang->words['cf_edit']}</a>
</li>
<li class='i_delete'>
<a href="{$this->settings['base_url']}{$this->form_code}do=delete&amp;id={$r['pf_id']}" title='{$this->lang->words['cf_delete']}'>{$this->lang->words['cf_delete']}</a>
</li>
</ul>
</td>
</tr>
HTML;
}
}
$IPBHTML .= <<<HTML
</ul>
<script type="text/javascript">
dropItLikeItsHot{$incrementer} = function( draggableObject, mouseObject )
{
var options = {
method : 'post',
parameters : Sortable.serialize( 'handle_{$incrementer}', { tag: 'li', name: 'fields' } )
};
new Ajax.Request( "{$this->settings['base_url']}&{$this->form_code_js}&do=reorder&md5check={$this->registry->adminFunctions->getSecurityKey()}".replace( /&amp;/g, '&' ), options );
return false;
};
Sortable.create( 'handle_{$incrementer}', { only: 'isDraggable', revert: true, format: 'field_([0-9]+)', onUpdate: dropItLikeItsHot{$incrementer}, handle: 'draghandle' } );
</script>
</table>
<script type='text/javascript'>
jQ("#handle_{$incrementer}").ipsSortable('table', { items: "tr.sortable_{$incrementer}", url: "{$this->settings['base_url']}&{$this->form_code_js}&do=reorder&md5check={$this->registry->adminFunctions->getSecurityKey()}".replace( /&amp;/g, '&' )});
</script>
</td>
</tr>
HTML;
$incrementer++;
}
$incrementer++;
}
}
$IPBHTML .= <<<HTML
</table>
</div>
HTML;
@@ -299,7 +285,6 @@ return $IPBHTML;
/**
* Add/edit profile field form
*
* @access public
* @param int ID
* @param string Action
* @param string Button text
@@ -324,169 +309,169 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['cf_settings']}</h3>
<table class='form_table double_pad alternate_rows' cellspacing='0' cellpadding='0'>
<table class='ipsTable'>
<tr>
<td style='width: 40%;'>
<label>{$this->lang->words['cf_f_title']}</label><br />
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_f_title']}</strong>
</td>
<td class='field_field'>
<input type='text' name='pf_title' value="{$data['pf_title']}" size='30' class='input_text' maxlength='200' /><br />
<span class='desctext'>{$this->lang->words['cf_f_title_info']}</span>
</td>
<td style='width: 60%'>
<input type='text' name='pf_title' value="{$data['pf_title']}" size='30' class='textinput' maxlength='200'>
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['cf_f_desc']}</label><br />
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_f_desc']}</strong>
</td>
<td class='field_field'>
<input type='text' name='pf_desc' value="{$data['pf_desc']}" size='50' class='input_text' maxlength='250' /><br />
<span class='desctext'>{$this->lang->words['cf_f_desc_info']}</span>
</td>
<td>
<input type='text' name='pf_desc' value="{$data['pf_desc']}" size='50' class='textinput' maxlength='250'>
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['cf_f_type']}</label>
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_f_type']}</strong>
</td>
<td>
<td class='field_field'>
{$data['pf_type']}
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['cf_f_group']}</label>
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_f_group']}</strong>
</td>
<td>
<td class='field_field'>
{$data['pf_group_id']}
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['cf_f_icon']}</label>
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_f_icon']}</strong>
</td>
<td>
<td class='field_field'>
{$data['pf_icon']}
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['cf_f_key']}</label><br />
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_f_key']}</strong>
</td>
<td class='field_field'>
{$data['pf_key']}<br />
<span class='desctext'>{$this->lang->words['cf_f_key_info']}</span>
</td>
<td>
{$data['pf_key']}
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['cf_f_max']}</label><br />
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_f_max']}</strong>
</td>
<td class='field_field'>
<input type='text' name='pf_max_input' value="{$data['pf_max_input']}" size='30' class='input_text' /><br />
<span class='desctext'>{$this->lang->words['cf_f_max_info']}</span>
</td>
<td>
<input type='text' name='pf_max_input' value="{$data['pf_max_input']}" size='30' class='textinput'>
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['cf_f_order']}</label><br />
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_f_order']}</strong>
</td>
<td class='field_field'>
<input type='text' name='pf_position' value="{$data['pf_position']}" size='30' class='input_text' /><br />
<span class='desctext'>{$this->lang->words['cf_f_order_info']}</span>
</td>
<td>
<input type='text' name='pf_position' value="{$data['pf_position']}" size='30' class='textinput'>
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['cf_f_form']}</label><br />
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_f_form']}</strong>
</td>
<td class='field_field'>
<input type='text' name='pf_input_format' value="{$data['pf_input_format']}" size='30' class='input_text' /><br />
<span class='desctext'>{$this->lang->words['cf_f_form_info']}</span>
</td>
<td>
<input type='text' name='pf_input_format' value="{$data['pf_input_format']}" size='30' class='textinput'>
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['cf_f_option']}</label><br />
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_f_option']}</strong>
</td>
<td class='field_field'>
<textarea name='pf_content' cols='45' rows='5' wrap='soft' id='pf_content' class='multitext'>{$data['pf_content']}</textarea><br />
<span class='desctext'>{$this->lang->words['cf_f_option_info']}</span>
</td>
<td>
<textarea name='pf_content' cols='45' rows='5' wrap='soft' id='pf_content' class='multitext'>{$data['pf_content']}</textarea>
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['cf_srch_type']}</label><br />
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_srch_type']}</strong>
</td>
<td class='field_field'>
{$data['pf_search_type']}<br />
<span class='desctext'>{$this->lang->words['cf_srch_type_info']}</span>
</td>
<td>
{$data['pf_search_type']}
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['cf_filter_type']}</label><br />
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_filter_type']}</strong>
</td>
<td class='field_field'>
{$data['pf_filtering']}<br />
<span class='desctext'>{$this->lang->words['cf_filter_type_info']}</span>
</td>
<td>
{$data['pf_filtering']}
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['cf_f_reg']}</label><br />
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_f_reg']}</strong>
</td>
<td class='field_field'>
{$data['pf_show_on_reg']}<br />
<span class='desctext'>{$this->lang->words['cf_f_reg_info']}</span>
</td>
<td>
{$data['pf_show_on_reg']}
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['cf_f_must']}</label><br />
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_f_must']}</strong>
</td>
<td class='field_field'>
{$data['pf_not_null']}<br />
<span class='desctext'>{$this->lang->words['cf_f_must_info']}</span>
</td>
<td>
{$data['pf_not_null']}
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['cf_f_edit']}</label><br />
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_f_edit']}</strong>
</td>
<td class='field_field'>
{$data['pf_member_edit']}<br />
<span class='desctext'>{$this->lang->words['cf_f_edit_info']}</span>
</td>
<td>
{$data['pf_member_edit']}
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['cf_f_priv']}</label><br />
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_f_priv']}</strong>
</td>
<td class='field_field'>
{$data['pf_member_hide']}<br />
<span class='desctext'>{$this->lang->words['cf_f_priv_info']}</span>
</td>
<td>
{$data['pf_member_hide']}
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['cf_f_admin']}</label><br />
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_f_admin']}</strong>
</td>
<td class='field_field'>
{$data['pf_admin_only']}<br />
<span class='desctext'>{$this->lang->words['cf_f_admin_info']}</span>
</td>
<td>
{$data['pf_admin_only']}
</td>
</tr>
<tr>
<td>
<label>{$this->lang->words['cf_f_view']}</label><br />
<span class='desctext'>{$this->lang->words['cf_f_view_info']}</span>
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_f_view']}</strong>
</td>
<td>
<textarea name='pf_topic_format' cols='60' rows='5' wrap='soft' id='pf_topic_format' class='multitext'>{$data['pf_topic_format']}</textarea>
<td class='field_field'>
<textarea name='pf_topic_format' cols='60' rows='5' wrap='soft' id='pf_topic_format' class='multitext'>{$data['pf_topic_format']}</textarea><br />
<span class='desctext'>{$this->lang->words['cf_f_view_info']}</span>
</td>
</tr>
</table>
<div class='acp-actionbar'>
<input type='submit' value=' {$button} ' class='realbutton' accesskey='s' />
<input type='submit' value='{$button}' class='button primary' accesskey='s' />
</div>
</div>
</form>
@@ -499,7 +484,6 @@ return $IPBHTML;
/**
* Delete field confirmation
*
* @access public
* @param int ID
* @param string Title
* @return string HTML
@@ -514,19 +498,22 @@ $IPBHTML .= <<<HTML
<input type='hidden' name='id' value='{$id}' />
<input type='hidden' name='_admin_auth_key' value='' />
<div class='tableborder'>
<div class='tableheaderalt'>{$this->lang->words['cf_removeconf']}</div>
<table width='100%' align='center'>
<div class='acp-box'>
<h3>{$this->lang->words['cf_removeconf']}</h3>
<table class='ipsTable double_pad'>
<tr>
<td class='tablerow1' width='40%' valign='middle'>{$this->lang->words['cf_removeto']}</td>
<td class='tablerow2' width='60%' valign='middle'><b>{$title}</b></td>
</tr>
<tr>
<td align='center' class='tablesubheader' colspan='2' ><input type='submit' value='{$this->lang->words['cf_deletebutton']}' class='realbutton' accesskey='s'></td>
<td class='field_title'>
<strong class='title'>{$this->lang->words['cf_removeto']}</strong>
</td>
<td class='field_field'>
{$title}
</td>
</tr>
</table>
<div class='acp-actionbar'>
<input type='submit' value='{$this->lang->words['cf_deletebutton']}' class='button primary' accesskey='s' />
</div>
</div>
</form>
HTML;
@@ -2,40 +2,69 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.1.4
* IP.Board v3.2.3
* ACP ranks skin file
* Last Updated: $Date: 2010-05-19 21:06:53 -0400 (Wed, 19 May 2010) $
* Last Updated: $Date: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
* </pre>
*
* @author $Author: bfarber $
* @author $Author: ips_terabyte $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/community/board/license.html
* @license This is NULLED!
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @link http://hatynka.in
* @since 20th February 2002
* @version $Rev: 6326 $
* @version $Rev: 8644 $
*
*/
class cp_skin_ranks extends output
class cp_skin_ranks
{
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* 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;
}
/**
* Ranks overview page
*
* @access public
* @param array Rows
* @return string HTML
*/
@@ -51,12 +80,12 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['rnk_titles']}</h3>
<table class='alternate_rows' width='100%'>
<table class='ipsTable'>
<tr>
<th width='40%'>{$this->lang->words['rnk_title']}</th>
<th width='20%'>{$this->lang->words['rnk_minposts']}</th>
<th width='30%'>{$this->lang->words['rnk_pips']}</th>
<th width='10%'>&nbsp;</th>
<th class='col_buttons'>&nbsp;</th>
</tr>
HTML;
@@ -79,15 +108,22 @@ if( count($rows) )
}
$IPBHTML .= <<<HTML
<tr>
<td><strong>{$rank['title']}</strong></td>
<tr class='ipsControlRow'>
<td>
<strong class='larger_text'>
<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=rank_edit&amp;id={$rank['id']}'>{$rank['title']}</a>
</strong>
</td>
<td>{$rank['posts']}</td>
<td>{$rank['img']}</td>
<td align='right'>
<img class="ipbmenu" id="menu{$rank['id']}" src="{$this->settings['skin_acp_url']}/_newimages/menu_open.png" alt="">
<ul style="position: absolute; display: none; z-index: 9999;" class="acp-menu" id='menu{$rank['id']}_menucontent'>
<li style="z-index: 10000;" class='icon edit'><a style="z-index: 10000;" href='{$this->settings['base_url']}{$this->form_code}&do=rank_edit&id={$rank['id']}'>{$this->lang->words['rnk_editlink']}</a></li>
<li style="z-index: 10000;" class='icon delete'><a style="z-index: 10000;" href='#' onclick='return acp.confirmDelete( "{$this->settings['base_url']}{$this->form_code}&do=rank_delete&id={$rank['id']}" )'>{$this->lang->words['rnk_deletelink']}</a></li>
<td class='col_buttons'>
<ul class='ipsControlStrip'>
<li class='i_edit'>
<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=rank_edit&amp;id={$rank['id']}' title='{$this->lang->words['rnk_editlink']}'>{$this->lang->words['rnk_editlink']}</a>
</li>
<li class='i_delete'>
<a href='#' onclick='return acp.confirmDelete( "{$this->settings['base_url']}{$this->form_code}&amp;do=rank_delete&amp;id={$rank['id']}" )' title='{$this->lang->words['rnk_deletelink']}'>{$this->lang->words['rnk_deletelink']}</a>
</li>
</ul>
</td>
</tr>
@@ -104,26 +140,24 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['rnk_addarank']}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['rnk_ranktitle']}</label>
<input type='text' name='title' />
</li>
<li>
<label>{$this->lang->words['rnk_minpostsneeded']}</label>
<input type='text' name='posts' />
</li>
<li>
<label>{$this->lang->words['rnk_numpips']}<span class='desctext'>{$this->lang->words['rnk_numpips_info']}</span></label>
<input type='text' name='pips' />
</li>
</ul>
<table class='ipsTable'>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['rnk_ranktitle']}</strong></td>
<td class='field_field'><input type='text' name='title' class='input_text' /></td>
</tr>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['rnk_minpostsneeded']}</strong></td>
<td class='field_field'><input type='text' name='posts' class='input_text' /></td>
</tr>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['rnk_numpips']}</strong></td>
<td class='field_field'><input type='text' name='pips' class='input_text' /><br /><span class='desctext'>{$this->lang->words['rnk_numpips_info']}</span></td>
</tr>
</table>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' value='{$this->lang->words['rnk_addrank']}' class='button primary'/>
</div>
</div>
<input type='submit' value='{$this->lang->words['rnk_addrank']}' class='button primary'/>
</div>
</div>
</form>
HTML;
@@ -135,7 +169,6 @@ return $IPBHTML;
/**
* Ranks form
*
* @access public
* @param array Rank data
* @param string Action code
* @param string Button text
@@ -157,25 +190,36 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$button}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['rnk_ranktitle']}</label>
<input type='text' name='title' value='{$rank['title']}' />
</li>
<li>
<label>{$this->lang->words['rnk_minpostsneeded']}</label>
<input type='text' name='posts' value='{$rank['posts']}' />
</li>
<li>
<label>{$this->lang->words['rnk_numpips']}<span class='desctext'>{$this->lang->words['rnk_numpips_info']}</span></label>
<input type='text' name='pips' value='{$rank['pips']}' />
</li>
</ul>
<table class='ipsTable double_pad'>
<tr>
<td class='field_title'>
<strong class='title'>{$this->lang->words['rnk_ranktitle']}</strong>
</td>
<td class='field_field'>
<input type='text' name='title' class='input_text' value='{$rank['title']}' />
</td>
</tr>
<tr>
<td class='field_title'>
<strong class='title'>{$this->lang->words['rnk_minpostsneeded']}</strong>
</td>
<td class='field_field'>
<input type='text' name='posts' class='input_text' value='{$rank['posts']}' />
</td>
</tr>
<tr>
<td class='field_title'>
<strong class='title'>{$this->lang->words['rnk_numpips']}</strong>
</td>
<td class='field_field'>
<input type='text' name='pips' class='input_text' value='{$rank['pips']}' /><br />
<span class='desctext'>{$this->lang->words['rnk_numpips_info']}</span>
</td>
</tr>
</table>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' value='{$button}' class='button primary' />
</div>
<input type='submit' value='{$button}' class='button primary' />
</div>
</div>
</form>
@@ -2,39 +2,69 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.1.4
* IP.Board v3.2.3
* ACP reputation skin file
* Last Updated: $Date: 2010-01-15 10:18:44 -0500 (Fri, 15 Jan 2010) $
* Last Updated: $Date: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
* </pre>
*
* @author $Author: bfarber $
* @author $Author: ips_terabyte $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/community/board/license.html
* @license This is NULLED!
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @link http://hatynka.in
* @since 20th February 2002
* @version $Revision: 5713 $
* @version $Revision: 8644 $
*
*/
class cp_skin_reputation extends output
class cp_skin_reputation
{
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* 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;
}
/**
* Reputation form
*
* @access public
* @param int ID
* @param string Action
* @param string Title
@@ -50,18 +80,18 @@ if( count( $errors ) )
{
$IPBHTML .= <<<HTML
<h2>{$this->lang->words['errors']}</h2>
<ul>
<div class='warning'>
HTML;
foreach( $errors as $err )
{
$IPBHTML .= <<<HTML
<li>$err</li>
<p>$err</p>
HTML;
}
$IPBHTML .= <<<HTML
</ul>
</div><br />
HTML;
}
@@ -72,26 +102,24 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$title}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['rep_form_title']}<span class='desctext'>{$this->lang->words['rep_form_title_help']}</span></label>
{$form['level_title']}
</li>
<li>
<label>{$this->lang->words['rep_form_image']}<span class='desctext'>{$this->lang->words['rep_form_image_help']}{$this->settings['public_dir']}style_extra/reputation_icons/</span></label>
{$form['level_image']}
</li>
<li>
<label>{$this->lang->words['rep_form_points']}<span class='desctext'>{$this->lang->words['rep_form_points_help']}</span></label>
{$form['level_points']}
</li>
</ul>
<table class='ipsTable double_pad'>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['rep_form_title']}</strong></td>
<td class='field_field'>{$form['level_title']}<br /><span class='desctext'>{$this->lang->words['rep_form_title_help']}</span></td>
</tr>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['rep_form_image']}</strong></td>
<td class='field_field'>{$form['level_image']}<br /><span class='desctext'>{$this->lang->words['rep_form_image_help']}{$this->settings['public_dir']}style_extra/reputation_icons/</span></td>
</tr>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['rep_form_points']}</strong></td>
<td class='field_field'>{$form['level_points']}<br /><span class='desctext'>{$this->lang->words['rep_form_points_help']}</span></td>
</tr>
</table>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' value='{$this->lang->words['rep_save_changes']}' class='button primary'/>
</div>
</div>
<input type='submit' value='{$this->lang->words['rep_save_changes']}' class='button primary'/>
</div>
</div>
</form>
HTML;
@@ -103,7 +131,6 @@ return $IPBHTML;
/**
* Reputation overview screen
*
* @access public
* @param array Rep levels
* @return string HTML
*/
@@ -116,13 +143,13 @@ $IPBHTML .= <<<HTML
<h2>{$this->lang->words['rep_lvl_manage']}</h2>
<ul class='context_menu'>
<li><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=add_level_form'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/add.png' alt='' /> {$this->lang->words['rep_level_new']}</a></li>
<li><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=add_level_form'><img src='{$this->settings['skin_acp_url']}/images/icons/add.png' alt='' /> {$this->lang->words['rep_level_new']}</a></li>
</ul>
</div>
<div class='acp-box'>
<h3>{$this->lang->words['rep_lvl_manage']}</h3>
<table class='alternate_rows' width='100%'>
<table class='ipsTable'>
<tr>
<th width='40%'>{$this->lang->words['rep_form_title']}</th>
<th width='20%'>{$this->lang->words['rep_form_image']}</th>
@@ -136,15 +163,14 @@ if( is_array( $levels ) && count( $levels ) )
foreach( $levels as $r )
{
$IPBHTML .= <<<HTML
<tr>
<td>{$r['level_title']}</td>
<tr class='ipsControlRow'>
<td><span class='larger_text'>{$r['level_title']}</span></td>
<td>{$r['level_image']}</td>
<td>{$r['level_points']}</td>
<td align='right'>
<img class="ipbmenu" id="menu{$r['level_id']}" src="{$this->settings['skin_acp_url']}/_newimages/menu_open.png" alt="">
<ul style="position: absolute; display: none; z-index: 9999;" class="acp-menu" id='menu{$r['level_id']}_menucontent'>
<li style="z-index: 10000;" class='icon edit'><a style="z-index: 10000;" href='{$this->settings['base_url']}{$this->form_code}&amp;do=edit_level_form&amp;id={$r['level_id']}'>{$this->lang->words['edit']}</a></li>
<li style="z-index: 10000;" class='icon delete'><a style="z-index: 10000;" href='#' onclick='return acp.confirmDelete( "{$this->settings['base_url']}{$this->form_code}&amp;do=delete_level&amp;id={$r['level_id']}" );'>{$this->lang->words['delete']}</a></li>
<td class='col_buttons'>
<ul class='ipsControlStrip'>
<li class='i_edit'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=edit_level_form&amp;id={$r['level_id']}' title='{$this->lang->words['edit']}'>{$this->lang->words['edit']}</a></li>
<li class='i_delete'><a href='#' onclick='return acp.confirmDelete( "{$this->settings['base_url']}{$this->form_code}&amp;do=delete_level&amp;id={$r['level_id']}" );' title='{$this->lang->words['delete']}'>{$this->lang->words['delete']}</a></li>
</ul>
</td>
</tr>
@@ -2,39 +2,69 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.1.4
* IP.Board v3.2.3
* ACP restrictions skin file
* Last Updated: $Date: 2010-09-22 11:32:51 -0400 (Wed, 22 Sep 2010) $
* Last Updated: $Date: 2011-09-21 13:19:38 -0400 (Wed, 21 Sep 2011) $
* </pre>
*
* @author $Author: terabyte $
* @author $Author: rtissier $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/community/board/license.html
* @license This is NULLED!
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @link http://hatynka.in
* @since 20th February 2002
* @version $Rev: 6904 $
* @version $Rev: 9531 $
*
*/
class cp_skin_restrictions extends output
class cp_skin_restrictions
{
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* 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 a new restricted member
*
* @access public
* @return string HTML
*/
public function restrictionsMemberForm() {
@@ -49,19 +79,17 @@ $IPBHTML .= <<<HTML
<form id='postingform' action="{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=acpperms-member-add-complete" method="post" name="REPLIER">
<input type='hidden' name='_admin_auth_key' value='{$this->registry->getClass('adminFunctions')->_admin_auth_key}' />
<div class='tableborder'>
<div class='tableheaderalt'>{$this->lang->words['r_findadmin']}</div>
<div class='tablesubheader'>&nbsp;</div>
<table width='100%' align='center'>
<tr>
<td class='tablerow1' width='50%' valign='middle'>{$this->lang->words['r_displayname']}<div style='color:gray'>{$this->lang->words['r_displayname_info']}</div></td>
<td class='tablerow2' width='50%' valign='middle'><input type="text" id='entered_name' name="entered_name" size="30" autocomplete='off' style='width:210px' value="" tabindex="1" /></td>
</tr>
<tr>
<td align='center' class='tablesubheader' colspan='2' ><input type='submit' value='{$this->lang->words['r_proceed']}' class='realbutton' accesskey='s'></td>
</tr>
<div class='acp-box'>
<h3>{$this->lang->words['r_findadmin']}</h3>
<table class='ipsTable'>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['r_displayname']}</strong></td>
<td class='field_field'><input type="text" id='entered_name' name="entered_name" size="30" autocomplete='off' style='width:210px' value="" tabindex="1" class='input_text' /><br /><span class='desctext'>{$this->lang->words['r_displayname_info']}</span></td>
</tr>
</table>
</div>
<div class='acp-actionbar'>
<input type='submit' value='{$this->lang->words['r_proceed']}' class='button primary' accesskey='s' />
</div>
<script type="text/javascript">
document.observe("dom:loaded", function(){
var search = new ipb.Autocomplete( $('entered_name'), { multibox: false, url: acp.autocompleteUrl, templates: { wrap: acp.autocompleteWrap, item: acp.autocompleteItem } } );
@@ -77,7 +105,6 @@ return $IPBHTML;
/**
* Form to add a new restricted group
*
* @access public
* @return string HTML
*/
public function restrictionsGroupForm() {
@@ -104,18 +131,15 @@ $IPBHTML .= <<<HTML
<form id='postingform' action="{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=acpperms-group-add-complete" method="post" name="REPLIER">
<input type='hidden' name='_admin_auth_key' value='{$this->registry->getClass('adminFunctions')->_admin_auth_key}' />
<div class='tableborder'>
<div class='tableheaderalt'>{$this->lang->words['r_selectgroup']}</div>
<div class='tablesubheader'>&nbsp;</div>
<table width='100%' align='center'>
<tr>
<td class='tablerow1' width='50%' valign='middle'>{$this->lang->words['r_whatgroup']}</td>
<td class='tablerow2' width='50%' valign='middle'>{$dropDown}</td>
</tr>
<tr>
<td align='center' class='tablesubheader' colspan='2' ><input type='submit' value='{$this->lang->words['r_proceed']}' class='realbutton' accesskey='s'></td>
</tr>
<div class='acp-box'>
<h3>{$this->lang->words['r_selectgroup']}</h3>
<table class='ipsTable'>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['r_whatgroup']}</strong></td>
<td class='field_field'>{$dropDown}</td>
</tr>
</table>
<div class='acp-actionbar'><input type='submit' value='{$this->lang->words['r_proceed']}' class='realbutton' accesskey='s' /></div>
</div>
</form>
HTML;
@@ -128,7 +152,6 @@ return $IPBHTML;
/**
* ACP restrictions overview
*
* @access public
* @param array Members
* @param array Groups
* @return string HTML
@@ -146,7 +169,7 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['r_memberrestrict']}</h3>
<table class='alternate_rows double_pad' width='100%'>
<table class='ipsTable'>
<tr>
<th width='35%'>{$this->lang->words['r_member']}</th>
<th width='20%'>{$this->lang->words['r_primary']}</th>
@@ -164,7 +187,7 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['r_grouprestrict']}</h3>
<table cellpadding='0' cellspacing='0' width='100%' class='alternate_rows double_pad'>
<table class='ipsTable'>
<tr>
<th width='55%'>{$this->lang->words['r_group']}</th>
<th width='20%' align='center'>{$this->lang->words['r_totalmem']}</th>
@@ -187,7 +210,6 @@ return $IPBHTML;
/**
* Restricted member
*
* @access public
* @param array Member data
* @return string HTML
*/
@@ -197,7 +219,7 @@ $IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<tr>
<tr class='ipsControlRow'>
<td>
<img src='{$this->settings['skin_acp_url']}/images/lock_close.gif' alt='@' style='vertical-align:top' />
<strong>{$data['members_display_name']}</strong>
@@ -205,11 +227,10 @@ $IPBHTML .= <<<HTML
<td>{$data['_group_name']}</td>
<td>{$data['_other_groups']}</td>
<td>{$data['_date']}</td>
<td>
<img class='ipbmenu' id="menumember{$data['member_id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['r_options']}' />
<ul class='acp-menu' id='menumember{$data['member_id']}_menucontent'>
<li class='icon edit'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=accperms-member-edit&amp;mid={$data['member_id']}'>{$this->lang->words['r_managerestrict']}</a></li>
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=accperms-member-remove&amp;mid={$data['member_id']}");'>{$this->lang->words['r_removeall']}</a></li>
<td class='col_buttons'>
<ul class='ipsControlStrip'>
<li class='i_edit'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=accperms-member-edit&amp;mid={$data['member_id']}'>{$this->lang->words['r_managerestrict']}</a></li>
<li class='i_delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=accperms-member-remove&amp;mid={$data['member_id']}");'>{$this->lang->words['r_removeall']}</a></li>
</ul>
</td>
</tr>
@@ -222,7 +243,6 @@ return $IPBHTML;
/**
* Restricted group
*
* @access public
* @param array Group data
* @return string HTML
*/
@@ -232,18 +252,17 @@ $IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<tr>
<td class='tablerow1'>
<tr class='ipsControlRow'>
<td>
<img src='{$this->settings['skin_acp_url']}/images/lock_close.gif' alt='@' style='vertical-align:top' />
<strong>{$data['_group_name']}</strong>
</td>
<td class='tablerow2' align='center'>{$data['_total']}</td>
<td class='tablerow2' align='center'>{$data['_date']}</td>
<td class='tablerow1'>
<img id="menugroup{$data['row_id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['r_options']}' class='ipbmenu' />
<ul class='acp-menu' id='menugroup{$data['row_id']}_menucontent'>
<li class='icon edit'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=accperms-group-edit&amp;gid={$data['row_id']}'>{$this->lang->words['r_managerestrictg']}</a></li>
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=accperms-group-remove&amp;gid={$data['row_id']}");'>{$this->lang->words['r_removeallg']}</a></li>
<td align='center'>{$data['_total']}</td>
<td align='center'>{$data['_date']}</td>
<td class='col_buttons'>
<ul class='ipsControlStrip'>
<li class='i_edit'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=accperms-group-edit&amp;gid={$data['row_id']}' title='{$this->lang->words['r_managerestrictg']}'>{$this->lang->words['r_managerestrictg']}</a></li>
<li class='i_delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=accperms-group-remove&amp;gid={$data['row_id']}");' title='{$this->lang->words['r_removeallg']}'>{$this->lang->words['r_removeallg']}</a></li>
</ul>
</td>
</tr>
@@ -256,7 +275,6 @@ return $IPBHTML;
/**
* Add new restrictions form
*
* @access public
* @param int Role id
* @param string Role type
* @param array Permissions
@@ -265,116 +283,217 @@ return $IPBHTML;
*/
public function restrictionsForm( $role_id=0, $role_type='member', $permissions=array(), $access=array() ) {
$itemsByModules = array();
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['r_title']}</h2>
</div>
<script type="text/javascript" src='{$this->settings['js_main_url']}acp.permissions.js'></script>
<script type="text/javascript">
//<![CDATA[
document.observe("dom:loaded",function()
{
ipbAcpTabStrips.register('tab_restrictions');
});
//]]>
</script>
<form action='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=acpperms-save&amp;secure_key={$this->registry->getClass('adminFunctions')->_admin_auth_key}' method='post' id='adform' name='adform'>
<input type='hidden' name='id' value='{$role_id}' />
<input type='hidden' name='type' value='{$role_type}' />
<ul id='tab_restrictions' class='tab_bar no_title'>
<div class='acp-box'>
<h3>Set Restrictions</h3>
<div class='ipsTabBar' id='tab_restrictions'>
<span class='tab_left'>&laquo;</span>
<span class='tab_right'>&raquo;</span>
<ul>
HTML;
foreach( ipsRegistry::$applications as $app_dir => $application )
{
if( is_array(ipsRegistry::$modules[ $app_dir ]) AND count(ipsRegistry::$modules[ $app_dir ]) )
{
$IPBHTML .= "<li id='tabtab-TOP|{$application['app_id']}' class=''>{$application['app_title']}</li>\n";
$IPBHTML .= "<li id='tab_{$application['app_id']}'>{$application['app_title']}</li>\n";
}
}
$IPBHTML .= <<<HTML
</ul>
<div class='acp-box'>
</ul>
</div>
<div id='tabContent'>
HTML;
foreach( ipsRegistry::$applications as $app_dir => $application )
{
$checked = in_array( $application['app_id'], $access['applications'] ) ? 1 : 0;
$form = $this->registry->output->formCheckbox( 'app_' . $application['app_id'], $checked );
$form = $this->registry->output->formCheckbox( 'app_' . $application['app_id'], $checked, 1, 'app_' . $application['app_id'], "onclick='checkApp( {$application['app_id']} );'" );
if( is_array(ipsRegistry::$modules[ $app_dir ]) AND count(ipsRegistry::$modules[ $app_dir ]) )
{
$IPBHTML .= <<<HTML
$IPBHTML .= <<<HTML
<div id='tabpane-TOP|{$application['app_id']}'>
<div class='tablesubheader'>{$form} {$this->lang->words['r_grantto']} приложению «{$application['app_title']}»?</div>
<div id='tab_{$application['app_id']}_content'>
<table class='ipsTable double_pad'>
<tr>
<th colspan='2'><label for='app_{$application['app_id']}'>{$form} {$this->lang->words['r_grantto']} {$this->lang->words['application_bit']}: {$application['app_title']}?</label></th>
</tr>
</table>
HTML;
foreach( ipsRegistry::$modules[ $app_dir ] as $module )
{
$checked = in_array( $module['sys_module_id'], $access['modules'] ) ? 1 : 0;
$form = $this->registry->output->formCheckbox( 'module_' . $module['sys_module_id'], $checked );
foreach( ipsRegistry::$modules[ $app_dir ] as $module )
{
$checked = in_array( $module['sys_module_id'], $access['modules'] ) ? 1 : 0;
$form = $this->registry->output->formCheckbox( 'module_' . $module['sys_module_id'], $checked, 1, 'module_' . $module['sys_module_id'], "onclick='checkModule( {$module['sys_module_id']} );'" );
if( ! $module['sys_module_admin'] )
{
continue;
}
$IPBHTML .= <<<HTML
<div class='tablesubheader'>{$form} {$this->lang->words['r_grantto']} модулю «{$module['sys_module_title']}»?</div>
$IPBHTML .= <<<HTML
<table class='ipsTable double_pad'>
<tr>
<th colspan='2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<label for='module_{$module['sys_module_id']}'>{$form} {$this->lang->words['r_grantto']} {$this->lang->words['module_bit']}: {$module['sys_module_title']}?</label></th>
</tr>
</table>
HTML;
if( is_array( $permissions ) AND is_array($permissions[ $application['app_id'] ][ $module['sys_module_id'] ]) AND count($permissions[ $application['app_id'] ][ $module['sys_module_id'] ]) )
{
// Call me lazy if you wish :P
$shorten = $permissions[ $application['app_id'] ][ $module['sys_module_id'] ];
foreach( $shorten as $group => $shorter )
if( is_array( $permissions ) AND is_array($permissions[ $application['app_id'] ][ $module['sys_module_id'] ]) AND count($permissions[ $application['app_id'] ][ $module['sys_module_id'] ]) )
{
if( !is_array($shorter) OR !count($shorter) )
// Call me lazy if you wish :P
$shorten = $permissions[ $application['app_id'] ][ $module['sys_module_id'] ];
foreach( $shorten as $group => $shorter )
{
continue;
}
$IPBHTML .= <<<HTML
<div class='tablesubheader'>{$shorter['title']}</div>
<ul class='acp-form alternate_rows'>
HTML;
if( is_array($shorter['items']) AND count($shorter['items']) )
{
foreach( $shorter['items'] as $item_key => $item_text )
if( !is_array($shorter) OR !count($shorter) )
{
$checked = (is_array($access['items'][ $module['sys_module_id'] ]) AND in_array($item_key, $access['items'][ $module['sys_module_id'] ] )) ? 1 : 0;
$form = $this->registry->output->formCheckbox( 'item_' . $module['sys_module_id'] . '_' . $item_key, $checked );
$IPBHTML .= <<<HTML
<li><label>{$item_text}</label>{$form}</li>
HTML;
continue;
}
}
$IPBHTML .= <<<HTML
</ul>
<br />
HTML;
}
}
}
$IPBHTML .= <<<HTML
$IPBHTML .= <<<HTML
<table class='ipsTable double_pad'>
<tr>
<th colspan='2' class='subhead'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$shorter['title']}</th>
</tr>
HTML;
if( is_array($shorter['items']) AND count($shorter['items']) )
{
foreach( $shorter['items'] as $item_key => $item_text )
{
$itemsByModules[ $module['sys_module_id'] ][] = $item_key;
$checked = (is_array($access['items'][ $module['sys_module_id'] ]) AND in_array($item_key, $access['items'][ $module['sys_module_id'] ] )) ? 1 : 0;
$form = $this->registry->output->formCheckbox( 'item_' . $module['sys_module_id'] . '_' . $item_key, $checked, 1, 'item_' . $module['sys_module_id'] . '_' . $item_key, "onclick='checkItem( {$module['sys_module_id']} );'" );
$IPBHTML .= <<<HTML
<tr>
<td colspan='2'>
<strong class='title'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<label for='item_{$module['sys_module_id']}_{$item_key}'>{$form} {$item_text}</label></strong>
</td>
</tr>
HTML;
}
}
$IPBHTML .= <<<HTML
</table>
HTML;
}
}
}
$IPBHTML .= <<<HTML
</div>
HTML;
}
}
}
$IPBHTML .= <<<HTML
</div>
<div class='tablesubheader' style='text-align:center;'><input type='submit' value=' {$this->lang->words['r_savebutton']} ' /></div>
<div class='acp-actionbar'><input type='submit' value='{$this->lang->words['r_savebutton']}' class='button primary' /></div>
</div>
</form>
<script type='text/javascript'>
jQ("#tab_restrictions").ipsTabBar();
</script>
HTML;
$IPBHTML .= <<<HTML
<script type='text/javascript'>
var modulesByApp = [];
var appsByModule = [];
var itemsByModule = [];
HTML;
foreach( ipsRegistry::$applications as $app_dir => $application )
{
$modules = array();
foreach( ipsRegistry::$modules[ $app_dir ] as $module )
{
if( ! $module['sys_module_admin'] )
{
continue;
}
$modules[] = $module['sys_module_id'];
$IPBHTML .= <<<HTML
appsByModule[ {$module['sys_module_id']} ] = {$application['app_id']};
HTML;
}
$modules = implode( ',', $modules );
$IPBHTML .= <<<HTML
modulesByApp[ {$application['app_id']} ] = Array( {$modules} );
HTML;
}
foreach ( $itemsByModules as $module => $items )
{
$items = implode( ',', array_map( create_function( '$v', 'return "\'$v\'";' ), $items ) );
$IPBHTML .= <<<HTML
itemsByModule[ {$module} ] = Array( {$items} );
HTML;
}
$IPBHTML .= <<<HTML
function checkApp( app )
{
for ( var i in modulesByApp[ app ] )
{
if ( $( 'module_' + modulesByApp[ app ][ i ] ) )
{
$( 'module_' + modulesByApp[ app ][ i ] ).checked = $( 'app_' + app ).checked;
checkModule( modulesByApp[ app ][ i ] );
}
}
}
function checkModule( module )
{
if ( $( 'module_' + module ).checked )
{
$( 'app_' + appsByModule[ module ] ).checked = true;
}
for ( var i in itemsByModule[ module ] )
{
if ( $( 'item_' + module + '_' + itemsByModule[ module ][ i ] ) )
{
$( 'item_' + module + '_' + itemsByModule[ module ][ i ] ).checked = $( 'module_' + module ).checked;
}
}
}
function checkItem( module )
{
$( 'module_' + module ).checked = true;
$( 'app_' + appsByModule[ module ] ).checked = true;
}
</script>
HTML;
//--endhtml--//
@@ -2,59 +2,69 @@
/**
* <pre>
* Invision Power Services
* IP.Board v3.1.4
* IP.Board v3.2.3
* ACP tools skin file
* Last Updated: $Date: 2010-09-29 20:23:38 -0400 (Wed, 29 Sep 2010) $
* Last Updated: $Date: 2011-09-20 18:16:05 -0400 (Tue, 20 Sep 2011) $
* </pre>
*
* @author $Author: bfarber $
* @author $Author: rtissier $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/community/board/license.html
* @license This is NULLED!
* @package IP.Board
* @subpackage Members
* @link http://www.invisionpower.com
* @link http://hatynka.in
* @since 20th February 2002
* @version $Rev: 6925 $
* @version $Rev: 9519 $
*
*/
class cp_skin_tools extends output
class cp_skin_tools
{
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* Show notice if no banned_group set
*
* @access public
* @return string HTML
*/
public function bannedGroupNotice(){
$IPBHTML = "";
$IPBHTML .= <<<HTML
<div class='information-box'>
{$this->lang->words['nobannedgroup_notice']}
</div>
<br />
HTML;
//--endhtml--//
return $IPBHTML;
}
/**
* 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;
}
/**
* Merge start form
*
* @access public
* @param array Member data
* @return string HTML
*/
@@ -76,17 +86,15 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$title}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['merge_find_name']}</label>
<input type='text' class='textinput' id='members_display_name' name='members_display_name' value='' />
</li>
</ul>
<table class='ipsTable double_pad'>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['merge_find_name']}</strong></td>
<td class='field_field'><input type='text' class='textinput' id='members_display_name' name='members_display_name' value='' /></td>
</tr>
</table>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' class='button primary' value=' {$this->lang->words['merge_continue_button']} ' />
</div>
<input type='submit' class='button primary' value='{$this->lang->words['merge_continue_button']}' />
</div>
</div>
</form>
@@ -104,7 +112,6 @@ return $IPBHTML;
/**
* Confirm merge of two members
*
* @access public
* @param array Member data
* @param array Member data
* @return string HTML
@@ -128,21 +135,19 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['merge_confirm_title']}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['merge_remove']}</label>
<a href='{$this->settings['_original_base_url']}/index.php?showuser={$member2['member_id']}'>{$member2['members_display_name']}</a>
</li>
<li>
<label>{$this->lang->words['merge_keep']}</label>
<a href='{$this->settings['_original_base_url']}/index.php?showuser={$member['member_id']}'>{$member['members_display_name']}</a>
</li>
</ul>
<table class='ipsTable double_pad'>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['merge_remove']}</strong></td>
<td class='field_field'><a href='{$this->settings['_original_base_url']}/index.php?showuser={$member2['member_id']}'>{$member2['members_display_name']}</a></td>
</tr>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['merge_keep']}</strong></td>
<td class='field_field'><a href='{$this->settings['_original_base_url']}/index.php?showuser={$member['member_id']}'>{$member['members_display_name']}</a></td>
</tr>
</table>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' class='button primary' value=' {$this->lang->words['merge_submit']} ' />
</div>
<input type='submit' class='button primary' value='{$this->lang->words['merge_submit']}' />
</div>
</div>
</form>
@@ -155,7 +160,6 @@ return $IPBHTML;
/**
* Member tools splash page
*
* @access public
* @param string Message
* @param array Form elements
* @return string HTML
@@ -168,8 +172,7 @@ $IPBHTML = "";
if( $message )
{
$IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['t_message']}</h3>
<div class='information-box'>
<p>{$message}</p>
</div>
<br />
@@ -186,15 +189,15 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['t_showallip']}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>{$form['text']}</label>
{$form['form']}
</li>
</ul>
<table class='ipsTable double_pad'>
<tr>
<td class='field_title'><strong class='title'>{$form['text']}</strong></td>
<td class='field_field'>{$form['form']}</td>
</tr>
</table>
<div class='acp-actionbar'>
<input type='submit' class='button primary' value=' {$this->lang->words['t_showallbutton']} ' />
<input type='submit' class='button primary' value='{$this->lang->words['t_showallbutton']}' />
</div>
</div>
</form>
@@ -204,15 +207,15 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['t_ipmulti']}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['t_showme']}</label>
{$form_ip}
</li>
</ul>
<table class='ipsTable double_pad'>
<tr>
<td class='field_title'><strong class='title'>{$this->lang->words['t_showme']}</strong></td>
<td class='field_field'>{$form_ip}</td>
</tr>
</table>
<div class='acp-actionbar'>
<input type='submit' class='button primary' value=' {$this->lang->words['t_showmebutton']} ' />
<input type='submit' class='button primary' value='{$this->lang->words['t_showmebutton']}' />
</div>
</div>
</form>
@@ -232,7 +235,6 @@ return $IPBHTML;
/**
* Delete PM wrapper
*
* @access public
* @param array Member
* @param int Total topics
* @param int Total replies
@@ -254,26 +256,26 @@ $repliesYesNo = $this->registry->output->formYesNo( 'replies', 0 );
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>Управление пользователем</h2>
<h2>{$this->lang->words['member_management_h2']}</h2>
</div>
<form action='{$this->settings['base_url']}&amp;module=members&amp;section=tools&amp;do=deleteMessages&amp;member_id={$member['member_id']}&amp;confirm=1' method='post'>
<form action='{$this->settings['base_url']}module=members&amp;section=tools&amp;do=deleteMessages&amp;member_id={$member['member_id']}&amp;confirm=1' method='post'>
<div class='acp-box'>
<h3>Удаление всех личных сообщений {$member['members_display_name']}</h3>
<table class='form_table alternate_rows double_pad'>
<h3>{$this->lang->words['tools_delete_all_pms']} {$member['members_display_name']}</h3>
<table class='ipsTable double_pad'>
<tr>
<td style='width: 40%'>
<strong>{$this->lang->words['total_pms_topics']}</strong>
<td class='field_title'>
<strong class='title'>{$this->lang->words['total_pms_topics']}</strong>
</td>
<td style='width: 60%'>
<td class='field_field'>
{$topicsYesNo}
</td>
</tr>
<tr>
<td>
<strong>{$this->lang->words['total_pms_replies']}</strong>
<td class='field_title'>
<strong class='title'>{$this->lang->words['total_pms_replies']}</strong>
</td>
<td>
<td class='field_field'>
{$repliesYesNo}
</td>
</tr>
@@ -292,7 +294,6 @@ return $IPBHTML;
/**
* Show all of a member's IP addresses
*
* @access public
* @param array Member data
* @param array All IPs
* @param string Page links
@@ -310,7 +311,7 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$counttxt}</h3>
<table class='alternate_rows' width='100%'>
<table class='ipsTable'>
<tr>
<th width='20%'>{$this->lang->words['t_ipaddy']}</th>
<th width='10%'>{$this->lang->words['t_timesused']}</th>
@@ -333,7 +334,7 @@ if( is_array($allips) AND count($allips) )
<td>{$use_info[0]}</td>
<td>{$date}</td>
<td>{$others}</td>
<td><a href='{$this->settings['base_url']}&amp;module=members&amp;section=tools&amp;do=learn_ip&amp;ip={$ip_address}'>{$this->lang->words['t_learnmore']}</a></td>
<td><a href='{$this->settings['base_url']}module=members&amp;section=tools&amp;do=learn_ip&amp;ip={$ip_address}'>{$this->lang->words['t_learnmore']}</a></td>
</tr>
HTML;
}
@@ -349,10 +350,8 @@ HTML;
$IPBHTML .= <<<HTML
</table>
<div class='acp-actionbar'>
<div class='rightaction'>
{$links}
</div>
<div class='acp-actionbar' style='text-align: left;'>
{$links}
</div>
</div>
<br />
@@ -366,7 +365,6 @@ return $IPBHTML;
/**
* Learn about an IP
*
* @access public
* @param string Host address
* @param array All registering members
* @param array All posting members
@@ -385,7 +383,7 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['hostaddress_for']} {$this->request['ip']}</h3>
<table class='alternate_rows' width='100%'>
<table class='ipsTable'>
<tr>
<td width='40%'>{$this->lang->words['t_ipresolves']}</td>
<td width='60%'>{$hostAddr}</td>
@@ -396,7 +394,7 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['t_ipreg']}</h3>
<table class='alternate_rows' width='100%'>
<table class='ipsTable'>
<tr>
<th width='30%'>{$this->lang->words['t_ipname']}</th>
<th width='20%'>{$this->lang->words['t_ipemail']}</th>
@@ -437,7 +435,7 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['t_ipposting']}</h3>
<table class='alternate_rows' width='100%'>
<table class='ipsTable'>
<tr>
<th width='30%'>{$this->lang->words['t_ipname']}</th>
<th width='20%'>{$this->lang->words['t_ipemail']}</th>
@@ -478,7 +476,7 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['t_ipvoting']}</h3>
<table class='alternate_rows' width='100%'>
<table class='ipsTable'>
<tr>
<th width='30%'>{$this->lang->words['t_ipname']}</th>
<th width='20%'>{$this->lang->words['t_ipemail']}</th>
@@ -520,7 +518,7 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['t_ipemailing']}</h3>
<table class='alternate_rows' width='100%'>
<table class='ipsTable'>
<tr>
<th width='30%'>{$this->lang->words['t_ipname']}</th>
<th width='30%'>{$this->lang->words['t_ipemail']}</th>
@@ -559,7 +557,7 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['t_ipvalidating']}</h3>
<table class='alternate_rows' width='100%'>
<table class='ipsTable'>
<tr>
<th width='30%'>{$this->lang->words['t_ipname']}</th>
<th width='30%'>{$this->lang->words['t_ipemail']}</th>
@@ -598,7 +596,7 @@ $IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['t_ipalsofound']}</h3>
<table class='alternate_rows' width='100%'>
<table class='ipsTable'>
<tr>
<th width='30%'>{$this->lang->words['t_ipname']}</th>
<th width='30%'>{$this->lang->words['t_ip_table']}</th>
@@ -649,441 +647,4 @@ HTML;
return $IPBHTML;
}
/**
* Validation queue wrapper
*
* @access public
* @param string Type of queue
* @param string Queue HTML
* @param int Page start
* @param string New order
* @param string Page links
* @return string HTML
*/
public function queueWrapper( $type, $name, $content, $st, $new_ord, $links ) {
$IPBHTML = "";
//--starthtml--//
$table_text = mb_strtolower($name);
$this->form_code = 'module=members&amp;section=tools';
$memberq = sprintf( $this->lang->words['t_memberq'], $table_text );
$_do = $this->request['do'];
if( $_do == 'do_validating' )
{
$_do = 'validating';
}
else if( $_do == 'do_locked' )
{
$_do = 'locked';
}
else if( $_do == 'do_banned' )
{
$_do = 'banned';
}
else if( $_do == 'do_spam' )
{
$_do = 'spam';
}
else if( $_do == 'do_incomplete' )
{
$_do = 'incomplete';
}
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$memberq}</h2>
</div>
<script type="text/javascript" src='{$this->settings['js_app_url']}ipsMemberQueue.js'></script>
HTML;
if ( $_do == 'validating' )
{
$IPBHTML .= <<<HTML
<form name='selectform' id='selectform' action='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do={$_do}' method='post'>
<input type='hidden' name='_admin_auth_key' value='{$this->registry->getClass('adminFunctions')->_admin_auth_key}' />
<select name='filter'>
<option value='all'>{$this->lang->words['t_qshowall']}</option>
<option value='reg_user_validate'>{$this->lang->words['t_qshowreg']}</option>
<option value='reg_admin_validate'>{$this->lang->words['t_qshowadmin']}</option>
<option value='email_chg'>{$this->lang->words['t_qemailchange']}</option>
<option value='coppa'>{$this->lang->words['t_qcoppa']}</option>
</select>
<input type='submit' class='realbutton' value=' {$this->lang->words['t_qgobutton']} ' />
</form>
HTML;
}
$IPBHTML .= <<<HTML
<form name='theAdminForm' id='adminform' action='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=do_{$type}' method='post'>
<input type='hidden' name='_admin_auth_key' value='{$this->registry->getClass('adminFunctions')->_admin_auth_key}' />
{$links}
<br style='clear: both' />
<div class='acp-box'>
<h3>{$memberq}</h3>
<table class='alternate_rows double_pad' cellspacing='0' cellpadding='0'>
<tr>
<th width='1%'>&nbsp;</th>
<th>
{$this->lang->words['t_qdisplayname']}
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do={$type}&amp;st={$st}&amp;sort=mem&amp;ord=desc' title='{$this->lang->words['sort_desc']}'><img src='{$this->settings['skin_acp_url']}/_newimages/sort_desc.png' /></a>
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do={$type}&amp;st={$st}&amp;sort=mem&amp;ord=asc' title='{$this->lang->words['sort_asc']}'><img src='{$this->settings['skin_acp_url']}/_newimages/sort_asc.png' /></a>
</th>
HTML;
if ( $type == 'incomplete' )
{
$IPBHTML .= <<<HTML
<th width='1%'>&nbsp;</th>
HTML;
}
$IPBHTML .= <<<HTML
<th>
{$this->lang->words['t_qaddress']}
HTML;
if ( $type != 'incomplete' )
{
$IPBHTML .= <<<HTML
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do={$type}&amp;st={$st}&amp;sort=email&amp;ord=desc' title='{$this->lang->words['sort_desc']}'><img src='{$this->settings['skin_acp_url']}/_newimages/sort_desc.png' /></a>
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do={$type}&amp;st={$st}&amp;sort=email&amp;ord=asc' title='{$this->lang->words['sort_asc']}'><img src='{$this->settings['skin_acp_url']}/_newimages/sort_asc.png' /></a>
HTML;
}
$IPBHTML .= <<<HTML
</th>
HTML;
if ( $type != 'incomplete' )
{
$IPBHTML .= <<<HTML
<th>
{$this->lang->words['t_qposts']}
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do={$type}&amp;st={$st}&amp;sort=posts&amp;ord=desc' title='{$this->lang->words['sort_desc']}'><img src='{$this->settings['skin_acp_url']}/_newimages/sort_desc.png' /></a>
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do={$type}&amp;st={$st}&amp;sort=posts&amp;ord=asc' title='{$this->lang->words['sort_asc']}'><img src='{$this->settings['skin_acp_url']}/_newimages/sort_asc.png' /></a>
</th>
HTML;
}
$IPBHTML .= <<<HTML
<th>
HTML;
switch( $type )
{
case 'validating':
$IPBHTML .= <<<HTML
{$this->lang->words['t_qsent']}
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do={$type}&amp;st={$st}&amp;sort=sent&amp;ord=desc' title='{$this->lang->words['sort_desc']}'><img src='{$this->settings['skin_acp_url']}/_newimages/sort_desc.png' /></a>
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do={$type}&amp;st={$st}&amp;sort=sent&amp;ord=asc' title='{$this->lang->words['sort_asc']}'><img src='{$this->settings['skin_acp_url']}/_newimages/sort_asc.png' /></a>
HTML;
break;
case 'locked':
$IPBHTML .= <<<HTML
{$this->lang->words['t_qfailed']}
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do={$type}&amp;st={$st}&amp;sort=failed&amp;ord=desc' title='{$this->lang->words['sort_desc']}'><img src='{$this->settings['skin_acp_url']}/_newimages/sort_desc.png' /></a>
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do={$type}&amp;st={$st}&amp;sort=failed&amp;ord=asc' title='{$this->lang->words['sort_asc']}'><img src='{$this->settings['skin_acp_url']}/_newimages/sort_asc.png' /></a>
HTML;
case 'banned':
$IPBHTML .= <<<HTML
{$this->lang->words['t_qgroup']}
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do={$type}&amp;st={$st}&amp;sort=group&amp;ord=desc' title='{$this->lang->words['sort_desc']}'><img src='{$this->settings['skin_acp_url']}/_newimages/sort_desc.png' /></a>
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do={$type}&amp;st={$st}&amp;sort=group&amp;ord=asc' title='{$this->lang->words['sort_asc']}'><img src='{$this->settings['skin_acp_url']}/_newimages/sort_asc.png' /></a>
HTML;
break;
case 'incomplete':
case 'spam':
$IPBHTML .= <<<HTML
{$this->lang->words['t_qgroup']}
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do={$type}&amp;st={$st}&amp;sort=group&amp;ord=desc' title='{$this->lang->words['sort_desc']}'><img src='{$this->settings['skin_acp_url']}/_newimages/sort_desc.png' /></a>
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do={$type}&amp;st={$st}&amp;sort=group&amp;ord=asc' title='{$this->lang->words['sort_asc']}'><img src='{$this->settings['skin_acp_url']}/_newimages/sort_asc.png' /></a>
HTML;
break;
}
$IPBHTML .= <<<HTML
</th>
<th>
{$this->lang->words['t_qjoined']}
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do={$type}&amp;st={$st}&amp;sort=joined&amp;ord=desc' title='{$this->lang->words['sort_desc']}'><img src='{$this->settings['skin_acp_url']}/_newimages/sort_desc.png' /></a>
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do={$type}&amp;st={$st}&amp;sort=joined&amp;ord=asc' title='{$this->lang->words['sort_asc']}'><img src='{$this->settings['skin_acp_url']}/_newimages/sort_asc.png' /></a>
</th>
<th style='text-align: center'><input type='checkbox' id='maincheckbox' onclick='check_boxes()' /></th>
</tr>
{$content}
</table>
<div class='acp-actionbar' style='text-align: right'>
<select name='type' id='manage_type' class='dropdown'>
HTML;
switch( $type )
{
case 'validating':
$IPBHTML .= <<<HTML
<option value='approve'>{$this->lang->words['t_qapprove']}</option>
<option value='ban'>{$this->lang->words['t_qban']}</option>
<option value='spam'>{$this->lang->words['ts_spam_mark']}</option>
<option value='delete'>{$this->lang->words['t_qdelete']}</option>
<option value='resend'>{$this->lang->words['t_qresend']}</option>
HTML;
break;
case 'locked':
$IPBHTML .= <<<HTML
<option value='approve'>{$this->lang->words['t_qban']}</option>
<option value='delete'>{$this->lang->words['t_qdelete']}</option>
<option value='unlock'>{$this->lang->words['t_qunlock']}</option>
HTML;
break;
case 'banned':
$IPBHTML .= <<<HTML
<option value='unban'>{$this->lang->words['t_qunban']}</option>
<option value='delete'>{$this->lang->words['t_qdelete']}</option>
HTML;
break;
case 'incomplete':
$IPBHTML .= <<<HTML
<option value='delete'>{$this->lang->words['t_qdelete']}</option>
<option value='finalize'>{$this->lang->words['t_qfinalizepartial']}</option>
HTML;
break;
case 'spam':
$IPBHTML .= <<<HTML
<option value='unspam'>{$this->lang->words['ts_spam_un']}</option>
<option value='unspam_posts'>{$this->lang->words['ts_spam_un_posts']}</option>
<option value='ban'>{$this->lang->words['ts_spam_ban']}</option>
<option value='ban_blacklist'>{$this->lang->words['ts_spam_blacklist']}</option>
HTML;
break;
}
$IPBHTML .= <<<HTML
</select>
<input type='submit' class='realbutton' value=' {$this->lang->words['t_processbutton']} ' />
</div>
</div>
{$links}
</form>
<script type='text/javascript'>
if( $('manage_type') && $('adminform') )
{
$('adminform').observe( 'submit', function(e) {
if( \$F('manage_type') == 'delete' )
{
if( !confirm("{$this->lang->words['rusure_tools_memform']}" ) )
{
Event.stop(e);
return false;
}
}
});
}
</script>
HTML;
//--endhtml--//
return $IPBHTML;
}
/**
* No rows in queue
*
* @access public
* @param string Language bit
* @return string HTML
*/
public function queueNoRows( $lang ) {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<tr>
<td class='tablerow2' colspan='8'><strong>{$lang}</strong></td>
</tr>
HTML;
//--endhtml--//
return $IPBHTML;
}
/**
* Validating row
*
* @access public
* @param array Record
* @return string HTML
*/
public function validatingRow( $r="" ) {
$IPBHTML = "";
//--starthtml--//
$daysandhours = sprintf( $this->lang->words['t_daysandhours'], $r['_days'], $r['_rhours'] );
$image = $r['spam_flag'] ? array( 'normal_spam.png', $this->lang->words['alt_spamuser'] ) :
( ( $r['user_verified'] ) ? array( 'normal_tick.png', $this->lang->words['alt_normal'] ) :
array( 'normal_lock.png', $this->lang->words['alt_unverifieduser'] ) );
$color = ( $r['user_verified'] ) ? 'red' : 'green';
$IPBHTML .= <<<HTML
<tr>
<td><img src='{$this->settings['skin_acp_url']}/_newimages/members/{$image[0]}' alt='{$image[1]}' title='{$image[1]}' /></td>
<td class='tablerow2'><a href='{$this->settings['base_url']}&amp;module=members&amp;section=members&amp;do=viewmember&amp;member_id={$r['member_id']}'><strong>{$r['members_display_name']}</strong></a>{$r['_coppa']}<div class='desctext'>{$this->lang->words['t_ipcolon']} <a href='{$this->settings['base_url']}&amp;module=members&amp;section=tools&amp;do=learn_ip&amp;ip={$r['ip_address']}'>{$r['ip_address']}</a></div></td>
<td class='tablerow1'>{$r['email']}</td>
<td class='tablerow1' align='center'>{$r['posts']}</td>
<td class='tablerow1'><span style='color:{$color}'>{$r['_where']}</span><br />{$r['_entry']}<div class='desctext'>{$daysandhours}</div></td>
<td class='tablerow1'>{$r['_joined']}</td>
<td class='tablerow1' align='center'><input type='checkbox' id="mid_{$r['member_id']}" name='mid_{$r['member_id']}' value='1' /></td>
</tr>
HTML;
//--endhtml--//
return $IPBHTML;
}
/**
* Locked row
*
* @access public
* @param array Record
* @return string HTML
*/
public function lockedRow( $r="" ) {
$failuresatlife = sprintf( $this->lang->words['t_failures'], $r['oldest_fail'], $r['newest_fail'], $r['failed_login_count'] );
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<tr>
<td><img src='{$this->settings['skin_acp_url']}/_newimages/members/normal_lock.png' alt='*' /></td>
<td class='tablerow2'><a href='{$this->settings['base_url']}&amp;module=members&amp;section=members&amp;do=viewmember&amp;member_id={$r['member_id']}'><strong>{$r['members_display_name']}</strong></a><div class='desctext'>{$this->lang->words['t_groupcolon']} {$r['group_title']}</div><div class='desctext'>{$r['ip_addresses']}</div></td>
<td class='tablerow1'>{$r['email']}</td>
<td class='tablerow1' align='center'>{$r['posts']}</td>
<td class='tablerow1'>{$failuresatlife}</td>
<td class='tablerow1'>{$r['_joined']}</td>
<td class='tablerow1' align='center'><input type='checkbox' id="mid_{$r['member_id']}" name='mid_{$r['member_id']}' value='1' /></td>
</tr>
HTML;
//--endhtml--//
return $IPBHTML;
}
/**
* Banned row
*
* @access public
* @param array Record
* @return string HTML
*/
public function bannedRow( $r="" ) {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<tr>
<td><img src='{$this->settings['skin_acp_url']}/_newimages/members/normal_alert.png' alt='*' /></td>
<td class='tablerow2'><a href='{$this->settings['base_url']}&amp;module=members&amp;section=members&amp;do=viewmember&amp;member_id={$r['member_id']}'><strong>{$r['members_display_name']}</strong></a></td>
<td class='tablerow1'>{$r['email']}</td>
<td class='tablerow1' align='center'>{$r['posts']}</td>
<td class='tablerow1'>{$r['group_title']}</td>
<td class='tablerow1'>{$r['_joined']}</td>
<td class='tablerow1' align='center'><input type='checkbox' id="mid_{$r['member_id']}" name='mid_{$r['member_id']}' value='1' /></td>
</tr>
HTML;
//--endhtml--//
return $IPBHTML;
}
/**
* Spam row
*
* @access public
* @param array Record
* @return string HTML
*/
public function spamRow( $r="" ) {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<tr>
<td><img src='{$this->settings['skin_acp_url']}/_newimages/members/normal_spam.png' alt='*' /></td>
<td class='tablerow2'><a href='{$this->settings['base_url']}&amp;module=members&amp;section=members&amp;do=viewmember&amp;member_id={$r['member_id']}'><strong>{$r['members_display_name']}</strong></a></td>
<td class='tablerow1'>{$r['email']}</td>
<td class='tablerow1' align='center'>{$r['posts']}</td>
<td class='tablerow1'>{$r['group_title']}</td>
<td class='tablerow1'>{$r['_joined']}</td>
<td class='tablerow1' align='center'><input type='checkbox' id="mid_{$r['member_id']}" name='mid_{$r['member_id']}' value='1' /></td>
</tr>
HTML;
//--endhtml--//
return $IPBHTML;
}
/**
* Banned row
*
* @access public
* @param array Record
* @return string HTML
*/
public function incompleteRow( $r="" ) {
$IPBHTML = "";
//--starthtml--//
$publicUrl = $this->settings['_original_base_url'] . '/' . PUBLIC_DIRECTORY . '/';
$r['email'] = ( $r['_emailIsOk'] ) ? $r['email'] : '<em>' . $this->lang->words['inc_no_email'] . '</em>';
$r['members_display_name'] = ( $r['_dnameIsOk'] ) ? $r['members_display_name'] : '<em>' . $this->lang->words['inc_no_dname'] . '</em>';
$r['serviceImg'] = "<img src='{$this->settings['skin_acp_url']}/_newimages/members/internet.png' />";
if ( $r['_regVia'] == 'facebook' )
{
$r['serviceImg'] = "<a href='http://www.facebook.com/profile.php?id={$r['fb_uid']}' target='_blank'><img src='{$this->settings['skin_acp_url']}/_newimages/members/facebook.png' /></a>";
}
if ( $r['_regVia'] == 'twitter' )
{
$r['serviceImg'] = "<img src='{$this->settings['skin_acp_url']}/_newimages/members/twitter.png' />";
}
if ( $r['_regVia'] == 'vkontakte' )
{
$r['serviceImg'] = "<img src='{$this->settings['skin_acp_url']}/_newimages/members/vkontakte.png' />";
}
$IPBHTML .= <<<HTML
<tr>
<td><a href='{$this->settings['base_url']}&amp;module=members&amp;section=members&amp;do=viewmember&amp;member_id={$r['member_id']}'><img src='{$r['pp_thumb_photo']}' style='width: 30px; height: 30px; border: 1px solid #d8d8d8' /></a></td>
<td class='tablerow2'>
<a href='{$this->settings['base_url']}&amp;module=members&amp;section=members&amp;do=viewmember&amp;member_id={$r['member_id']}'><strong>{$r['members_display_name']}</strong></a>
<div class='desctext' style='margin-top:4px'>{$this->lang->words['inc_m_name']}: {$r['name']}</div>
</td>
<td class='tablerow1'>{$r['serviceImg']}</td>
<td class='tablerow1'>{$r['email']}</td>
<td class='tablerow1'>{$r['group_title']}</td>
<td class='tablerow1'>{$r['_joined']}</td>
<td class='tablerow1' align='center'><input type='checkbox' id="mid_{$r['member_id']}" name='mid_{$r['member_id']}' value='1' /></td>
</tr>
HTML;
//--endhtml--//
return $IPBHTML;
}
}
@@ -5,6 +5,6 @@
<hr>
You have reached this page in error, please use your back button to return to the forum.
<hr>
<a href="http://www.invisionboard.com/">IP.Board</a>
<a href="http://www.invisionpower.com">IP.Board</a>
</body>
</html>