1053 lines
36 KiB
PHP
1053 lines
36 KiB
PHP
<?php
|
|
/**
|
|
* <pre>
|
|
* Invision Power Services
|
|
* IP.Board v3.4.9
|
|
* ACP groups skin file
|
|
* Last Updated: $Date: 2013-04-15 17:26:30 -0400 (Mon, 15 Apr 2013) $
|
|
* </pre>
|
|
*
|
|
* @author $Author: AndyMillne $
|
|
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
|
* @license http://www.invisionpower.com/company/standards.php#license
|
|
* @package IP.Board
|
|
* @subpackage Members
|
|
* @link http://www.invisionpower.com
|
|
* @since 20th February 2002
|
|
* @version $Rev: 12179 $
|
|
*
|
|
*/
|
|
|
|
class cp_skin_groups extends output
|
|
{
|
|
/**#@+
|
|
* Registry objects
|
|
*
|
|
* @var object
|
|
*/
|
|
public $registry;
|
|
public $DB;
|
|
public $settings;
|
|
public $request;
|
|
public $lang;
|
|
public $member;
|
|
public $memberData;
|
|
public $cache;
|
|
public $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;
|
|
}
|
|
|
|
/**
|
|
* Should this admin group get ACP restrictions?
|
|
*
|
|
* @return string HTML
|
|
*/
|
|
public function groupAdminConfirm( $group_id ) {
|
|
|
|
$IPBHTML = "";
|
|
//--starthtml--//
|
|
|
|
$IPBHTML .= <<<HTML
|
|
<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']}&{$this->form_code}'>{$this->lang->words['sm_nothanks']}</a>
|
|
<a class='button' href='{$this->settings['base_url']}&module=restrictions&section=restrictions&do=acpperms-group-add-complete&entered_group={$group_id}'>{$this->lang->words['sm_yesplease']}</a>
|
|
</div>
|
|
</div>
|
|
<br />
|
|
HTML;
|
|
|
|
//--endhtml--//
|
|
return $IPBHTML;
|
|
}
|
|
|
|
/**
|
|
* Group form
|
|
*
|
|
* @param string Type (add|edit)
|
|
* @param array Group data
|
|
* @param array Permission masks
|
|
* @param array Extra tabs
|
|
* @param string Default tab to open
|
|
* @return string HTML
|
|
*/
|
|
public function groupsForm( $type, $group, $permission_masks, $content=array(), $firsttab='' ) {
|
|
|
|
//-----------------------------------------
|
|
// Format some of the data
|
|
//-----------------------------------------
|
|
|
|
list($group['g_promotion_id'], $group['g_promotion_posts']) = explode( '&', $group['g_promotion'] );
|
|
list($p_max, $p_width, $p_height) = explode( ":", $group['g_photo_max_vars'] );
|
|
|
|
if ($group['g_promotion_posts'] < 1)
|
|
{
|
|
$group['g_promotion_posts'] = '';
|
|
}
|
|
|
|
if( $type == 'edit' AND $group['g_attach_max'] == 0 )
|
|
{
|
|
$group['g_attach_maxdis'] = $this->lang->words['gf_unlimited'];
|
|
}
|
|
else if( $type == 'edit' AND $group['g_attach_max'] == -1 )
|
|
{
|
|
$group['g_attach_maxdis'] = $this->lang->words['gf_disabled'];
|
|
}
|
|
else
|
|
{
|
|
$group['g_attach_maxdis'] = IPSLib::sizeFormat( $group['g_attach_max'] * 1024 );
|
|
}
|
|
|
|
if( $type == 'edit' AND $group['g_attach_per_post'] == 0 )
|
|
{
|
|
$group['g_attach_per_postdis'] = $this->lang->words['gf_unlimited'];
|
|
}
|
|
else if( $type == 'edit' AND $group['g_attach_per_post'] == -1 )
|
|
{
|
|
$group['g_attach_per_postdis'] = $this->lang->words['gf_disabled'];
|
|
}
|
|
else
|
|
{
|
|
$group['g_attach_per_postdis'] = IPSLib::sizeFormat( $group['g_attach_per_post'] * 1024 );
|
|
}
|
|
|
|
//-----------------------------------------
|
|
// Set some of the form variables
|
|
//-----------------------------------------
|
|
|
|
$form_code = $type == 'edit' ? 'doedit' : 'doadd';
|
|
$button = $type == 'edit' ? $this->lang->words['g_compedit'] : $this->lang->words['g_addgroup'];
|
|
$ini_max = @ini_get( 'upload_max_filesize' ) ? @ini_get( 'upload_max_filesize' ) : $this->lang->words['g_cannotobt'];
|
|
$secure_key = ipsRegistry::getClass('adminFunctions')->getSecurityKey();
|
|
|
|
//-----------------------------------------
|
|
// Start off the form fields
|
|
//-----------------------------------------
|
|
|
|
$all_groups = array( 0 => array ( 'none', $this->lang->words['g_dontprom'] ) );
|
|
|
|
foreach( $this->cache->getCache('group_cache') as $group_data )
|
|
{
|
|
$all_groups[] = array( $group_data['g_id'], $group_data['g_title'] );
|
|
}
|
|
|
|
$gbw_unit_type = array(
|
|
0 => array( 0, $this->lang->words['g_dd_apprp'] ),
|
|
1 => array( 1, $this->lang->words['g_dd_days'] ) );
|
|
|
|
$form = array();
|
|
$form['g_title'] = $this->registry->output->formInput( "g_title", $group['g_title'], '', 32, 'text', '', '', 32 );
|
|
$form['permid'] = $this->registry->output->formMultiDropdown( "permid[]", $permission_masks, explode( ",", $group['g_perm_id'] ) );
|
|
$form['g_icon'] = $this->registry->output->formTextarea( "g_icon", htmlspecialchars( $group['g_icon'], ENT_QUOTES ) );
|
|
$form['prefix'] = $this->registry->output->formInput( "prefix", htmlspecialchars( $group['prefix'], ENT_QUOTES ) );
|
|
$form['suffix'] = $this->registry->output->formInput( "suffix", htmlspecialchars( $group['suffix'], ENT_QUOTES ) );
|
|
$form['g_hide_from_list'] = $this->registry->output->formYesNo( "g_hide_from_list", $group['g_hide_from_list'] );
|
|
$form['g_attach_max'] = $this->registry->output->formInput( "g_attach_max", $group['g_attach_max'] );
|
|
$form['g_attach_per_post'] = $this->registry->output->formInput( "g_attach_per_post", $group['g_attach_per_post'] );
|
|
$form['p_max'] = $this->registry->output->formInput( "p_max", $p_max );
|
|
$form['p_width'] = $this->registry->output->formSimpleInput( "p_width", $p_width, 3 );
|
|
$form['p_height'] = $this->registry->output->formSimpleInput( "p_height", $p_height, 3 );
|
|
$form['g_can_msg_attach'] = $this->registry->output->formYesNo( "g_can_msg_attach", $group['g_can_msg_attach'] );
|
|
$form['g_view_board'] = $this->registry->output->formYesNo( "g_view_board", $group['g_view_board'], 'g_view_board' );
|
|
$form['g_access_offline'] = $this->registry->output->formYesNo( "g_access_offline", $group['g_access_offline'] );
|
|
$form['g_mem_info'] = $this->registry->output->formYesNo( "g_mem_info", $group['g_mem_info'] );
|
|
$form['gbw_view_last_info'] = $this->registry->output->formYesNo( "gbw_view_last_info", $group['gbw_view_last_info'] );
|
|
|
|
$form['g_can_add_friends'] = $this->registry->output->formYesNo( "g_can_add_friends", $group['g_can_add_friends'] );
|
|
$form['g_hide_online_list'] = $this->registry->output->formYesNo( "g_hide_online_list", $group['g_hide_online_list'] );
|
|
$form['g_use_search'] = $this->registry->output->formYesNo( "g_use_search", $group['g_use_search'] );
|
|
$form['g_search_flood'] = $this->registry->output->formInput( "g_search_flood", $group['g_search_flood'] );
|
|
$form['g_edit_profile'] = $this->registry->output->formYesNo( "g_edit_profile", $group['g_edit_profile'] );
|
|
$form['g_use_pm'] = $this->registry->output->formYesNo( "g_use_pm", $group['g_use_pm'] );
|
|
$form['g_max_mass_pm'] = $this->registry->output->formInput( "g_max_mass_pm", $group['g_max_mass_pm'] );
|
|
$form['g_max_messages'] = $this->registry->output->formInput( "g_max_messages", $group['g_max_messages'] );
|
|
$form['g_pm_perday'] = $this->registry->output->formSimpleInput( "g_pm_perday", $group['g_pm_perday'], 4 );
|
|
$form['g_pm_flood_mins'] = $this->registry->output->formSimpleInput( "g_pm_flood_mins", $group['g_pm_flood_mins'], 3 );
|
|
|
|
$form['g_dohtml'] = $this->registry->output->formYesNo( "g_dohtml", $group['g_dohtml'] );
|
|
$form['g_bypass_badwords'] = $this->registry->output->formYesNo( "g_bypass_badwords", $group['g_bypass_badwords'] );
|
|
$form['g_dname_date'] = $this->registry->output->formSimpleInput( "g_dname_date", $group['g_dname_date'], 3 );
|
|
$form['g_dname_changes'] = $this->registry->output->formSimpleInput( "g_dname_changes", $group['g_dname_changes'], 3 );
|
|
$form['g_is_supmod'] = $this->registry->output->formYesNo( "g_is_supmod", $group['g_is_supmod'] );
|
|
$form['g_access_cp'] = $this->registry->output->formYesNo( "g_access_cp", $group['g_access_cp'] );
|
|
|
|
$form['g_promotion_id'] = $this->registry->output->formDropdown( "g_promotion_id", $all_groups, $group['g_promotion_id'] );
|
|
$form['g_promotion_posts'] = $this->registry->output->formSimpleInput( 'g_promotion_posts', $group['g_promotion_posts'] );
|
|
|
|
$form['g_new_perm_set'] = $this->registry->output->formInput( "g_new_perm_set", '' );
|
|
$form['g_rep_max_positive'] = $this->registry->output->formInput( "g_rep_max_positive", $group['g_rep_max_positive'] );
|
|
$form['g_rep_max_negative'] = $this->registry->output->formInput( "g_rep_max_negative", $group['g_rep_max_negative'] );
|
|
$form['gbw_view_reps'] = $this->registry->output->formYesNo( "gbw_view_reps", $group['gbw_view_reps'] );
|
|
|
|
$sig_limits = explode( ':', $group['g_signature_limits'] );
|
|
|
|
$form['use_signatures'] = $this->registry->output->formYesNo( "use_signatures", $sig_limits[0] );
|
|
$form['max_images'] = $this->registry->output->formInput( "max_images", $sig_limits[1] );
|
|
$form['max_dims'] = $this->lang->words['g_upersonalpho_w'] . ' ' . $this->registry->output->formSimpleInput( "max_dims_x", $sig_limits[2] ) . ' x ' . $this->lang->words['g_upersonalpho_h'] . ' ' . $this->registry->output->formSimpleInput( "max_dims_y", $sig_limits[3] );
|
|
$form['max_urls'] = $this->registry->output->formInput( "max_urls", $sig_limits[4] );
|
|
$form['max_lines'] = $this->registry->output->formInput( "max_lines", $sig_limits[5] );
|
|
|
|
$form['g_displayname_unit'] = $this->registry->output->formSimpleInput( "g_displayname_unit", $group['g_displayname_unit'], 3 );
|
|
$form['gbw_displayname_unit_type'] = $this->registry->output->formDropdown( "gbw_displayname_unit_type", $gbw_unit_type, $group['gbw_displayname_unit_type'] );
|
|
$form['g_sig_unit'] = $this->registry->output->formSimpleInput( "g_sig_unit", $group['g_sig_unit'], 3 );
|
|
$form['gbw_sig_unit_type'] = $this->registry->output->formDropdown( "gbw_sig_unit_type", $gbw_unit_type, $group['gbw_sig_unit_type'] );
|
|
|
|
$form['gbw_promote_unit_type'] = $this->registry->output->formDropdown( "gbw_promote_unit_type", $gbw_unit_type, $group['gbw_promote_unit_type'] );
|
|
|
|
$form['gbw_no_status_update'] = $this->registry->output->formYesNo( "gbw_no_status_update", $group['gbw_no_status_update'] );
|
|
$form['gbw_no_status_import'] = $this->registry->output->formYesNo( "gbw_no_status_import", $group['gbw_no_status_import'] );
|
|
|
|
$form['g_max_notifications'] = $this->registry->output->formInput( "g_max_notifications", $group['g_max_notifications'] );
|
|
|
|
$form['gbw_allow_customization'] = $this->registry->output->formYesNo( "gbw_allow_customization" , $group['gbw_allow_customization'] );
|
|
$form['gbw_allow_url_bgimage'] = $this->registry->output->formYesNo( "gbw_allow_url_bgimage" , $group['gbw_allow_url_bgimage'] );
|
|
$form['gbw_allow_upload_bgimage'] = $this->registry->output->formYesNo( "gbw_allow_upload_bgimage", $group['gbw_allow_upload_bgimage'] );
|
|
$form['g_max_bgimg_upload'] = $this->registry->output->formInput( "g_max_bgimg_upload", $group['g_max_bgimg_upload'] );
|
|
|
|
$form['gbw_disable_tagging'] = $this->registry->output->formYesNo( "gbw_disable_tagging" , $group['gbw_disable_tagging'] );
|
|
$form['gbw_disable_prefixes'] = $this->registry->output->formYesNo( "gbw_disable_prefixes", $group['gbw_disable_prefixes'] );
|
|
|
|
|
|
if( $type == 'edit' )
|
|
{
|
|
$title = $this->lang->words['g_editing'] . $group['g_title'];
|
|
}
|
|
else
|
|
{
|
|
$title = $this->lang->words['g_adding'];
|
|
}
|
|
|
|
$IPBHTML = "";
|
|
//--starthtml--//
|
|
|
|
$IPBHTML .= <<<HTML
|
|
<div class='section_title'>
|
|
<h2>{$title}</h2>
|
|
</div>
|
|
|
|
<script type='text/javascript' src='{$this->settings['js_app_url']}ipsEditGroup.js'></script>
|
|
<script type='text/javascript'>
|
|
HTML;
|
|
|
|
foreach( $permission_masks as $d )
|
|
{
|
|
$IPBHTML .= " perms_{$d[0]} = '{$d[1]}';\n";
|
|
}
|
|
|
|
$IPBHTML .= <<<HTML
|
|
</script>
|
|
<form action='{$this->settings['base_url']}&{$this->form_code}&do={$form_code}&secure_key={$secure_key}' method='post' id='adform' name='adform' onsubmit='return checkform();'>
|
|
<input type='hidden' name='id' value='{$group['g_id']}' />
|
|
|
|
<div class='acp-box'>
|
|
<h3> </h3>
|
|
|
|
<div id='tabstrip_group' class='ipsTabBar with_left with_right'>
|
|
<span class='tab_left'>«</span>
|
|
<span class='tab_right'>»</span>
|
|
|
|
<ul>
|
|
<li id='tab_GROUPS_1'>{$this->lang->words['g_globalsett']}</li>
|
|
<li id='tab_GROUPS_2'>{$this->lang->words['g_globalperm']}</li>
|
|
HTML;
|
|
|
|
// Got blocks from other apps?
|
|
$IPBHTML .= implode( "\n", $content['tabs'] );
|
|
|
|
$pmlimit = sprintf( $this->lang->words['gf_pm_limit'], $form['g_pm_perday'] );
|
|
$pmflood = sprintf( $this->lang->words['gf_pm_flood'], $form['g_pm_flood_mins'] );
|
|
|
|
$_firstTab = ( $firsttab ) ? 'GROUPS_' . $firsttab : "GROUPS_1";
|
|
|
|
$dnc1 = sprintf( $this->lang->words['display_name_changes_1'], $form['g_displayname_unit'], $form['gbw_displayname_unit_type'] );
|
|
$dnc2 = sprintf( $this->lang->words['display_name_changes_3'], $form['g_dname_changes'], $form['g_dname_date'] );
|
|
|
|
$IPBHTML .= <<<HTML
|
|
</ul>
|
|
</div>
|
|
|
|
<div id='tabstrip_group_content' class='ipsTabBar_content'>
|
|
<div id='tab_GROUPS_1_content'>
|
|
<table class='ipsTable double_pad'>
|
|
<tr>
|
|
<th colspan='2'>{$this->lang->words['gf_t_details']}</th>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_gtitle']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_title']}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_gicon']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_icon']}<br />
|
|
<span class='desctext'>{$this->lang->words['gf_gicon_info']}</span>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_gformpre']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['prefix']}<br />
|
|
<span class='desctext'>{$this->lang->words['gf_gformpre_info']}</span>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_gformsuf']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['suffix']}<br />
|
|
<span class='desctext'>{$this->lang->words['gf_gformsuf_info']}</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th colspan='2'>{$this->lang->words['gf_t_permissions']}</th>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_permset']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['permid']}<br />
|
|
<span class='desctext'>{$this->lang->words['g_permset_info']}</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['g_newpermset']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_new_perm_set']}<br />
|
|
<span class='desctext'>{$this->lang->words['g_newpermset_info']}</span>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_hide']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_hide_from_list']}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_hide_online']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_hide_online_list']}<br />
|
|
<span class='desctext'>{$this->lang->words['gf_hideonline_desc']}</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th colspan='2'>{$this->lang->words['gf_t_display_name']}</th>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['display_name_changes']}</strong>
|
|
</td>
|
|
<td>
|
|
{$dnc1}<br />
|
|
<span class='desctext'>{$this->lang->words['display_name_changes_2']}</span><br />
|
|
<br />
|
|
{$dnc2}<br />
|
|
<span class='desctext'>{$this->lang->words['display_name_changes_4']}</span>
|
|
</td>
|
|
</tr>
|
|
<tr class='guest_legend'>
|
|
<th colspan='2'>{$this->lang->words['gf_t_access_control']}</th>
|
|
</tr>
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_msup']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_is_supmod']}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_macp']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_access_cp']}
|
|
</td>
|
|
</tr>
|
|
<tr class='guest_legend'>
|
|
<th colspan='2'>{$this->lang->words['gf_t_promotion']}</th>
|
|
</tr>
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_mpromote']}</strong>
|
|
{$this->javascriptHelpLink('mg_promote')}
|
|
</td>
|
|
<td class='field_field'>
|
|
HTML;
|
|
if( $group['g_access_cp'] )
|
|
{
|
|
$IPBHTML .= "{$this->lang->words['g_mpromote_no']}";
|
|
}
|
|
else
|
|
{
|
|
$promotegrouptxt = sprintf( $this->lang->words['g_mpromote_to'], $form['g_promotion_id'], $form['g_promotion_posts'], $form['gbw_promote_unit_type'] );
|
|
$IPBHTML .= "{$promotegrouptxt}";
|
|
}
|
|
$IPBHTML .= <<<HTML
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div id='tab_GROUPS_2_content'>
|
|
<table class='ipsTable double_pad'>
|
|
<tr>
|
|
<th colspan='2'>{$this->lang->words['gf_t_access_permissions']}</th>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_ssite']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
HTML;
|
|
|
|
if( $group['g_id'] == $this->settings['guest_group'] )
|
|
{
|
|
$g_view_board_warning_message = sprintf( $this->lang->words['gf_view_board_warning'], $this->registry->output->buildURL( 'app=core&module=settings§ion=settings', 'admin' ) );
|
|
|
|
$IPBHTML .= <<<HTML
|
|
<div class='information-box'>{$g_view_board_warning_message}</div>
|
|
<input type='hidden' name='g_view_board' value='1' />
|
|
HTML;
|
|
}
|
|
else
|
|
{
|
|
$IPBHTML .= $form['g_view_board'];
|
|
}
|
|
|
|
$IPBHTML .= <<<HTML
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_soffline']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_access_offline']}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_sprofile']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_mem_info']}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gbw_view_last_info']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['gbw_view_last_info']}
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_addfriends']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_can_add_friends']}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_editprofile']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_edit_profile']}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_shtml']}</strong>
|
|
{$this->javascriptHelpLink('mg_dohtml')}
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_dohtml']}
|
|
</td>
|
|
</tr>
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_maxnotify']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_max_notifications']}<br />
|
|
<span class='desctext'>{$this->lang->words['gf_maxnotify_desc']}</span>
|
|
</td>
|
|
</tr>
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_sbadword']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_bypass_badwords']}
|
|
</td>
|
|
</tr>
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_no_status']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['gbw_no_status_update']}
|
|
</td>
|
|
</tr>
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_no_status_import']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['gbw_no_status_import']}
|
|
<br /><span class='desctext'>{$this->lang->words['gf_no_status_import_d']}</span>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th colspan='2'>{$this->lang->words['gf_customization_title']}</th>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_bw_allow_customization']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['gbw_allow_customization']}
|
|
<br /><span class='desctext'>{$this->lang->words['gbw_allow_customization_d']}</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_bw_allow_url_bgimage']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['gbw_allow_url_bgimage']}
|
|
<br /><span class='desctext'>{$this->lang->words['gbw_allow_url_bgimage_d']}</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_bw_allow_upload_bgimage']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['gbw_allow_upload_bgimage']}
|
|
<div style='padding-top:4px'>{$this->lang->words['gf_max_bgimg_upload']} {$form['g_max_bgimg_upload']}</div>
|
|
<br /><span class='desctext'>{$this->lang->words['gbw_allow_upload_bgimage_d']}</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th colspan='2'>{$this->lang->words['gf_t_search']}</th>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_ssearch']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_use_search']}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_sflood']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_search_flood']}<br />
|
|
<span class='desctext'>{$this->lang->words['gf_sflood_info']}</span>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr class='guest_legend'>
|
|
<th colspan='2'>{$this->lang->words['gf_t_pms']}</th>
|
|
</tr>
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_spm']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_use_pm']}
|
|
<br />{$pmlimit}
|
|
<br />{$pmflood}
|
|
<br />
|
|
<span class='desctext'>{$this->lang->words['gf_spmperday_info']}</span>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_spmmax']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_max_mass_pm']}<br />
|
|
<span class='desctext'>{$this->lang->words['gf_spmmax_info']}</span>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_spmmaxstor']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_max_messages']}<br />
|
|
<span class='desctext'>{$this->lang->words['gf_maxmessages_info']}</span>
|
|
</td>
|
|
</tr>
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_upm']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_can_msg_attach']}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th colspan='2'>{$this->lang->words['gf_t_reps']}</th>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_repmaxpos']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_rep_max_positive']}
|
|
<br />
|
|
<span class='desctext'>{$this->lang->words['gf_repnum_info']}</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_repmaxneg']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_rep_max_negative']}<br />
|
|
<span class='desctext'>{$this->lang->words['gf_repnum_info']}</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_bw_view_reps']}</strong><br />
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['gbw_view_reps']}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th colspan='2'>{$this->lang->words['gf_t_sigs']}</th>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_usesigs']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
<p>{$form['use_signatures']} {$this->lang->words['g_until']} {$form['g_sig_unit']} {$form['gbw_sig_unit_type']}</p>
|
|
<p class='desctext'>{$this->lang->words['g_limit_dd']}</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_sigmaximages']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['max_images']}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_sigmaxdims']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['max_dims']}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_sigmaxurls']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['max_urls']}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_sigmaxtext']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['max_lines']}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th colspan='2'>{$this->lang->words['gf_t_uploads']}</th>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_uglobal']}</strong>
|
|
{$this->javascriptHelpLink('mg_upload')}
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_attach_max']}
|
|
{$this->lang->words['g_inkb']} ({$this->lang->words['g_ucurrently']}{$group['g_attach_maxdis']})
|
|
<br />{$this->lang->words['g_usingle']}{$ini_max}<br />
|
|
<span class='desctext'>{$this->lang->words['gf_uglobal_info']}</span>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_upost']}</strong>
|
|
{$this->javascriptHelpLink('mg_upload')}
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['g_attach_per_post']}
|
|
{$this->lang->words['g_inkb']} ({$this->lang->words['g_ucurrently']}{$group['g_attach_per_postdis']})
|
|
<br />{$this->lang->words['g_usingle']}{$ini_max}<br />
|
|
<span class='desctext'>{$this->lang->words['gf_upost_info']}</span>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gf_upersonalpho']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['p_max']}{$this->lang->words['g_inkb']}
|
|
<br />{$this->lang->words['g_upersonalpho_w']}{$form['p_width']} x {$this->lang->words['g_upersonalpho_h']}{$form['p_height']}<br />
|
|
<span class='desctext'>{$this->lang->words['g_upersonalpho_l']}</span>
|
|
</td>
|
|
</tr>
|
|
<tr class='guest_legend'>
|
|
<th colspan='2'>{$this->lang->words['gf_t_tagging']}<!--You're it--></th>
|
|
</tr>
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gbw_disable_tagging']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['gbw_disable_tagging']}<br />
|
|
<span class='desctext'>{$this->lang->words['gbw_disable_tagging_desc']}</span>
|
|
</td>
|
|
</tr>
|
|
<tr class='guest_legend'>
|
|
<td class='field_title'>
|
|
<strong class='title'>{$this->lang->words['gbw_disable_prefixes']}</strong>
|
|
</td>
|
|
<td class='field_field'>
|
|
{$form['gbw_disable_prefixes']}<br />
|
|
<span class='desctext'>{$this->lang->words['gbw_disable_prefixes_desc']}</span>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
HTML;
|
|
|
|
// Got blocks from other apps?
|
|
$IPBHTML .= implode( "\n", $content['area'] );
|
|
|
|
$IPBHTML .= <<<HTML
|
|
|
|
<script type='text/javascript'>
|
|
jQ("#tabstrip_group").ipsTabBar({tabWrap: "#tabstrip_group_content", defaultTab: "tab_{$_firstTab}" });
|
|
</script>
|
|
</div>
|
|
<div class='acp-actionbar'>
|
|
<input type='submit' value='{$button}' class='button primary' />
|
|
</div>
|
|
</form>
|
|
|
|
<script type="text/javascript">
|
|
setUpForm();
|
|
|
|
HTML;
|
|
|
|
if( $group['g_id'] == $this->settings['guest_group'] )
|
|
{
|
|
$IPBHTML .= "stripGuestLegend();";
|
|
}
|
|
|
|
$IPBHTML .= <<<HTML
|
|
</script>
|
|
HTML;
|
|
|
|
//--endhtml--//
|
|
return $IPBHTML;
|
|
}
|
|
|
|
/**
|
|
* Build a javascript help link
|
|
*
|
|
* @param string Help ID
|
|
* @return string Help Link
|
|
* @since 2.0
|
|
* @see admin_core_system_quickhelp
|
|
*/
|
|
public function javascriptHelpLink( $help="" )
|
|
{
|
|
return "( <a href='#' onclick=\"window.open('" . str_replace( '&', '&', $this->settings['_base_url'] ) . "&app=core&module=help§ion=quickhelp&id={$help}','Help','width=450,height=400,resizable=yes,scrollbars=yes'); return false;\">{$this->lang->words['acp_quick_help']}</a> )";
|
|
}
|
|
|
|
/**
|
|
* Overview of groups
|
|
*
|
|
* @param string Groups HTML
|
|
* @param array Groups
|
|
* @return string HTML
|
|
*/
|
|
public function groupsOverviewWrapper( $content, $g_array ) {
|
|
|
|
$new_dd = $this->registry->output->formDropdown( 'id', $g_array, 3 );
|
|
|
|
$IPBHTML = "";
|
|
//--starthtml--//
|
|
|
|
$leSigh = ( $this->request['showSecondary'] ) ? 'closed' : '';
|
|
$leBigh = ( $this->request['showSecondary'] ) ? 0 : 1;
|
|
|
|
$IPBHTML .= <<<HTML
|
|
<div class='section_title'>
|
|
<h2>{$this->lang->words['g_title']}</h2>
|
|
<div class='ipsActionBar clearfix'>
|
|
<ul>
|
|
<li class='ipsActionButton {$leSigh}'>
|
|
<a href='{$this->settings['base_url']}{$this->form_code}&do=groups_overview&showSecondary={$leBigh}'><img src='{$this->settings['skin_acp_url']}/images/icons/cog.png' /> {$this->lang->words['g_calc_with_secondary']}</a>
|
|
</li>
|
|
<li class='ipsActionButton inDev'>
|
|
<a href='{$this->settings['base_url']}{$this->form_code}&do=master_xml_export'><img src='{$this->settings['skin_acp_url']}/images/icons/export.png' alt='' /> Export XML</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class='acp-box'>
|
|
<h3>{$this->lang->words['g_usergroupman']}</h3>
|
|
<table class='ipsTable'>
|
|
<tr>
|
|
<th width='1%'> </th>
|
|
<th width='30%'>{$this->lang->words['g_grouptitle']}</th>
|
|
<th width='15%' align='center' style='text-align:center'>{$this->lang->words['g_canaccessacp']}</th>
|
|
<th width='15%' align='center' style='text-align:center'>{$this->lang->words['g_issupermod']}</th>
|
|
<th width='10%' align='center' style='text-align:center'>{$this->lang->words['g_membercount']}</th>
|
|
<th width='1%'> </th>
|
|
</tr>
|
|
{$content}
|
|
</table>
|
|
</div>
|
|
<br />
|
|
|
|
<form action='{$this->settings['base_url']}&{$this->form_code}&do=add' method='POST' >
|
|
<input type='hidden' name='_admin_auth_key' value='{$this->registry->getClass('adminFunctions')->_admin_auth_key}' />
|
|
<div class='acp-box'>
|
|
<h3>{$this->lang->words['g_createnew']}</h3>
|
|
<table class='ipsTable'>
|
|
<tr>
|
|
<td class='field_title'>{$this->lang->words['g_basenewon']}</td>
|
|
<td class='field_field'>{$new_dd}</td>
|
|
</tr>
|
|
</table>
|
|
<div class='acp-actionbar'>
|
|
<input type='submit' value='{$this->lang->words['g_createbutton']}' class='button primary' />
|
|
</div>
|
|
</div>
|
|
</form>
|
|
HTML;
|
|
|
|
//--endhtml--//
|
|
return $IPBHTML;
|
|
}
|
|
|
|
/**
|
|
* Group row
|
|
*
|
|
* @param array Group
|
|
* @return string HTML
|
|
*/
|
|
public function groupsOverviewRow( $r="" ) {
|
|
$IPBHTML = "";
|
|
//--starthtml--//
|
|
|
|
$r['_can_acp_img'] = $r['_can_acp'] ? 'accept.png' : 'cross.png';
|
|
$r['_can_supmod_img'] = $r['_can_supmod'] ? 'accept.png' : 'cross.png';
|
|
$r['_title'] = IPSMember::makeNameFormatted( $r['g_title'], $r['g_id'] );
|
|
|
|
$IPBHTML .= <<<HTML
|
|
<tr class='ipsControlRow'>
|
|
<td><img src='{$this->settings['skin_acp_url']}/images/icons/group.png' /></td>
|
|
<td><a href='{$this->settings['base_url']}&{$this->form_code}&do=edit&id={$r['g_id']}' style='font-weight:bold'>{$r['_title']}</a> <small>({$this->lang->words['g_id']}: {$r['g_id']})</small></td>
|
|
<td align='center'><img src='{$this->settings['skin_acp_url']}/images/icons/{$r['_can_acp_img']}' alt='-' /></td>
|
|
<td align='center'><img src='{$this->settings['skin_acp_url']}/images/icons/{$r['_can_supmod_img']}' alt='-' /></td>
|
|
<td align='center'>
|
|
HTML;
|
|
if ( $r['g_id'] != $this->settings['guest_group'] )
|
|
{
|
|
$_extraLink = '';
|
|
|
|
if( $this->request['showSecondary'] )
|
|
{
|
|
$_extraLink = "&f_inc_secondary=1";
|
|
}
|
|
|
|
$IPBHTML .= <<<HTML
|
|
<a href='{$this->settings['_base_url']}app=members&section=members&module=members#do_results=1&__update=1&f_primary_group={$r['g_id']}{$_extraLink}' title='{$this->lang->words['g_listusers']}'>{$r['count']}</a>
|
|
HTML;
|
|
}
|
|
else
|
|
{
|
|
$IPBHTML .= <<<HTML
|
|
{$r['count']}
|
|
HTML;
|
|
}
|
|
$IPBHTML .= <<<HTML
|
|
</td>
|
|
<td class='col_buttons'>
|
|
<ul class='ipsControlStrip'>
|
|
<li class='i_edit'><a href='{$this->settings['base_url']}&{$this->form_code}&do=edit&id={$r['g_id']}' title='{$this->lang->words['g_editg']}'>{$this->lang->words['g_editg']}</a></li>
|
|
HTML;
|
|
if ( ! in_array( $r['g_id'], array( $this->settings['auth_group'], $this->settings['guest_group'], $this->settings['member_group'] ) ) )
|
|
{
|
|
$IPBHTML .= <<<HTML
|
|
<li class='i_delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}&{$this->form_code}&do=delete&_admin_auth_key={$this->registry->getClass('adminFunctions')->_admin_auth_key}&id={$r['g_id']}");' title='{$this->lang->words['g_deleteg']}'>{$this->lang->words['g_deleteg']}</a></li>
|
|
HTML;
|
|
}
|
|
else
|
|
{
|
|
$IPBHTML .= <<<HTML
|
|
<li class='i_delete disabled'><a href='#' onclick='return false;' title='{$this->lang->words['g_cannotdel']}' title='{$this->lang->words['g_cannotdel']}'>{$this->lang->words['g_cannotdel']}</a></li>
|
|
HTML;
|
|
}
|
|
$IPBHTML .= <<<HTML
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
HTML;
|
|
|
|
//--endhtml--//
|
|
return $IPBHTML;
|
|
}
|
|
|
|
|
|
/**
|
|
* Delete group confirmation
|
|
*
|
|
* @param array Group
|
|
* @param int Members with this group as primary group
|
|
* @param int Members with this group as secondary group
|
|
* @return string HTML
|
|
*/
|
|
public function groupDelete( $group, $primary=0, $secondary=0 ) {
|
|
|
|
$IPBHTML = "";
|
|
//--starthtml--//
|
|
|
|
//-----------------------------------------
|
|
// Grab group, and other groups
|
|
//-----------------------------------------
|
|
|
|
$mem_groups = array();
|
|
|
|
foreach( $this->caches['group_cache'] as $g_id => $r )
|
|
{
|
|
if( $g_id == $group['g_id'] )
|
|
{
|
|
continue;
|
|
}
|
|
|
|
$mem_groups[] = array( $r['g_id'], $r['g_title'] );
|
|
}
|
|
|
|
$dropDown = $this->registry->output->formDropdown( "to_id", $mem_groups, $this->settings['member_group'] );
|
|
|
|
$IPBHTML .= <<<HTML
|
|
<div class='section_title'>
|
|
<h2>{$this->lang->words['g_deleting']}</h2>
|
|
</div>
|
|
|
|
<div class='acp-box'>
|
|
<h3>{$this->lang->words['g_removeconf']}{$group['g_title']}</h3>
|
|
|
|
<form action='{$this->settings['base_url']}&{$this->form_code}&do=dodelete' method='post'>
|
|
<input type='hidden' name='id' value='{$group['g_id']}' />
|
|
<input type='hidden' name='_admin_auth_key' value='{$this->registry->getClass('adminFunctions')->_admin_auth_key}' />
|
|
|
|
<table class='ipsTable'>
|
|
<tr>
|
|
<td class='field_title'><strong class='title'>{$this->lang->words['g_numusers']}</strong></td>
|
|
<td class='field_field'>
|
|
<a href='{$this->settings['_base_url']}&app=members&module=members&section=members&__update=1&f_primary_group={$group['g_id']}'>{$primary}</a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'><strong class='title'>{$this->lang->words['g_numusers_sec']}</strong></td>
|
|
<td class='field_field'>
|
|
<a href='{$this->settings['_base_url']}&app=members&module=members&section=members&__update=1&f_secondary_group={$group['g_id']}'>{$secondary}</a><br />
|
|
<span class='desctext'>{$this->lang->words['g_secuserinfod']}</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class='field_title'><strong class='title'>{$this->lang->words['g_moveusersto']}</strong></td>
|
|
<td class='field_field'>{$dropDown}</td>
|
|
</tr>
|
|
</table>
|
|
<div class='acp-actionbar'>
|
|
<input type='submit' class='button primary' value='{$this->lang->words['g_deletebutton']}' />
|
|
</div>
|
|
</form>
|
|
</div>
|
|
HTML;
|
|
|
|
//--endhtml--//
|
|
return $IPBHTML;
|
|
}
|
|
|
|
|
|
} |