Version 3.1.4

This commit is contained in:
Neo committed 2025-12-19 00:32:22 -08:00
1 parent 1d4720f3e2
commit ae5c01cc78
2563 files changed
+283048 -240689

No files matched your search

@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Admin log skin file
* Last Updated: $Date: 2009-09-24 16:56:42 -0400 (Thu, 24 Sep 2009) $
* Last Updated: $Date: 2010-06-24 05:36:05 -0400 (Thu, 24 Jun 2010) $
* </pre>
*
* @author $Author: rikki $
* @author $Author: matt $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 5154 $
* @version $Revision: 6570 $
*/
class cp_skin_adminlogs extends output
@@ -54,6 +56,8 @@ $IPBHTML .= <<<HTML
<tr><td><a href='{$this->settings['base_url']}&amp;module=system&amp;section=taskmanager&amp;do=task_logs'>{$this->lang->words['sched_error_logs']}</a></td></tr>
<tr><td><a href='{$this->settings['base_url']}&amp;module=system&amp;section=loginlog&amp;do=show'>{$this->lang->words['al_error_logs']}</a></td></tr>
<tr><td><a href='{$this->settings['base_url']}&amp;module=logs&amp;section=spamlogs&amp;do=show'>{$this->lang->words['slog_spamlogs']}</a></td></tr>
<tr><td><a href='{$this->settings['base_url']}&amp;module=logs&amp;section=mobilelogs&amp;do=show'>{$this->lang->words['mlog_mobilelogs']}</a></td></tr>
<tr><td><a href='{$this->settings['base_url']}&amp;module=logs&amp;section=sqlerror&amp;do=show'>{$this->lang->words['mlog_sqlerrors']}</a></td></tr>
</table>
</div>
HTML;
@@ -200,6 +204,112 @@ HTML;
return $IPBHTML;
}
/**
* SQL log RAPPER LIKE ICE T BUT MORE LIKE COFFEE
*
* @access public
* @param array Rows
* @param string Page links
* @return string HTML
*/
public function sqllogsWrapper( $rows ) {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['sqllog_title']}</h2>
</div>
<div class="acp-box">
<h3>{$this->lang->words['sqllog_title']}</h3>
<table class="alternate_rows" width='100%'>
<tr>
<th width="1%">&nbsp;</th>
<th width='49%'>{$this->lang->words['sqllog_name']}</th>
<th width='40%'>{$this->lang->words['sqllog_date']}</th>
<th width='10%'>{$this->lang->words['sqllog_size']}</th>
<th width="1%">&nbsp;</th>
</tr>
HTML;
if( count($rows) AND is_array($rows) )
{
foreach( $rows as $row )
{
$size = IPSLib::sizeFormat( $row['size'] );
$mtime = $this->registry->class_localization->getDate( $row['mtime'], 'SHORT' );
$IPBHTML .= <<<HTML
<tr>
<td><img src='{$this->settings['skin_acp_url']}/_newimages/icons/page_red.png' /></td>
<td><a href="{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=view&amp;file={$row['name']}">{$row['name']}</a></td>
<td>{$mtime}</td>
<td>{$size}</td>
<td><a href="#" onclick="acp.confirmDelete( '{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=remove&amp;file={$row['name']}' )"><img src='{$this->settings['skin_acp_url']}/_newimages/icons/delete.png' /></a></td>
</tr>
HTML;
}
}
else
{
$IPBHTML .= <<<HTML
<tr>
<td colspan='4' align='center'>{$this->lang->words['sqllog_noresults']}</td>
</tr>
HTML;
}
$IPBHTML .= <<<HTML
</table>
<div class='acp-actionbar'>
<div class="leftaction">&nbsp;</div>
</div>
</div>
<br />
HTML;
//--endhtml--//
return $IPBHTML;
}
/**
* View a log
*
* @access public
*/
public function sqlLogsView( $file, $size, $content ) {
$tailSize = IPSLib::strlenToBytes( strlen( $content ) );
/* Display a message? */
if ( $tailSize < $size )
{
$this->registry->output->global_message = sprintf( $this->lang->words['sqllog_more_file'], $file );
}
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['sqllog_title']}</h2>
</div>
<div class="acp-box">
<h3>{$file}</h3>
<div class='acp-row-off' style='padding:8px'>
<div style="width:100%; height:400px; background-color:white;font-family:monospace;white-space:pre;overflow:auto">{$content}</div>
</div>
</div>
HTML;
//--endhtml--//
return $IPBHTML;
}
/**
* View an individual admin's logs
*
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* API users skin file
* Last Updated: $Date: 2009-08-18 16:46:02 -0400 (Tue, 18 Aug 2009) $
* Last Updated: $Date: 2010-09-29 20:23:38 -0400 (Wed, 29 Sep 2010) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 5027 $
* @version $Revision: 6925 $
*/
class cp_skin_api extends output
@@ -51,20 +53,20 @@ $IPBHTML .= <<<EOF
<legend>{$this->lang->words['a_basics']}</legend>
<table width='100%' cellpadding='4' cellspacing='0'>
<tr>
<td width='30%' class='tablerow1'>{$this->lang->words['a_key']}</td>
<td width='70%' class='tablerow1'><strong>{$log['api_log_key']}</strong></td>
<td width='30%'>{$this->lang->words['a_key']}</td>
<td width='70%'><strong>{$log['api_log_key']}</strong></td>
</tr>
<tr>
<td class='tablerow1'>{$this->lang->words['a_ip']}</td>
<td class='tablerow1'>{$log['api_log_ip']}</td>
<td>{$this->lang->words['a_ip']}</td>
<td>{$log['api_log_ip']}</td>
</tr>
<tr>
<td class='tablerow1'>{$this->lang->words['a_time']}</td>
<td class='tablerow1'>{$log['_api_log_date']}</td>
<td>{$this->lang->words['a_time']}</td>
<td>{$log['_api_log_date']}</td>
</tr>
<tr>
<td class='tablerow1'>{$this->lang->words['a_success']}</td>
<td class='tablerow1'><img src='{$this->settings['skin_acp_url']}/images/{$log['_api_log_allowed']}' border='0' alt='-' class='ipd' /></td>
<td>{$this->lang->words['a_success']}</td>
<td><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$log['_api_log_allowed']}' alt='-' /></td>
</tr>
</table>
</fieldset>
@@ -123,14 +125,14 @@ if ( is_array( $logs ) AND count( $logs ) )
$IPBHTML .= <<<EOF
<tr>
<td width='1' valign='middle'>
<img src='{$this->settings['skin_acp_url']}/images/folder_components/xmlrpc/log_row.png' border='0' alt='-' class='ipd' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/xmlrpc/log_row.png' alt='-' />
</td>
<td><strong>{$r['api_log_key']}</strong></td>
<td><div class='desctext'>{$r['api_log_ip']}</div></td>
<td>{$r['_api_log_date']}</td>
<td><img src='{$this->settings['skin_acp_url']}/images/{$r['_api_log_allowed']}' border='0' alt='-' class='ipd' /></td>
<td><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$r['_api_log_allowed']}' alt='-' /></td>
<td width='1' valign='middle'>
<a href='#' onclick="return acp.openWindow('{$this->settings['base_url']}{$this->form_code}&amp;do=log_view_detail&amp;api_log_id={$r['api_log_id']}', 800, 600)" title='{$this->lang->words['a_viewdetails']}'><img src='{$this->settings['skin_acp_url']}/images/folder_components/index/view.png' border='0' alt='-' class='ipd' /></a>
<a href='#' onclick="return acp.openWindow('{$this->settings['base_url']}{$this->form_code}&amp;do=log_view_detail&amp;api_log_id={$r['api_log_id']}', 800, 600)" title='{$this->lang->words['a_viewdetails']}'><img src='{$this->settings['skin_acp_url']}/images/folder_components/index/view.png' alt='-' /></a>
</td>
</tr>
EOF;
@@ -138,7 +140,7 @@ EOF;
}
$IPBHTML .= <<<EOF
</table>
<div class='acp-actionbar'>$links</div>
<div class='acp-actionbar'>{$links}</div>
</div>
EOF;
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Applications skin file
* Last Updated: $Date: 2009-09-24 11:58:41 -0400 (Thu, 24 Sep 2009) $
* Last Updated: $Date: 2010-11-17 08:24:42 -0500 (Wed, 17 Nov 2010) $
* </pre>
*
* @author $Author: matt $
* @author $Author: ips_terabyte $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 5150 $
* @version $Revision: 7205 $
*/
class cp_skin_applications extends output
@@ -45,14 +47,14 @@ public function module_form( $form, $title, $formcode, $button, $module, $applic
$IPBHTML = "";
//--starthtml--//
$title = $formcode == module_edit_do ? $this->lang->words['module_form_edit_title'] : $this->lang->words['module_form_add_title'];
$title = $formcode == 'module_edit_do' ? $this->lang->words['module_form_edit_title'] : $this->lang->words['module_form_add_title'];
$IPBHTML .= <<<EOF
<div class='section_title'>
<h2>{$title}</h2>
</div>
<form id='mainform' action='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=$formcode&amp;app_id={$application['app_id']}&amp;sys_module_id={$module['sys_module_id']}' method='POST'>
<form id='mainform' action='{$this->settings['base_url']}{$this->form_code}&amp;do={$formcode}&amp;app_id={$application['app_id']}&amp;sys_module_id={$module['sys_module_id']}' method='POST'>
<div class='acp-box'>
<h3>{$this->lang->words['a_modules']}</h3>
@@ -77,10 +79,6 @@ $IPBHTML .= <<<EOF
<label>{$this->lang->words['a_modver']}<span class='desctext'>{$this->lang->words['a_modver_info']}</span></label>
{$form['sys_module_version']}
</li>
<!--<li>
<label>{$this->lang->words['a_modpar']}<span class='desctext'>{$this->lang->words['a_modpar_info']}</span></label>
{$form['sys_module_parent']}
</li>-->
<li>
<label>{$this->lang->words['a_moden']}<span class='desctext'>{$this->lang->words['a_moden_info']}</span></label>
{$form['sys_module_visible']}
@@ -99,7 +97,7 @@ $IPBHTML .= <<<EOF
</ul>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' value=' $button ' class='button primary' />
<input type='submit' value=' {$button} ' class='button primary' />
</div>
</div>
</div>
@@ -110,27 +108,6 @@ EOF;
return $IPBHTML;
}
/**
* No up/down arrow
*
* @access public
* @param int Module id
* @return string HTML
* @deprecated Don't think this is used any longer
*/
public function module_position_blank($sys_module_id) {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
<img src='{$this->settings['skin_acp_url']}/images/spacer.gif' width='12' height='12' border='0' style='vertical-align:middle' />
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* List the modules
*
@@ -152,8 +129,8 @@ $IPBHTML .= <<<EOF
<h2>{$_type} {$this->lang->words['a_modules']} «{$application['app_title']}»</h2>
<ul class='context_menu'>
<li><a href='{$this->settings['base_url']}&amp;core&amp;module=applications&amp;section=applications&amp;do=module_add&amp;app_id={$this->request['app_id']}&amp;sys_module_admin={$this->request['sys_module_admin']}' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/plugin_add.png' alt='' /> {$this->lang->words['add_new_mod_' . $_add_new_mod]}</a></li>
<li><a href='{$this->settings['base_url']}&amp;core&amp;module=applications&amp;section=applications&amp;do=module_export&amp;app_id={$this->request['app_id']}&amp;sys_module_admin={$this->request['sys_module_admin']}' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/export.png' alt='' /> {$this->lang->words['export_mods_as_xml']}</a></li>
<li><a href='{$this->settings['base_url']}&amp;module=applications&amp;section=applications&amp;do=module_add&amp;app_id={$this->request['app_id']}&amp;sys_module_admin={$this->request['sys_module_admin']}' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/plugin_add.png' alt='' /> {$this->lang->words['add_new_mod_' . $_add_new_mod]}</a></li>
<li><a href='{$this->settings['base_url']}&amp;module=applications&amp;section=applications&amp;do=module_export&amp;app_id={$this->request['app_id']}&amp;sys_module_admin={$this->request['sys_module_admin']}' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/export.png' alt='' /> {$this->lang->words['export_mods_as_xml']}</a></li>
</ul>
</div>
@@ -162,13 +139,13 @@ $IPBHTML .= <<<EOF
<ul id='sortable_handle' class='alternate_rows'>
EOF;
if( count( $modules['root'] ) )
if( count( $modules ) )
{
foreach( $modules['root'] as $module )
foreach( $modules as $module )
{
$IPBHTML .= <<<EOF
<li id='module_{$module['sys_module_id']}' class='isDraggable'>
<table width='100%' border='0' cellpadding='0' cellspacing='0' class='double_pad'>
<table width='100%' class='double_pad'>
<tr>
<td style='width: 3%' style='text-align: center;'>
<div class='draghandle'><img src='{$this->settings['skin_acp_url']}/_newimages/drag_icon.png' alt='drag' /></div>
@@ -177,7 +154,7 @@ if( count( $modules['root'] ) )
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/plugin.png' alt='' />
</td>
<td style='width: 70%'>
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=module_edit&amp;sys_module_id={$module['sys_module_id']}&amp;app_id={$application['app_id']}&amp;sys_module_admin=$sys_module_admin'><strong>{$module['sys_module_title']}</strong></a>
<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=module_edit&amp;sys_module_id={$module['sys_module_id']}&amp;app_id={$application['app_id']}&amp;sys_module_admin=$sys_module_admin'><strong>{$module['sys_module_title']}</strong></a>
EOF;
if( $module['sys_module_description'] )
{
@@ -192,7 +169,7 @@ EOF;
{$module['sys_module_version']}
</td>
<td style='width: 10%'>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$module['_sys_module_visible']}' border='0' />
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$module['_sys_module_visible']}' />
</td>
<td style='width: 3%'>
<img class='ipbmenu' id="menu_{$module['sys_module_id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['a_options']}' />
@@ -201,8 +178,8 @@ EOF;
if ( $module['sys_module_protected'] != 1 OR IN_DEV )
{
$IPBHTML .= <<<EOF
<li class='icon edit'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=module_edit&amp;sys_module_id={$module['sys_module_id']}&amp;app_id={$application['app_id']}&amp;sys_module_admin=$sys_module_admin'>{$this->lang->words['a_editmod']}</a></li>
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=module_remove&amp;sys_module_id={$module['sys_module_id']}&amp;app_id={$application['app_id']}&amp;sys_module_admin=$sys_module_admin");'>{$this->lang->words['a_removemod']}</a></li>
<li class='icon edit'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=module_edit&amp;sys_module_id={$module['sys_module_id']}&amp;app_id={$application['app_id']}&amp;sys_module_admin=$sys_module_admin'>{$this->lang->words['a_editmod']}</a></li>
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}{$this->form_code}&amp;do=module_remove&amp;sys_module_id={$module['sys_module_id']}&amp;app_id={$application['app_id']}&amp;sys_module_admin=$sys_module_admin");'>{$this->lang->words['a_removemod']}</a></li>
EOF;
}
else
@@ -301,7 +278,7 @@ $IPBHTML .= <<<EOF
<h2>{$this->lang->words['a_apps']}</h2>
</div>
<form id='mainform' action='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=$formcode&amp;app_id={$application['app_id']}' method='POST'>
<form id='mainform' action='{$this->settings['base_url']}{$this->form_code}&amp;do={$formcode}&amp;app_id={$application['app_id']}' method='POST'>
<div class='acp-box'>
<h3>$title</h3>
<table class='form_table double_pad alternate_rows' cellspacing='0' cellpadding='0'>
@@ -417,7 +394,7 @@ public function applications_list( $applications, $uninstalled=array() ) {
$IPBHTML = "";
//--starthtml--//
if( !IPSLib::appIsInstalled('blog') OR !IPSLib::appIsInstalled('gallery') OR !IPSLib::appIsInstalled('downloads') OR !$this->settings['ips_cp_purchase'] )
if( !IPSLib::appIsInstalled('nexus', false) OR !IPSLib::appIsInstalled('blog', false) OR !IPSLib::appIsInstalled('gallery', false) OR !IPSLib::appIsInstalled('ccs', false) OR !IPSLib::appIsInstalled('downloads', false) OR !$this->settings['ips_cp_purchase'] )
{
$IPBHTML .= <<<EOF
<div class='section_title'>
@@ -425,42 +402,27 @@ if( !IPSLib::appIsInstalled('blog') OR !IPSLib::appIsInstalled('gallery') OR !IP
</div>
EOF;
if( !IPSLib::appIsInstalled('blog') )
foreach( array('nexus','blog','gallery','ccs','downloads') as $__app )
{
if( !IPSLib::appIsInstalled( $__app, false ) )
{
$_app_name = $__app == 'ccs' ? 'Content' : ucfirst($__app);
$IPBHTML .= <<<EOF
<div class='menulinkwrap'>
<img src='{$this->settings['skin_acp_url']}/images/icon_components/blog/blog.png' border='0' alt='' style='vertical-align:bottom' />
<a href='{$this->settings['base_url']}&amp;core&amp;module=applications&amp;section=blog' style='text-decoration:none'>IP.Blog</a>
</div>
EOF;
}
if( !IPSLib::appIsInstalled('gallery') )
{
$IPBHTML .= <<<EOF
<div class='menulinkwrap'>
<img src='{$this->settings['skin_acp_url']}/images/icon_components/gallery/gallery.png' border='0' alt='' style='vertical-align:bottom' />
<a href='{$this->settings['base_url']}&amp;core&amp;module=applications&amp;section=gallery' style='text-decoration:none'>IP.Gallery</a>
</div>
EOF;
}
if( !IPSLib::appIsInstalled('downloads') )
{
$IPBHTML .= <<<EOF
<div class='menulinkwrap'>
<img src='{$this->settings['skin_acp_url']}/images/icon_components/downloads/downloads.png' border='0' alt='' style='vertical-align:bottom' />
<a href='{$this->settings['base_url']}&amp;core&amp;module=applications&amp;section=downloads' style='text-decoration:none'>IP.Downloads</a>
<img src='{$this->settings['skin_acp_url']}/images/icon_components/{$__app}/{$__app}.png' alt='' style='vertical-align:bottom' />
<a href='{$this->settings['base_url']}&amp;module=applications&amp;section={$__app}' style='text-decoration:none'>IP.{$_app_name}</a>
</div>
EOF;
}
}
if( !$this->settings['ips_cp_purchase'] )
{
$IPBHTML .= <<<EOF
<div class='menulinkwrap'>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/package.png' border='0' alt='' style='vertical-align:bottom' />
<a href='{$this->settings['base_url']}&amp;core&amp;module=applications&amp;section=copyright' style='text-decoration:none'>Удаление копирайта</a>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/package.png' alt='' style='vertical-align:bottom' />
<a href='{$this->settings['base_url']}&amp;module=applications&amp;section=copyright' style='text-decoration:none'>Удаление копирайта</a>
</div>
EOF;
}
@@ -470,16 +432,16 @@ $IPBHTML .= <<<EOF
<div class='section_title'>
<h2>{$this->lang->words['a_apps']}</h2>
<ul class='context_menu'>
<li><a href='{$this->settings['base_url']}&amp;core&amp;module=applications&amp;section=applications&amp;do=application_add'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/application_add.png' /> {$this->lang->words['a_addnewapp']}</a></li>
<li><a href='{$this->settings['base_url']}&amp;core&amp;module=applications&amp;section=applications&amp;do=module_recache_all'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/arrow_refresh.png' /> {$this->lang->words['recache_link']}</a></li>
<li><a href='{$this->settings['base_url']}&amp;core&amp;module=applications&amp;section=applications&amp;do=seoRebuild' title='{$this->lang->words['rebuild_furl_title']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/arrow_refresh.png' /> {$this->lang->words['rebuild_furl_link']}</a></li>
<li><a href='{$this->settings['base_url']}&amp;core&amp;module=applications&amp;section=applications&amp;do=application_export'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/page_white_code.png' /> {$this->lang->words['export_xml']}</a></li>
<li><a href='{$this->settings['base_url']}&amp;module=applications&amp;section=applications&amp;do=application_add'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/application_add.png' /> {$this->lang->words['a_addnewapp']}</a></li>
<li><a href='{$this->settings['base_url']}&amp;module=applications&amp;section=applications&amp;do=module_recache_all'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/arrow_refresh.png' /> {$this->lang->words['recache_link']}</a></li>
<li><a href='{$this->settings['base_url']}&amp;module=applications&amp;section=applications&amp;do=seoRebuild' title='{$this->lang->words['rebuild_furl_title']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/arrow_refresh.png' /> {$this->lang->words['rebuild_furl_link']}</a></li>
<li><a href='{$this->settings['base_url']}&amp;module=applications&amp;section=applications&amp;do=application_export'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/page_white_code.png' /> {$this->lang->words['export_xml']}</a></li>
EOF;
if( $this->settings['search_method'] == 'sphinx' )
{
$IPBHTML .= <<<EOF
<li><a href='{$this->settings['base_url']}&amp;core&amp;module=applications&amp;section=applications&amp;do=build_sphinx'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/cog.png' /> {$this->lang->words['build_sphinx_link']}</a></li>
<li><a href='{$this->settings['base_url']}&amp;module=applications&amp;section=applications&amp;do=build_sphinx'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/cog.png' /> {$this->lang->words['build_sphinx_link']}</a></li>
EOF;
}
@@ -490,7 +452,7 @@ $IPBHTML .= <<<EOF
<div class='acp-box'>
<h3>{$this->lang->words['a_installedapps']}</h3>
<div>
<table width='100%' border='0' cellspacing='0' cellpadding='0'>
<table width='100%'>
<tr>
<td class='tablesubheader' style='width: 2%'>&nbsp;</td>
<td class='tablesubheader' style='width: 2%'>&nbsp;</td>
@@ -541,7 +503,7 @@ EOF;
$IPBHTML .= <<<EOF
<li class='isDraggable' style='width:100%;' id='app_{$app['app_id']}'>
<table width='100%' cellpadding='0' cellspacing='0' class='double_pad'>
<table width='100%' 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>
@@ -550,7 +512,7 @@ $IPBHTML .= <<<EOF
<img src='{$img}' />
</td>
<td style='width: 38%'>
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=modules_overview&amp;app_id={$app['app_id']}&amp;sys_module_admin=1'><strong>{$app['titlePrefix']}{$app['app_title']}</strong></a>
<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=modules_overview&amp;app_id={$app['app_id']}&amp;sys_module_admin=1'><strong>{$app['titlePrefix']}{$app['app_title']}</strong></a>
</td>
<td style='width: 20%; text-align: center;'>
EOF;
@@ -570,7 +532,7 @@ $IPBHTML .= <<<EOF
{$app['_human_current']}
</td>
<td style='width: 5%; text-align: center;'>
<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=toggle_app&amp;app_id={$app['app_id']}' title='{$this->lang->words['toggle_app_enabled']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$app['_app_enabled']}' class='ipd' /></a>
<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=toggle_app&amp;app_id={$app['app_id']}' title='{$this->lang->words['toggle_app_enabled']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$app['_app_enabled']}' alt='-' /></a>
</td>
<td style='width: 5%; text-align: center;'>
<img class='ipbmenu' id="menu_{$app['app_id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['a_options']}' />
@@ -579,14 +541,14 @@ EOF;
if ( $app['app_protected'] != 1 OR IN_DEV )
{
$IPBHTML .= <<<EOF
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=application_remove_splash&amp;app_id={$app['app_id']}");'>{$this->lang->words['a_removeapp']}</a></li>
<li class='icon edit'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=application_edit&amp;app_id={$app['app_id']}'>{$this->lang->words['a_editapp']}</a></li>
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}{$this->form_code}&amp;do=application_remove_splash&amp;app_id={$app['app_id']}");'>{$this->lang->words['a_removeapp']}</a></li>
<li class='icon edit'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=application_edit&amp;app_id={$app['app_id']}'>{$this->lang->words['a_editapp']}</a></li>
EOF;
}
$IPBHTML .= <<<EOF
<li class='icon view'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=modules_overview&amp;app_id={$app['app_id']}&amp;sys_module_admin=1'>{$this->lang->words['a_manageadmin']}</a></li>
<li class='icon view'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=modules_overview&amp;app_id={$app['app_id']}&amp;sys_module_admin=0'>{$this->lang->words['a_managepublic']}</a></li>
<li class='icon view'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=modules_overview&amp;app_id={$app['app_id']}&amp;sys_module_admin=1'>{$this->lang->words['a_manageadmin']}</a></li>
<li class='icon view'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=modules_overview&amp;app_id={$app['app_id']}&amp;sys_module_admin=0'>{$this->lang->words['a_managepublic']}</a></li>
</ul>
</td>
</tr>
@@ -621,7 +583,7 @@ EOF;
}
$IPBHTML .= <<<EOF
<div align='center' class='tablefooter'>&nbsp;</div>
<div class='tablefooter'>&nbsp;</div>
</div>
EOF;
@@ -631,7 +593,7 @@ $IPBHTML .= <<<EOF
<br />
<div class='acp-box'>
<h3>{$this->lang->words['a_unapps']}</h3>
<table cellpadding='0' cellspacing='0' border='0' width='100%'>
<table width='100%'>
<tr>
<td width='1%' class='tablesubheader'>&nbsp;</td>
<td width='44%' class='tablesubheader'>{$this->lang->words['a_app']}</td>
@@ -689,19 +651,19 @@ $IPBHTML .= <<<EOF
</div>
EOF;
}
if ( IN_DEV )
{
$IPBHTML .= <<<EOF
<ul>
<li><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=inDevExportAll'>In Dev: Экспорт XML всех приложений</a></li>
<li><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=inDevRebuildAll'>In Dev: Импорт XML всех приложений
</a></li>
<li><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=inDevRebuildAll'>In Dev: Импорт XML всех приложений</a></li>
</ul>
EOF;
}
}
//--endhtml--//
return $IPBHTML;
}
@@ -748,7 +710,7 @@ return <<<EOF
<div class='acp-actionbar'>
<div class='rightaction'>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/tick.png' border='0' alt='{$this->lang->words['a_continue']}' title='{$this->lang->words['a_continue']}' class='ipd-alt' />
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/tick.png' alt='{$this->lang->words['a_continue']}' title='{$this->lang->words['a_continue']}' />
<strong><a href='{$this->settings['base_url']}{$this->form_code}&do=application_remove&app_id={$data['app_id']}'>{$this->lang->words['a_clickremove']}</a></strong>
</div>
</div>
@@ -770,6 +732,7 @@ $HTML = "";
$leSigh = ( $this->request['checkUpdates'] ) ? ' class="closed"' : '';
$leBigh = ( $this->request['checkUpdates'] ) ? 0 : 1;
$cache = $this->cache->getCache( 'disabledHooksCache' );
$HTML .= <<<EOF
<div class='section_title'>
@@ -781,21 +744,52 @@ EOF;
if ( IN_DEV )
{
$HTML .= <<<EOF
<li><a href='{$this->settings['base_url']}&amp;core&amp;module=applications&amp;section=hooks&amp;do=removeDeadCaches' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/delete.png' alt='' /> Удалить старые кеши</a></li>
<li><a href='{$this->settings['base_url']}&amp;module=applications&amp;section=hooks&amp;do=removeDeadCaches' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/delete.png' alt='' /> {$this->lang->words['remove_dead_caches']}</a></li>
EOF;
}
$HTML .= <<<EOF
<li><a href='{$this->settings['base_url']}&amp;core&amp;module=applications&amp;section=hooks&amp;do=create_hook' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/add.png' alt='' /> {$this->lang->words['create_hook_link']}</a></li>
<li><a href='{$this->settings['base_url']}&amp;core&amp;module=applications&amp;section=hooks&amp;do=reimport_apps' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/cog.png' alt='' /> {$this->lang->words['rebuild_app_hooks']}</a></li>
<li><a href='{$this->settings['base_url']}&amp;module=applications&amp;section=hooks&amp;do=create_hook' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/add.png' alt='' /> {$this->lang->words['create_hook_link']}</a></li>
<li><a href='{$this->settings['base_url']}&amp;module=applications&amp;section=hooks&amp;do=reimport_apps' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/cog.png' alt='' /> {$this->lang->words['rebuild_app_hooks']}</a></li>
<li{$leSigh}><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=hooks_overview&amp;checkUpdates={$leBigh}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/cog.png' /> {$this->lang->words['hook_check_updates']}</a></li>
EOF;
if( is_array( $cache ) && count( $cache ) )
{
$HTML .= <<<EOF
<li><a href='{$this->settings['base_url']}&amp;module=applications&amp;section=hooks&amp;do=reenable_all_hooks' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/cog.png' alt='' /> {$this->lang->words['hook_reenable_all']}</a></li>
EOF;
}
else
{
$HTML .= <<<EOF
<li><a href='{$this->settings['base_url']}&amp;module=applications&amp;section=hooks&amp;do=disable_all_hooks' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/cog.png' alt='' /> {$this->lang->words['hook_disable_all']}</a></li>
EOF;
}
$HTML .= <<<EOF
</ul>
</div>
<ul id='tabstrip_hookOverview' class='tab_bar no_title'>
<li id='tabtab-HookInstalled'>{$this->lang->words['a_installedhooks']}</li>
<li id='tabtab-HookDisabled'>{$this->lang->words['a_disabledhook']}</li>
</ul>
<script type="text/javascript">
//<![CDATA[
document.observe("dom:loaded",function()
{
ipbAcpTabStrips.register('tabstrip_hookOverview');
ipbAcpTabStrips.doToggle($('tabtab-HookInstalled'));
});
//]]>
</script>
<div class='acp-box'>
<h3>{$this->lang->words['a_installedhooks']}</h3>
<div id='tabpane-HookInstalled'>
<div>
<table width='100%' border='0' cellspacing='0' cellpadding='0' class='double_pad'>
<table width='100%' class='double_pad'>
<tr>
<td class='tablesubheader' style='width: 2%'>&nbsp;</td>
<td class='tablesubheader' style='width: 25%'>{$this->lang->words['a_hook']}</td>
@@ -827,7 +821,7 @@ EOF;
if( IN_DEV )
{
$HTML .= <<<EOF
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=edit_hook&amp;id={$r['hook_id']}'>
<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=edit_hook&amp;id={$r['hook_id']}'>
<strong>{$r['hook_name']}</strong>
</a>
EOF;
@@ -861,21 +855,21 @@ EOF;
<td style='width: 5%'>
<img class='ipbmenu' id="menu_{$r['hook_id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['a_options']}' />
<ul class='acp-menu' id='menu_{$r['hook_id']}_menucontent'>
<li class='icon view'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=view_details&id={$r['hook_id']}'>{$this->lang->words['a_viewhook']}</a></li>
<li class='icon delete'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=disable_hook&id={$r['hook_id']}'>{$this->lang->words['a_disablehook']}</a></li>
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=uninstall_hook&id={$r['hook_id']}");'>{$this->lang->words['a_uninstallhook']}</a></li>
<li class='icon view'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=view_details&amp;id={$r['hook_id']}'>{$this->lang->words['a_viewhook']}</a></li>
<li class='icon delete'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=disable_hook&amp;id={$r['hook_id']}'>{$this->lang->words['a_disablehook']}</a></li>
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}{$this->form_code}&amp;do=uninstall_hook&amp;id={$r['hook_id']}");'>{$this->lang->words['a_uninstallhook']}</a></li>
<li class='icon edit'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=edit_hook&amp;id={$r['hook_id']}'>{$this->lang->words['a_edithook']}</a></li>
EOF;
if( IN_DEV )
{
$HTML .= <<<EOF
<li class='icon edit'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=edit_hook&id={$r['hook_id']}'>{$this->lang->words['a_edithook']}</a></li>
<li class='icon export'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=export_hook&id={$r['hook_id']}'>{$this->lang->words['a_exporthook']}</a></li>
<li class='icon export'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=export_hook&amp;id={$r['hook_id']}'>{$this->lang->words['a_exporthook']}</a></li>
EOF;
}
$HTML .= <<<EOF
<li class='icon manage'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=check_requirements&id={$r['hook_id']}'>{$this->lang->words['a_checkhook']}</a></li>
<li class='icon manage'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=check_requirements&amp;id={$r['hook_id']}'>{$this->lang->words['a_checkhook']}</a></li>
</ul>
</td>
</tr>
@@ -893,16 +887,9 @@ EOF;
$HTML .= <<<EOF
</ul>
</div>
<br />
<div class='section_title'>
<ul class='context_menu'>
<li{$leSigh}>
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=hooks_overview&amp;checkUpdates={$leBigh}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/cog.png' /> {$this->lang->words['hook_check_updates']}</a>
</li>
</ul>
</div>
<br />
</div></div>
<script type="text/javascript">
dropItLikeItsHot = function( draggableObject, mouseObject )
{
@@ -921,14 +908,14 @@ Sortable.create( 'sortable_handle', { only: 'isDraggable', revert: true, format:
</script>
<div class="acp-box" style='clear:both;'>
<h3>{$this->lang->words['a_disabledhook']}</h3>
<div id='tabpane-HookDisabled'>
<table class='alternate_rows' width="100%">
<tr>
<th width="50%">{$this->lang->words['a_hook']}</th>
<th align="center" width="15%">{$this->lang->words['a_author']}</th>
<th align="center" width="10%">{$this->lang->words['a_uptodate']}</th>
<th align="center" width="10%">{$this->lang->words['a_version']}</th>
<th align="left" width="10%">&nbsp;</th>
<th width="20%" style='text-align: center;'>{$this->lang->words['a_author']}</th>
<th width="10%" style='text-align: center;'>{$this->lang->words['a_uptodate']}</th>
<th width="10%" style='text-align: center;'>{$this->lang->words['a_version']}</th>
<th width="10%">&nbsp;</th>
</tr>
EOF;
@@ -942,26 +929,26 @@ if( count( $uninstalledHooks ) )
<strong>{$r['hook_name']}</strong>
<div class='desctext'>{$r['hook_desc']}</div>
</td>
<td align="center" width="15%">{$r['hook_author']}</td>
<td align="center" width="20%">{$r['hook_author']}</td>
<td align="center" width="10%">{$r['hook_update_available']}</td>
<td align="center" width="15%">{$r['hook_version_human']}</td>
<td align="center" width="10%">
<img class='ipbmenu' id="menu_{$r['hook_id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['a_options']}' />
<ul class='acp-menu' id='menu_{$r['hook_id']}_menucontent'>
<li class='icon add'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=enable_hook&id={$r['hook_id']}'>{$this->lang->words['a_enablehook']}</a></li>
<li class='icon view'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=view_details&id={$r['hook_id']}'>{$this->lang->words['a_viewhook']}</a></li>
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=uninstall_hook&id={$r['hook_id']}");'>{$this->lang->words['a_uninstallhook']}</a></li>
<li class='icon add'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=enable_hook&amp;id={$r['hook_id']}'>{$this->lang->words['a_enablehook']}</a></li>
<li class='icon view'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=view_details&amp;id={$r['hook_id']}'>{$this->lang->words['a_viewhook']}</a></li>
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}{$this->form_code}&amp;do=uninstall_hook&amp;id={$r['hook_id']}");'>{$this->lang->words['a_uninstallhook']}</a></li>
EOF;
if( IN_DEV )
{
$HTML .= <<<EOF
<li class='icon export'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=export_hook&id={$r['hook_id']}'>{$this->lang->words['a_exporthook']}</a></li>
<li class='icon export'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=export_hook&amp;id={$r['hook_id']}'>{$this->lang->words['a_exporthook']}</a></li>
EOF;
}
$HTML .= <<<EOF
<li class='icon manage'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=check_requirements&id={$r['hook_id']}'>{$this->lang->words['a_checkhook']}</a></li>
<li class='icon manage'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=check_requirements&amp;id={$r['hook_id']}'>{$this->lang->words['a_checkhook']}</a></li>
</ul>
</td>
</tr>
@@ -979,9 +966,9 @@ EOF;
$HTML .= <<<EOF
</table>
</div>
</div></div>
<br />
<form action='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=install_hook' method='post' enctype='multipart/form-data'>
<form action='{$this->settings['base_url']}{$this->form_code}&amp;do=install_hook' method='post' enctype='multipart/form-data'>
<div class="acp-box">
<h3>{$this->lang->words['a_installhook']}</h3>
@@ -1021,6 +1008,22 @@ $HTML .= <<<EOF
<h2>{$this->lang->words['a_setuphook']}</h2>
</div>
<ul id='tabstrip_hookform' class='tab_bar no_title'>
<li id='tabtab-HookInfo'>{$this->lang->words['hook_form_info']}</li>
<li id='tabtab-HookReq'>{$this->lang->words['a_hookrequirements']}</li>
<li id='tabtab-HookFiles'>{$this->lang->words['a_hookfiles']}</li>
</ul>
<script type="text/javascript">
//<![CDATA[
document.observe("dom:loaded",function()
{
ipbAcpTabStrips.register('tabstrip_hookform');
ipbAcpTabStrips.doToggle($('tabtab-HookInfo'));
});
//]]>
</script>
<script type='text/javascript' src='{$this->settings['js_app_url']}ipb3Hooks.js'></script>
<form name='theForm' method='post' action='{$this->settings['base_url']}{$this->form_code}' id='mainform'>
<input type='hidden' name='do' value='{$action}' />
@@ -1028,76 +1031,69 @@ $HTML .= <<<EOF
<input type='hidden' name='secure_key' value='{$this->member->form_hash}' />
<div class='acp-box'>
<h3>{$this->lang->words['hook_form_info']}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['hook_form_title']}<span class='desctext'>{$this->lang->words['hook_form_title_help']}</span></label>
<input type='text' name='hook_name' value='{$hookData['hook_name']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['hook_form_desc']}<span class='desctext'>{$this->lang->words['hook_form_desc_help']}</span></label>
<input type='text' name='hook_desc' value='{$hookData['hook_desc']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['hook_form_key']}<span class='desctext'>{$this->lang->words['hook_form_key_desc']}</span></label>
<input type='text' name='hook_key' value='{$hookData['hook_key']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['hook_form_version']}<span class='desctext'>{$this->lang->words['hook_form_version_help']}</span></label>
<input type='text' name='hook_version_human' value='{$hookData['hook_version_human']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['a_hookversion']}<span class='desctext'>{$this->lang->words['a_hookversion_info']}</span></label>
<input type='text' name='hook_version_long' value='{$hookData['hook_version_long']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['a_hookauthor']}<span class='desctext'>{$this->lang->words['a_hookauthor_info']}</span></label>
<input type='text' name='hook_author' value='{$hookData['hook_author']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['a_hookemail']}<span class='desctext'>{$this->lang->words['a_hookemail_info']}</span></label>
<input type='text' name='hook_email' value='{$hookData['hook_email']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['a_hooksite']}<span class='desctext'>{$this->lang->words['a_hooksite_info']}</span></label>
<input type='text' name='hook_website' value='{$hookData['hook_website']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['a_hookurl']}<span class='desctext'>{$this->lang->words['a_hookurl_info']}</span></label>
<input type='text' name='hook_update_check' value='{$hookData['hook_update_check']}' size='50' class='inputtext' />
</li>
</ul>
</div>
<br />
<div class='acp-box'>
<h3>{$this->lang->words['a_hookrequirements']}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['a_boardversion']}<span class='desctext'>{$this->lang->words['a_enterzero']} {$this->lang->words['a_longversionid']}</span></label>
{$this->lang->words['a_min']}: <input type='text' name='hook_ipb_version_min' value='{$hookData['hook_requirements']['hook_ipb_version_min']}' size='50' class='inputtext' /><br />
{$this->lang->words['a_max']}: <input type='text' name='hook_ipb_version_max' value='{$hookData['hook_requirements']['hook_ipb_version_max']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['a_phpver']}<span class='desctext'>{$this->lang->words['a_enterzero']} {$this->lang->words['a_phpminmax']}</span></label>
{$this->lang->words['a_min']}: <input type='text' name='hook_php_version_min' value='{$hookData['hook_requirements']['hook_php_version_min']}' size='50' class='inputtext' /><br />
{$this->lang->words['a_max']}: <input type='text' name='hook_php_version_max' value='{$hookData['hook_requirements']['hook_php_version_max']}' size='50' class='inputtext' />
</li>
</ul>
</div>
<br />
<div class='acp-box'>
<h3>{$this->lang->words['a_hookfiles']}</h3>
<div id='tabpane-HookInfo'>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['hook_form_title']}<span class='desctext'>{$this->lang->words['hook_form_title_help']}</span></label>
<input type='text' name='hook_name' value='{$hookData['hook_name']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['hook_form_desc']}<span class='desctext'>{$this->lang->words['hook_form_desc_help']}</span></label>
<input type='text' name='hook_desc' value='{$hookData['hook_desc']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['hook_form_key']}<span class='desctext'>{$this->lang->words['hook_form_key_desc']}</span></label>
<input type='text' name='hook_key' value='{$hookData['hook_key']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['hook_form_version']}<span class='desctext'>{$this->lang->words['hook_form_version_help']}</span></label>
<input type='text' name='hook_version_human' value='{$hookData['hook_version_human']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['a_hookversion']}<span class='desctext'>{$this->lang->words['a_hookversion_info']}</span></label>
<input type='text' name='hook_version_long' value='{$hookData['hook_version_long']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['a_hookauthor']}<span class='desctext'>{$this->lang->words['a_hookauthor_info']}</span></label>
<input type='text' name='hook_author' value='{$hookData['hook_author']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['a_hookemail']}<span class='desctext'>{$this->lang->words['a_hookemail_info']}</span></label>
<input type='text' name='hook_email' value='{$hookData['hook_email']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['a_hooksite']}<span class='desctext'>{$this->lang->words['a_hooksite_info']}</span></label>
<input type='text' name='hook_website' value='{$hookData['hook_website']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['a_hookurl']}<span class='desctext'>{$this->lang->words['a_hookurl_info']}</span></label>
<input type='text' name='hook_update_check' value='{$hookData['hook_update_check']}' size='50' class='inputtext' />
</li>
</ul>
</div>
<div id='tabpane-HookReq'>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['a_boardversion']}<span class='desctext'>{$this->lang->words['a_enterzero']} {$this->lang->words['a_longversionid']}</span></label>
{$this->lang->words['a_min']}: <input type='text' name='hook_ipb_version_min' value='{$hookData['hook_requirements']['hook_ipb_version_min']}' size='50' class='inputtext' /><br />
{$this->lang->words['a_max']}: <input type='text' name='hook_ipb_version_max' value='{$hookData['hook_requirements']['hook_ipb_version_max']}' size='50' class='inputtext' />
</li>
<li>
<label>{$this->lang->words['a_phpver']}<span class='desctext'>{$this->lang->words['a_enterzero']} {$this->lang->words['a_phpminmax']}</span></label>
{$this->lang->words['a_min']}: <input type='text' name='hook_php_version_min' value='{$hookData['hook_requirements']['hook_php_version_min']}' size='50' class='inputtext' /><br />
{$this->lang->words['a_max']}: <input type='text' name='hook_php_version_max' value='{$hookData['hook_requirements']['hook_php_version_max']}' size='50' class='inputtext' />
</li>
</ul>
</div>
<div id='tabpane-HookFiles'>
<div id='fileTableContainer'>
EOF;
@@ -1110,11 +1106,19 @@ EOF;
$hook_type_command = $file['hook_type'] == 'commandHooks' ? " selected='selected'" : '';
$hook_type_skin = $file['hook_type'] == 'skinHooks' ? " selected='selected'" : '';
$hook_type_template = $file['hook_type'] == 'templateHooks' ? " selected='selected'" : '';
$hook_type_data = $file['hook_type'] == 'dataHooks' ? " selected='selected'" : '';
$hook_type_library = $file['hook_type'] == 'libraryHooks' ? " selected='selected'" : '';
$latestIndex = $index > $latestIndex ? $index : $latestIndex;
$HTML .= <<<EOF
<div class='tablesubheader'>{$this->lang->words['a_hookfile']} #{$index}</div>
<ul class='acp-form alternate_rows' id='fileTable_{$index}'>
EOF;
if( IN_DEV )
{
$HTML .= <<<EOF
<li>
<label>{$this->lang->words['a_filenamedir']}</label>
<input type='text' name='file[{$index}]' value='{$file['hook_file_real']}' size='50' class='inputtext' />
@@ -1124,18 +1128,60 @@ EOF;
<label>{$this->lang->words['a_fileclassname']}</label>
<input type='text' name='hook_classname[{$index}]' value='{$file['hook_classname']}' size='50' class='inputtext' />
</li>
EOF;
}
else
{
$HTML .= <<<EOF
<input type='hidden' name='file[{$index}]' value='{$file['hook_file_real']}' />
<input type='hidden' name='hook_classname[{$index}]' value='{$file['hook_classname']}' />
EOF;
}
$HTML .= <<<EOF
<li>
<label>{$this->lang->words['a_filehooktype']}</label>
<select name='hook_type[{$index}]' id='hook_type[{$index}]' onchange='selectHookType({$index});'>
<option value='0'>{$this->lang->words['a_selectone']}</option>
<option value='commandHooks'{$hook_type_command}>{$this->lang->words['a_aoverloader']}</option>
<option value='skinHooks'{$hook_type_skin}>{$this->lang->words['a_soverloader']}</option>
<option value='templateHooks'{$hook_type_template}>Модификация шаблона</option>
<option value='templateHooks'{$hook_type_template}>{$this->lang->words['a_templatehook']}</option>
<option value='dataHooks'{$hook_type_data}>{$this->lang->words['a_datahook']}</option>
<option value='libraryHooks'{$hook_type_library}>{$this->lang->words['a_libraryhook']}</option>
</select>
</li>
EOF;
if( $file['hook_type'] != 'templateHooks' )
if( $file['hook_type'] == 'dataHooks' )
{
$HTML .= <<<EOF
<li id='tr_classToOverload[{$index}]'>
<label>{$this->lang->words['a_datalocation']}</label>
{$file['_dataLocationDropdown']}
</li>
EOF;
}
else if( $file['hook_type'] == 'libraryHooks' )
{
$apps = array();
foreach( ipsRegistry::$applications as $dir => $appdata )
{
$apps[] = array( $dir, $appdata['app_title'] );
}
$_applications = $this->registry->output->formDropdown( "libApplication[{$index}]", $apps, $file['hook_data']['libApplication'] );
$HTML .= <<<EOF
<li id='tr_classToOverload[{$index}]'>
<label>{$this->lang->words['a_classextend']}</label>
<input type='text' name='classToOverload[{$index}]' value='{$file['hook_data']['classToOverload']}' size='50' class='inputtext' />
</li>
<li id='tr_hookApplication[{$index}]'>
<label>{$this->lang->words['a_hookapp']}</label>
{$_applications}
</li>
EOF;
}
else if( $file['hook_type'] != 'templateHooks' )
{
$HTML .= <<<EOF
<li id='tr_classToOverload[{$index}]'>
@@ -1181,16 +1227,16 @@ EOF;
}
$HTML .= <<<EOF
</div>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='button' value=' {$this->lang->words['a_addanother']} ' onclick='addAnotherFile()' class='button primary' />
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='button' value=' {$this->lang->words['a_addanother']} ' onclick='addAnotherFile()' class='button primary' />
</div>
</div>
</div>
<script type='text/javascript'>
elementIndex = {$latestIndex};
</script>
<br />
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' value='{$this->lang->words['hook_form_button']}' class='button primary' />
@@ -1574,10 +1620,11 @@ $hookData['hook_extra_data']['display']['custom'] = $hookData['hook_extra_data'
$hookData['hook_extra_data']['display']['language'] = $hookData['hook_extra_data']['display']['language'] ? $hookData['hook_extra_data']['display']['language'] : $this->lang->words['a_nolang'];
$hookData['hook_extra_data']['display']['templates'] = $hookData['hook_extra_data']['display']['templates'] ? $hookData['hook_extra_data']['display']['templates'] : $this->lang->words['a_noskin'];
$hookData['hook_extra_data']['display']['css'] = $hookData['hook_extra_data']['display']['css'] ? $hookData['hook_extra_data']['display']['css'] : $this->lang->words['a_nocss'];
$HTML .= <<<EOF
<h2>Экспорт {$hookData['hook_name']}</h2>
<h2>{$this->lang->words['hook_h2_exporting']} {$hookData['hook_name']}</h2>
<script type='text/javascript' src='{$this->settings['js_main_url']}acp.inlineforms.js'></script>
<script type='text/javascript' src='{$this->settings['js_main_url']}acp.hooks.js'></script>
@@ -1680,6 +1727,24 @@ $HTML .= <<<EOF
</script>
</div>
<br />
<div class='acp-box'>
<h3>{$this->lang->words['a_exportcss']}</h3>
<table class='alternate_rows' width='100%'>
<tr><th>{$this->lang->words['a_css_info']}</th></tr>
<tr>
<td valign='top'>
<p id='MF__css'>{$hookData['hook_extra_data']['display']['css']}</p>
<div id='MF__css_popup' class='form_help' style='width:auto;text-align:center;cursor:pointer'>{$this->lang->words['a_addcss']}</div>
</td>
</tr>
</table>
<script type='text/javascript'>
$('MF__css_popup').observe('click', acp.hooks.exportHook.bindAsEventListener( this, 'MF__css', "{$this->lang->words['a_addcss']}", "app=core&amp;module=ajax&amp;section=hooks&amp;do=show&amp;name=css&amp;id={$hookData['hook_id']}" ) );
</script>
</div>
<br />
<div class='acp-box'>
<h3>{$this->lang->words['a_exporttasks']}</h3>
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Badwords skin file
* Last Updated: $Date: 2009-05-26 18:02:08 -0400 (Tue, 26 May 2009) $
* Last Updated: $Date: 2010-01-15 10:18:44 -0500 (Fri, 15 Jan 2010) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 4690 $
* @version $Revision: 5713 $
*/
class cp_skin_badwords extends output
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* BBcode skin file
* Last Updated: $Date: 2009-07-09 22:20:10 -0400 (Thu, 09 Jul 2009) $
* Last Updated: $Date: 2010-07-13 19:56:23 -0400 (Tue, 13 Jul 2010) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 4864 $
* @version $Revision: 6644 $
*/
class cp_skin_bbcode extends output
@@ -225,6 +227,7 @@ $form['bbcode_php_plugin'] = $this->registry->output->formInput( 'bbcode_php_p
$form['bbcode_no_parsing'] = $this->registry->output->formYesNo( 'bbcode_no_parsing', $this->request['bbcode_no_parsing'] ? $this->request['bbcode_no_parsing'] : $bbcode['bbcode_no_parsing'] );
$form['bbcode_protected'] = $this->registry->output->formYesNo( 'bbcode_protected', $this->request['bbcode_protected'] ? $this->request['bbcode_protected'] : $bbcode['bbcode_protected'] );
$form['bbcode_strip_search'] = $this->registry->output->formYesNo( 'bbcode_strip_search', $this->request['bbcode_strip_search'] ? $this->request['bbcode_strip_search'] : $bbcode['bbcode_strip_search'] );
$form['bbcode_custom_regex'] = $this->registry->output->formTextarea( 'bbcode_custom_regex', htmlspecialchars($_POST['bbcode_custom_regex'] ? $_POST['bbcode_custom_regex'] : $bbcode['bbcode_custom_regex']) );
$apps = array();
@@ -305,6 +308,10 @@ $IPBHTML .= <<<EOF
<label>{$this->lang->words['bbcode_useoption']}<span class='desctext'>{$this->lang->words['bbcode_useoption_info']}</span></label>
{$form['bbcode_useoption']}
</li>
<li>
<label>{$this->lang->words['bbcode_customregex']}<span class='desctext'>{$this->lang->words['bbcode_customregex_info']}</span></label>
{$form['bbcode_custom_regex']}
</li>
<li>
<label>{$this->lang->words['bbcode_optional']}<span class='desctext'>{$this->lang->words['bbcode_optional_info']}</span></label>
{$form['bbcode_optional_option']}
@@ -472,12 +479,16 @@ $IPBHTML .= <<<EOF
<div class="acp-box">
<h3>{$this->lang->words['media_current']}</h3>
<table class="alternate_rows" width='100%'>
<table width='100%'>
<tr>
<th width='95%'>{$this->lang->words['media_name']}</th>
<th width='5%'>{$this->lang->words['bbcode_options']}</th>
</tr>
{$content}
<td colspan='2'>
<ul id='sortable_handle' class='alternate_rows'>
{$content}
</ul>
</td>
</table>
</div>
<br />
@@ -496,6 +507,24 @@ $IPBHTML .= <<<EOF
</div>
</div>
</form>
<script type="text/javascript">
window.onload = function() {
Sortable.create( 'sortable_handle', { revert: true, format: 'media_([0-9]+)', onUpdate: dropItLikeItsHot, handle: 'draghandle' } );
};
dropItLikeItsHot = function( draggableObject, mouseObject )
{
var options = {
method : 'post',
parameters : Sortable.serialize( 'sortable_handle', { tag: 'li', name: 'media' } )
};
new Ajax.Request( "{$this->settings['base_url']}&{$this->form_code_js}&do=reorder&md5check={$this->registry->adminFunctions->getSecurityKey()}".replace( /&amp;/g, '&' ), options );
return false;
};
</script>
EOF;
//--endhtml--//
@@ -515,18 +544,24 @@ $IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
<tr>
<td>{$row['mediatag_name']}</td>
<td align='right'>
<img class="ipbmenu" id="menu{$row['mediatag_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{$row['mediatag_id']}_menucontent'>
<li style="z-index: 10000;" class='icon edit'><a style="z-index: 10000;" href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=form_edit&id={$row['mediatag_id']}'>{$this->lang->words['media_edit']}</a></li>
<li style="z-index: 10000;" class='icon export'><a style="z-index: 10000;" href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=mediatag_export&id={$row['mediatag_id']}'>{$this->lang->words['media_export']}</a></li>
<li style="z-index: 10000;" class='icon delete'><a style="z-index: 10000;" href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=do_del&amp;id={$row['mediatag_id']}")'>{$this->lang->words['media_delete']}</a></li>
</ul>
</a>
</td>
</tr>
<li id='media_{$row['mediatag_id']}'>
<table width='100%' class='hierarchy double_pad'>
<tr>
<td style='width: 2%; text-align: center'>
<div class='draghandle'><img src='{$this->settings['skin_acp_url']}/_newimages/drag_icon.png' alt='' /></div>
</td>
<td style='width: 93%;'>{$row['mediatag_name']}</td>
<td align='right'>
<img class="ipbmenu" id="menu{$row['mediatag_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{$row['mediatag_id']}_menucontent'>
<li style="z-index: 10000;" class='icon edit'><a style="z-index: 10000;" href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=form_edit&id={$row['mediatag_id']}'>{$this->lang->words['media_edit']}</a></li>
<li style="z-index: 10000;" class='icon export'><a style="z-index: 10000;" href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=mediatag_export&id={$row['mediatag_id']}'>{$this->lang->words['media_export']}</a></li>
<li style="z-index: 10000;" class='icon delete'><a style="z-index: 10000;" href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=do_del&amp;id={$row['mediatag_id']}")'>{$this->lang->words['media_delete']}</a></li>
</ul>
</td>
</tr>
</table>
</li>
EOF;
//--endhtml--//
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Diagnostics skin file
* Last Updated: $Date: 2009-10-01 10:02:08 -0400 (Thu, 01 Oct 2009) $
* Last Updated: $Date: 2010-09-13 17:28:12 -0400 (Mon, 13 Sep 2010) $
* </pre>
*
* @author $Author: bfarber $
* @author $Author: terabyte $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 5190 $
* @version $Revision: 6863 $
*/
class cp_skin_diagnostics extends output
@@ -28,6 +30,54 @@ public function __destruct()
{
}
/**
* Connection checker
*
* @access public
* @param string Raw HTTP headers
* @param string Request result
* @param string Raw HTTPS headers
* @param string Request result
* @return string HTML
*/
public function connectionCheckerResult( $headers='', $output='', $headers_ssl='', $output_ssl='' ) {
$IPBHTML = "";
//--starthtml--//
$output = IPSText::mbsubstr( htmlspecialchars($output), 0, 2000 );
$output_ssl = IPSText::mbsubstr( htmlspecialchars($output_ssl), 0, 2000 );
$IPBHTML .= <<<EOF
<div class='information-box'>
<h4><img src='{$this->settings['skin_acp_url']}/_newimages/icons/information.png' alt='' />&nbsp; {$this->lang->words['ipb_message']}</h4>
{$this->lang->words['connections__message']}
</div>
<br />
<div class='section_title'>
<h2>{$this->lang->words['connectionchecker']}</h2>
</div>
<div class="acp-box">
<h3>{$this->lang->words['connections__headers']}</h3>
<pre style='overflow: auto;'>{$headers}</pre>
<br />
<h3>{$this->lang->words['connections__output']}</h3>
<pre style='overflow: auto;'>{$output}</pre>
<br />
<h3>{$this->lang->words['connections__headers1']}</h3>
<pre style='overflow: auto;'>{$headers_ssl}</pre>
<br />
<h3>{$this->lang->words['connections__output1']}</h3>
<pre style='overflow: auto;'>{$output_ssl}</pre>
</div>
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* DB Index checker
*
@@ -50,7 +100,6 @@ if( count( $errors ) )
{
$IPBHTML .= <<<HTML
<div class='acp-box alternate_rows'>
<h3>{$app}</h3>
<table width='100%'>
<th>{$this->lang->words['d_ierrors']}</th>
<tr>
@@ -95,9 +144,10 @@ $IPBHTML .= <<<HTML
<ul class='bullets'>
<li>
HTML;
if ( is_array( $r['index'] ) )
{
$IPBHTML .= implode( "</li><li>", $r['index'] );
}
$IPBHTML .= <<<HTML
</li>
</ul>
@@ -181,7 +231,6 @@ if( count( $errors ) )
{
$IPBHTML .= <<<HTML
<div class='acp-box alternate_rows'>
<h3>{$app}</h3>
<table width='100%'>
<th>{$this->lang->words['d_ierrors']}</th>
<tr>
@@ -233,7 +282,7 @@ HTML;
$IPBHTML .= <<<HTML
<tr>
<td><span style='color:green'>{$r['table']}{$_column}</span></td>
<td><img src='{$this->settings['skin_acp_url']}/images/aff_tick.png' border='0' alt='YN' class='ipd' /></td>
<td><img src='{$this->settings['skin_acp_url']}/images/aff_tick.png' alt='YN' /></td>
<td>&nbsp;</td>
</tr>
HTML;
@@ -243,7 +292,7 @@ HTML;
$IPBHTML .= <<<HTML
<tr>
<td><span style='color:red'>{$r['table']}</span></td>
<td><img src='{$this->settings['skin_acp_url']}/images/aff_cross.png' border='0' alt='YN' class='ipd' /></td>
<td><img src='{$this->settings['skin_acp_url']}/images/aff_cross.png' alt='YN' /></td>
<td>
<a href='{$this->settings['base_url']}{$this->form_code}&amp;section=diagnostics&amp;do=dbchecker&amp;fix={$r['key']}'>{$this->lang->words['d_iauto']}</a>{$this->lang->words['d_iman']}
<div>
@@ -331,7 +380,7 @@ return $IPBHTML;
* @param array Data
* @return string HTML
*/
public function diagnosticsOverview( $data=array() ) {
public function diagnosticsOverview( $data=array(), $statsbox ) {
$IPBHTML = "";
//--starthtml--//
@@ -341,6 +390,14 @@ $IPBHTML .= <<<EOF
<h2>{$this->lang->words['d_atitle']}</h2>
</div>
<div class='acp-box'>
<h3>{$this->lang->words['cp_systemstats']}</h3>
<table class='alternate_rows'>
{$statsbox}
</table>
</div>
<br />
<div class="acp-box">
<h3>{$this->lang->words['sys_system_overview']}</h3>
<table class='alternate_rows' width='100%'>
@@ -892,4 +949,64 @@ EOF;
return $IPBHTML;
}
/**
* ACP Statistics wrapper
*
* @access public
* @param array Content
* @return string HTML
*/
public function acp_stats_wrapper($content) {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
<tr>
<td>
<strong>{$this->lang->words['cp_totalmembers']}</strong>
<div class='sub desctext'>
{$this->lang->words['cp_onlinenow']}<br />
{$this->lang->words['cp_awaitingvalidation']}<br />
{$this->lang->words['cp_lockedaccounts']}<br />
{$this->lang->words['cp_coppaaccounts']}<br />
{$this->lang->words['cp_spammeraccounts']}
</div>
</td>
<td>
{$content['members']}
<div class='desctext'>
<a href='{$this->settings['board_url']}/index.php?app=members&amp;section=online&amp;module=online' target='_blank' title='{$this->lang->words['cp_onlinenow_info']}'>{$this->lang->words['cp_view']}</a> ({$content['sessions']})<br />
<a href='{$this->settings['base_url']}&amp;app=members&amp;module=members&amp;section=tools&amp;do=validating'>{$this->lang->words['cp_manage']}</a> ({$content['validate']})<br />
<a href='{$this->settings['base_url']}&amp;app=members&amp;module=members&amp;section=tools&amp;do=locked'>{$this->lang->words['cp_manage']}</a> ({$content['locked']})<br />
<a href='{$this->settings['base_url']}&amp;app=members&amp;module=members&amp;section=tools&amp;do=validating&amp;filter=coppa'>{$this->lang->words['cp_manage']}</a> ({$content['coppa']})<br />
<a href='{$this->settings['base_url']}&amp;app=members&amp;module=members&amp;section=tools&amp;do=spam'>{$this->lang->words['cp_manage']}</a> ({$content['spammer'][0]})
</div>
</td>
</tr>
<tr>
<td>
<strong>{$this->lang->words['cp_topics']}</strong>
<div class='sub desctext'>
{$this->lang->words['cp_awaitingmoderation']}
</div>
</td>
<td>{$content['topics']}<br /><span class='desctext'>{$content['topics_mod']}</span></td>
</tr>
<tr>
<td>
<strong>{$this->lang->words['cp_posts']}</strong>
<div class='sub desctext'>
{$this->lang->words['cp_awaitingmoderation']}
</div>
</td>
<td>{$content['replies']}<br /><span class='desctext'>{$content['posts_mod']}</span></td>
</tr>
EOF;
//--endhtml--//
return $IPBHTML;
}
}
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Email error logs
* Last Updated: $Date: 2009-03-27 11:41:38 -0400 (Fri, 27 Mar 2009) $
* Last Updated: $Date: 2010-01-15 10:18:44 -0500 (Fri, 15 Jan 2010) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 4333 $
* @version $Revision: 5713 $
*/
class cp_skin_emailerrorlogs extends output
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Email logs skin file
* Last Updated: $Date: 2009-05-28 13:24:24 -0400 (Thu, 28 May 2009) $
* Last Updated: $Date: 2010-05-19 21:06:53 -0400 (Wed, 19 May 2010) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 4699 $
* @version $Revision: 6326 $
*/
class cp_skin_emaillogs extends output
@@ -89,9 +91,9 @@ if( count($rows) AND is_array($rows) )
$IPBHTML .= <<<HTML
<tr>
<!--ACPNOTE: Missing acp_search.gif -->
<td><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=list&amp;type=fromid&amp;id={$row['member_id']}' title='{$this->lang->words['elog_show_title']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/view.png' border='0' alt='{$this->lang->words['elog_byid']}'></a>&nbsp;<b><a href='{$this->settings['board_url']}/index.{$this->settings['php_ext']}?showuser={$row['member_id']}' title='{$this->lang->words['elog_profile']}' target='_blank'>{$row['members_display_name']}</a></b></td>
<td><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=list&amp;type=fromid&amp;id={$row['member_id']}' title='{$this->lang->words['elog_show_title']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/view.png' alt='{$this->lang->words['elog_byid']}'></a>&nbsp;<b><a href='{$this->settings['board_url']}/index.{$this->settings['php_ext']}?showuser={$row['member_id']}' title='{$this->lang->words['elog_profile']}' target='_blank'>{$row['members_display_name']}</a></b></td>
<td><a href='#' onclick='return acp.openWindow("{$this->settings['base_url']}&{$this->form_code_js}&do=viewemail&id={$row['email_id']}",400,350,"{$row['email_id']}")' title='{$this->lang->words['elog_read']}'>{$row['email_subject']}</a></td>
<td><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=list&amp;type=toid&amp;id={$row['to_id']}' title='{$this->lang->words['elog_show_title']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/view.png' border='0' alt='{$this->lang->words['elog_byid']}'></a>&nbsp;<b><a href='{$this->settings['board_url']}/index.{$this->settings['php_ext']}?showuser={$row['to_id']}' title='{$this->lang->words['elog_profile']}' target='_blank'>{$row['to_name']}</a></b></td>
<td><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=list&amp;type=toid&amp;id={$row['to_id']}' title='{$this->lang->words['elog_show_title']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/view.png' alt='{$this->lang->words['elog_byid']}'></a>&nbsp;<b><a href='{$this->settings['board_url']}/index.{$this->settings['php_ext']}?showuser={$row['to_id']}' title='{$this->lang->words['elog_profile']}' target='_blank'>{$row['to_name']}</a></b></td>
<td>{$row['_date']}</td>
<td><input type='checkbox' name='id_{$row['email_id']}' value='1' class='checkAll' /></td>
</tr>
@@ -1,453 +1,455 @@
<?php
/**
* Invision Power Services
* IP.Board v3.0.5
* Emoticon manager skin file
* Last Updated: $Date: 2009-07-08 21:23:44 -0400 (Wed, 08 Jul 2009) $
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 4856 $
*/
class cp_skin_emoticons extends output
{
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* Emoticon pack splash page
*
* @access public
* @param array Form elements
* @return string HTML
*/
public function emoticonsPackSplash( $form )
{
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['emo_title']}</h2>
</div>
<form action='{$this->settings['base_url']}{$this->form_code}' method='post' name='theAdminForm' id='theAdminForm'>
<input type='hidden' name='do' value='emo_packexport' />
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->_admin_auth_key}' />
<div class='acp-box'>
<h3>{$this->lang->words['emote_export']}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['emote_export_which']}<span class='desctext'>{$this->lang->words['emote_xml_pack']}</span></label>
{$form['emo_set']}
</li>
</ul>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' value='{$this->lang->words['emote_export_button']}' class='button primary' accesskey='s'>
</div>
</div>
</div>
</form><br />
<form action='{$this->settings['base_url']}{$this->form_code}' method='post' name='uploadform' enctype='multipart/form-data' id='uploadform'>
<input type='hidden' name='do' value='emo_packimport' />
<input type='hidden' name='MAX_FILE_SIZE' value='10000000000' />
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->_admin_auth_key}' />
<div class='acp-box'>
<h3>{$this->lang->words['emote_import']}</h3>
<table width='100%' class='alternate_rows'>
<tr>
<td width='60%' valign='middle'>
{$this->lang->words['emote_import_which']}<br />
<span class='desctext'>{$this->lang->words['emote_xml_export']}</span>
</td>
<td width='40%' valign='middle'>{$form['emo_set']}</td>
</tr>
<tr>
<td width='60%' valign='middle'>
{$this->lang->words['emote_import_newgroup']}<br />
<span class='desctext'>{$this->lang->words['emote_import_name']}</span>
</td>
<td width='40%' valign='middle'>{$form['new_emo_set']}</td>
</tr>
<tr>
<td width='60%' valign='middle'>
{$this->lang->words['emote_import_over']}<br />
<span class='desctext'>{$this->lang->words['emote_import_replace']}</span>
</td>
<td width='40%' valign='middle'>{$form['overwrite']}</td>
</tr>
<tr>
<td width='60%' valign='middle'>{$this->lang->words['emote_import_upload']}<br /><span class='desctext'>{$this->lang->words['emote_import_browse']}</span></td>
<td width='40%' valign='middle'><input class='textinput' type='file' size='30' name='FILE_UPLOAD'></td>
</tr>
</table>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' value='{$this->lang->words['emote_import_button']}' class='button primary' accesskey='s'>
</div>
</div>
</div>
</form>
HTML;
return $IPBHTML;
}
/**
* Show the splash screen for the logs
*
* @access public
* @param array Db records
* @param array File records
* @param string Width for table cells
* @param int Number of emoticons per row
* @return string HTML
*/
public function emoticonsDirectoryManagement( $db_rows, $file_rows, $td_width, $per_row )
{
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['emo_control']}</h2>
</div>
<div class='acp-box'>
<h3>{$this->lang->words['emote_assigned']}'{$this->request['id']}'</h3>
<form action='{$this->settings['base_url']}{$this->form_code}do=emo_doedit&id={$this->request['id']}' method='post'>
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->_admin_auth_key}' />
<table class='alternate_rows' width='100%'>
<tr align='center'>
HTML;
/* Loop through the database emoticons */
$count = 0;
foreach( $db_rows as $r )
{
$count++;
$IPBHTML .= <<<HTML
<td width='{$td_width}%' align='center'>
<fieldset>
<legend><strong>{$r['image']}</strong></legend>
<input type='hidden' name='emo_id_{$r['id']}' value='{$r['id']}' />
<img src='../public/style_emoticons/{$this->request['id']}/{$r['image']}' border='0' />&nbsp;&nbsp;&nbsp;&nbsp;
HTML;
if( $this->request['id'] == 'default' )
{
$IPBHTML .= <<<HTML
<a href='{$this->settings['base_url']}{$this->form_code}do=emo_remove&eid={$r['id']}&id={$this->request['id']}' title='{$this->lang->words['emote_delete_title']}'>
<img src='{$this->settings['skin_acp_url']}/images/emo_delete.gif' border='0' alt='{$this->lang->words['emote_delete_title']}' />
</a>
<br />
<input type='textinput' class='realbutton' size='10' name='emo_type_{$r['id']}' value='{$r['typed']}' />
HTML;
}
else
{
$IPBHTML .= <<<HTML
<br /><br /><span style='font-family:Verdana,Arial;font-size:10px;font-weight:bold;'>{$r['typed']}</span>
HTML;
}
$IPBHTML .= <<<HTML
<br /><br />{$this->lang->words['emote_clickable']} <input type='checkbox' name='emo_click_{$r['id']}' value='1' {$r['_click']} />
</fieldset>
</td>
HTML;
if( $count == $per_row )
{
$IPBHTML .= <<<HTML
</tr>
<tr align='center'>
HTML;
$count = 0;
}
}
/* Finish off a row in progress */
if( $count > 0 and $count != $per_row )
{
for( $i = $count ; $i < $per_row ; ++$i )
{
$IPBHTML .= <<<HTML
<td>&nbsp;</td>
HTML;
}
$IPBHTML .= <<<HTML
</tr>
HTML;
}
$IPBHTML .= <<<HTML
</table>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' class='button primary' value='{$this->lang->words['emote_update_button']}' />
</div>
</div>
</form>
</div><br />
HTML;
/* Display unassigned emoticons */
if( is_array( $file_rows ) && count( $file_rows ) )
{
$IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['emote_unassigned']}'{$this->request['id']}'</h3>
<form action='{$this->settings['base_url']}{$this->form_code}do=emo_doadd&id={$this->request['id']}' method='post'>
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->_admin_auth_key}' />
<table class='alternate_rows' width='100%'>
<tr>
HTML;
/* Loop through the unassigned emoticons */
$master_count = 0;
$count = 0;
foreach( $file_rows as $r )
{
$master_count++;
$count++;
$IPBHTML .= <<<HTML
<td width='{$td_width}%' align='center'>
<fieldset>
<legend><strong>{$r['image']}</strong></legend>
<img src='../public/style_emoticons/{$this->request['id']}/{$r['image']}' border='0' />&nbsp;&nbsp;
{$this->lang->words['emote_add']}<input name='emo_add_{$master_count}' type='checkbox' value='1' /><br />
{$this->lang->words['emote_text']}<input type='textinput' class='realbutton' size='10' name='emo_type_{$master_count}' value='{$r['poss_name']}' /><br /><br />
{$this->lang->words['emote_clickable']} <input type='checkbox' name='emo_click_{$master_count}' value='1' />
<input type='hidden' name='emo_image_{$master_count}' value='{$r['image']}' />
</fieldset>
</td>
HTML;
if( $count == $per_row )
{
$IPBHTML .= <<<HTML
</tr>
<tr align='center'>
HTML;
$count = 0;
}
}
/* Finish off a row in progress */
if( $count > 0 and $count != $per_row )
{
for( $i = $count ; $i < $per_row ; ++$i )
{
$IPBHTML .= <<<HTML
<td>&nbsp;</td>
HTML;
}
$IPBHTML .= <<<HTML
</tr>
HTML;
}
$IPBHTML .= <<<HTML
</table>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' class='button primary' value='{$this->lang->words['emote_add_button']}' />&nbsp;&nbsp;
<input type='submit' name='addall' class='button primary' value='{$this->lang->words['emote_addall_button']}' />
</div>
</div>
</form>
</div>
HTML;
}
return $IPBHTML;
}
/**
* Overview of emoticon packs
*
* @access public
* @param array Records
* @return string HTML
*/
public function emoticonsOverview( $rows )
{
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<script type="text/javascript" src="{$this->settings['js_main_url']}acp.emoticons.js"></script>
<script type='text/javascript'>
ipb.templates['emo_manage'] = new Template( "<form action='{$this->settings['base_url']}{$this->form_code}' method='post'>" +
"<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->_admin_auth_key}' />" +
"<input type='hidden' name='do' value='#{form_do}' />" +
"<input type='hidden' name='id' value='#{form_id}' />" +
"<div class='acp-box'><h3>{$this->lang->words['emoticon_folder']}</h3><ul class='acp-form'><li><label for='name_#{form_id}'>{$this->lang->words['emoticon_folder_name']}</label><input type='text' size='30' class='input_text' id='name_#{form_id}' value='#{folder_name}' name='emoset'></li></ul><div class='acp-actionbar'><input type='submit' value='#{form_value}' class='realbutton' id='save_folder_#{id}' /></div></div>" +
"</form>" );
ipb.lang['emoticons'] = [];
ipb.lang['emoticons']['add'] = "{$this->lang->words['emote_addfolder']}";
ipb.lang['emoticons']['edit'] = "{$this->lang->words['emote_editfolder']}";
</script>
<div class='section_title'>
<h2>{$this->lang->words['emo_control']}</h2>
<ul class='context_menu'>
<li><a href='#' id='folder_edit_0' return false;'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/table_add.png' alt='' /> {$this->lang->words['emote_createnew']}</a></li>
</ul>
<script type='text/javascript'>
$('folder_edit_0').observe('click', acp.emoticons.folder.bindAsEventListener( this, 0 ) );
</script>
</div>
<form action='{$this->settings['base_url']}{$this->form_code}' method='post' name='uploadform' enctype='multipart/form-data' id='uploadform'>
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->_admin_auth_key}' />
<input type='hidden' name='do' value='emo_upload'>
<input type='hidden' name='MAX_FILE_SIZE' value='10000000000'>
<input type='hidden' name='dir_default' value='1'>
<div class='acp-box'>
<h3>{$this->lang->words['emote_current']}</h3>
<table width='100%' class='alternate_rows'>
<tr>
<th width='50%' align='center'>{$this->lang->words['emote_emofolder']}</th>
<th width='5%' align='center'>{$this->lang->words['emote_upload']}</th>
<th width='20%' align='center'>{$this->lang->words['emote_num_disk']}</th>
<th width='20%' align='center'>{$this->lang->words['emote_num_group']}</th>
<th width='5%' align='center'>{$this->lang->words['emote_options']}</th>
</tr>
HTML;
foreach( $rows as $data )
{
$IPBHTML .= <<<HTML
<tr>
<td valign='middle'>
<div style='width:auto;float:right;'><img src='{$this->settings['skin_acp_url']}/images/{$data['icon']}' title='{$data['title']}' alt='{$data['icon']}' /></div>
{$data['line_image']}<img src='{$this->settings['skin_acp_url']}/images/emoticon_folder.gif' border='0'>&nbsp;
<a href='{$this->settings['base_url']}{$this->form_code}do=emo_manage&amp;id={$data['dir']}' title='{$this->lang->words['emote_manageset']}'><b>{$data['dir']}</b></a>
</td>
<td valign='middle'><center>{$data['checkbox']}</center></td>
<td valign='middle'><center>{$data['count']}</center></td>
<td valign='middle'><center>{$data['dir_count']}</td>
<td align='right'>
<img class="ipbmenu" id="menu{$data['dir']}" 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{$data['dir']}_menucontent'>
<li style="z-index: 10000;" class='icon view'><a style="z-index: 10000;" href='{$this->settings['base_url']}{$this->form_code_js}do=emo_manage&amp;id={$data['dir']}'>{$data['link_text']}</a></li>
HTML;
if( $data['dir'] != 'default' OR IN_DEV == 1 )
{
$IPBHTML .= <<<HTML
<li style="z-index: 10000;" class='icon edit'>
<a style="z-index: 10000;" href='#' id="folder_edit_{$data['dir']}">{$this->lang->words['emote_editfolder']}</a>
<script type='text/javascript'>
$("folder_edit_{$data['dir']}").observe('click', acp.emoticons.folder.bindAsEventListener( this, "{$data['dir']}" ) );
</script>
</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_js}do=emo_setremove&amp;id={$data['dir']}");'>{$this->lang->words['emote_deletefolder']}</a></li>
HTML;
}
else
{
$IPBHTML .= <<<HTML
<li style="z-index: 10000;" class='icon delete'>{$this->lang->words['emote_dontdeletedef']}</li>
HTML;
}
$IPBHTML .= <<<HTML
</ul>
</td>
</tr>
HTML;
}
$IPBHTML .= <<<HTML
</table>
</div><br />
HTML;
if( SAFE_MODE_ON )
{
$IPBHTML .= <<<HTML
</form>
HTML;
}
else
{
$IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['emote_uploademos']}</h3>
<table width='100%' class='alternate_rows'>
<tr>
<td width='50%' align='center'><input type='file' value='' class='realbutton' name='upload_1' size='30' /></td>
<td width='50%' align='center'><input type='file' class='realbutton' name='upload_2' size='30' /></td>
</tr>
<tr>
<td width='50%' align='center'><input type='file' class='realbutton' name='upload_3' size='30' /></td>
<td width='50%' align='center'><input type='file' class='realbutton' name='upload_4' size='30' /></td>
</tr>
</table>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' value='{$this->lang->words['emote_uploadtofolders']}' class='button primary' />
</div>
</div>
</div>
</form>
HTML;
}
return $IPBHTML;
}
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.1.4
* Emoticon manager skin file
* Last Updated: $Date: 2010-05-19 21:06:53 -0400 (Wed, 19 May 2010) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 6326 $
*/
class cp_skin_emoticons extends output
{
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* Emoticon pack splash page
*
* @access public
* @param array Form elements
* @return string HTML
*/
public function emoticonsPackSplash( $form )
{
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['emo_title']}</h2>
</div>
<form action='{$this->settings['base_url']}{$this->form_code}' method='post' name='theAdminForm' id='theAdminForm'>
<input type='hidden' name='do' value='emo_packexport' />
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->_admin_auth_key}' />
<div class='acp-box'>
<h3>{$this->lang->words['emote_export']}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['emote_export_which']}<span class='desctext'>{$this->lang->words['emote_xml_pack']}</span></label>
{$form['emo_set']}
</li>
</ul>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' value='{$this->lang->words['emote_export_button']}' class='button primary' accesskey='s'>
</div>
</div>
</div>
</form><br />
<form action='{$this->settings['base_url']}{$this->form_code}' method='post' name='uploadform' enctype='multipart/form-data' id='uploadform'>
<input type='hidden' name='do' value='emo_packimport' />
<input type='hidden' name='MAX_FILE_SIZE' value='10000000000' />
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->_admin_auth_key}' />
<div class='acp-box'>
<h3>{$this->lang->words['emote_import']}</h3>
<table width='100%' class='alternate_rows'>
<tr>
<td width='60%' valign='middle'>
{$this->lang->words['emote_import_which']}<br />
<span class='desctext'>{$this->lang->words['emote_xml_export']}</span>
</td>
<td width='40%' valign='middle'>{$form['emo_set']}</td>
</tr>
<tr>
<td width='60%' valign='middle'>
{$this->lang->words['emote_import_newgroup']}<br />
<span class='desctext'>{$this->lang->words['emote_import_name']}</span>
</td>
<td width='40%' valign='middle'>{$form['new_emo_set']}</td>
</tr>
<tr>
<td width='60%' valign='middle'>
{$this->lang->words['emote_import_over']}<br />
<span class='desctext'>{$this->lang->words['emote_import_replace']}</span>
</td>
<td width='40%' valign='middle'>{$form['overwrite']}</td>
</tr>
<tr>
<td width='60%' valign='middle'>{$this->lang->words['emote_import_upload']}<br /><span class='desctext'>{$this->lang->words['emote_import_browse']}</span></td>
<td width='40%' valign='middle'><input class='textinput' type='file' size='30' name='FILE_UPLOAD'></td>
</tr>
</table>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' value='{$this->lang->words['emote_import_button']}' class='button primary' accesskey='s'>
</div>
</div>
</div>
</form>
HTML;
return $IPBHTML;
}
/**
* Show the splash screen for the logs
*
* @access public
* @param array Db records
* @param array File records
* @param string Width for table cells
* @param int Number of emoticons per row
* @return string HTML
*/
public function emoticonsDirectoryManagement( $db_rows, $file_rows, $td_width, $per_row )
{
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['emo_control']}</h2>
</div>
<div class='acp-box'>
<h3>{$this->lang->words['emote_assigned']}'{$this->request['id']}'</h3>
<form action='{$this->settings['base_url']}{$this->form_code}do=emo_doedit&id={$this->request['id']}' method='post'>
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->_admin_auth_key}' />
<table class='alternate_rows' width='100%'>
<tr align='center'>
HTML;
/* Loop through the database emoticons */
$count = 0;
foreach( $db_rows as $r )
{
$count++;
$IPBHTML .= <<<HTML
<td width='{$td_width}%' align='center'>
<fieldset>
<legend><strong>{$r['image']}</strong></legend>
<input type='hidden' name='emo_id_{$r['id']}' value='{$r['id']}' />
<img src='../public/style_emoticons/{$this->request['id']}/{$r['image']}' />&nbsp;&nbsp;&nbsp;&nbsp;
HTML;
if( $this->request['id'] == 'default' )
{
$IPBHTML .= <<<HTML
<a href='{$this->settings['base_url']}{$this->form_code}do=emo_remove&eid={$r['id']}&id={$this->request['id']}' title='{$this->lang->words['emote_delete_title']}'>
<img src='{$this->settings['skin_acp_url']}/images/emo_delete.gif' alt='{$this->lang->words['emote_delete_title']}' />
</a>
<br />
<input type='textinput' class='realbutton' size='10' name='emo_type_{$r['id']}' value='{$r['typed']}' />
HTML;
}
else
{
$IPBHTML .= <<<HTML
<br /><br /><span style='font-family:Verdana,Arial;font-size:10px;font-weight:bold;'>{$r['typed']}</span>
HTML;
}
$IPBHTML .= <<<HTML
<br /><br />{$this->lang->words['emote_clickable']} <input type='checkbox' name='emo_click_{$r['id']}' value='1' {$r['_click']} />
</fieldset>
</td>
HTML;
if( $count == $per_row )
{
$IPBHTML .= <<<HTML
</tr>
<tr align='center'>
HTML;
$count = 0;
}
}
/* Finish off a row in progress */
if( $count > 0 and $count != $per_row )
{
for( $i = $count ; $i < $per_row ; ++$i )
{
$IPBHTML .= <<<HTML
<td>&nbsp;</td>
HTML;
}
$IPBHTML .= <<<HTML
</tr>
HTML;
}
$IPBHTML .= <<<HTML
</table>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' class='button primary' value='{$this->lang->words['emote_update_button']}' />
</div>
</div>
</form>
</div><br />
HTML;
/* Display unassigned emoticons */
if( is_array( $file_rows ) && count( $file_rows ) )
{
$IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['emote_unassigned']}'{$this->request['id']}'</h3>
<form action='{$this->settings['base_url']}{$this->form_code}do=emo_doadd&id={$this->request['id']}' method='post'>
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->_admin_auth_key}' />
<table class='alternate_rows' width='100%'>
<tr>
HTML;
/* Loop through the unassigned emoticons */
$master_count = 0;
$count = 0;
foreach( $file_rows as $r )
{
$master_count++;
$count++;
$IPBHTML .= <<<HTML
<td width='{$td_width}%' align='center'>
<fieldset>
<legend><strong>{$r['image']}</strong></legend>
<img src='../public/style_emoticons/{$this->request['id']}/{$r['image']}' />&nbsp;&nbsp;
{$this->lang->words['emote_add']}<input name='emo_add_{$master_count}' type='checkbox' value='1' /><br />
{$this->lang->words['emote_text']}<input type='textinput' class='realbutton' size='10' name='emo_type_{$master_count}' value='{$r['poss_name']}' /><br /><br />
{$this->lang->words['emote_clickable']} <input type='checkbox' name='emo_click_{$master_count}' value='1' />
<input type='hidden' name='emo_image_{$master_count}' value='{$r['image']}' />
</fieldset>
</td>
HTML;
if( $count == $per_row )
{
$IPBHTML .= <<<HTML
</tr>
<tr align='center'>
HTML;
$count = 0;
}
}
/* Finish off a row in progress */
if( $count > 0 and $count != $per_row )
{
for( $i = $count ; $i < $per_row ; ++$i )
{
$IPBHTML .= <<<HTML
<td>&nbsp;</td>
HTML;
}
$IPBHTML .= <<<HTML
</tr>
HTML;
}
$IPBHTML .= <<<HTML
</table>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' class='button primary' value='{$this->lang->words['emote_add_button']}' />&nbsp;&nbsp;
<input type='submit' name='addall' class='button primary' value='{$this->lang->words['emote_addall_button']}' />
</div>
</div>
</form>
</div>
HTML;
}
return $IPBHTML;
}
/**
* Overview of emoticon packs
*
* @access public
* @param array Records
* @return string HTML
*/
public function emoticonsOverview( $rows )
{
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<script type="text/javascript" src="{$this->settings['js_main_url']}acp.emoticons.js"></script>
<script type='text/javascript'>
ipb.templates['emo_manage'] = new Template( "<form action='{$this->settings['base_url']}{$this->form_code}' method='post'>" +
"<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->_admin_auth_key}' />" +
"<input type='hidden' name='do' value='#{form_do}' />" +
"<input type='hidden' name='id' value='#{form_id}' />" +
"<div class='acp-box'><h3>{$this->lang->words['emoticon_folder']}</h3><ul class='acp-form'><li><label for='name_#{form_id}'>{$this->lang->words['emoticon_folder_name']}</label><input type='text' size='30' class='input_text' id='name_#{form_id}' value='#{folder_name}' name='emoset'></li></ul><div class='acp-actionbar'><input type='submit' value='#{form_value}' class='realbutton' id='save_folder_#{id}' /></div></div>" +
"</form>" );
ipb.lang['emoticons'] = [];
ipb.lang['emoticons']['add'] = "{$this->lang->words['emote_addfolder']}";
ipb.lang['emoticons']['edit'] = "{$this->lang->words['emote_editfolder']}";
</script>
<div class='section_title'>
<h2>{$this->lang->words['emo_control']}</h2>
<ul class='context_menu'>
<li><a href='#' id='folder_edit_0' return false;'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/table_add.png' alt='' /> {$this->lang->words['emote_createnew']}</a></li>
</ul>
<script type='text/javascript'>
$('folder_edit_0').observe('click', acp.emoticons.folder.bindAsEventListener( this, 0 ) );
</script>
</div>
<form action='{$this->settings['base_url']}{$this->form_code}' method='post' name='uploadform' enctype='multipart/form-data' id='uploadform'>
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->_admin_auth_key}' />
<input type='hidden' name='do' value='emo_upload'>
<input type='hidden' name='MAX_FILE_SIZE' value='10000000000'>
<input type='hidden' name='dir_default' value='1'>
<div class='acp-box'>
<h3>{$this->lang->words['emote_current']}</h3>
<table width='100%' class='alternate_rows'>
<tr>
<th width='50%' align='center'>{$this->lang->words['emote_emofolder']}</th>
<th width='5%' align='center'>{$this->lang->words['emote_upload']}</th>
<th width='20%' align='center'>{$this->lang->words['emote_num_disk']}</th>
<th width='20%' align='center'>{$this->lang->words['emote_num_group']}</th>
<th width='5%' align='center'>{$this->lang->words['emote_options']}</th>
</tr>
HTML;
foreach( $rows as $data )
{
$IPBHTML .= <<<HTML
<tr>
<td valign='middle'>
<div style='width:auto;float:right;'><img src='{$this->settings['skin_acp_url']}/images/{$data['icon']}' title='{$data['title']}' alt='{$data['icon']}' /></div>
{$data['line_image']}<img src='{$this->settings['skin_acp_url']}/images/emoticon_folder.gif' />&nbsp;
<a href='{$this->settings['base_url']}{$this->form_code}do=emo_manage&amp;id={$data['dir']}' title='{$this->lang->words['emote_manageset']}'><b>{$data['dir']}</b></a>
</td>
<td valign='middle'><center>{$data['checkbox']}</center></td>
<td valign='middle'><center>{$data['count']}</center></td>
<td valign='middle'><center>{$data['dir_count']}</td>
<td align='right'>
<img class="ipbmenu" id="menu{$data['dir']}" 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{$data['dir']}_menucontent'>
<li style="z-index: 10000;" class='icon view'><a style="z-index: 10000;" href='{$this->settings['base_url']}{$this->form_code_js}do=emo_manage&amp;id={$data['dir']}'>{$data['link_text']}</a></li>
HTML;
if( $data['dir'] != 'default' OR IN_DEV == 1 )
{
$IPBHTML .= <<<HTML
<li style="z-index: 10000;" class='icon edit'>
<a style="z-index: 10000;" href='#' id="folder_edit_{$data['dir']}">{$this->lang->words['emote_editfolder']}</a>
<script type='text/javascript'>
$("folder_edit_{$data['dir']}").observe('click', acp.emoticons.folder.bindAsEventListener( this, "{$data['dir']}" ) );
</script>
</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_js}do=emo_setremove&amp;id={$data['dir']}");'>{$this->lang->words['emote_deletefolder']}</a></li>
HTML;
}
else
{
$IPBHTML .= <<<HTML
<li style="z-index: 10000;" class='icon delete'>{$this->lang->words['emote_dontdeletedef']}</li>
HTML;
}
$IPBHTML .= <<<HTML
</ul>
</td>
</tr>
HTML;
}
$IPBHTML .= <<<HTML
</table>
</div><br />
HTML;
if( SAFE_MODE_ON )
{
$IPBHTML .= <<<HTML
</form>
HTML;
}
else
{
$IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['emote_uploademos']}</h3>
<table width='100%' class='alternate_rows'>
<tr>
<td width='50%' align='center'><input type='file' value='' class='realbutton' name='upload_1' size='30' /></td>
<td width='50%' align='center'><input type='file' class='realbutton' name='upload_2' size='30' /></td>
</tr>
<tr>
<td width='50%' align='center'><input type='file' class='realbutton' name='upload_3' size='30' /></td>
<td width='50%' align='center'><input type='file' class='realbutton' name='upload_4' size='30' /></td>
</tr>
</table>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' value='{$this->lang->words['emote_uploadtofolders']}' class='button primary' />
</div>
</div>
</div>
</form>
HTML;
}
return $IPBHTML;
}
}
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Error log skin file
* Last Updated: $Date: 2009-05-28 13:24:24 -0400 (Thu, 28 May 2009) $
* Last Updated: $Date: 2010-01-15 10:18:44 -0500 (Fri, 15 Jan 2010) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 4699 $
* @version $Revision: 5713 $
*/
class cp_skin_errorlogs extends output
@@ -1,195 +1,197 @@
<?php
/**
* Invision Power Services
* IP.Board v3.0.5
* Manage help files skin file
* Last Updated: $Date: 2009-09-24 16:56:42 -0400 (Thu, 24 Sep 2009) $
*
* @author $Author: rikki $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 5154 $
*/
class cp_skin_help_files extends output
{
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* Form to add/edit a help file
*
* @access public
* @param string Action
* @param int ID
* @param array Form elements
* @param string Button text
* @return string HTML
*/
public function helpFileForm( $do, $id, $form, $button )
{
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['h_title']}</h2>
</div>
<form action='{$this->settings['base_url']}{$this->form_code}' method='post' name='theAdminForm' id='postingform'>
<input type='hidden' name='do' value='{$do}' />
<input type='hidden' name='id' value='{$id}' />
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->generated_acp_hash}' />
<div class='acp-box'>
<h3>{$button}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['h_filetitle']}</label>
{$form['title']}
</li>
<li>
<label>{$this->lang->words['h_filedesc']}</label>
{$form['description']}
</li>
<li>
<label>{$this->lang->words['h_fileapp']}</label>
{$form['appDir']}
</li>
<li>
<label>{$this->lang->words['h_filetext']}</label>
<div class='clear'><textarea id='editor_main' name='editor_main' style='width: 100%; height: 500px;'>{$form['text']}</textarea></div>
</li>
</ul>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' value='{$button}' class='button primary' accesskey='s'>
</div>
</div>
</div>
</form>
HTML;
//--endhtml--//
return $IPBHTML;
}
/**
* List the current help files
*
* @access public
* @param array Rows
* @return string HTML
*/
public function helpFilesList( $rows )
{
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['h_title']}</h2>
<ul class='context_menu'>
<li>
<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=new' title='{$this->lang->words['h_addnew']}'>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/help_add.png' alt='' />
{$this->lang->words['h_addnew']}
</a>
</li>
<li>
<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=exportXml' title='{$this->lang->words['h_export']}'>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/export.png' alt='' />
{$this->lang->words['h_export']}
</a>
</li>
<li>
<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=importXml' title='{$this->lang->words['h_import']}'>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/import.png' alt='' />
{$this->lang->words['h_import']}
</a>
</li>
</ul>
</div>
<script type="text/javascript">
window.onload = function() {
Sortable.create( 'sortable_handle', { revert: true, format: 'faq_([0-9]+)', onUpdate: dropItLikeItsHot, handle: 'draghandle' } );
};
dropItLikeItsHot = function( draggableObject, mouseObject )
{
var options = {
method : 'post',
parameters : Sortable.serialize( 'sortable_handle', { tag: 'li', name: 'faq' } )
};
new Ajax.Request( "{$this->settings['base_url']}&{$this->form_code_js}&do=doreorder&md5check={$this->registry->adminFunctions->getSecurityKey()}".replace( /&amp;/g, '&' ), options );
return false;
};
</script>
<div class='acp-box'>
<h3>{$this->lang->words['h_current']}</h3>
<ul id='sortable_handle' class='alternate_rows'>
HTML;
foreach( $rows as $r )
{
$IPBHTML .= <<<HTML
<li id='faq_{$r['id']}'>
<table style='width: 100%'>
<tr>
<td style='width: 3%'>
<div class='draghandle'><img src='{$this->settings['skin_acp_url']}/_newimages/drag_icon.png' alt=''></div>
</td>
<td style='width: 93%'>
<strong><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=edit&amp;id={$r['id']}'>{$r['title']}</a></strong><br />
<span class='desctext'>{$r['description']}</span>
</td>
<td style='width: 4%'>
<img class='ipbmenu' id="menu-{$r['id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['a_options']}' />
<ul class='acp-menu' id='menu-{$r['id']}_menucontent'>
<li class='icon edit'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=edit&amp;id={$r['id']}'>{$this->lang->words['h_edit']}</a></li>
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}{$this->form_code}&amp;do=remove&amp;id={$r['id']}");'>{$this->lang->words['h_remove']}</a></li>
</ul>
</td>
</tr>
</table>
</li>
HTML;
}
$IPBHTML .= <<<HTML
</ul>
</div>
<br />
</form>
HTML;
//--endhtml--//
return $IPBHTML;
}
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.1.4
* Manage help files skin file
* Last Updated: $Date: 2010-01-15 10:18:44 -0500 (Fri, 15 Jan 2010) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 5713 $
*/
class cp_skin_help_files extends output
{
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* Form to add/edit a help file
*
* @access public
* @param string Action
* @param int ID
* @param array Form elements
* @param string Button text
* @return string HTML
*/
public function helpFileForm( $do, $id, $form, $button )
{
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['h_title']}</h2>
</div>
<form action='{$this->settings['base_url']}{$this->form_code}' method='post' name='theAdminForm' id='postingform'>
<input type='hidden' name='do' value='{$do}' />
<input type='hidden' name='id' value='{$id}' />
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->generated_acp_hash}' />
<div class='acp-box'>
<h3>{$button}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['h_filetitle']}</label>
{$form['title']}
</li>
<li>
<label>{$this->lang->words['h_filedesc']}</label>
{$form['description']}
</li>
<li>
<label>{$this->lang->words['h_fileapp']}</label>
{$form['appDir']}
</li>
<li>
<label>{$this->lang->words['h_filetext']}</label>
<div class='clear'><textarea id='editor_main' name='editor_main' style='width: 100%; height: 500px;'>{$form['text']}</textarea></div>
</li>
</ul>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' value='{$button}' class='button primary' accesskey='s'>
</div>
</div>
</div>
</form>
HTML;
//--endhtml--//
return $IPBHTML;
}
/**
* List the current help files
*
* @access public
* @param array Rows
* @return string HTML
*/
public function helpFilesList( $rows )
{
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['h_title']}</h2>
<ul class='context_menu'>
<li>
<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=new' title='{$this->lang->words['h_addnew']}'>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/help_add.png' alt='' />
{$this->lang->words['h_addnew']}
</a>
</li>
<li>
<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=exportXml' title='{$this->lang->words['h_export']}'>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/export.png' alt='' />
{$this->lang->words['h_export']}
</a>
</li>
<li>
<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=importXml' title='{$this->lang->words['h_import']}'>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/import.png' alt='' />
{$this->lang->words['h_import']}
</a>
</li>
</ul>
</div>
<script type="text/javascript">
window.onload = function() {
Sortable.create( 'sortable_handle', { revert: true, format: 'faq_([0-9]+)', onUpdate: dropItLikeItsHot, handle: 'draghandle' } );
};
dropItLikeItsHot = function( draggableObject, mouseObject )
{
var options = {
method : 'post',
parameters : Sortable.serialize( 'sortable_handle', { tag: 'li', name: 'faq' } )
};
new Ajax.Request( "{$this->settings['base_url']}&{$this->form_code_js}&do=doreorder&md5check={$this->registry->adminFunctions->getSecurityKey()}".replace( /&amp;/g, '&' ), options );
return false;
};
</script>
<div class='acp-box'>
<h3>{$this->lang->words['h_current']}</h3>
<ul id='sortable_handle' class='alternate_rows'>
HTML;
foreach( $rows as $r )
{
$IPBHTML .= <<<HTML
<li id='faq_{$r['id']}'>
<table style='width: 100%'>
<tr>
<td style='width: 3%'>
<div class='draghandle'><img src='{$this->settings['skin_acp_url']}/_newimages/drag_icon.png' alt=''></div>
</td>
<td style='width: 93%'>
<strong><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=edit&amp;id={$r['id']}'>{$r['title']}</a></strong><br />
<span class='desctext'>{$r['description']}</span>
</td>
<td style='width: 4%'>
<img class='ipbmenu' id="menu-{$r['id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['a_options']}' />
<ul class='acp-menu' id='menu-{$r['id']}_menucontent'>
<li class='icon edit'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=edit&amp;id={$r['id']}'>{$this->lang->words['h_edit']}</a></li>
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}{$this->form_code}&amp;do=remove&amp;id={$r['id']}");'>{$this->lang->words['h_remove']}</a></li>
</ul>
</td>
</tr>
</table>
</li>
HTML;
}
$IPBHTML .= <<<HTML
</ul>
</div>
<br />
</form>
HTML;
//--endhtml--//
return $IPBHTML;
}
}
File diff suppressed because it is too large. Load diff
@@ -1,220 +1,402 @@
<?php
/**
* Invision Power Services
* IP.Board v3.0.5
* ACP live search skin file
* Last Updated: $Date: 2009-06-15 20:38:43 -0400 (Mon, 15 Jun 2009) $
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 4777 $
*/
class cp_skin_livesearch extends output
{
/**
* Currently hiding settings
*
* @access private
* @var bool
*/
private $startedHideSettings = false;
/**
* Currently hiding page links
*
* @access private
* @var bool
*/
private $startedHidePages = false;
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* Display the live search results
*
* @access public
* @param array Results
* @param string Current search term
* @return string HTML
*/
public function liveSearchDisplay( $results, $search_term ) {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
<ul>
EOF;
if( count($results) )
{
foreach( $results as $key => $output )
{
if( $key == 'settings' )
{
$text = $this->lang->words['ls_settings'];
}
else if( $key == 'location' )
{
$text = $this->lang->words['ls_acppages'];
}
if( !$output )
{
continue;
}
$IPBHTML .= <<<EOF
<li>
<span class='section'>{$text} <img src='{$this->settings['skin_acp_url']}/_newimages/icons_livesearch/{$key}.png' alt='{$this->lang->words['icon']}' /></span>
<ol>
{$output}
</ol>
EOF;
// If we started hidding settings, we need to stop hiding them now...
if( $key == 'settings' AND $this->startedHideSettings )
{
$this->startedHideSettings = false;
$IPBHTML .= <<<EOF
</div>
<div style='text-align: center;' id='hideSettingsShow'>
<a href='#' onclick="$('hideSettingsShow').hide();$('hideSettings').show();clearTimeout( ACPLiveSearch.searchTimer['hide'] );return false;">{$this->lang->words['ls_view_more_settings']}</a>
</div>
EOF;
}
// If we started hidding pages, we need to stop hiding them now...
else if( $key == 'location' AND $this->startedHidePages )
{
$this->startedHidePages = false;
$IPBHTML .= <<<EOF
</div>
<div style='text-align: center;' id='hidePagesShow'>
<a href='#' onclick="$('hidePagesShow').hide();$('hidePages').show();clearTimeout( ACPLiveSearch.searchTimer['hide'] );return false;">{$this->lang->words['ls_view_more_acp']}</a>
</div>
EOF;
}
$IPBHTML .= <<<EOF
</li>
EOF;
}
}
else
{
$IPBHTML .= <<<EOF
<li><em>No results</em></li>
EOF;
}
$IPBHTML .= <<<EOF
</ul>
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* Result for settings
*
* @access public
* @param array Result
* @param int Total count
* @param int Section count
* @return string HTML
*/
public function searchRowSetting( $r, $count, $secCount ) {
$IPBHTML = "";
//--starthtml--//
if( $secCount > 10 )
{
if( !$this->startedHideSettings )
{
$this->startedHideSettings = true;
$IPBHTML .= <<<EOF
</ol>
<div id='hideSettings' style='display:none;'>
<ol style='margin-top:0px;'>
EOF;
}
}
$IPBHTML .= <<<EOF
<li><a href='{$this->settings['_base_url']}&amp;app=core&amp;module=tools&amp;section=settings&amp;do=setting_view&amp;conf_group={$r['conf_group']}&amp;search={$this->request['search_term']}'>{$r['conf_title']}</a></li>
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* Result for acp pages
*
* @access public
* @param array Result
* @param int Total count
* @param int Section count
* @return string HTML
*/
public function searchRowLocation( $r, $count, $secCount ) {
$IPBHTML = "";
if( $secCount > 10 )
{
if( !$this->startedHidePages )
{
$this->startedHidePages = true;
$IPBHTML .= <<<EOF
</ol>
<div id='hidePages' style='display:none;'>
<ol style='margin-top:0px;'>
EOF;
}
}
//--starthtml--//
$IPBHTML .= <<<EOF
<li><a href='{$this->settings['_base_url']}{$r['fullurl']}'>{$r['title']}</a></li>
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* Live search template
*
* @access public
* @return string HTML
*/
public function liveSearchTemplate() {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
<div id='search_stem'></div>
<div id='search_inner'>
<h3 class='bar'>{$this->lang->words['ls_quick_search']}</h3>
<div id='ajax_result'></div>
</div>
EOF;
//--endhtml--//
return $IPBHTML;
}
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.1.4
* ACP live search skin file
* Last Updated: $Date: 2010-07-06 11:07:25 -0400 (Tue, 06 Jul 2010) $
* </pre>
*
* @author $Author: matt $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 6604 $
*/
class cp_skin_livesearch extends output
{
/**
* Currently hiding settings
*
* @access private
* @var bool
*/
private $startedHideSettings = false;
/**
* Currently hiding page links
*
* @access private
* @var bool
*/
private $startedHidePages = false;
/**
* Currently hiding members
*
* @access private
* @var bool
*/
private $startedHideMembers = false;
/**
* Entries until hidden
*
* @access private
* @var bool
*/
private $displayRows = 8;
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* Display the live search results
*
* @access public
* @param array Results
* @param string Current search term
* @return string HTML
*/
public function liveSearchDisplay( $results, $search_term ) {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
<ul>
EOF;
if( count($results) )
{
foreach( $results as $key => $output )
{
if( $key == 'settings' )
{
$text = $this->lang->words['ls_settings'];
}
else if( $key == 'location' )
{
$text = $this->lang->words['ls_acppages'];
}
else if( $key == 'members' )
{
$text = $this->lang->words['ls_members'];
}
else if( $key == 'groupLangs' )
{
$text = $this->lang->words['ls_groups'];
}
else if( $key == 'groups' )
{
$text = $this->lang->words['ls_grouptitles'];
}
else if( $key == 'forums' )
{
$text = $this->lang->words['ls_forums'];
}
if( !$output )
{
continue;
}
$IPBHTML .= <<<EOF
<li>
<span class='section'>{$text} <img src='{$this->settings['skin_acp_url']}/_newimages/icons_livesearch/{$key}.png' alt='{$this->lang->words['icon']}' /></span>
<ol>
{$output}
</ol>
EOF;
// If we started hidding members, we need to stop hiding them now...
if( $key == 'members' AND $this->startedHideMembers )
{
$this->startedHideMembers = false;
$IPBHTML .= <<<EOF
</div>
<div style='text-align: center;' id='hideMembersShow'>
<a href='#' onclick="$('hideMembersShow').hide();$('hideMembers').show();clearTimeout( ACPLiveSearch.searchTimer['hide'] );return false;">{$this->lang->words['ls_view_more_mem']}</a>
</div>
EOF;
}
// If we started hiding forums, we need to stop hiding them now...
else if( $key == 'forums' AND $this->startedHideForums )
{
$this->startedHideForums = false;
$IPBHTML .= <<<EOF
</div>
<div style='text-align: center;' id='hideForumsShow'>
<a href='#' onclick="$('hideForumsShow').hide();$('hideForums').show();clearTimeout( ACPLiveSearch.searchTimer['hide'] );return false;">{$this->lang->words['ls_view_more_forums']}</a>
</div>
EOF;
}
// If we started hidding groups, we need to stop hiding them now...
else if( $key == 'groups' AND $this->startedHideGroups )
{
$this->startedHideGroups = false;
$IPBHTML .= <<<EOF
</div>
<div style='text-align: center;' id='hideGroupsShow'>
<a href='#' onclick="$('hideGroupsShow').hide();$('hideGroups').show();clearTimeout( ACPLiveSearch.searchTimer['hide'] );return false;">{$this->lang->words['ls_view_more_groups']}</a>
</div>
EOF;
}
// If we started hidding settings, we need to stop hiding them now...
else if( $key == 'settings' AND $this->startedHideSettings )
{
$this->startedHideSettings = false;
$IPBHTML .= <<<EOF
</div>
<div style='text-align: center;' id='hideSettingsShow'>
<a href='#' onclick="$('hideSettingsShow').hide();$('hideSettings').show();clearTimeout( ACPLiveSearch.searchTimer['hide'] );return false;">{$this->lang->words['ls_view_more_settings']}</a>
</div>
EOF;
}
// If we started hidding pages, we need to stop hiding them now...
else if( $key == 'location' AND $this->startedHidePages )
{
$this->startedHidePages = false;
$IPBHTML .= <<<EOF
</div>
<div style='text-align: center;' id='hidePagesShow'>
<a href='#' onclick="$('hidePagesShow').hide();$('hidePages').show();clearTimeout( ACPLiveSearch.searchTimer['hide'] );return false;">{$this->lang->words['ls_view_more_acp']}</a>
</div>
EOF;
}
$IPBHTML .= <<<EOF
</li>
EOF;
}
}
else
{
$IPBHTML .= <<<EOF
<li><em>{$this->lang->words['lsnoresults']}</em></li>
EOF;
}
$IPBHTML .= <<<EOF
</ul>
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* Group language results
*
* @access public
* @return string HTML
*/
public function searchRowGroups() {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
<li><a href='{$this->settings['_base_url']}app=members&amp;module=groups&amp;section=groups&amp;do=groups_overview'>{$this->lang->words['ls_groupresults']}</a></li>
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* Group title results
*
* @access public
* @param array Result
* @param int Section count
* @return string HTML
*/
public function searchRowGroupsTitles( $r, $secCount ) {
$IPBHTML = "";
if( $secCount > 10 )
{
if( !$this->startedHideGroups )
{
$this->startedHideGroups = true;
$IPBHTML .= <<<EOF
</ol>
<div id='hideGroups' style='display:none;'>
<ol style='margin-top:0px;'>
EOF;
}
}
//--starthtml--//
$IPBHTML .= <<<EOF
<li><a href='{$this->settings['_base_url']}&amp;app=members&amp;module=groups&amp;section=groups&amp;do=edit&id={$r['g_id']}'>{$r['g_title']}</a></li>
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* Result for member
*
* @access public
* @param array Result
* @param int Section count
* @return string HTML
*/
public function searchRowMember( $r, $secCount ) {
$IPBHTML = "";
//--starthtml--//
if( $secCount > $this->displayRows )
{
if( !$this->startedHideMembers )
{
$this->startedHideMembers = true;
$IPBHTML .= <<<EOF
</ol>
<div id='hideMembers' style='display:none;'>
<ol style='margin-top:0px;'>
EOF;
}
}
$text = $r[ $r['_matched'] ];
$IPBHTML .= <<<EOF
<li><a href='{$this->settings['_base_url']}&amp;app=members&amp;module=members&amp;section=members&amp;do=viewmember&amp;member_id={$r['member_id']}'>{$text} ({$this->lang->words['livesearchmemid']} {$r['member_id']})</a></li>
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* Result for forums
*
* @access public
* @param array Result
* @param int Section count
* @return string HTML
*/
public function searchRowForums( $r, $secCount ) {
$IPBHTML = "";
//--starthtml--//
if( $secCount > $this->displayRows )
{
if( !$this->startedHideForums )
{
$this->startedHideForums = true;
$IPBHTML .= <<<EOF
</ol>
<div id='hideForums' style='display:none;'>
<ol style='margin-top:0px;'>
EOF;
}
}
$IPBHTML .= <<<EOF
<li><a href='{$this->settings['_base_url']}&amp;app=forums&amp;module=forums&amp;section=forums&amp;do=edit&amp;f={$r['id']}'>{$r['name']}</a></li>
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* Result for settings
*
* @access public
* @param array Result
* @param int Section count
* @return string HTML
*/
public function searchRowSetting( $r, $secCount ) {
$IPBHTML = "";
//--starthtml--//
if( $secCount > $this->displayRows )
{
if( !$this->startedHideSettings )
{
$this->startedHideSettings = true;
$IPBHTML .= <<<EOF
</ol>
<div id='hideSettings' style='display:none;'>
<ol style='margin-top:0px;'>
EOF;
}
}
$IPBHTML .= <<<EOF
<li><a href='{$this->settings['_base_url']}&amp;app=core&amp;module=tools&amp;section=settings&amp;do=setting_view&amp;conf_group={$r['conf_group']}&amp;search={$this->request['search_term']}'>{$r['conf_title']}</a></li>
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* Result for acp pages
*
* @access public
* @param array Result
* @param int Section count
* @return string HTML
*/
public function searchRowLocation( $r, $secCount ) {
$IPBHTML = "";
if( $secCount > $this->displayRows )
{
if( !$this->startedHidePages )
{
$this->startedHidePages = true;
$IPBHTML .= <<<EOF
</ol>
<div id='hidePages' style='display:none;'>
<ol style='margin-top:0px;'>
EOF;
}
}
//--starthtml--//
$IPBHTML .= <<<EOF
<li><a href='{$this->settings['_base_url']}{$r['fullurl']}'>{$r['title']}</a></li>
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* Live search template
*
* @access public
* @return string HTML
*/
public function liveSearchTemplate() {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
<div id='search_stem'></div>
<div id='search_inner'>
<h3 class='bar'>{$this->lang->words['ls_quick_search']}</h3>
<div id='ajax_result'></div>
</div>
EOF;
//--endhtml--//
return $IPBHTML;
}
}
@@ -0,0 +1,107 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.1.4
* Error log skin file
* Last Updated: $Date: 2010-02-18 20:29:54 -0500 (Thu, 18 Feb 2010) $
* </pre>
*
* @author $Author: josh $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 5855 $
*/
class cp_skin_mobilelogs extends output
{
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* Mobile log wrapper
*
* @access public
* @param array Rows
* @param string Page links
* @return string HTML
*/
public function mobileLogsWrapper( $rows, $links ) {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<script type='text/javascript' src='{$this->settings['js_main_url']}acp.forms.js'></script>
<form action='{$this->settings['base_url']}{$this->form_code}' method='post' name='theAdminForm' id='theAdminForm'>
<input type='hidden' name='do' value='remove' />
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->generated_acp_hash}' />
<div class="acp-box">
<h3>{$this->lang->words['mlog_mobilelogs']}</h3>
<table class='alternate_rows' width='100%'>
<tr>
<th width='5%'>{$this->lang->words['mlog_list_id']}</th>
<th width='20%'>{$this->lang->words['mlog_list_date']}</th>
<th width='35%'>{$this->lang->words['mlog_list_notification']}</th>
<th width='25%'>{$this->lang->words['mlog_list_member']}</th>
<th width='10%'>{$this->lang->words['mlog_list_sent']}</th>
<th width='3%'><input type='checkbox' title="{$this->lang->words['my_checkall']}" id='checkAll' /></th>
</tr>
HTML;
if( count( $rows ) AND is_array( $rows ) )
{
foreach( $rows as $row )
{
$IPBHTML .= <<<HTML
<tr>
<td>{$row['id']}</td>
<td>{$row['_time']}</td>
<td>{$row['notify_title']}</td>
<td>{$row['members_display_name']}</td>
<td><img src='{$this->settings['skin_acp_url']}/images/{$row['_sent']}' alt='-' /></td>
<td><input type='checkbox' name='id_{$row['id']}' value='1' class='checkAll' /></td>
</tr>
HTML;
}
}
else
{
$IPBHTML .= <<<HTML
<tr>
<td colspan='7' align='center'><strong>{$this->lang->words['mobilog_noresults']}</strong></td>
</tr>
HTML;
}
$IPBHTML .= <<<HTML
</table>
<div class='acp-actionbar'>
<div class='leftaction'>
{$links}
</div>
<div class='rightaction'>
<input type="checkbox" id="checkbox" name="type" value="all" />&nbsp;{$this->lang->words['erlog_removeall']}&nbsp;<input type="submit" value="{$this->lang->words['erlog_removechecked']}" class="button primary" />
</div>
</div>
</div>
</form>
HTML;
//--endhtml--//
return $IPBHTML;
}
}
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Moderator log skin file
* Last Updated: $Date: 2009-09-22 11:55:32 -0400 (Tue, 22 Sep 2009) $
* Last Updated: $Date: 2010-01-15 10:18:44 -0500 (Fri, 15 Jan 2010) $
* </pre>
*
* @author $Author: matt $
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 5139 $
* @version $Revision: 5713 $
*/
class cp_skin_modlogs extends output
@@ -1,19 +1,21 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Dashboard skin file
* Last Updated: $Date: 2009-10-23 21:23:07 -0400 (Fri, 23 Oct 2009) $
* Last Updated: $Date: 2010-06-30 09:58:05 -0400 (Wed, 30 Jun 2010) $
* </pre>
*
* @author $Author: bfarber $
* @author $Author: mark $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 5283 $
* @version $Revision: 6590 $
*/
class cp_skin_mycp extends output
@@ -39,172 +41,58 @@ public function __destruct()
* @param array URLs
* @return string HTML
*/
public function mainTemplate( $content, $forums, $groups, $urls=array() ) {
public function mainTemplate( $content, $forums, $groups, $urls=array(), $nagEntries=array() ) {
$welcome = sprintf( $this->lang->words['cp_welcomeipb3'], IPB_VERSION );
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
<div class='section_title'>
<h2>{$this->lang->words['cp_welcomeipb3']}</h2>
<h2>{$welcome}</h2>
</div>
<!--in_dev_notes-->
<!--in_dev_check-->
<!--warningconverter-->
<!--warninginstaller-->
<!--warningupgrade-->
<!--boardoffline-->
<!--fulltext-->
EOF;
if( is_array( $nagEntries ) && count( $nagEntries ) )
{
foreach( $nagEntries as $r )
{
$IPBHTML .= <<<EOF
<div class='information-box'>
<h4><img src='{$this->settings['skin_acp_url']}/_newimages/icons/bullet_error.png' />{$r[0]}</h4>
{$r[1]}
</div>
<br />
EOF;
}
}
$IPBHTML .= <<<EOF
<div id='dashboard'>
<div id='quick_start'>
<table width='100%' cellpadding='0' cellspacing='0'>
<tr>
<td>
<a href='{$this->settings['_base_url']}app=members&amp;module=members&amp;section=members' title='{$this->lang->words['cp_managemembers']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/user_edit.png' border='0' alt='{$this->lang->words['cp_managemembers']}' /> {$this->lang->words['cp_managemembers']}</a>
</td>
<td>
<a href='{$this->settings['_base_url']}app=core&amp;module=tools&amp;section=settings&amp;do=settingsview' title='{$this->lang->words['cp_editsettings']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/cog_edit.png' border='0' alt='{$this->lang->words['cp_editsettings']}' /> {$this->lang->words['cp_editsettings']}</a>
</td>
<td>
<a href='{$this->settings['_base_url']}app=core&amp;module=templates&amp;section=skinsets' title='{$this->lang->words['cp_skinmanager']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/folder_palette.png' border='0' alt='{$this->lang->words['cp_skinmanager']}' /> {$this->lang->words['cp_skinmanager']}</a>
</td>
</tr>
<tr>
<td>
<a href='{$this->settings['_base_url']}app=members&amp;module=groups&amp;section=groups&amp;do=groups_overview' title='{$this->lang->words['cp_managegroups']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/group.png' border='0' alt='{$this->lang->words['cp_managegroups']}' /> {$this->lang->words['cp_managegroups']}</a>
</td>
<td>
<a href='{$this->settings['_base_url']}app=members&amp;module=members&amp;section=tools&amp;do=validating' title='{$this->lang->words['cp_managevalidating']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/user_warn.png' border='0' alt='{$this->lang->words['cp_managevalidating']}' /> {$this->lang->words['cp_managevalidating']}</a>
</td>
<td>
<a href='{$this->settings['_base_url']}app=core&amp;module=languages&amp;section=manage_languages' title='{$this->lang->words['cp_langmanager']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/book_next.png' border='0' alt='{$this->lang->words['cp_langmanager']}' /> {$this->lang->words['cp_langmanager']}</a>
</td>
</tr>
<tr>
<td>
<a href='{$this->settings['_base_url']}app=forums&amp;module=forums&amp;section=forums' title='{$this->lang->words['cp_manageforums']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/comments.png' border='0' alt='{$this->lang->words['cp_manageforums']}' /> {$this->lang->words['cp_manageforums']}</a>
</td>
<td>
<a href='{$this->settings['_base_url']}app=members&amp;module=bulkmail&amp;section=bulkmail&amp;do=bulk_mail' title='{$this->lang->words['cp_bulkmailer']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/email_add.png' border='0' alt='{$this->lang->words['cp_bulkmailer']}' /> {$this->lang->words['cp_bulkmailer']}</a>
</td>
<td>
<a href='{$this->settings['_base_url']}app=core&amp;module=posts&amp;section=emoticons' title='{$this->lang->words['cp_emoticonmanager']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/emoticon_grin.png' border='0' alt='{$this->lang->words['cp_emoticonmanager']}' /> {$this->lang->words['cp_emoticonmanager']}</a>
</td>
</tr>
</table>
</div>
<br />
<div id='search_and_stats'>
<div id='quick_search' class='acp-box'>
<h3>{$this->lang->words['cp_quicksearch']}</h3>
<table width='100%' cellpadding='0' cellspacing='0' border='0' class='alternate_rows'>
<tr>
<td style='width: 40%'>{$this->lang->words['cp_find']} <strong>{$this->lang->words['cp_members']}</strong>:</td>
<td style='width: 60%'>
<form action='{$this->settings['_base_url']}&amp;app=members&amp;module=members&amp;section=members&amp;do=members_list&amp;__update=1&amp;f_member_contains_type=contains&amp;f_member_contains=members_display_name' method='post'><input type='text' size='20' class='textinput' id='members_display_name' name='f_member_contains_text' value='' /> <input type='submit' value='{$this->lang->words['cp_go']}' class='realbutton' onclick='return ACPHomepage.editMember()' /></form>
</td>
</tr>
<tr>
<td>{$this->lang->words['cp_find']} <strong>{$this->lang->words['cp_systemsettings']}</strong>:</td>
<td>
<form name='settingform' id='settingform' action='{$this->settings['_base_url']}&amp;app=core&amp;module=tools&amp;section=settings&amp;do=setting_view' method='post'><input type='text' size='20' class='textinput' name='search' value='' /> <input type='submit' value='{$this->lang->words['cp_go']}' class='realbutton' /></form>
</td>
</tr>
<tr>
<td>{$this->lang->words['cp_find']} <strong>{$this->lang->words['cp_ipaddresses']}</strong>:</td>
<td>
<form name='ipform' id='ipform' action='{$this->settings['_base_url']}&amp;app=members&amp;module=members&amp;section=tools&amp;do=learn_ip' method='post'><input type='text' size='20' class='textinput' name='ip' value='' /> <input type='submit' value='{$this->lang->words['cp_go']}' class='realbutton' /></form>
</td>
</tr>
<tr>
<td>{$this->lang->words['cp_edit']} <strong>{$this->lang->words['cp_usergroup']}</strong>:</td>
<td>
<form name='newmem' id='newmem' action='{$this->settings['base_url']}&amp;app=members&amp;module=groups&amp;section=groups&amp;do=edit' method='post'><select name='id'>{$groups}</select> <input type='submit' value='{$this->lang->words['cp_go']}' class='realbutton' /></form>
</td>
</tr>
</table>
</div>
<div id='stats_overview' class='acp-box'>
<h3>{$this->lang->words['cp_systemstats']}</h3>
<table width='100%' cellpadding='0' cellspacing='0' class='alternate_rows'>
{$content['stats']}
</table>
</div>
</div>
<br />
<div id='notes_and_news'>
<div id='admin_notes' class='acp-box'>
<h3>{$this->lang->words['cp_adminnotes']}</h3>
<form action='{$this->settings['base_url']}&amp;app=core&amp;module=mycp&amp;section=dashboard&amp;save=1' method='post'>
<table width='100%' cellpadding='0' cellspacing='0' border='0'>
{$content['ad_notes']}
</table>
</form>
</div>
<!-- Version Check -->
<div id='ips_update_wrapper' style='display:none'>
<!-- Security Update -->
<div id='ips_update_security' class='acp-box' style='display:none'>
<h3>{$this->lang->words['cp_securityupdate']}</h3>
<p style='text-align:center'>
{$this->lang->words['cp_version']} <strong><span id='acp-version-security'></span></strong> {$this->lang->words['cp_securityupdate']}!
<br />
<input type='button' onclick='upgradeMoreInfo()' class='button' value='{$this->lang->words['cp_moreinformation']}' />
<input type='button' onclick='resetContinue()' class='button' value='{$this->lang->words['cp_resetwarning']}' />
</p>
</div>
<!-- Normal Version Upgrade -->
<div id='ips_update_update' class='acp-box' style='display:none'>
<h3>{$this->lang->words['cp_newversion']}</h3>
<p style='text-align:center'>
{$this->lang->words['cp_version']} <strong><span id='acp-version-update'></span></strong> {$this->lang->words['cp_updateavailable']}!
<br />
<input type='button' onclick='upgradeMoreInfo()' class='button' value='{$this->lang->words['cp_moreinformation']}' />
</p>
</div>
<!-- Normal Version Upgrade -->
<div id='ips_update_normal' class='acp-box' style='display:none'>
<h3>{$this->lang->words['cp_newversion']}</h3>
<p style='text-align:center'>
{$this->lang->words['cp_version']} <strong><span id='acp-version-normal'></span></strong> {$this->lang->words['cp_availablenow']}!
<br />
<input type='button' onclick='upgradeMoreInfo()' class='button' value='{$this->lang->words['cp_moreinformation']}' />
</p>
</div>
</div>
<!--IPS WIDGETS-->
<div id='ips_news' class='acp-box'>
<h3>{$this->lang->words['cp_ipslatestnews']}</h3>
<div id='ips_news_content'></div>
</div>
</div>
<div id='blog_and_bulletin'>
<div id='ips_blog' class='acp-box'>
<h3>{$this->lang->words['cp_ipsblogs']}</h3>
<div id='ips_blog_content'></div>
</div>
<div id='ips_supportbox' class='acp-box'>
<h3>{$this->lang->words['cp_ipsbulletin']}</h3>
<p id='ips_supportbox_content'></p>
</div>
<!--IPS WIDGETS-->
</div>
<div id='admin_boxes'>
<div id='active_admins' class='acp-box'>
<h3>{$this->lang->words['cp_activeadmins']}</h3>
{$content['acp_online']}
<div style='float:left; width:49%'>
<div class='acp-box'>
<h3>{$this->lang->words['cp_activeadmins']}</h3>
{$content['acp_online']}
</div>
<br />
<div class='acp-box'>
<h3>{$this->lang->words['cp_adminnotes']}</h3>
<form action='{$this->settings['base_url']}&amp;app=core&amp;module=mycp&amp;section=dashboard&amp;save=1' method='post'>
<table width='100%'>
{$content['ad_notes']}
</table>
</form>
</div>
</div>
<!--acplogins-->
</div>
</div>
@@ -226,224 +114,6 @@ $IPBHTML .= <<<EOF
</div>
<!-- / HIDDEN "INFORMATION" DIV -->
<script type='text/javascript'>
function upgradeMoreInfo()
{
curPop = new ipb.Popup( 'acpVersionInfo', {
type: 'pane',
modal: true,
initial: $('acp-update-info-wrapper').innerHTML,
hideAtStart: false,
w: '400px',
h: '150px'
});
return false;
}
function upgradeContinue()
{
acp.openWindow( IPSSERVER_download_link, 800, 600 );
}
/* Warning CONTINUE / CANCEL */
function resetContinue()
{
if ( confirm( "{$this->lang->words['cp_wannareset']}" ) )
{
acp.redirect( ipb.vars['base_url'] + "&amp;app=core&amp;module=mycp&amp;section=dashboard&amp;reset_security_flag=1&amp;new_build=" + IPSSERVER_download_ve + "&amp;new_reason=" + IPSSERVER_download_vt, 1 );
}
}
/* Set up global vars */
var _newsFeed = null;
var _blogFeed = null;
var _versionCheck = null;
var _keithFeed = null;
/* ---------------------- */
/* ONLOAD: IPS widgets */
/* ---------------------- */
function onload_ips_widgets()
{
var head = $$('head')[0];
/* Grab files */
head.insert( new Element('script', { src: "{$urls['news']}", 'type': 'text/javascript' } ) );
head.insert( new Element('script', { src: "{$urls['blogs']}", 'type': 'text/javascript' } ) );
head.insert( new Element('script', { src: "{$urls['version_check']}", 'type': 'text/javascript' } ) );
head.insert( new Element('script', { src: "{$urls['keiths_bits']}", 'type': 'text/javascript' } ) );
/* ---------------------- */
/* Feeds */
/* ---------------------- */
_newsFeed = setTimeout( '_newsFeedFunction()', 1000 );
_blogFeed = setTimeout( '_blogFeedFunction()', 1000 );
/* ---------------------- */
/* Update boxes */
/* ---------------------- */
_versionCheck = setTimeout( '_versionCheckFunction()', 1000 );
/* ---------------------- */
/* Load Keith */
/* ---------------------- */
_keithFeed = setTimeout( '_keithFeedFunction()', 1000 );
}
/* ---------------------- */
/* Keith Feed YumYum */
/* ---------------------- */
function _keithFeedFunction()
{
if ( typeof( IPS_KEITH_CONTENT ) != 'undefined' )
{
clearTimeout( _keithFeed );
if ( IPS_KEITH_CONTENT && IPS_KEITH_CONTENT != 'none' )
{
/* Show version numbers */
$( 'ips_supportbox_content' ).innerHTML = IPS_KEITH_CONTENT.replace( /&#0039;/g, "'" );
}
}
else
{
_keithFeed = setTimeout( '_keithFeedFunction()', 1000 );
}
}
/* ---------------------- */
/* Version Check */
/* ---------------------- */
function _versionCheckFunction()
{
if ( typeof( IPSSERVER_update_type ) != 'undefined' )
{
clearTimeout( _versionCheck );
if ( IPSSERVER_update_type && IPSSERVER_update_type != 'none' )
{
var _show = '';
var _text = '';
switch( IPSSERVER_update_type )
{
case 'security':
_show = 'ips_update_security';
_text = 'acp-version-security';
break;
case 'update':
_show = 'ips_update_update';
_text = 'acp-version-update';
break;
case 'normal':
_show = 'ips_update_normal'
_text = 'acp-version-normal';
break;
}
$( _show ).style.display = '';
$( 'ips_update_wrapper' ).style.display = '';
/* Show version numbers */
$( _text ).innerHTML = IPSSERVER_download_vh;
}
}
else
{
_versionCheck = setTimeout( '_versionCheckFunction()', 1000 );
}
}
/* ---------------------- */
/* BLOG FEED */
/* ---------------------- */
function _blogFeedFunction()
{
if ( typeof( ipsBlogFeed ) != 'undefined' )
{
clearTimeout( _blogFeed );
eval( ipsBlogFeed );
var finalString = '';
var _len = ipsBlogFeed['items'].length;
if( typeof( ipsBlogFeed['error'] ) == 'undefined' )
{
for( i = 0; i < _len; i++ )
{
var _style = ( i + 1 < _len ) ? 'padding:2px;border-bottom:1px dotted black' : 'padding:2px';
var _title = ( ipsBlogFeed['items'][i]['title'].length > 50 ) ? ipsBlogFeed['items'][i]['title'].substr( 0, 47 ) + '...' : ipsBlogFeed['items'][i]['title'];
finalString += "<div style='" + _style + "'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/ipsnews_item.gif' border='0' /> <a href='" + ipsBlogFeed['items'][i]['link'] + "' target='_blank' style='text-decoration:none'title='" + ipsBlogFeed['items'][i]['title'] + "'>" + _title + "</a></div>\\n";
}
}
if ( finalString )
{
$( 'ips_blog_content' ).innerHTML = finalString;
}
else
{
$( 'ips_blog' ).style.display = 'none';
}
}
else
{
_blogFeed = setTimeout( '_blogFeedFunction()', 1000 );
}
}
/* ---------------------- */
/* NEWS FEED */
/* ---------------------- */
function _newsFeedFunction()
{
if ( typeof( ipsNewsFeed ) != 'undefined' )
{
clearTimeout( _newsFeed );
eval( ipsNewsFeed );
var finalString = '';
var _len = ipsNewsFeed['items'].length;
if( typeof( ipsNewsFeed['error'] ) == 'undefined' )
{
for( i = 0; i < _len; i++ )
{
var _style = ( i + 1 < _len ) ? 'padding:2px;border-bottom:1px dotted black' : 'padding:2px';
var _title = ( ipsNewsFeed['items'][i]['title'].length > 50 ) ? ipsNewsFeed['items'][i]['title'].substr( 0, 47 ) + '...' : ipsNewsFeed['items'][i]['title'];
finalString += "<div style='" + _style + "'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/ipsnews_item.gif' border='0' /> <a href='" + ipsNewsFeed['items'][i]['link'] + "' target='_blank' style='text-decoration:none' title='" + ipsNewsFeed['items'][i]['title'] + "'>" + _title + "</a></div>\\n";
}
}
if ( finalString )
{
$( 'ips_news_content' ).innerHTML = finalString;
}
else
{
$( 'ips_news' ).style.display = 'none';
}
}
else
{
_newsFeed = setTimeout( '_newsFeedFunction()', 1000 );
}
}
/* Set up onload event */
Event.observe( window, 'load', onload_ips_widgets );
//]]>
</script>
EOF;
//--endhtml--//
@@ -468,7 +138,7 @@ $IPBHTML .= <<<EOF
<div class='dashboard_header'>{$this->lang->words['cp_adminvalidationqueue']}</div>
{$content}
<div align='right'>
<a href='{$this->settings['base_url']}&amp;app=members&amp;module=members&amp;section=tools&amp;do=validating' style='text-decoration:none'>{$this->lang->words['cp_more']} &raquo;</a>
<a href='{$this->settings['base_url']}&amp;app=members&amp;module=members&amp;section=tools&amp;do=validating' style='text-decoration:none'>{$this->lang->words['cp_more']} {$this->lang->words['_raquo']}</a>
</div>
</div>
<br />
@@ -495,8 +165,8 @@ $data['url'] = $this->registry->output->buildSEOUrl( $this->settings['board_url'
$IPBHTML .= <<<EOF
<div class='dashboard_sub_row_alt'>
<div style='float:right;'>
<a href='{$this->settings['_base_url']}&amp;app=members&amp;module=members&amp;section=tools&amp;do=domod&amp;_admin_auth_key={$this->registry->getClass('adminFunctions')->_admin_auth_key}&amp;mid_{$data['member_id']}=1&amp;type=approve'><img src='{$this->settings['skin_acp_url']}/images/aff_tick.png' alt='{$this->lang->words['cp_yes']}' class='ipd' /></a>&nbsp;
<a href='{$this->settings['_base_url']}&amp;app=members&amp;module=members&amp;section=tools&amp;do=domod&amp;_admin_auth_key={$this->registry->getClass('adminFunctions')->_admin_auth_key}&amp;mid_{$data['member_id']}=1&amp;type=delete'><img src='{$this->settings['skin_acp_url']}/images/aff_cross.png' alt='{$this->lang->words['cp_no']}' class='ipd' /></a>
<a href='{$this->settings['_base_url']}&amp;app=members&amp;module=members&amp;section=tools&amp;do=domod&amp;_admin_auth_key={$this->registry->getClass('adminFunctions')->_admin_auth_key}&amp;mid_{$data['member_id']}=1&amp;type=approve'><img src='{$this->settings['skin_acp_url']}/images/aff_tick.png' alt='{$this->lang->words['cp_yes']}' /></a>&nbsp;
<a href='{$this->settings['_base_url']}&amp;app=members&amp;module=members&amp;section=tools&amp;do=domod&amp;_admin_auth_key={$this->registry->getClass('adminFunctions')->_admin_auth_key}&amp;mid_{$data['member_id']}=1&amp;type=delete'><img src='{$this->settings['skin_acp_url']}/images/aff_cross.png' alt='{$this->lang->words['cp_no']}' /></a>
</div>
<div>
<strong><a href='{$data['url']}' target='_blank'>{$data['members_display_name']}</a></strong>{$data['_coppa']}<br />
@@ -511,27 +181,6 @@ EOF;
return $IPBHTML;
}
/**
* Show warning that converter is still present
*
* @access public
* @param int Converter flag
* @return string HTML
*/
public function warning_converter( $converter ) {
$IPBHTML = "";
//--starthtml--//
$this->lang->words['cp_warning_converter'] = sprintf( $this->lang->words['cp_warning_converter'], $this->settings['_base_url'] );
$IPBHTML .= <<<EOF
{$this->lang->words['cp_warning_converter']}
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* Show the ACP notes block
@@ -577,7 +226,7 @@ $IPBHTML = "";
$IPBHTML .= <<<EOF
<tr>
<td width='1' valign='middle'>
<img src='{$this->settings['skin_acp_url']}/images/{$r['_admin_img']}' border='0' alt='-' class='ipd' />
<img src='{$this->settings['skin_acp_url']}/images/{$r['_admin_img']}' alt='-' />
</td>
<td class=''>
<strong>{$r['admin_username']}</strong>
@@ -586,7 +235,7 @@ $IPBHTML .= <<<EOF
</div>
</td>
<td class=''>
<a href='#' onclick="return acp.openWindow('{$this->settings['base_url']}module=system&amp;section=loginlog&amp;do=view_detail&amp;detail={$r['admin_id']}', 400, 400)" title='Подробнее'><img src='{$this->settings['skin_acp_url']}/images/folder_components/index/view.png' border='0' alt='-' class='ipd' title='{$this->lang->words['cp_view']}' /></a>
<a href='#' onclick="return acp.openWindow('{$this->settings['base_url']}module=system&amp;section=loginlog&amp;do=view_detail&amp;detail={$r['admin_id']}', 400, 400)" title='Подробнее'><img src='{$this->settings['skin_acp_url']}/images/folder_components/index/view.png' alt='-' title='{$this->lang->words['cp_view']}' /></a>
</td>
</tr>
EOF;
@@ -608,13 +257,13 @@ $IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
<div id='admin_logins' class="acp-box">
<div class="acp-box" style='float:right; width:49%'>
<h3>{$this->lang->words['cp_latestadminlogins']}</h3>
<table cellspacing='0' cellpadding='0' border='0' width='100%'>
<table width='100%'>
{$content}
</table>
<div class="more">
<a href='{$this->settings['base_url']}&amp;app=core&amp;module=system&amp;section=loginlog' style='text-decoration:none'>{$this->lang->words['cp_more']} &raquo;</a>
<a href='{$this->settings['base_url']}&amp;app=core&amp;module=system&amp;section=loginlog' style='text-decoration:none'>{$this->lang->words['cp_more']} {$this->lang->words['_raquo']}</a>
</div>
</div>
EOF;
@@ -690,14 +339,14 @@ $IPBHTML = "";
$IPBHTML .= <<<EOF
<tr>
<td class='tablerow1' width='1' valign='middle'>
<img src='{$this->settings['skin_acp_url']}/images/folder_components/index/user.png' border='0' alt='-' class='ipd' />
<td width='1'>
<img src='{$this->settings['skin_acp_url']}/images/folder_components/index/user.png' alt='-' />
</td>
<td class='tablerow1'>
<b>{$rowb['members_display_name']}</b>
<td>
<b>{$rowb['members_display_name']}</b>
<div class='desctext'>{$this->lang->words['cp_ip']}: {$rowb['ip_address']}</div>
</td>
<td class='tablerow2'>{$rowb['_ctime']}</td>
</td>
<td>{$rowb['_ctime']}</td>
</tr>
EOF;
@@ -729,7 +378,7 @@ $IPBHTML .= <<<EOF
$content
</table>
<div class='tablefooter' align='right'>
<a href='{$this->settings['base_url']}&amp;app=core&amp;module=logs&amp;section=adminlogs' style='text-decoration:none'>{$this->lang->words['cp_more']} &raquo;</a>
<a href='{$this->settings['base_url']}&amp;app=core&amp;module=logs&amp;section=adminlogs' style='text-decoration:none'>{$this->lang->words['cp_more']} {$this->lang->words['_raquo']}</a>
</div>
</div>
@@ -740,85 +389,6 @@ return $IPBHTML;
}
/**
* ACP Statistics wrapper
*
* @access public
* @param array Content
* @return string HTML
*/
public function acp_stats_wrapper($content) {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
<tr>
<td>
<strong>{$this->lang->words['cp_totalmembers']}</strong>
<div class='sub desctext'>
{$this->lang->words['cp_onlinenow']}<br />
{$this->lang->words['cp_awaitingvalidation']}<br />
{$this->lang->words['cp_lockedaccounts']}<br />
{$this->lang->words['cp_coppaaccounts']}<br />
{$this->lang->words['cp_spammeraccounts']}
</div>
</td>
<td>
{$content['members']}
<div class='desctext'>
<a href='{$this->settings['board_url']}/index.php?app=members&amp;section=online&amp;module=online' target='_blank' title='{$this->lang->words['cp_onlinenow_info']}'>{$this->lang->words['cp_view']}</a> ({$content['sessions']})<br />
<a href='{$this->settings['base_url']}&amp;app=members&amp;module=members&amp;section=tools&amp;do=validating'>{$this->lang->words['cp_manage']}</a> ({$content['validate']})<br />
<a href='{$this->settings['base_url']}&amp;app=members&amp;module=members&amp;section=tools&amp;do=locked'>{$this->lang->words['cp_manage']}</a> ({$content['locked']})<br />
<a href='{$this->settings['base_url']}&amp;app=members&amp;module=members&amp;section=tools&amp;do=validating&amp;filter=coppa'>{$this->lang->words['cp_manage']}</a> ({$content['coppa']})<br />
<a href='{$this->settings['base_url']}&amp;app=members&amp;module=members&amp;section=tools&amp;do=spam'>{$this->lang->words['cp_manage']}</a> ({$content['spammer'][0]})
</div>
</td>
</tr>
<tr>
<td>
<strong>{$this->lang->words['cp_topics']}</strong>
<div class='sub desctext'>
{$this->lang->words['cp_awaitingmoderation']}
</div>
</td>
<td>{$content['topics']}<br /><span class='desctext'>{$content['topics_mod']}</span></td>
</tr>
<tr>
<td>
<strong>{$this->lang->words['cp_posts']}</strong>
<div class='sub desctext'>
{$this->lang->words['cp_awaitingmoderation']}
</div>
</td>
<td>{$content['replies']}<br /><span class='desctext'>{$content['posts_mod']}</span></td>
</tr>
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* Show a warning about the PHP version
*
* @access public
* @param string PHP version
* @return string HTML
*/
public function acp_php_version_warning( $phpversion ) {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
{$this->lang->words['cp_php_warning']}
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* Show a warning box
*
@@ -834,7 +404,7 @@ $IPBHTML = "";
$IPBHTML .= <<<EOF
<div class='warning'>
<h4><img src='{$this->settings['skin_acp_url']}/_newimages/icons/bullet_error.png' border='0' alt='{$this->lang->words['cp_error']}' /> {$title}</h4>
<h4><img src='{$this->settings['skin_acp_url']}/_newimages/icons/bullet_error.png' alt='{$this->lang->words['cp_error']}' /> {$title}</h4>
{$content}
</div>
EOF;
@@ -843,64 +413,6 @@ EOF;
return $IPBHTML;
}
/**
* Show warning that unlocked installer is present
*
* @access public
* @return string HTML
*/
public function warning_unlocked_installer() {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
{$this->lang->words['cp_unlocked_warning']}
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* Show unfinished upgrade warning
*
* @access public
* @return string HTML
*/
public function warning_upgrade() {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
{$this->lang->words['cp_upgrade_warning']}
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* Show locked installer present warning
*
* @access public
* @return string HTML
*/
public function warning_installer() {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
{$this->lang->words['cp_installer_warning']}
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* Show a warning that an emergency skin rebuild has occurred
*
@@ -969,7 +481,7 @@ $IPBHTML .= <<<EOF
<li class='head'><label>{$this->lang->words['change_pass_details']}</label></li>
<li class='acp-row-on'>
<label>{$this->lang->words['change__pass']}<span class='desctext'>{$this->lang->words['pw_will_logout']}</span></label>
<label>{$this->lang->words['change__pass']}<!--<span class='desctext'>{$this->lang->words['pw_will_logout']}</span>--></label>
<input class='textinput' type='password' name='password' size='30' />
</li>
<li class='acp-row-off'>
@@ -1,129 +1,131 @@
<?php
/**
* Invision Power Services
* IP.Board v3.0.5
* Performance mode skin file
* Last Updated: $Date: 2009-04-14 08:05:32 -0400 (Tue, 14 Apr 2009) $
*
* @author $Author: rikki $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 4455 $
*/
class cp_skin_performance extends output
{
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* Show the results from toggling the mode
*
* @access public
* @param bool Currently on or off
* @param array Actions that were taken
* @return string HTML
*/
public function toggleResults( $current, $actions=array() )
{
$IPBHTML = "";
//--starthtml--//
$text = $current ? "<div style='font-weight: bold; color: red; font-size: 22px;'>" . $this->lang->words['perf_on'] . "</div>" : "<div style='font-weight: bold; color: green; font-size: 22px;'>" . $this->lang->words['perf_off'] . "</div>";
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['perf_help_title']}</h2>
</div>
<div class='section_info'>
{$this->lang->words['perf_help_information']}
</div>
<div class='acp-box'>
<h3>{$this->lang->words['perf_current']}</h3>
<div class='acp-row_off' style='padding: 10px;'>
{$text}
</div>
HTML;
if( count($actions) )
{
$IPBHTML .= "<ul style='list-style: disc; margin-left: 40px'>";
foreach( $actions as $action )
{
$IPBHTML .= <<<HTML
<li style='padding: 3px 5px'>
{$action}
</li>
HTML;
}
$IPBHTML .= "</ul>";
}
$IPBHTML .= <<<HTML
<div class='acp-actionbar' style='padding-top: 12px'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=toggle' class='button'>{$this->lang->words['perf_toggle']}</a></div>
</div>
<br />
HTML;
//--endhtml--//
return $IPBHTML;
}
/**
* Show the overview page
*
* @access public
* @param string Content
* @return string HTML
*/
public function overview( $current )
{
$IPBHTML = "";
//--starthtml--//
$text = $current ? "<div style='font-weight: bold; color: red; font-size: 22px;'>" . $this->lang->words['perf_on'] . "</div>" : "<div style='font-weight: bold; color: green; font-size: 22px;'>" . $this->lang->words['perf_off'] . "</div>";
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['perf_help_title']}</h2>
</div>
<div class='section_info'>
{$this->lang->words['perf_help_information']}
</div>
<div class='acp-box'>
<h3>{$this->lang->words['perf_current']}</h3>
<div class='acp-row_off' style='padding: 10px;'>
{$text}
</div>
<div class='acp-actionbar' style='padding-top: 12px'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=toggle' class='button'>{$this->lang->words['perf_toggle']}</a></div>
</div>
<br />
HTML;
//--endhtml--//
return $IPBHTML;
}
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.1.4
* Performance mode skin file
* Last Updated: $Date: 2010-01-15 10:18:44 -0500 (Fri, 15 Jan 2010) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 5713 $
*/
class cp_skin_performance extends output
{
/**
* Prevent our main destructor being called by this class
*
* @access public
* @return void
*/
public function __destruct()
{
}
/**
* Show the results from toggling the mode
*
* @access public
* @param bool Currently on or off
* @param array Actions that were taken
* @return string HTML
*/
public function toggleResults( $current, $actions=array() )
{
$IPBHTML = "";
//--starthtml--//
$text = $current ? "<div style='font-weight: bold; color: red; font-size: 22px;'>" . $this->lang->words['perf_on'] . "</div>" : "<div style='font-weight: bold; color: green; font-size: 22px;'>" . $this->lang->words['perf_off'] . "</div>";
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['perf_help_title']}</h2>
</div>
<div class='section_info'>
{$this->lang->words['perf_help_information']}
</div>
<div class='acp-box'>
<h3>{$this->lang->words['perf_current']}</h3>
<div class='acp-row_off' style='padding: 10px;'>
{$text}
</div>
HTML;
if( count($actions) )
{
$IPBHTML .= "<ul style='list-style: disc; margin-left: 40px'>";
foreach( $actions as $action )
{
$IPBHTML .= <<<HTML
<li style='padding: 3px 5px'>
{$action}
</li>
HTML;
}
$IPBHTML .= "</ul>";
}
$IPBHTML .= <<<HTML
<div class='acp-actionbar' style='padding-top: 12px'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=toggle' class='button'>{$this->lang->words['perf_toggle']}</a></div>
</div>
<br />
HTML;
//--endhtml--//
return $IPBHTML;
}
/**
* Show the overview page
*
* @access public
* @param string Content
* @return string HTML
*/
public function overview( $current )
{
$IPBHTML = "";
//--starthtml--//
$text = $current ? "<div style='font-weight: bold; color: red; font-size: 22px;'>" . $this->lang->words['perf_on'] . "</div>" : "<div style='font-weight: bold; color: green; font-size: 22px;'>" . $this->lang->words['perf_off'] . "</div>";
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['perf_help_title']}</h2>
</div>
<div class='section_info'>
{$this->lang->words['perf_help_information']}
</div>
<div class='acp-box'>
<h3>{$this->lang->words['perf_current']}</h3>
<div class='acp-row_off' style='padding: 10px;'>
{$text}
</div>
<div class='acp-actionbar' style='padding-top: 12px'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=toggle' class='button'>{$this->lang->words['perf_toggle']}</a></div>
</div>
<br />
HTML;
//--endhtml--//
return $IPBHTML;
}
}
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Question and answer skin file
* Last Updated: $Date: 2009-04-02 11:17:56 -0400 (Thu, 02 Apr 2009) $
* Last Updated: $Date: 2010-01-15 10:18:44 -0500 (Fri, 15 Jan 2010) $
* </pre>
*
* @author $Author: matt $
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 4393 $
* @version $Revision: 5713 $
*/
class cp_skin_qanda extends output
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Cleanup and rebuild tools skin file
* Last Updated: $Date: 2009-11-16 12:37:20 -0500 (Mon, 16 Nov 2009) $
* Last Updated: $Date: 2010-01-15 10:18:44 -0500 (Fri, 15 Jan 2010) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 5414 $
* @version $Revision: 5713 $
*/
class cp_skin_rebuild extends output
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Report center skin file
* Last Updated: $Date: 2009-05-21 16:47:25 -0400 (Thu, 21 May 2009) $
* Last Updated: $Date: 2010-05-19 21:06:53 -0400 (Wed, 19 May 2010) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 4682 $
* @version $Revision: 6326 $
*/
class cp_skin_reports extends output
@@ -99,7 +101,7 @@ $IPBHTML .= $data['author'];
$IPBHTML .= <<<EOF
</td>
<td style='text-align: center'>
<a href="{$this->settings['base_url']}&amp;{$this->form_code}&amp;code=plugin_toggle&amp;plugin_id={$data['com_id']}" title='{$this->lang->words['r_toggleendis']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$data['_enabled_img']}' border='0' alt='YN' class='ipd' /></a>
<a href="{$this->settings['base_url']}&amp;{$this->form_code}&amp;code=plugin_toggle&amp;plugin_id={$data['com_id']}" title='{$this->lang->words['r_toggleendis']}'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$data['_enabled_img']}' alt='YN' /></a>
</td>
<td style='text-align: center'>
<img class='ipbmenu' id="menu{$data['com_id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['r_options']}' />
@@ -181,7 +183,7 @@ public function report_status_row( $data ) {
$IPBHTML .= <<<EOF
<li id='status_{$data['status']}'>
<table width='100%' cellpadding='0' cellspacing='0' border='0' class='hierarchy double_pad'>
<table width='100%' class='hierarchy double_pad'>
<tr class='parent'>
<td style='width: 2%; text-align: center'>
<div class='draghandle'><img src='{$this->settings['skin_acp_url']}/_newimages/drag_icon.png' alt='' /></div>
@@ -190,9 +192,9 @@ $IPBHTML .= <<<EOF
<strong>{$data['title']}</strong>
</td>
<td style='width: 34%; text-align: right'>
<a href="{$this->settings['base_url']}&amp;{$this->form_code}&amp;code=set_status&amp;status=new&amp;id={$data['status']}" title="{$this->lang->words['r_new_report']}"><img src='{$this->settings['skin_acp_url']}/_newimages/report_new_{$data['_is_new']}.png' border='0' alt='{$this->lang->words['r_new_report']}' /></a>
<a href="{$this->settings['base_url']}&amp;{$this->form_code}&amp;code=set_status&amp;status=complete&amp;id={$data['status']}" title="{$this->lang->words['r_complete_report']}"><img src='{$this->settings['skin_acp_url']}/_newimages/report_complete_{$data['_is_complete']}.png' border='0' alt='{$this->lang->words['r_complete_report']}' /></a>
<a href="{$this->settings['base_url']}&amp;{$this->form_code}&amp;code=set_status&amp;status=active&amp;id={$data['status']}" title="{$this->lang->words['r_active_report']}"><img src='{$this->settings['skin_acp_url']}/_newimages/report_active_{$data['_is_active']}.png' border='0' alt='{$this->lang->words['r_active_report']}' /></a>
<a href="{$this->settings['base_url']}&amp;{$this->form_code}&amp;code=set_status&amp;status=new&amp;id={$data['status']}" title="{$this->lang->words['r_new_report']}"><img src='{$this->settings['skin_acp_url']}/_newimages/report_new_{$data['_is_new']}.png' alt='{$this->lang->words['r_new_report']}' /></a>
<a href="{$this->settings['base_url']}&amp;{$this->form_code}&amp;code=set_status&amp;status=complete&amp;id={$data['status']}" title="{$this->lang->words['r_complete_report']}"><img src='{$this->settings['skin_acp_url']}/_newimages/report_complete_{$data['_is_complete']}.png' alt='{$this->lang->words['r_complete_report']}' /></a>
<a href="{$this->settings['base_url']}&amp;{$this->form_code}&amp;code=set_status&amp;status=active&amp;id={$data['status']}" title="{$this->lang->words['r_active_report']}"><img src='{$this->settings['skin_acp_url']}/_newimages/report_active_{$data['_is_active']}.png' alt='{$this->lang->words['r_active_report']}' /></a>
</td>
<td style='width: 3%'>
<img class='ipbmenu' id="stat_menu{$data['status']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['a_options']}' />
@@ -225,7 +227,7 @@ $IPBHTML .= <<<EOF
<td>&nbsp;</td>
<td style='padding-left: 20px;' colspan='3'>
<img class='ipbmenu' id="statimg{$data['id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['a_options']}' />
<img src='{$this->settings['public_dir']}{$data['img']}' border='0' alt='{$data['points']}' title="{$data['points']}{$this->lang->words['r_points_sufix']}" width="{$data['width']}" height="{$data['height']}" /> {$data['points']} баллов
<img src='{$this->settings['public_dir']}{$data['img']}' alt='{$data['points']}' title="{$data['points']}{$this->lang->words['r_points_sufix']}" width="{$data['width']}" height="{$data['height']}" /> {$data['points']} {$this->lang->words['pointssuffix']}
<ul class='acp-menu' id='statimg{$data['id']}_menucontent'>
<li class='icon edit'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;code=edit_image&amp;id={$data['id']}'>{$this->lang->words['r_editimg']}</a></li>
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}&amp;{$this->form_code}&amp;code=remove_image&amp;id={$data['id']}");'>{$this->lang->words['r_removeimg']}</a></li>
@@ -320,6 +322,15 @@ if( $plug_data['class_title'] )
$code = 'change_plugin';
}
//-----------------------------------------
// Build applications drop down
//-----------------------------------------
foreach( ipsRegistry::$applications as $app_dir => $app_data )
{
$apps[] = array( $app_dir, $app_data['app_title'] );
}
$plug_data = (is_array($plug_data) AND count($plug_data)) ? $plug_data : $this->request;
$form = array();
@@ -329,6 +340,7 @@ $form['plugi_desc'] = $this->registry->output->formInput('plugi_desc', htmls
$form['plugi_author_url'] = $this->registry->output->formInput('plugi_author_url', $plug_data['author_url']);
$form['plugi_author'] = $this->registry->output->formInput('plugi_author', $plug_data['author']);
$form['plugi_file'] = $this->registry->output->formInput('plugi_file', ( $plug_data['my_class'] ? $plug_data['my_class'] : 'default' ));
$form['plugi_app'] = $this->registry->output->formDropdown( 'appPlugin', $apps, $plug_data['app'] );
$IPBHTML = "";
//--starthtml--//
@@ -344,6 +356,10 @@ $IPBHTML .= <<<EOF
<div class="acp-box">
<h3>{$this->lang->words['r_registernew']}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['r_app']}</label>
{$form['plugi_app']}
</li>
<li>
<label>{$this->lang->words['r_plugintitle']}<span class="desctext">{$this->lang->words['r_whatcall']}</span></label>
{$form['plugi_title']}
@@ -366,7 +382,7 @@ $IPBHTML .= <<<EOF
</li>
<li>
<label>{$this->lang->words['r_pluginfile']}</label>
/admin/applications/core/sources/reportPlugins/&nbsp;{$form['plugi_file']}&nbsp;.php
/admin/applications/YOURAPP/extensions/reportPlugins/&nbsp;{$form['plugi_file']}&nbsp;.php
</li>
</ul>
<div class="acp-actionbar">
@@ -438,6 +454,15 @@ foreach( $this->cache->getCache('group_cache') as $g )
{
$groups[] = array( $g['g_id'], $g['g_title'] );
}
//-----------------------------------------
// Build applications drop down
//-----------------------------------------
foreach( ipsRegistry::$applications as $app_dir => $app_data )
{
$apps[] = array( $app_dir, $app_data['app_title'] );
}
$form = array();
$form['plugi_can_report'] = $this->registry->output->formMultiDropdown('plugi_can_report[]', $groups, $sel_can_report );
@@ -445,6 +470,7 @@ $form['plugi_gperm'] = $this->registry->output->formMultiDropdown('plugi_gper
$form['plugi_onoff'] = $this->registry->output->formYesNo('plugi_onoff', $plug_data['onoff']);
$form['plugi_lockd'] = $this->registry->output->formYesNo('plugi_lockd', $plug_data['lockd']);
$form['plugi_enabled'] = $this->registry->output->formYesNo('plugi_onoff', $plug_data['onoff']);
$form['plugi_app'] = $this->registry->output->formDropdown( 'appPlugin', $apps, $plug_data['app'] );
$IPBHTML = "";
//--starthtml--//
@@ -453,8 +479,12 @@ $IPBHTML .= <<<EOF
<form action='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=edit_plugin&amp;secure_key={$secure_key}&amp;com_id={$plug_data['com_id']}' method='post'>
<input type='hidden' name='finish' value='1' />
<div class="acp-box">
<h3>{$this->lang->words['r_editplugin']}</h3>
<h3>{$this->lang->words['r_editplugin']}: {$plug_data['class_title']}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['r_app']}</label>
{$form['plugi_app']}
</li>
<li>
<label>{$this->lang->words['r_groups_submit']}<span class="desctext">{$this->lang->words['r_groups_submit_info']}</span></label>
{$form['plugi_can_report']}
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Security skin file
* Last Updated: $Date: 2009-05-21 16:47:25 -0400 (Thu, 21 May 2009) $
* Last Updated: $Date: 2010-05-19 21:06:53 -0400 (Wed, 19 May 2010) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 4682 $
* @version $Revision: 6326 $
*/
class cp_skin_security extends output
@@ -177,8 +179,8 @@ $IPBHTML = "";
$IPBHTML .= <<<EOF
<tr>
<td class='tablerow1'>
<img src='{$this->settings['skin_acp_url']}/images/folder_components/security/checked_folder.png' border='0' alt='-' class='ipd' />
$file_path
<img src='{$this->settings['skin_acp_url']}/images/folder_components/security/checked_folder.png' alt='-' />
{$file_path}
</td>
</tr>
EOF;
@@ -240,7 +242,7 @@ $IPBHTML .= <<<EOF
<div style='float:right'>
<div class='desctext'>({$data['human']}k) &nbsp; {$data['mtime']}</div>
</div>
<img src='{$this->settings['skin_acp_url']}/images/folder_components/security/bad_file.png' border='0' alt='-' class='ipd' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/security/bad_file.png' alt='-' />
<span style='border:1px solid #555;background-color:#FFFFFF'>
<span style='width:{$data['left_width']}px;background-color:{$data['color']}'>
<img src='{$this->settings['skin_acp_url']}/images/blank.gif' height='20' width='{$data['left_width']}' alt='' />
@@ -322,7 +324,7 @@ $IPBHTML .= <<<EOF
<div style='float:right'>
<div class='desctext'>({$data['human']}k) &nbsp; {$data['mtime']}</div>
</div>
<img src='{$this->settings['skin_acp_url']}/images/folder_components/security/bad_file.png' border='0' alt='-' class='ipd' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/security/bad_file.png' alt='-' />
<span style='border:1px solid #555;background-color:#FFFFFF'>
<span style='width:{$data['left_width']}px;background-color:{$data['color']}'>
<img src='{$this->settings['skin_acp_url']}/images/blank.gif' height='20' width='{$data['left_width']}' alt='' />
@@ -362,7 +364,7 @@ $IPBHTML .= <<<EOF
<br />
<div class='acp-box'>
<h3>{$this->lang->words['h3_title_security']}</h3>
<table cellpadding='0' cellspacing='0' border='0' class='alternate_rows triple_pad'>
<table class='alternate_rows triple_pad'>
{$content['bad']}
{$content['ok']}
{$content['good']}
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Setup skin file
* Last Updated: $Date: 2009-06-18 19:43:48 -0400 (Thu, 18 Jun 2009) $
* Last Updated: $Date: 2010-01-15 10:18:44 -0500 (Fri, 15 Jan 2010) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 4790 $
* @version $Revision: 5713 $
*/
class cp_skin_setup extends output
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Error log skin file
* Last Updated: $Date$
* Last Updated: $Date: 2010-09-30 21:47:05 -0400 (Thu, 30 Sep 2010) $
* </pre>
*
* @author $Author$
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision$
* @version $Revision: 6929 $
*/
class cp_skin_spamlogs extends output
@@ -66,6 +68,13 @@ $IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>{$this->lang->words['spamlog_searchh3']}</h3>
<form action='{$this->settings['base_url']}{$this->form_code}' method='post'>
<p><label for="search_term">{$this->lang->words['spamlog_searchlabel']}</label> <input type='text' name='search_term' id='search_term' class='input_text' value='{$this->request['search_term']}' /> <input type='submit' class='input_submit' value='{$this->lang->words['spamlog_searchbutton']}' /></p>
</form>
</div>
<br />
<script type='text/javascript' src='{$this->settings['js_main_url']}acp.forms.js'></script>
<form action='{$this->settings['base_url']}{$this->form_code}' method='post' name='theAdminForm' id='theAdminForm'>
<input type='hidden' name='do' value='remove' />
@@ -105,7 +114,7 @@ else
{
$IPBHTML .= <<<HTML
<tr>
<td colspan='7' align='center'>{$this->lang->words['slog_noresults']}</td>
<td colspan='7' align='center'>{$this->lang->words['sslog_noresults']}</td>
</tr>
HTML;
}
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Spiderlogs skin file
* Last Updated: $Date: 2009-02-04 15:03:36 -0500 (Wed, 04 Feb 2009) $
* Last Updated: $Date: 2010-01-15 10:18:44 -0500 (Fri, 15 Jan 2010) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 3887 $
* @version $Revision: 5713 $
*/
class cp_skin_spiderlogs extends output
File diff suppressed because it is too large. Load diff
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* System tools skin file
* Last Updated: $Date: 2009-09-25 03:27:57 -0400 (Fri, 25 Sep 2009) $
* Last Updated: $Date: 2010-09-24 21:21:39 -0400 (Fri, 24 Sep 2010) $
* </pre>
*
* @author $Author: matt $
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 5156 $
* @version $Revision: 6915 $
*/
class cp_skin_system extends output
@@ -112,7 +114,7 @@ $IPBHTML .= <<<HTML
<br />
<form action='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=task_log_show' method='post'>
<form action='{$this->settings['base_url']}{$this->form_code}&amp;do=task_log_show' method='post'>
<div class="acp-box">
<h3>{$this->lang->words['sys_view_task_manager_logs']}</h3>
<ul class="acp-form alternate_rows">
@@ -133,7 +135,7 @@ $IPBHTML .= <<<HTML
<br />
<form action='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=task_log_delete' method='post'>
<form action='{$this->settings['base_url']}{$this->form_code}&amp;do=task_log_delete' method='post'>
<div class='acp-box'>
<h3>{$this->lang->words['sys_delete_task_manager_logs']}</h3>
<ul class='acp-form alternate_rows'>
@@ -306,10 +308,10 @@ function formatnumber(num)
}
</script>
<form name='adminform' action='{$this->settings['base_url']}{$this->form_code}&amp;do=$formbit&amp;task_id={$task['task_id']}&amp;type=$type&amp;app_dir={$task['task_application']}' method='post' id='task_manager'>
<form name='adminform' action='{$this->settings['base_url']}{$this->form_code}&amp;do={$formbit}&amp;task_id={$task['task_id']}&amp;type={$type}&amp;app_dir={$task['task_application']}' method='post' id='task_manager'>
<input type='hidden' name='task_cronkey' value='{$task['task_cronkey']}' />
<div class="acp-box">
<h3>$title</h3>
<h3>{$title}</h3>
<ul class="acp-form alternate_rows">
<li>
@@ -348,7 +350,7 @@ function formatnumber(num)
{$form['task_month_day']}
</li>
<li>
<label>Запуск задачи: </label><em id='handy_hint'><span style='color: gray;'>Выберите</span></em>
<label>{$this->lang->words['taskthereforrun']}</label><em id='handy_hint'><span style='color: gray;'>{$this->lang->words['selectimeunitsabove']}</span></em>
</li>
<li>
<label>{$this->lang->words['sys_enable_task_logging']}<span class="desctext">{$this->lang->words['sys_will_write_to_the_task_log_eac']}</span></label>
@@ -376,13 +378,13 @@ HTML;
$IPBHTML .= <<<HTML
</ul>
<div class='acp-actionbar'>
<input type='submit' class='button primary' value='$button' />
<input type='submit' class='button primary' value='{$button}' />
</div>
</div>
</form>
<script type='text/javascript'>
updatepreview( );
updatepreview();
</script>
HTML;
@@ -480,8 +482,8 @@ $IPBHTML .= <<<HTML
<strong{$row['_class']}>{$row['task_title']}{$row['_title']}</strong>
<div style='float: right'>
<a href='#' onclick="$('pop{$row['task_id']}').toggle();return false;" title='{$this->lang->words['sys_how_curl_to_use_in_a_cron']}'><img src='{$this->settings['skin_acp_url']}/images/folder_components/tasks/task_cron.gif' border='0' alt='Cron' /></a>
<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=task_run_now&amp;task_id={$row['task_id']}&amp;tab={$app_dir}' title='{$this->lang->words['run_task_now']}{$row['task_id']}'><img src='{$this->settings['skin_acp_url']}/images/folder_components/tasks/{$row['_image']}' border='0' alt='{$this->lang->words['sys_run']}' /></a>
<a href='#' onclick="$('pop{$row['task_id']}').toggle();return false;" title='{$this->lang->words['sys_how_curl_to_use_in_a_cron']}'><img src='{$this->settings['skin_acp_url']}/images/folder_components/tasks/task_cron.gif' alt='-' /></a>
<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=task_run_now&amp;task_id={$row['task_id']}&amp;tab={$app_dir}' title='{$this->lang->words['run_task_now']}{$row['task_id']}'><img src='{$this->settings['skin_acp_url']}/images/folder_components/tasks/{$row['_image']}' alt='{$this->lang->words['sys_run']}' /></a>
</div>
<div style='color:gray'><em>{$row['task_description']}</em></div>
<div align='center' style='position:absolute;width:auto;display:none;text-align:center;background:#EEE;border:2px outset #555;padding:4px' id='pop{$row['task_id']}'>
@@ -518,18 +520,18 @@ HTML;
$IPBHTML .= <<<HTML
</div>
<br />
<div align='center' class='desctext'><em>{$this->lang->words['sys_all_times_gmt_gmt_time_now_is']} $date</em></div>
<div align='center' class='desctext'><em>{$this->lang->words['sys_all_times_gmt_gmt_time_now_is']} {$date}</em></div>
<br />
<form action='{$this->settings['base_url']}{$this->form_code}&amp;do=task_import' method='post' enctype='multipart/form-data'>
<div class="acp-box">
<h3>{$this->lang->words['t_import_single']}</h3>
<ul class="acp-form alternate_rows">
<li>
<label>{$this->lang->words['upload_task_xml']}<span class='desctext'>{$this->lang->words['upload_task_dupe']}</span></label>
<input type='file' name='FILE_UPLOAD' />
</li>
<ul>
<ul class="acp-form alternate_rows">
<li>
<label>{$this->lang->words['upload_task_xml']}<span class='desctext'>{$this->lang->words['upload_task_dupe']}</span></label>
<input type='file' name='FILE_UPLOAD' />
</li>
<ul>
<div class="acp-actionbar">
<input type='submit' value='{$this->lang->words['task_import_button']}' class="button primary" />
</div>
@@ -556,18 +558,18 @@ $IPBHTML = "";
$IPBHTML .= <<<HTML
<tr>
<td>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/user.png' border='0' alt='-' class='ipd' />
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/user.png' alt='-' />
</td>
<td>
<strong>{$r['admin_username']}</strong>
<div class='desctext'>IP: {$r['admin_ip_address']}</div>
<div class='desctext'>{$this->lang->words['ipaddyprefix']}{$r['admin_ip_address']}</div>
</td>
<td>{$r['_admin_time']}</td>
<td>
<img src='{$this->settings['skin_acp_url']}/images/{$r['_admin_img']}' border='0' alt='-' class='ipd' />
<img src='{$this->settings['skin_acp_url']}/images/{$r['_admin_img']}' alt='-' />
</td>
<td>
<a href='#' onclick="return acp.openWindow('{$this->settings['base_url']}module=system&amp;section=loginlog&amp;do=view_detail&amp;detail={$r['admin_id']}', 700, 500)" title='{$this->lang->words['sys_view_details']}'><img src='{$this->settings['skin_acp_url']}/images/folder_components/index/view.png' border='0' alt='-' class='ipd' /></a>
<a href='#' onclick="return acp.openWindow('{$this->settings['base_url']}module=system&amp;section=loginlog&amp;do=view_detail&amp;detail={$r['admin_id']}', 700, 500)" title='{$this->lang->words['sys_view_details']}'><img src='{$this->settings['skin_acp_url']}/images/folder_components/index/view.png' alt='-' /></a>
</td>
</tr>
HTML;
@@ -599,7 +601,7 @@ $IPBHTML .= <<<HTML
<th width='5%'>{$this->lang->words['sys_status']}</th>
<th width='5%'>{$this->lang->words['sys_log']}</th>
</tr>
$content
{$content}
</table>
<div class='acp-actionbar'>
<div class="rightaction">
@@ -628,7 +630,7 @@ $IPBHTML = "";
$IPBHTML .= <<<HTML
<div class='acp-box'>
<h3>Данные авторизаций</h3>
<h3>{$this->lang->words['logindetails']}</h3>
<table width='100%' class='alternate_rows'>
<tr>
<th colspan='2'>{$this->lang->words['logindetail_basic']}</th>
@@ -722,7 +724,7 @@ $IPBHTML .= <<<HTML
</table>
</div>
<br />
$acplogins
{$acplogins}
HTML;
if ( IN_DEV )
@@ -769,11 +771,11 @@ $IPBHTML = "";
$IPBHTML .= <<<HTML
<tr>
<td width='20%'>$name</td>
<td width='20%'>$ip_address</td>
<td width='15%' align='center'>$log_in</td>
<td width='15%' align='center'>$click</td>
<td width='20%'>$location</td>
<td width='20%'>{$name}</td>
<td width='20%'>{$ip_address}</td>
<td width='15%' align='center'>{$log_in}</td>
<td width='15%' align='center'>{$click}</td>
<td width='20%'>{$location}</td>
</tr>
HTML;
@@ -947,23 +949,23 @@ $HTML .= <<<HTML
<h3>{$this->lang->words['sys_developers_language_cache_impo']}</h3>
<ul class='acp-form alternate_rows'>
<ul>
<li>
<li class='acp-row-on'>
<label>{$this->lang->words['sys_indev_export']}</label>
<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=language_do_indev_export'>{$this->lang->words['sys_indev_export_go']}</a>
</li>
<li>
<li class='acp-row-off'>
<label>{$this->lang->words['sys_select_the_application_languag']}<span class='desctext'>{$this->lang->words['sys_this_will_examine_the_corecach']}</span></label>
<select name='apps[]' multiple='multiple' size=5>
HTML;
foreach( ipsRegistry::$applications as $app => $data )
{
$HTML .= "<option value='$app'>{$data['app_title']}</option>\n";
$HTML .= "<option value='{$app}'>{$data['app_title']}</option>\n";
}
$HTML .= <<<HTML
</select>
</li>
</ul>
</select>
</li>
</ul>
<div class="acp-actionbar">
<input type='submit' class='button primary' value='{$this->lang->words['sys_import']}' />
</div>
@@ -991,9 +993,9 @@ $HTML = <<<HTML
<h2>{$this->lang->words['sym_manage_languages']}</h2>
<ul class='context_menu'>
<li><a href='{$this->settings['base_url']}module=languages&amp;section=manage_languages&amp;do=list_word_packs&id={$this->request['id']}' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/view.png' alt='' /> {$this->lang->words['sym_view_word_packs']}</a></li>
<li><a href='{$this->settings['base_url']}module=languages&amp;section=manage_languages&amp;do=edit_lang_info&id={$this->request['id']}' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/pencil.png' alt='' /> {$this->lang->words['sym_edit_language_pack_information']}</a></li>
<li><a href='{$this->settings['base_url']}module=languages&amp;section=manage_languages&amp;do=add_word_entry&id={$this->request['id']}' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/add.png' alt='' /> {$this->lang->words['sym_add_new_language_entry']}</a></li>
<li><a href='{$this->settings['base_url']}module=languages&amp;section=manage_languages&amp;do=list_word_packs&amp;id={$this->request['id']}' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/view.png' alt='' /> {$this->lang->words['sym_view_word_packs']}</a></li>
<li><a href='{$this->settings['base_url']}module=languages&amp;section=manage_languages&amp;do=edit_lang_info&amp;id={$this->request['id']}' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/pencil.png' alt='' /> {$this->lang->words['sym_edit_language_pack_information']}</a></li>
<li><a href='{$this->settings['base_url']}module=languages&amp;section=manage_languages&amp;do=add_word_entry&amp;id={$this->request['id']}' style='text-decoration:none'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/add.png' alt='' /> {$this->lang->words['sym_add_new_language_entry']}</a></li>
</ul>
</div>
@@ -1002,7 +1004,7 @@ $HTML = <<<HTML
<input type='hidden' name='id' value='{$this->request['id']}' />
<input type='hidden' name='secure_key' value='{this->registry->adminFunctions->generated_acp_hash}' />
{$this->lang->words['sym_find']}: <input type='text' name='search' value='{$this->request['search']}' class='inputtext'> <input type='image' src='{$this->settings['skin_acp_url']}/images/search_icon.gif' value='{$this->lang->words['sym_submit']}' alt='{$this->lang->words['sym_find']}' class='ipd'>
{$this->lang->words['sym_find']}: <input type='text' name='search' value='{$this->request['search']}' class='inputtext' /> <input type='image' src='{$this->settings['skin_acp_url']}/images/search_icon.gif' value='{$this->lang->words['sym_submit']}' alt='{$this->lang->words['sym_find']}' />
</form>
{$packs}
@@ -1061,7 +1063,7 @@ $tabIndex = 1;
foreach( $lang as $l )
{
$css = ( $l['custom'] ) ? 'tablerow2queued' : 'tablerow2';
$revert = ( $l['custom'] ) ? "<a href='{$this->settings['base_url']}{$this->form_code}&do=revert&word_id={$l['id']}&word_pack={$l['pack']}&id={$id}' class='dropdown-button'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/arrow_rotate_anticlockwise.png' /></a>&nbsp;" : '';
$revert = ( $l['custom'] ) ? "<a href='{$this->settings['base_url']}{$this->form_code}&do=revert&word_id={$l['id']}&word_pack={$l['pack']}&id={$id}&st={$this->request['st']}' class='dropdown-button'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/arrow_rotate_anticlockwise.png' /></a>&nbsp;" : '';
$edit = IN_DEV ? "<a href='{$this->settings['base_url']}{$this->form_code}&do=edit_word_entry&&word_id={$l['id']}&word_pack={$l['pack']}&id={$id}' class='dropdown-button'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/pencil.png' /></a>&nbsp;" : '';
$pack = $this->request['search'] ?
"<span class='desctext'>{$this->lang->words['l_wordpack_prefix']}<a href='{$this->settings['base_url']}{$this->form_code}&amp;word_pack={$l['pack']}&amp;do=edit_word_pack&amp;id={$id}'><strong>{$l['pack']}</strong></a></span>" :
@@ -1135,25 +1137,25 @@ $HTML = <<<HTML
<ul class='acp-form alternate_rows'>
<li>
<label>{txt.language_form_title}</label>
<label>{$this->lang->words['language_form_title']}</label>
<input type='text' name='lang_title' value='{$data['lang_title']}' size='50' class='inputtext' />
</li>
<li>
<label>{txt.language_form_locale}</label>
<label>{$this->lang->words['language_form_locale']}</label>
<input type='text' name='lang_short' value='{$data['lang_short']}' size='50' class='inputtext' />
</li>
<li>
<label>{txt.language_is_rtl}</label>
<label>{$this->lang->words['language_is_rtl']}</label>
{$data['lang_isrtl']}
</li>
<li>
<label>{txt.language_form_default}</label>
<label>{$this->lang->words['language_form_default']}</label>
{$data['lang_default']}
</li>
</ul>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' value=' $button ' class='button primary' />
<input type='submit' value=' {$button} ' class='button primary' />
</div>
</div>
</div>
@@ -1179,10 +1181,10 @@ $HTML = <<<HTML
<div class='acp-box'>
<table class='alternate_rows' width='100%'>
<tr>
<th width='30%' align=''>{txt.language_pack_name}</th>
<th width='25%' align='center'>{txt.language_total_entries}</th>
<th width='25%' align='center'>{txt.language_customized_entries}</th>
<th width='30%' align='center'>{txt.language_out_of_date_entries}</th>
<th width='30%' align=''>{$this->lang->words['language_pack_name']}</th>
<th width='25%' align='center'>{$this->lang->words['language_total_entries']}</th>
<th width='25%' align='center'>{$this->lang->words['language_customized_entries']}</th>
<th width='30%' align='center'>{$this->lang->words['language_out_of_date_entries']}</th>
<th width='10%' align='center'>&nbsp;</th>
</tr>
HTML;
@@ -1194,10 +1196,10 @@ if( count( $packs ) )
$stats[$r]['custom'] = isset( $stats[$r]['custom'] ) ? $stats[$r]['custom'] : '&nbsp;';
$HTML .= <<<HTML
<tr>
<td width='30%' valign='middle'><a href='{$this->settings['base_url']}{$this->form_code}&word_pack={$app}/{$r}&do=edit_word_pack&id={$this->request['id']}'>{$r}</a></td>
<td width='30%' valign='middle'><a href='{$this->settings['base_url']}{$this->form_code}&amp;word_pack={$app}/{$r}&amp;do=edit_word_pack&amp;id={$this->request['id']}'>{$r}</a></td>
<td width='25%' valign='middle' align='center'>{$stats[$r]['total']}</td>
<td width='25%' valign='middle' align='center'>{$stats[$r]['custom']}</td>
<td width='30%' valign='middle' align='center'><a href='{$this->settings['base_url']}{$this->form_code}&word_pack={$app}/{$r}&do=edit_word_pack&id={$this->request['id']}&filter=1'>{$stats[$r]['outofdate']}</a></td>
<td width='30%' valign='middle' align='center'><a href='{$this->settings['base_url']}{$this->form_code}&amp;word_pack={$app}/{$r}&amp;do=edit_word_pack&amp;id={$this->request['id']}&amp;filter=1'>{$stats[$r]['outofdate']}</a></td>
<td width='10%' align='center' valign='middle'>{$menus[$r]}</td>
</tr>
HTML;
@@ -1207,7 +1209,7 @@ else
{
$HTML .= <<<HTML
<tr>
<td colspan='4'><i>Для данного приложения нет языков</i></td>
<td colspan='4'><i>{$this->lang->words['nolangpacksgroup']}</i></td>
</tr>
HTML;
}
@@ -1242,32 +1244,53 @@ $HTML = <<<HTML
<input type='hidden' name='secure_key' value='{$this->registry->adminFunctions->generated_acp_hash}' />
<div class='acp-box'>
<h3>$title</h3>
<h3>{$title}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>Приложение</label>
<li id='language_appselector'>
<label>{$this->lang->words['langpackaddapp']}</label>
<select name='word_app' class='inputtext'>{$data['word_app']}</select>
</li>
<li>
<label>{txt.language_pack_name}</label>
<input type='text' name='word_pack_db' value='{$data['word_pack']}' size='50' class='inputtext' />
<label>{$this->lang->words['language_pack_name']}</label>
<input type='text' name='word_pack_db' id='word_pack_db' value='{$data['word_pack']}' size='50' class='inputtext' />
</li>
<li>
<label>{txt.language_key}</label>
<label>{$this->lang->words['language_key']}</label>
<input type='text' name='word_key' value='{$data['word_key']}' size='50' class='inputtext' />
</li>
<li>
<label>{txt.language_default}</label>
<label>{$this->lang->words['language_default']}</label>
<textarea name='word_default' class='inputtext' cols='50'>{$data['word_default']}</textarea>
</li>
</ul>
<div class='acp-actionbar'>
<input type='submit' value=' $button ' class='button primary' />
<input type='submit' value=' {$button} ' class='button primary' />
</div>
</div>
</form>
<script type='text/javascript'>
$('word_pack_db').observe( "blur", checkPack );
document.observe("dom:loaded",function()
{
checkPack();
});
function checkPack( e )
{
if( $('word_pack_db').value == 'admin_js' || $('word_pack_db').value == 'public_js' )
{
$('language_appselector').hide();
}
else
{
$('language_appselector').show();
}
}
checkPack();
</script>
HTML;
return $HTML;
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Look and feel skin file
* Last Updated: $Date: 2009-09-29 17:59:02 -0400 (Tue, 29 Sep 2009) $
* Last Updated: $Date: 2010-11-16 11:26:43 -0500 (Tue, 16 Nov 2010) $
* </pre>
*
* @author $Author: bfarber $
* @author $Author: mmecham $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 5178 $
* @version $Revision: 7195 $
*/
class cp_skin_templates extends output
@@ -182,7 +184,7 @@ $IPBHTML .=<<<EOF
<div id='templateRowCbox_#{template_id}' style='float:right;display:none'>
<input type='checkbox' id='cbox_template_#{template_group}_#{template_id}' class='cboxGroup#{template_group}' onclick="IPB3TemplatesSandR.checkGroupBox('#{template_group}')" value='1' name='templates[#{template_id}]' />
</div>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/template.png' class='ipd' />
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/template.png' />
<span style='font-weight:bold'><a href='javascript:void(0);' onclick="IPB3TemplatesSandR.loadTemplateEditor('#{template_id}')">#{template_name}</a></span>
</div>
</div>
@@ -297,7 +299,7 @@ $IPBHTML = "";
$IPBHTML .= <<<EOF
<html>
<head>
<title>$title {$this->lang->words['sk_title_export']}</title>
<title>{$sessionData['_title']} {$this->lang->words['sk_title_export']}</title>
<style type="text/css">
BODY
{
@@ -334,29 +336,32 @@ $IPBHTML .= <<<EOF
</head>
<body>
<div style='padding:4px;border:1px solid #000;background-color:#FFF;margin:4px;'>
<h1>{$sessionData['diff_session_title']} ({$this->lang->words['sk_exported']}: $date)</h1>
<h1>{$sessionData['diff_session_title']} ({$this->lang->words['sk_exported']}: {$date})</h1>
<strong>{$howmany}</strong>
</div>
<br />
EOF;
if ( count( $reports ) )
{
foreach( $reports as $group => $key )
{
foreach( $reports[ $group ] as $key => $report )
{
$report['diff_change_content'] = str_replace( "\n", "<br>", $report['diff_change_content'] );
$report['diff_change_content'] = str_replace( "&gt;&lt;", "&gt;\n&lt;" ,$report['diff_change_content']);
$report['diff_change_content'] = preg_replace( "#(?<!(\<del|\<ins)) {1}(?!:style)#i", "&nbsp;" ,$report['diff_change_content']);
$report['diff_change_content'] = str_replace( "\t", "&nbsp; &nbsp; ", $report['diff_change_content'] );
$prefix = ( ! $report['diff_change_type'] ) ? "[НОВЫЙ] " : '';
$report['change_data_content'] = str_replace( "\n", "<br>", $report['change_data_content']);
$report['change_data_content'] = str_replace( "&gt;&lt;", "&gt;\n&lt;" ,$report['change_data_content']);
$report['change_data_content'] = str_replace( "\t", "&nbsp; &nbsp; ", $report['change_data_content'] );
$report['change_data_content'] = preg_replace( "#(?<!(\<del|\<ins)) {1}(?!:style)#i", "&nbsp;" ,$report['change_data_content']);
//$prefix = ( $report['change_is_new'] ) ? $this->lang->words['mergeexportprefix'] : '';
//removed {$prefix} from the html below since this line above is commented (terabyte)
$IPBHTML .= <<<EOF
<div style='padding:4px;border:1px solid #000;background-color:#FFF;margin:4px;'>
<h2>{$prefix}{$report['diff_change_func_group']} <span style='color:green'>&gt;</span> {$report['diff_change_func_name']}</h2>
<h2>{$report['change_data_group']} <span style='color:green'>&gt;</span> {$report['change_data_title']}</h2>
<hr>
{$report['diff_change_content']}
{$report['change_data_content']}
</div>
EOF;
}
@@ -376,6 +381,7 @@ EOF;
return $IPBHTML;
}
/**
* Overview of completed skin diff reports
*
@@ -391,10 +397,35 @@ public function skindiff_reportOverview( $sessionData, $reports, $missing, $chan
$IPBHTML = "";
//--starthtml--//
$textblob = '';
$tstats = array( 'conflicts' => 0, 'needmerge' => 0, 'uncommitted' => 0, 'committed' => 0 );
$IPBHTML .= <<<EOF
<div class='section_title'>
<h2>{$this->lang->words['mergereporttitle']}</h2>
<ul class='context_menu'>
<li>
<a href='#' class='ipbmenu' id='mOptions'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/cog.png' /> {$this->lang->words['mergerepoptions']} <img src='{$this->settings['skin_acp_url']}/_newimages/useropts_arrow.png' /></a>
</li>
</ul>
</div>
<ul class='ipbmenu_content' id='mOptions_menucontent' style='display: none'>
<li><input type="checkbox" class='__cbx' id='_cb_nocustom' /> <img src='{$this->settings['skin_acp_url']}/_newimages/icons/page_white_magnify.png' /> {$this->lang->words['merge__showall']}</li>
<li><input type="checkbox" class='__cbx' id='_cb_merged' /> <img src='{$this->settings['skin_acp_url']}/_newimages/icons/shape_move_front.png' /> {$this->lang->words['merge__showmerged']}</li>
<li><input type="checkbox" class='__cbx' id='_cb_conflicted' /> <img src='{$this->settings['skin_acp_url']}/_newimages/icons/exclamation.png' /> {$this->lang->words['merge__showconflict']}</li>
<li><input type="checkbox" class='__cbx' id='_cb_uncommitted' /> <img src='{$this->settings['skin_acp_url']}/_newimages/icons/bullet_red.png' /> {$this->lang->words['merge__showcommit']}</li>
<li><input type="checkbox" class='__cbx' id='_cb_committed' /> <img src='{$this->settings['skin_acp_url']}/_newimages/icons/bullet_green.png' /> {$this->lang->words['merge__showcommita']}</li>
</ul>
<script type="text/javascript" src="{$this->settings['js_app_url']}IPB3TemplateDiffResults.js"></script>
<script type="text/javascript">
ipb.templates['resolve_box'] = "<div class='mergeResolveBox'><ul><li class='_mrb#{id} _customWins'>{$this->lang->words['resolve__custom']}</li><li class='_mrb#{id} _newWins'>{$this->lang->words['resolve__new']}</li></ul></div>";
</script>
<form id='diffForm' action='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=multiManage&amp;merge_id={$sessionData['merge_id']}' method='post'>
<div class='acp-box'>
<h3>{$this->lang->words['sk_skindiffreport']} {$sessionData['diff_session_title']}</h3>
<table class='alternate_rows triple_pad'>
<div style="float:right;padding-right:32px;padding-top:8px"><input type="checkbox" id="cboxall" /></div>
<h3>{$sessionData['_title']}</h3>
<table class='alternate_rows pad'>
EOF;
@@ -402,10 +433,12 @@ if ( count( $reports ) )
{
foreach( $reports as $group => $key )
{
$_group = str_replace( array( ' ', '.', '_' ), '', $group );
/* Group row */
$IPBHTML .= <<<EOF
<tr>
<th class='sub' colspan='5'>
<th class='sub double_pad __group _xgid{$_group}' colspan='7'>
<strong>{$group}</strong>
</th>
</tr>
@@ -413,24 +446,110 @@ EOF;
foreach( $reports[ $group ] as $key => $report )
{
$_safe = str_replace( ':', '-', $report['_key'] );
$_diffIs = ( $report['_is'] == 'new' ) ? "<span style='color:green'>{$this->lang->words['sk_new']}</span>" : "<span style='color:red'>{$this->lang->words['sk_changed']}</span>";
$_group = str_replace( array( ' ', '.', '_' ), '', $group );
$_safe = $report['change_id'];
$_diffIs = ( $report['_is'] == 'new' ) ? "<span style='color:green'>{$this->lang->words['sk_new']}</span>" : "<span style='color:red'>{$this->lang->words['sk_changed']}</span>";
$_icon = $report['change_data_type'] == 'css' ? 'text_rich_colored.png' : 'text.png';
$_diffIcon = ( $report['_is'] == 'new' ) ? 'page_add.png' : 'page_red.png';
$_diffTitle = ( $report['_is'] == 'new' ) ? $this->lang->words['mergereportnewitem'] : sprintf( $this->lang->words['mergereportdifferences'], $report['_diffs'] );
$_mergeIcon = ( $report['_is'] == 'new' OR ! $report['change_can_merge'] ) ? '../../blank.gif' : ( ( intval( $report['_conflicts'] ) > 0 ) ? 'exclamation.png' : '../../blank.gif' );//'shape_move_front.png' );
$_mergeTitle = ( intval( $report['_conflicts'] ) > 0 ) ? sprintf( $this->lang->words['mergereportconflicts'], $report['_conflicts'] ) : $this->lang->words['mergereportnoconflict'];
$_mergeClass = ( intval( $report['_conflicts'] ) > 0 ) ? '__conflicts' : '';
$_comIcon = ( $report['_is'] == 'new' OR ( ! $report['change_can_merge'] OR ( $report['change_final_content'] ) ) ) ? 'bullet_black.png' : ( ( $report['change_changes_applied'] ) ? 'bullet_green.png' : 'bullet_red.png' );
$_comClass = ( $report['_is'] == 'new' OR ! $report['change_can_merge'] ) ? '_nochanges' : ( ( $report['change_changes_applied'] ) ? '__committed' : '_uncommitted' );
$_mainClass = ( $report['_is'] == 'new' ) ? '_off' : ( ( $report['change_changes_applied'] ) ? '_amber' : '_off' );
$_cbExtra = ( $report['_is'] == 'new' ) ? ' disabled="disabled"' : '';
$_isMergeClass = ( $report['change_can_merge'] ) ? '__canMerge' : '';
/* Gather stats */
if ( ! $report['change_final_content'] AND $report['_conflicts'] )
{
$tstats['conflicts']++;
}
if ( $report['change_can_merge'] )
{
$tstats['needmerge']++;
}
if ( $report['change_can_merge'] AND ! $report['change_changes_applied'] )
{
$tstats['uncommitted']++;
}
if ( $report['change_changes_applied'] )
{
$tstats['committed']++;
}
/* Final overrides */
if ( $report['change_is_conflict'] AND $report['change_final_content'] )
{
/* Conflicts resolved */
$_mergeIcon = '../../blank.gif';//'shape_ungroup.png';
}
if ( $report['_is'] == 'new' )
{
$_desc = $this->lang->words['mergenewitemversion'];
}
else
{
$_desc = sprintf( $this->lang->words['mergereportdiffs'], $report['_diffs'] );
if ( intval( $report['_conflicts'] ) > 0 )
{
if ( $report['change_final_content'] )
{
$_desc .= ', <strong>' . $report['_conflicts'] . '</strong> ' . $this->lang->words['resolvedconflicts'];
}
else
{
$_desc .= ', <strong>' . $report['_conflicts'] . '</strong> ' . $this->lang->words['mergeconflicts'];
}
}
else
{
$_desc .= ', ' . $this->lang->words['noconflicts'];
}
if ( $report['change_changes_applied'] )
{
$_desc .= $this->lang->words['changescommitted'];
}
}
$IPBHTML .= <<<EOF
<tr>
<td width='1%'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/template.png' class='ipd' /></td>
<tr class='__diffRow __rowId{$report['change_id']} __xx{$report['_is']} {$_mergeClass} {$_comClass} _xgid{$_group} {$_mainClass} {$_isMergeClass}'>
<td width='1%'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$_icon}' /></td>
<td width='84%'>
<strong>{$report['diff_change_func_name']}</strong>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$_comIcon}' /> <strong>{$report['change_data_title']}</strong>
<div class='desctext' style='font-size:0.8em' id='mDesc-{$report['change_id']}'>{$_desc}</div>
</td>
<td width='5%' nowrap='nowrap' align='center'>{$_diffIs}</td>
<td width='1%' nowrap='nowrap' align='center'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$_mergeIcon}' title='{$_mergeTitle}' id='mMergeImage-{$report['change_id']}' class='__whenHasMerge{$report['change_id']}' /></td>
<td width='1%' nowrap='nowrap' align='center'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$_diffIcon}' title='{$_diffTitle}' /></td>
<td width='5%' nowrap='nowrap' align='center'>{$report['_size']}</td>
<td width='5%'>
<td width='1%' nowrap='nowrap' align='center'><input type='checkbox' value='1' class='__cBox{$report['change_id']} __xBox' name='changeIds[{$report['change_id']}]' {$_cbExtra} /></td>
<td width='1%'>
<img class='ipbmenu' id="menu{$_safe}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['a_options']}' />
<ul class='acp-menu' id='menu{$_safe}_menucontent'>
<li class='icon view'><a href='javascript:void(0);' onclick="return viewDiff('$key')">{$this->lang->words['sk_viewdiffs']}...</a></li>
<li class='icon view'><a href='javascript:void(0);' onclick="return IPB3TemplateDiffResults.viewVersion({$report['change_id']}, 'orig')">{$this->lang->words['menu__vieworigdef']} ({$sessionData['_oldHumanVersion']})...</a></li>
<li class='icon view'><a href='javascript:void(0);' onclick="return IPB3TemplateDiffResults.viewVersion({$report['change_id']}, 'custom')">{$this->lang->words['menu__viewcustomized']} ({$sessionData['_oldHumanVersion']})...</a></li>
<li class='icon view'><a href='javascript:void(0);' onclick="return IPB3TemplateDiffResults.viewVersion({$report['change_id']}, 'new')">{$this->lang->words['menu__viewnewdef']} ({$sessionData['_newHumanVersion']})...</a></li>
<li class='icon view'><a href='javascript:void(0);' onclick="return IPB3TemplateDiffResults.viewDiff({$report['change_id']}, 'diff')">{$this->lang->words['sk_viewdiffs']} {$this->lang->words['menu__oldnew']}...</a></li>
EOF;
if ( intval( $report['_conflicts'] ) > 0 )
{
$IPBHTML .= <<<EOF
<li class='icon view __whenHasMerge{$report['change_id']}'><a href='javascript:void(0);' onclick="return IPB3TemplateDiffResults.viewDiff({$report['change_id']}, 'merge')">{$this->lang->words['viewmergepreview']}</a></li>
<li class='icon view __whenHasMerge{$report['change_id']}'><a href='javascript:void(0);' onclick="return IPB3TemplateDiffResults.editBit({$report['change_id']})">{$this->lang->words['manuallyresolveconflict']}</a></li>
EOF;
}
$IPBHTML .= <<<EOF
</ul>
</td>
</tr>
</tr>
EOF;
}
}
@@ -439,64 +558,40 @@ else
{
$IPBHTML .= <<<EOF
<tr>
<td colspan='4'><em>{$this->lang->words['sk_nodiffs']}</em></td>
<td colspan='7'><em>{$this->lang->words['sk_nodiffs']}</em></td>
</tr>
EOF;
}
/* Text blob, text blob, you're my text blob */
if ( $tstats['committed'] AND ! $tstats['uncommitted'] )
{
$this->registry->getClass('output')->global_message = $this->lang->words['merge_done_desc'];
}
else if ( $tstats['conflicts'] )
{
$this->registry->getClass('output')->global_error = sprintf( $this->lang->words['merge_conflicts_desc'], intval( $tstats['conflicts'] ) );
}
else if ( $tstats['uncommitted'] )
{
$this->registry->getClass('output')->global_error = sprintf( $this->lang->words['merge_uncommitted_desc'], intval( $tstats['uncommitted'] ) );
}
$IPBHTML .= <<<EOF
</table>
<div class='acp-actionbar'>&nbsp;</div>
<div class='acp-actionbar' style='text-align: right'>
{$this->lang->words['mergewithselected']}
<select name='mergeOption'>
<option value='resolve_custom'>{$this->lang->words['resolveallcustom']}</option>
<option value='resolve_new'>{$this->lang->words['resolveallnewdefault']}</option>
<option value='commit'>{$this->lang->words['resolveallcommit']}</option>
<option value='revert'>{$this->lang->words['resolvealluncommit']}</option>
</select>
<input type='submit' value='{$this->lang->words['resolve__go']}' class='button primary' />
</div>
</div>
<script type="text/javascript">
function viewDiff( key )
{
/* Grab it via ajax */
var _url = "{$this->settings['base_url']}&app=core&module=ajax&section=templatediff&do=viewDiff&key=" + key + '&secure_key=' + ipb.vars['md5_hash'];
new Ajax.Request( _url,
{
method: 'get',
onSuccess: function (t)
{
/* Not a JSON response? */
if ( ! t.responseText.match( /^(\s+?)?\{/ ) )
{
alert( "{$this->lang->words['sk_error']}:" + t.responseText );
return;
}
/* Process results */
eval( "var json = " + t.responseText );
if ( json['error'] )
{
alert( "{$this->lang->words['sk_error']}: " . json['error'] );
return false;
}
/* otherwise... */
if ( json['diff_change_content'] )
{
var content = '<h3>' + json['diff_change_func_group'] + ' &gt; ' + json['diff_change_func_name'] + '</h3><div style="padding:4px;line-height:125%;overflow:auto"><pre>' + json['diff_change_content'] + '</pre></div>';
popup = new ipb.Popup('diffPopUp', { type: 'pane', modal: false, hideAtStart: true, w: '600px', h: '800px', initial: content } );
popup.show();
}
},
onFailure: function()
{
return false;
},
onException: function()
{
return false;
}
} );
}
</script>
</form>
EOF;
//--endhtml--//
@@ -516,15 +611,14 @@ public function skindiff_ajaxScreen( $sessionID, $totalBits, $perGo ) {
$IPBHTML = "";
//--starthtml--//
$bitsof = sprintf( $this->lang->words['sk_bitsof'], $totalBits );
$clickhere = sprintf( $this->lang->words['sk_clickviewreport'], $this->settings['base_url'], $this->form_code, $sessionID );
$IPBHTML .= <<<EOF
<style type="text/css">
@import url( "{$this->settings['skin_app_url']}skinDiff.css" );
</style>
<script type="text/javascript" src="{$this->settings['js_app_url']}ipb3TemplateDiff.js"></script>
<div class='acp-box'>
<h3>{$this->lang->words['sk_skindifferences']}: {$this->lang->words['sk_processing']}</h3>
<h3>{$this->lang->words['sk_processing']}</h3>
<table class='alternate_rows triple_pad'>
<tr>
<td>
@@ -533,13 +627,14 @@ $IPBHTML .= <<<EOF
<table cellspacing='0' cellpadding='0'>
<tr>
<td valign='top'>
<div id='diffLogText'><span id='diffLogProcessed'></span> {$bitsof}</div>
<div id='diffDone' style='display:none'>{$clickhere}</div>
<div id='diffLogTitle'></div>
<div id='diffLogText'></div>
<div id='diffLogMsg'>{$this->lang->words['minutepatience']}</div>
</td>
</tr>
</table>
<div id='diffLogProgressWrap'>
<img src='{$this->settings['skin_acp_url']}/images/folder_components/templates/diff/mini-wait.gif' id='diffStatusImage' border='0' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/templates/diff/mini-wait.gif' id='diffStatusImage' />
<div id='diffLogProgressBar'>
<div id='diffLogProgressBarInner'></div>
</div>
@@ -553,18 +648,20 @@ $IPBHTML .= <<<EOF
</div>
<!-- Preload the status images -->
<div style='display:none'>
<img src='{$this->settings['skin_acp_url']}/images/folder_components/templates/diff/receiving.png' border='0' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/templates/diff/sending.png' border='0' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/templates/diff/stop.png' border='0' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/templates/diff/warning.png' border='0' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/templates/diff/ready.png' border='0' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/templates/diff/mini-wait.gif' border='0' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/templates/diff/receiving.png' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/templates/diff/sending.png' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/templates/diff/stop.png' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/templates/diff/warning.png' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/templates/diff/ready.png' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/templates/diff/mini-wait.gif' />
</div>
<script type='text/javascript'>
/* Add to the applications array */
IPB3TemplateDiff.baseUrl = "{$this->settings['base_url']}&app=core&module=ajax&section=templatediff&sessionID={$sessionID}&perGo={$perGo}&secure_key={$this->member->form_hash}";
IPB3TemplateDiff.imageUrl = "{$this->settings['skin_acp_url']}/images/folder_components/templates/diff/";
IPB3TemplateDiff.totalBits = $totalBits;
IPB3TemplateDiff.baseUrl = "{$this->settings['base_url']}&app=core&module=ajax&section=templatediff&sessionID={$sessionID}&perGo={$perGo}&secure_key={$this->member->form_hash}";
IPB3TemplateDiff.baseUrlMerge = "{$this->settings['base_url']}&app=core&module=ajax&section=templatediff&sessionID={$sessionID}&perGo={$perGo}&secure_key={$this->member->form_hash}&do=merge";
IPB3TemplateDiff.imageUrl = "{$this->settings['skin_acp_url']}/images/folder_components/templates/diff/";
IPB3TemplateDiff.doneUrl = "{$this->settings['base_url']}&app=core&{$this->form_code}&do=viewReport&sessionID={$sessionID}";
IPB3TemplateDiff.totalBits = {$totalBits};
IPB3TemplateDiff.init();
</script>
EOF;
@@ -580,7 +677,7 @@ return $IPBHTML;
* @param array Skin diff sessions
* @return string HTML
*/
public function skindiff_overview( $sessions=array() ) {
public function skindiff_overview( $sessions=array(), $skinOptionList, $canMerge ) {
$IPBHTML = "";
//--starthtml--//
@@ -605,14 +702,14 @@ if ( count( $sessions ) )
$IPBHTML .= <<<EOF
<tr>
<td><img src='{$this->settings['skin_acp_url']}/_newimages/icons/folder.png' /></td>
<td><strong>{$data['diff_session_title']}</strong></td>
<td><strong>{$data['_title']}</strong></td>
<td nowrap='nowrap' align='center'>{$data['_date']}</td>
<td width='5%'>
<img class='ipbmenu' id="menu{$data['diff_session_id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['a_options']}' />
<ul class='acp-menu' id='menu{$data['diff_session_id']}_menucontent'>
<li class='icon view'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=viewReport&amp;sessionID={$data['diff_session_id']}'>{$this->lang->words['sk_viewdiffresults']}...</a></li>
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}{$this->form_code}&amp;do=removeReport&amp;sessionID={$data['diff_session_id']}");'>{$this->lang->words['sk_removediffresults']}...</a></li>
<li class='icon export'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=exportReport&amp;sessionID={$data['diff_session_id']}'>{$this->lang->words['sk_createhtmlexport']}...</a></li>
<img class='ipbmenu' id="menu{$data['merge_id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['a_options']}' />
<ul class='acp-menu' id='menu{$data['merge_id']}_menucontent'>
<li class='icon view'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=viewReport&amp;sessionID={$data['merge_id']}'>{$this->lang->words['sk_viewdiffresults']}...</a></li>
<!--<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}{$this->form_code}&amp;do=removeReport&amp;sessionID={$data['merge_id']}");'>{$this->lang->words['sk_removediffresults']}...</a></li>-->
<li class='icon export'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=exportReport&amp;sessionID={$data['merge_id']}'>{$this->lang->words['sk_createhtmlexport']}...</a></li>
</ul>
</td>
</tr>
@@ -621,49 +718,40 @@ EOF;
}
else
{
$IPBHTML .= <<<EOF
if ( $canMerge )
{
$IPBHTML .= <<<EOF
<tr>
<td colspan='5'><em>{$this->lang->words['sk_nodiffs']}</em></td>
</tr>
EOF;
}
}
else
{
$IPBHTML .= <<<EOF
<tr>
<td colspan='5'><em>{$this->lang->words['nopreviouslystoredtemp']}</em></td>
</tr>
EOF;
}
}
$IPBHTML .= <<<EOF
</table>
<div class='acp-actionbar'>&nbsp;</div>
<div class='acp-actionbar' style='text-align:right'>
EOF;
if ( $canMerge )
{
$IPBHTML .= <<<EOF
<form action="{$this->settings['base_url']}&amp;module=templates&amp;section=skindiff&amp;do=skinDiffStart" method="POST">
{$this->lang->words['runnewreporton']} <select name='setID'>{$skinOptionList}</select> <input type='submit' class='button' value='{$this->lang->words['resolve__go']}' />
</form>
EOF;
}
$IPBHTML .= <<<EOF
</div>
</div>
<br />
<form action='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=skinDiffStart' enctype='multipart/form-data' method='POST'>
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->_admin_auth_key}' />
<div class='acp-box'>
<h3>{$this->lang->words['sk_createnewskindiff']}</h3>
<table class='alternate_rows triple_pad'>
<tr>
<td><strong>{$this->lang->words['sk_enterdifftitle']}</strong><div class='desctext'>{$this->lang->words['sk_difftitle_info']}</div></td>
<td><input class='textinput' type='text' size='30' name='diff_session_title' /></td>
</tr>
<tr>
<td><strong>{$this->lang->words['sk_skipnewmiss']}</strong><div class='desctext'>{$this->lang->words['sk_skipnewmiss_info']}</div></td>
<td><input class='textinput' type='checkbox' value='1' name='diff_session_ignore_missing' /></td>
</tr>
<tr>
<td><strong>{$this->lang->words['sk_selectskinxml']}</strong><div class='desctext'>{$this->lang->words['sk_selectskinxml_info']}</div></td>
<td>
<input class='textinput' type='file' size='30' name='FILE_UPLOAD' />
</td>
<tr>
<td><strong>{$this->lang->words['diff_folder_path']}</strong></td>
<td><input type='text' size='20' name='diffFolder' /></td>
</tr>
<tr>
</tr>
</table>
<div class='acp-actionbar'>
<input type='submit' value='{$this->lang->words['sk_import']}' class='button primary' />
</div>
</div>
</form>
EOF;
//--endhtml--//
@@ -694,7 +782,7 @@ $IPBHTML .= <<<EOF
<form action='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=$formcode&amp;map_id={$remap['map_id']}&amp;setID={$setData['set_id']}' id='mainform' method='POST'>
<div class='acp-box'>
<h3>$title</h3>
<table width='100%' border='0' cellpadding='0' cellspacing='0' class='form_table alternate_rows'>
<table width='100%' class='form_table alternate_rows'>
<tr>
<th colspan='2'>{$this->lang->words['sk_generalsettings']}</th>
</tr>
@@ -776,7 +864,7 @@ if ( count( $remaps ) )
{
$IPBHTML .= <<<EOF
<tr>
<td><img src='{$this->settings['skin_acp_url']}/images/folder_components/skinremap/remap_row.png' border='0' class='ipd' /></td>
<td><img src='{$this->settings['skin_acp_url']}/images/folder_components/skinremap/remap_row.png' /></td>
<td><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=remapEdit&amp;map_id={$data['map_id']}&amp;setID={$skinSetData['set_id']}'><strong>{$data['map_title']}</strong></a></td>
<td>{$data['_date']}</td>
<td>
@@ -844,7 +932,7 @@ EOF;
$IPBHTML .= <<<EOF
<tr>
<td style='width: 2%; text-align: center'><input type='checkbox' name='uGroups[{$data['ugroup_id']}]' value='1' {$_selected} /></td>
<td style='width: 2%; text-align: center'><img src="{$this->settings['skin_acp_url']}/images/folder_components/uagents/group.png" class='ipd' /></td>
<td style='width: 2%; text-align: center'><img src="{$this->settings['skin_acp_url']}/images/folder_components/uagents/group.png" /></td>
<td style='width: 56%' colspan='2'><strong>{$data['ugroup_title']}</strong></td>
</tr>
EOF;
@@ -862,7 +950,7 @@ EOF;
$IPBHTML .= <<<EOF
<tr>
<td style='width: 2%; text-align: center'><input type='checkbox' name='uAgents[{$data['uagent_id']}]' value='1' {$_selected} /></td>
<td style='width: 2%; text-align: center'><img src="{$this->settings['skin_acp_url']}/images/folder_components/uagents/type_{$data['uagent_type']}.png" class='ipd' /></td>
<td style='width: 2%; text-align: center'><img src="{$this->settings['skin_acp_url']}/images/folder_components/uagents/type_{$data['uagent_type']}.png" /></td>
<td style='width: 56%;'><strong>{$data['uagent_name']}</strong></td>
<td style='width: 40%'>{$this->lang->words['sk_versions']}: <input type='text' name='uAgentVersion[{$data['uagent_id']}]' value='{$setData['_userAgents']['uagents'][ $data['uagent_key'] ]}' /></td>
</tr>
@@ -1500,7 +1588,7 @@ return $IPBHTML;
* @param array Caching data
* @return string HTML
*/
public function skinsets_listSkinSets( $sets, $cacheData ) {
public function skinsets_listSkinSets( $sets, $cacheData, $hasData, $canMerge ) {
$IPBHTML = "";
//--starthtml--//
@@ -1518,15 +1606,20 @@ $IPBHTML .= <<<EOF
<h3>{$this->lang->words['sk_skinsets']}</h3>
<table style='width: 100%' cellspacing='0' class='double_pad'>
<tr>
<th style='width: 85%'>{$this->lang->words['sk_setname']}</th>
<th width='3px'>&nbsp;</th>
<th style='width: 81%'>{$this->lang->words['sk_setname']}</th>
<th style='width: 3%'>&nbsp;</th>
<th style='width: 12%; text-align: center;'>{$this->lang->words['sk_outputformat']}</th>
<th style='width: 3%'>&nbsp;</th>
</tr>
</table>
<ul class='sortable_handle' id='sort_root'>
EOF;
$children = array( 'root' => array() );
$ended = array();
foreach( $sets as $idx => $data )
{
{
$subskin = ( $data['depthguide'] ) ? 'subforum' : '';
/* on off stuffs */
@@ -1541,24 +1634,56 @@ EOF;
}
else
{
$formatImage = "<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=makeDefault&amp;set_id={$data['set_id']}' title='{$this->lang->words['tt_ss_of_off']}'><img title='{$this->lang->words['tt_ss_of_off']}' src='{$this->settings['skin_acp_url']}/_newimages/output_off_{$data['set_output_format']}.png' /></a>";
$formatImage = "<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=makeDefault&amp;set_id={$data['set_id']}' title='{$this->lang->words['tt_ss_of_off']}'><img title='{$this->lang->words['tt_ss_of_off']}' src='{$this->settings['skin_acp_url']}/_newimages/output_off_{$data['set_output_format']}.png' /></a>";
}
if ( $data['set_hide_from_list'] )
{
$hiddenImage = "<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=toggleHidden&amp;set_id={$data['set_id']}' title='{$this->lang->words['ss_hidden']}'><img title='{$this->lang->words['ss_hidden']}' src='{$this->settings['skin_acp_url']}/_newimages/skinset_hidden.png' /></a>";
$hiddenImage = "<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=toggleHidden&amp;set_id={$data['set_id']}' title='{$this->lang->words['ss_hidden']}'><img title='{$this->lang->words['ss_hidden']}' src='{$this->settings['skin_acp_url']}/_newimages/skinset_hidden.png' /></a>";
}
else if ( ! $data['set_is_default'] )
{
$hiddenImage = "<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=toggleHidden&amp;set_id={$data['set_id']}' title='{$this->lang->words['ss_not_hidden']}'><img title='{$this->lang->words['ss_not_hidden']}' src='{$this->settings['skin_acp_url']}/_newimages/skinset_visible.png' /></a>";
$hiddenImage = "<a href='{$this->settings['base_url']}{$this->form_code}&amp;do=toggleHidden&amp;set_id={$data['set_id']}' title='{$this->lang->words['ss_not_hidden']}'><img title='{$this->lang->words['ss_not_hidden']}' src='{$this->settings['skin_acp_url']}/_newimages/skinset_visible.png' /></a>";
}
$children[ $data['set_id'] ] = unserialize( $data['set_child_array'] );
$closeLi = FALSE;
//if ( !is_array( $children[ $data['set_parent_id'] ] ) )
//{
// var_dump( $data['set_parent_id'] );
// exit;
//}
$parents = unserialize( $data['set_parent_array'] );
if( is_array($parents) AND count($parents) )
{
foreach ( $parents as $pid )
{
foreach ( $children[ $pid ] as $k => $v )
{
if ( $v == $data['set_id'] )
{
unset( $children[ $pid ][ $k ] );
break;
}
}
}
}
$IPBHTML .= <<<EOF
<li id='set_{$data['set_id']}' class='isDraggable'>
<ul class='sortable_handle' id='sort_{$data['set_id']}'>
<table style='width: 100%' cellspacing='0' class='double_pad'>
<tr>
<td class='{$data['_cssClass']} forum_row {$subskin}'>
<td class='{$data['_cssClass']} forum_row {$subskin}' width='1%' style='text-align: center'>
<div class='draghandle'><img src='{$this->settings['skin_acp_url']}/_newimages/drag_icon.png' alt='' /></div>
</td>
<td class='{$data['_cssClass']} forum_row {$subskin}' style='width: 81%'>
{$data['depthguide']}
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$data['_setImg']}' />&nbsp;
<strong><a title='{$data['bit_desc']}' href='{$this->settings['base_url']}&amp;module=templates&amp;section=templates&amp;do=list&amp;setID={$data['set_id']}'>{$data['set_name']}</a></strong>
<strong><a title='{$data['bit_desc']}' href='{$this->settings['base_url']}module=templates&amp;section=templates&amp;do=list&amp;setID={$data['set_id']}'>{$data['set_name']}</a></strong>
EOF;
if ( ! $cacheData[ $data['set_id'] ]['db'] AND ! $cacheData[ $data['set_id'] ]['php'] )
{
@@ -1573,13 +1698,13 @@ EOF;
$IPBHTML .= <<<EOF
</td>
<td class='{$data['_cssClass']} forum_row {$subskin}' style='text-align: center'>
<td class='{$data['_cssClass']} forum_row {$subskin}' style='text-align: center' style='width: 3%'>
$hiddenImage
</td>
<td class='{$data['_cssClass']} forum_row {$subskin}' style='text-align: center'>
<td class='{$data['_cssClass']} forum_row {$subskin}' style='text-align: center' style='width: 12%'>
$formatImage
</td>
<td class='{$data['_cssClass']} forum_row {$subskin}'>
<td class='{$data['_cssClass']} forum_row {$subskin}' style='width: 3%'>
<img class='ipbmenu' id="menubit{$data['set_id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['a_options']}' />
<ul class='acp-menu' id='menubit{$data['set_id']}_menucontent'>
<li class='icon edit'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=setEdit&amp;set_id={$data['set_id']}'>{$this->lang->words['sk_editsettings']}</a></li>
@@ -1589,6 +1714,13 @@ EOF;
<li class='icon edit'><a href='{$this->settings['base_url']}&amp;module=templates&amp;section=urlmap&amp;do=show&amp;setID={$data['set_id']}'>{$this->lang->words['sk_manageurlmapping']}</a></li>
<li class='icon delete'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=revertSplash&amp;setID={$data['set_id']}'>{$this->lang->words['sk_revert_customizations']}</a></li>
EOF;
if ( $canMerge )
{
$IPBHTML .= <<<EOF
<li class='icon edit'><a href='{$this->settings['base_url']}&amp;module=templates&amp;section=skindiff&amp;do=skinDiffStart&amp;setID={$data['set_id']}'>{$this->lang->words['runmergereports']}</a></li>
EOF;
}
if ( $data['_canRemove'] )
{
$IPBHTML .= <<<EOF
@@ -1598,16 +1730,16 @@ EOF;
if ( $data['_canWriteMaster'] AND IN_DEV )
{
$IPBHTML .= <<<EOF
<li class='icon export'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=setWriteMaster&amp;set_id={$data['set_id']}'>Экспортировать шаблоны в директорию 'master'...</a></li>
<li class='icon add'><a href='{$this->settings['base_url']}module=templates&amp;section=tools&amp;do=rebuildMasterSkin&amp;set_id={$data['set_id']}'>Импортировать шаблоны из директории 'master'...</a></li>
<li class='icon export'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=setWriteMaster&amp;set_id={$data['set_id']}'>{$this->lang->words['exportmastertempl']}</a></li>
<li class='icon add'><a href='{$this->settings['base_url']}module=templates&amp;section=tools&amp;do=rebuildMasterSkin&amp;set_id={$data['set_id']}'>{$this->lang->words['importmastertempl']}</a></li>
EOF;
}
if ( $data['_canWriteMasterCss'] AND IN_DEV )
{
$IPBHTML .= <<<EOF
<li class='icon export'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=setWriteMasterCss&amp;set_id={$data['set_id']}'>Экспортировать CSS в директорию 'master'...</a></li>
<li class='icon add'><a href='{$this->settings['base_url']}module=templates&amp;section=tools&amp;do=rebuildMasterCss&amp;set_id={$data['set_id']}'>Импортровать CSS из директории 'master'...</a></li>
<li class='icon export'><a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=setWriteMasterCss&amp;set_id={$data['set_id']}'>{$this->lang->words['exportmastercss']}</a></li>
<li class='icon add'><a href='{$this->settings['base_url']}module=templates&amp;section=tools&amp;do=rebuildMasterCss&amp;set_id={$data['set_id']}'>{$this->lang->words['importmastercss']}</a></li>
EOF;
}
@@ -1615,12 +1747,79 @@ EOF;
</ul>
</td>
</tr>
</table>
EOF;
}
if ( empty( $children[ $data['set_id'] ] ) and !in_array( $data['set_id'], $ended ) )
{
$ended[] = $children[ $data['set_id'] ];
$IPBHTML .= <<<EOF
</ul>
</li>
<script type="text/javascript">
dropItLikeItsHot{$data['set_id']} = function( draggableObject, mouseObject )
{
var options = {
method : 'post',
parameters : Sortable.serialize( 'sort_{$data['set_id']}', { tag: 'li', name: 'skin_sets' } )
};
new Ajax.Request( "{$this->settings['base_url']}&app=core&module=templates&section=skinsets&do=reorder&md5check={$this->registry->adminFunctions->getSecurityKey()}".replace( /&amp;/g, '&' ), options );
return false;
};
Sortable.create( 'sort_{$data['set_id']}', { only: 'isDraggable', revert: true, format: 'set_([0-9]+)', onUpdate: dropItLikeItsHot{$data['set_id']}, handle: 'draghandle' } );
</script>
EOF;
}
if( is_array($parents) AND count($parents) )
{
foreach ( $parents as $pid )
{
if ( empty( $children[ $pid ] ) and !in_array( $pid, $ended ) )
{
$ended[] = $pid;
$IPBHTML .= <<<EOF
</ul>
</li>
<script type="text/javascript">
dropItLikeItsHot{$pid} = function( draggableObject, mouseObject )
{
var options = {
method : 'post',
parameters : Sortable.serialize( 'sort_{$pid}', { tag: 'li', name: 'skin_sets' } )
};
new Ajax.Request( "{$this->settings['base_url']}&app=core&module=templates&section=skinsets&do=reorder&md5check={$this->registry->adminFunctions->getSecurityKey()}".replace( /&amp;/g, '&' ), options );
return false;
};
Sortable.create( 'sort_{$pid}', { only: 'isDraggable', revert: true, format: 'set_([0-9]+)', onUpdate: dropItLikeItsHot{$pid}, handle: 'draghandle' } );
</script>
EOF;
}
}
}
}
$IPBHTML .= <<<EOF
</table>
</ul>
<script type="text/javascript">
dropItLikeItsHotroot = function( draggableObject, mouseObject )
{
var options = {
method : 'post',
parameters : Sortable.serialize( 'sort_root', { tag: 'li', name: 'skin_sets' } )
};
new Ajax.Request( "{$this->settings['base_url']}&app=core&module=templates&section=skinsets&do=reorder&md5check={$this->registry->adminFunctions->getSecurityKey()}".replace( /&amp;/g, '&' ), options );
return false;
};
Sortable.create( 'sort_root', { only: 'isDraggable', revert: true, format: 'set_([0-9]+)', onUpdate: dropItLikeItsHotroot, handle: 'draghandle' } );
</script>
</div>
EOF;
@@ -1712,7 +1911,7 @@ ALL THESE ARE USED WITHIN ipb3CSS.js
</div>
<div id='tplate_cssRow_#{css_id}_differences' style='float:right;margin-right:10px;cursor:pointer'>{$this->lang->words['sk_comparediff']}</div>
<div>
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/template.png' class='ipd' />
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/template.png' />
<span style='font-weight:bold'>#{css_group}</span>.css
</div>
</div>
@@ -1940,7 +2139,6 @@ $IPBHTML .= <<<EOF
<link rel="stylesheet" type="text/css" media='screen' href="{$this->settings['skin_acp_url']}/acp_templates.css" />
<script type="text/javascript" src="{$this->settings['js_main_url']}acp.templates.js"></script>
<script type="text/javascript" src="{$this->settings['js_main_url']}acp.tabbed_basic_editor.js"></script>
<!--<script type='text/javascript' src="{$this->settings['js_main_url']}3rd_party/edit_area/edit_area_compressor.php"></script>-->
<div class='acp-box' id='template_editor'>
<h3>{$this->lang->words['sk_editingset']} {$setData['set_name']}</h3>
<div id='template_toolbar'>
@@ -2108,6 +2306,15 @@ EOF;
{$form['importName']}
</td>
</tr>
<tr>
<td>
<strong>{$this->lang->words['sk_upgrade']}</strong><br />
<span class='desctext'>{$this->lang->words['sk_doupgrade']}</span>
</td>
<td>
{$form['importUpgrade']}
</td>
</tr>
<tr>
<td>
<strong>{$this->lang->words['sk_useimageset']}</strong><br />
@@ -1,18 +1,18 @@
<?php
/**
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* ACP Tools skin file
* Last Updated: $Date: 2009-09-29 10:50:33 -0400 (Tue, 29 Sep 2009) $
* Last Updated: $Date: 2010-09-29 20:23:38 -0400 (Wed, 29 Sep 2010) $
*
* @author $Author: matt $
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 5175 $
* @version $Revision: 6925 $
*/
class cp_skin_tools extends output
@@ -28,6 +28,283 @@ public function __destruct()
{
}
//===========================================================================
// Manage EMail Rules
//===========================================================================
public function manageEmailRules( $rows ) {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['ie_title']}</h2>
<ul class='context_menu'>
<li><a href='{$this->settings['base_url']}module=tools&amp;section=incomingEmails&amp;do=add'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/add.png' /> {$this->lang->words['ie_add']}</a></li>
HTML;
if ( $this->settings['pop3_user'] )
{
$IPBHTML .= <<<HTML
<li><a href='{$this->settings['base_url']}module=tools&amp;section=incomingEmails&amp;do=test'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/cog.png' /> {$this->lang->words['ie_test_pop3']}</a></li>
HTML;
}
$IPBHTML .= <<<HTML
</ul>
</div>
<div class='acp-box'>
<h3>{$this->lang->words['ie_title']}</h3>
<table width='100%' class='alternate_rows'>
<tr>
<th width='2%'>&nbsp;</th>
<th>{$this->lang->words['ie_criteria']}</th>
<th>{$this->lang->words['ie_action']}</th>
<th width='1%'>&nbsp;</th>
</tr>
HTML;
if ( !empty( $rows ) )
{
foreach( $rows as $r )
{
$IPBHTML .= <<<HTML
<tr>
<td>&nbsp;</td>
<td>{$r['criteria']}</td>
<td>{$r['action']}</td>
<td>
<img id="tbmenu{$r['id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['a_options']}' class='ipbmenu' />
<ul class='acp-menu' id='tbmenu{$r['id']}_menucontent'>
<li class='icon edit'><a href='{$this->settings['base_url']}module=tools&amp;section=incomingEmails&amp;do=edit&amp;id={$r['id']}'>{$this->lang->words['edit']}</a></li>
<li class='icon delete'><a href='{$this->settings['base_url']}module=tools&amp;section=incomingEmails&amp;do=delete&amp;id={$r['id']}'>{$this->lang->words['delete']}</a></li>
</ul>
</td>
</tr>
HTML;
}
}
else
{
$IPBHTML .= <<<HTML
<tr>
<td colspan='4' style='text-align:center'><em>{$this->lang->words['ie_none']}</em></td>
</tr>
HTML;
}
$IPBHTML .= <<<HTML
</table>
</div>
HTML;
//--endhtml--//
return $IPBHTML;
}
//===========================================================================
// Add/Edit Email Rules
//===========================================================================
function emailRuleForm( $current, $applications=array() ) {
if ( empty( $current ) )
{
$title = $this->lang->words['ie_add'];
$id = 0;
}
else
{
$title = $this->lang->words['ie_edit'];
$id = $current['rule_id'];
}
$form['criteria_field'] = $this->registry->output->formDropdown( 'criteria_field', array(
array( 'to', $this->lang->words['ie_cf_to'] ),
array( 'from', $this->lang->words['ie_cf_from'] ),
array( 'sbjt', $this->lang->words['ie_cf_sbjt'] ),
array( 'body', $this->lang->words['ie_cf_body'] ),
), empty( $current ) ? NULL : $current['rule_criteria_field'] );
$form['criteria_type'] = $this->registry->output->formDropdown( 'criteria_type', array(
array( 'ctns', $this->lang->words['ie_ct_ctns'] ),
array( 'eqls', $this->lang->words['ie_ct_eqls'] ),
array( 'regx', $this->lang->words['ie_ct_regx'] ),
), empty( $current ) ? NULL : $current['rule_criteria_type'] );
$form['criteria_value'] = $this->registry->output->formInput( 'criteria_value', ( empty( $current ) ? '' : $current['rule_criteria_value'] ) );
$form['action'] = $this->registry->output->formDropdown( 'action', array_merge(
array( array( '--', $this->lang->words['ie_ignore'] ) ),
$applications
), empty( $current ) ? NULL : $current['rule_app'] );
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$title}</h2>
</div>
<div class='acp-box'>
<h3>{$title}</h3>
<form action='{$this->settings['base_url']}{$this->form_code}&amp;do=save' method='post'>
<input type='hidden' name='id' value='{$id}' />
<ul class="acp-form alternate_rows">
<li>
<label><strong>{$this->lang->words['ie_rule']}</strong></label>
{$form['criteria_field']} {$form['criteria_type']} {$form['criteria_value']}
</li>
<li>
<label><strong>{$this->lang->words['ie_action']}</strong></label>
{$form['action']}
</li>
</ul>
<div class="acp-actionbar">
<input type='submit' value='{$this->lang->words['ie_save']}' class='realbutton'>
</div>
</form>
</div>
HTML;
//--endhtml--//
return $IPBHTML;
}
//===========================================================================
// License Activation Form
//===========================================================================
//===========================================================================
// Sharelinks Form
//===========================================================================
public function sharelinksForm( $id, $do, $title, $button, $form ) {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<form action='{$this->settings['base_url']}{$this->form_code}' method='post' name='theAdminForm' id='theAdminForm'>
<input type='hidden' name='do' value='{$do}' />
<input type='hidden' name='id' value='{$id}' />
<input type='hidden' name='_admin_auth_key' value='{$this->registry->adminFunctions->getSecurityKey()}' />
<div class='acp-box'>
<h3>{$title}</h3>
<ul class='acp-form alternate_rows'>
<li>
<label>{$this->lang->words['sl_form_enabled']}</label>
{$form['share_enabled']}
</li>
<li>
<label>{$this->lang->words['sl_form_title']}</label>
{$form['share_title']}
</li>
<li>
<label>{$this->lang->words['sl_form_key']}<span class='desctext'>{$this->lang->words['sl_form_key_info']}</span></label>
{$form['share_key']}
</li>
<li>
<label>{$this->lang->words['sl_form_canonical']}</label>
{$form['share_canonical']}
</li>
</ul>
<div class='acp-actionbar'>
<div class='centeraction'>
<input type='submit' value='{$button}' class='button primary' accesskey='s'>
</div>
</div>
</div>
</form>
HTML;
//--endhtml--//
return $IPBHTML;
}
//===========================================================================
// Share links Index
//===========================================================================
public function shareLinksIndex( $rows ) {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<HTML
<div class='section_title'>
<h2>{$this->lang->words['sl_m_title']}</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' /> {$this->lang->words['sl_add']}</a></li>
</ul>
</div>
<div class='acp-box'>
<h3>{$this->lang->words['sl_current_title']}</h3>
<table width='100%' class='alternate_rows'>
<tr>
<th width='2%'>&nbsp;</th>
<th width='2%'>&nbsp;</th>
<th width='95%'>{$this->lang->words['sl_title']}</th>
<th width='1%'>&nbsp;</th>
</tr>
</table>
<ul id='share_handle' class='alternate_rows'>
HTML;
foreach( $rows as $r )
{
$IPBHTML .= <<<HTML
<li class='isDraggable' style='width:100%;' id='share_{$r['share_id']}'>
<table width='100%' class='alternate_rows'>
<tr>
<td width='2%'><div class='draghandle'><img src='{$this->settings['skin_acp_url']}/_newimages/drag_icon.png' /></div></td>
<td width='2%'><img src='{$this->settings['board_url']}/public/style_extra/sharelinks/{$r['share_key']}.png'></td>
<td width='95%'>{$r['share_title']}</td>
<td width='1%'>
<img id="tbmenu{$r['share_id']}" src='{$this->settings['skin_acp_url']}/_newimages/menu_open.png' alt='{$this->lang->words['a_options']}' class='ipbmenu' />
<ul class='acp-menu' id='tbmenu{$r['share_id']}_menucontent'>
<li class='icon edit'><a href='{$this->settings['base_url']}{$this->form_code}&amp;do=edit&amp;share_id={$r['share_id']}'>{$this->lang->words['sl_editbook']}...</a></li>
<li class='icon delete'><a href='#' onclick='return acp.confirmDelete("{$this->settings['base_url']}{$this->form_code}&amp;do=delete&amp;share_id={$r['share_id']}");'>{$this->lang->words['sl_deletebook']}...</a></li>
</ul>
</td>
</tr>
</table>
</li>
HTML;
}
$IPBHTML .= <<<HTML
</ul>
</div>
<script type="text/javascript">
dragDropper = function( draggableObject, mouseObject )
{
var options = {
method : 'post',
parameters : Sortable.serialize( 'share_handle', { tag: 'li', name: 'share' } )
};
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( 'share_handle', { only: 'isDraggable', revert: true, format: 'share_([0-9]+)', onUpdate: dragDropper, handle: 'draghandle' } );
</script>
HTML;
//--endhtml--//
return $IPBHTML;
}
/**
* User agents group form
*
@@ -121,7 +398,7 @@ ALL THESE ARE USED WITHIN ipb3uAgents.js
<div id='tplate_agentRow'>
<div id='tplate_agentrow_#{uagent_id}' onmouseover='IPB3UAgents.groupMouseEvent(event)' onmouseout='IPB3UAgents.groupMouseEvent(event)' onclick='IPB3UAgents.groupMouseEvent(event)' class='#{_cssClass}'>
<div>
<img id='tplate_agentimg_#{uagent_id}' src="{$this->settings['skin_acp_url']}/images/folder_components/uagents/" class='ipd' />
<img id='tplate_agentimg_#{uagent_id}' src="{$this->settings['skin_acp_url']}/images/folder_components/uagents/" />
<span style='font-weight:bold'>#{uagent_name}</span>
</div>
</div>
@@ -131,7 +408,7 @@ ALL THESE ARE USED WITHIN ipb3uAgents.js
<div id='tplate_grouprow_#{uagent_id}_remove' style='float:right;margin-right:10px;cursor:pointer'>[ {$this->lang->words['t_uaremove']} ]</div>
<div id='tplate_grouprow_#{uagent_id}_configure' style='float:right;margin-right:10px;cursor:pointer;display:none;font-size:10px'>{$this->lang->words['t_uaversions']} #{uagent_versions} [ {$this->lang->words['t_uaconfigure']} ]</div>
<div>
<img id='tplate_groupimg_#{uagent_id}' src="{$this->settings['skin_acp_url']}/images/folder_components/uagents/" class='ipd' />
<img id='tplate_groupimg_#{uagent_id}' src="{$this->settings['skin_acp_url']}/images/folder_components/uagents/" />
<span style='font-weight:bold'>#{uagent_name}</span>
</div>
</div>
@@ -141,9 +418,9 @@ ALL THESE ARE USED WITHIN ipb3uAgents.js
<div class='tableheaderalt'>{$this->lang->words['t_uaediting']} #{uagent_name}</div>
<div class='tablerow2' style='padding:10px'>
<div>
{$this->lang->words['t_ua_info']}
{$this->lang->words['t_ua_info']}
</div>
Versions:
{$this->lang->words['uaversions']}
<input type='text' id='tplate_versionsBox_#{uagent_id}' value='#{uagent_versions}' style='width:100%;' />
</div>
<div class='tablerow2' style='text-align:right;'>
@@ -202,7 +479,7 @@ if ( is_array( $userAgentGroups ) AND count( $userAgentGroups ) )
<tr>
<td>
<div style='float:left;padding-top:2px;'>
<img src='{$this->settings['skin_acp_url']}/images/folder_components/uagents/group.png' class='ipd' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/uagents/group.png' />
<strong>{$data['ugroup_title']}</strong>
</div>
@@ -293,7 +570,7 @@ EOF;
{
$IPBHTML .= <<<EOF
<li id='uagent_{$agent['uagent_id']}' class='isDraggable'>
<table width='100%' cellpadding='0' cellspacing='0' border='0' class='double_pad'>
<table width='100%' class='double_pad'>
<tr>
<td style='width: 2%; text-align: center'>
<div class='draghandle'><img src='{$this->settings['skin_acp_url']}/_newimages/drag_icon.png' alt='' /></div>
@@ -326,7 +603,7 @@ EOF;
ipb.templates['add_uagent'] = new Template("<div class='acp-box'><h3>#{box_title}</h3><ul class='acp-form'><li><label for='uagent_name_#{id}'>{$this->lang->words['t_uaname']}</label><input type='text' class='input_text' id='uagent_name_#{id}' value='#{a_name}' /><br /><span class='desctext'>{$this->lang->words['t_uaname_desc']}</span></li><li><label for='uagent_key_#{id}'>{$this->lang->words['t_uakey']}</label><input type='text' class='input_text' id='uagent_key_#{id}' value='#{a_key}' /><br /><span class='desctext'>{$this->lang->words['t_uakey_desc']}</span></li><li><label for='uagent_type_#{id}'>{$this->lang->words['t_uatype']}</label><select id='uagent_type_#{id}'><option value='browser' #{type_browser}>{$this->lang->words['t_uabrowser']}</option><option value='search' #{type_search}>{$this->lang->words['t_uasearchengine']}</option><option value='other' #{type_other}>{$this->lang->words['t_uaother']}</option></select></li><li><label for='uagent_regex_#{id}'>{$this->lang->words['t_uaregex']}</label><textarea id='uagent_regex_#{id}' class='input_text' style='width: 40%' rows='5'>#{a_regex}</textarea></li><li><label for='uagent_capture_#{id}'>{$this->lang->words['t_uacapture']}</label><input type='text' class='input_text' id='uagent_capture_#{id}' value='#{a_capture}' /><br /><span class='desctext'>{$this->lang->words['t_uacapture_desc']}</span></li></ul><div class='acp-actionbar'><input type='hidden' id='uagent_position_#{id}' value='#{a_position}' /><input type='submit' class='realbutton' value='{$this->lang->words['t_uasave']}' id='uagent_#{id}_save' /></div></div>");
ipb.templates['agent_row'] = new Template("<li id='uagent_#{id}' class='isDraggable'><table width='100%' cellpadding='0' cellspacing='0' border='0' class='double_pad'><tr><td style='width: 2%; text-align: center'><div class='draghandle'><img src='{$this->settings['skin_acp_url']}/_newimages/drag_icon.png' alt='' /></div></td><td style='width: 2%; text-align: center'><img src='{$this->settings['skin_acp_url']}/images/folder_components/uagents/type_#{type}.png' alt='Icon' /></td><td style='width: 78%'><strong>#{name}</strong></td><td style='width: 18%; text-align: right;'><span class='dropdown-button' title='{$this->lang->words['t_uaedit']}' id='agent_#{id}_edit'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/pencil.png' alt='{$this->lang->words['sk_icon']}' /></span> <span class='dropdown-button' title='{$this->lang->words['t_uaremove']}' id='agent_#{id}_delete'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/cross.png' alt='{$this->lang->words['sk_icon']}' /></span></td></tr></table></li>");
ipb.templates['agent_row'] = new Template("<li id='uagent_#{id}' class='isDraggable'><table width='100%' class='double_pad'><tr><td style='width: 2%; text-align: center'><div class='draghandle'><img src='{$this->settings['skin_acp_url']}/_newimages/drag_icon.png' alt='' /></div></td><td style='width: 2%; text-align: center'><img src='{$this->settings['skin_acp_url']}/images/folder_components/uagents/type_#{type}.png' alt='{$this->lang->words['icon']}' /></td><td style='width: 78%'><strong>#{name}</strong></td><td style='width: 18%; text-align: right;'><span class='dropdown-button' title='{$this->lang->words['t_uaedit']}' id='agent_#{id}_edit'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/pencil.png' alt='{$this->lang->words['sk_icon']}' /></span> <span class='dropdown-button' title='{$this->lang->words['t_uaremove']}' id='agent_#{id}_delete'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/cross.png' alt='{$this->lang->words['sk_icon']}' /></span></td></tr></table></li>");
</script>
EOF;
}
@@ -391,7 +668,7 @@ EOF;
$IPBHTML .= <<<EOF
</ul>
<div class='acp-actionbar'>
<input type='submit' value=' Сохранить ' class='button primary' /></div>
<input type='submit' value=' {$this->lang->words['t_uasave']} ' class='button primary' /></div>
</div>
</div>
</form>
@@ -471,28 +748,42 @@ $IPBHTML .= <<<EOF
<div class='acp-box'>
<h3>{$this->lang->words['tol_diagnostics_for']}: {$login['login_title']}</h3>
<table class='alternate_rows'>
<tr>
<th></th>
<th class='right-border'></th>
<th>{$this->lang->words['tol_file_name']}</th>
<th>{$this->lang->words['tol_exists']}</th>
<th>{$this->lang->words['tol_writeable']}</th>
<tr>
<th></th>
<th class='right-border'></th>
<th>{$this->lang->words['tol_file_name']}</th>
<th>{$this->lang->words['tol_exists']}</th>
<th>{$this->lang->words['tol_writeable']}</th>
</tr>
<tr>
<td><strong>{$this->lang->words['tol_log_in_enabled']}</strong></td>
<td class='right-border'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$login['_enabled_img']}' border='0' alt='*' class='ipd' /></td>
<td><strong>./sources/loginauth/{$login['login_folder_name']}/auth.php</strong></td>
<td><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$login['_file_auth_exists']}' border='0' alt='*' class='ipd' /></td>
<td>-</td>
</tr>
<tr>
<td><strong>{$this->lang->words['tol_log_in_has_settings']}</strong></td>
<td class='right-border'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$login['_has_settings']}' border='0' alt='*' class='ipd' /></td>
<td><strong>./sources/loginauth/{$login['login_folder_name']}/conf.php</strong></td>
<td><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$login['_file_conf_exists']}' border='0' alt='*' class='ipd' /></td>
<td><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$login['_file_conf_write']}' border='0' alt='*' class='ipd' /></td>
</tr>
</table>
<tr>
<td><strong>{$this->lang->words['tol_log_in_enabled']}</strong></td>
<td class='right-border'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$login['_enabled_img']}' alt='*' /></td>
<td><strong>./sources/loginauth/{$login['login_folder_name']}/auth.php</strong></td>
<td><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$login['_file_auth_exists']}' alt='*' /></td>
<td>-</td>
</tr>
<tr>
<td><strong>{$this->lang->words['tol_log_in_has_settings']}</strong></td>
<td class='right-border'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$login['_has_settings']}' alt='*' /></td>
<td><strong>./sources/loginauth/{$login['login_folder_name']}/conf.php</strong></td>
<td><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$login['_file_conf_exists']}' alt='*' /></td>
<td><img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$login['_file_conf_write']}' alt='*' /></td>
</tr>
EOF;
if( $login['_missingModules'] )
{
$_missing = sprintf( $this->lang->words['login_method_missing_functions'], $login['_missingModules'] );
$IPBHTML .= <<<EOF
<tr>
<td colspan='5'><strong>{$_missing}</strong></td>
</tr>
EOF;
}
$IPBHTML .= <<<EOF
</table>
</div>
EOF;
@@ -672,7 +963,7 @@ if( $data['login_installed'] )
$IPBHTML .= <<<EOF
<li id='login_{$data['login_id']}' {$className}>
<table width='100%' cellspacing='0' class='double_pad' cellpadding='0' border='0'>
<table width='100%' class='double_pad'>
<tr>
<td style='width: 3%'>
EOF;
@@ -685,7 +976,7 @@ EOF;
else
{
$IPBHTML .= <<<EOF
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/lock.png' alt='--' class='ipd' />
<img src='{$this->settings['skin_acp_url']}/_newimages/icons/lock.png' alt='--' />
EOF;
}
@@ -712,7 +1003,7 @@ EOF;
$IPBHTML .= "<a href='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=login_toggle&amp;login_id={$data['login_id']}' title='{$toggle_text}'>";
}
$IPBHTML .= "<img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$data['_enabled_img']}' border='0' alt='YN' class='ipd' />";
$IPBHTML .= "<img src='{$this->settings['skin_acp_url']}/_newimages/icons/{$data['_enabled_img']}' alt='YN' />";
if( $data['login_installed'] )
{
@@ -933,7 +1224,7 @@ EOF;
{
$IPBHTML .= <<<EOF
<tr>
<td><img src='{$this->settings['skin_acp_url']}/images/folder_components/cache/cache-row.png' class='ipd' /></td>
<td><img src='{$this->settings['skin_acp_url']}/images/folder_components/cache/cache-row.png' /></td>
<td><strong>{$data['cache_name']}</strong></td>
<td>{$data['_cache_size']}</td>
<td>
@@ -941,19 +1232,19 @@ EOF;
if ( $data['_cs_init_load'] AND $data['allow_unload'] )
{
$IPBHTML .= <<<EOF
<img src='{$this->settings['skin_acp_url']}/images/folder_components/cache/cache-loadtime.png' title='{$this->lang->words['tol_loaded_on_initialization']}' class='ipd' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/cache/cache-loadtime.png' title='{$this->lang->words['tol_loaded_on_initialization']}' />
EOF;
}
else if ( $data['_cs_init_load'] AND ! $data['allow_unload'] )
{
$IPBHTML .= <<<EOF
<img src='{$this->settings['skin_acp_url']}/images/folder_components/cache/cache-loadtime-set.png' title='{$this->lang->words['tol_loaded_on_initialization_canno']}' class='ipd' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/cache/cache-loadtime-set.png' title='{$this->lang->words['tol_loaded_on_initialization_canno']}' />
EOF;
}
else
{
$IPBHTML .= <<<EOF
<img src='{$this->settings['skin_acp_url']}/images/folder_components/cache/cache-loadtime-none.gif' title='{$this->lang->words['tol_not_loaded_on_initialization']}' class='ipd' />
<img src='{$this->settings['skin_acp_url']}/images/folder_components/cache/cache-loadtime-none.gif' title='{$this->lang->words['tol_not_loaded_on_initialization']}' />
EOF;
}
$IPBHTML .= <<<EOF
@@ -1061,7 +1352,7 @@ foreach( $settings as $tab => $app_data )
$_tab = IPSText::md5Clean( $tab );
$IPBHTML .= <<<EOF
<div id='tabpane-{$_tab}'>
<table width='100%' class='alternate_rows double_pad' cellpadding='0' cellspacing='0' border='0'>
<table width='100%' class='alternate_rows double_pad'>
EOF;
foreach( $app_data as $r )
@@ -1336,12 +1627,6 @@ public function settings_row_start_group($r) {
$IPBHTML = "";
//--starthtml--//
if( $this->settings['acp_tutorial_mode'] )
{
//$settingGroup = preg_replace( "/[^a-zA-Z0-9&;]/", '', $r['conf_start_group'] );
//$r['conf_start_group'] = "<span id='{$settingGroup}_title'>{$r['conf_start_group']}</span> <a href='#' id='{$settingGroup}' class='acp-help-settings'><img src='{$this->settings['skin_acp_url']}/_newimages/icons/help.png' alt='Icon' style='vertical-align: middle' /></a>";
}
$IPBHTML .= <<<EOF
<li class='isDraggable' id='setting_{$r['conf_id']}'>
<table width='100%' cellpadding='0' cellspacing='0'>
@@ -1356,55 +1641,24 @@ return $IPBHTML;
}
/**
* End a group of settings
* Automcplete field
*
* @access public
* @return string HTML
*/
public function settings_row_end_group() {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* End a normal setting row
*
* @access public
* @return string HTML
*/
public function settings_row_end_normal() {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
EOF;
//--endhtml--//
return $IPBHTML;
}
/**
* Start a normal setting row
*
* @access public
* @return string HTML
*/
public function settings_row_start_normal() {
public function nameAutoCompleteField( $key, $val ) {
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
<input type='text' id='{$key}' name='{$key}' value='{$val}' autocomplete='off' style='width:210px;' class='textinput' />
<script type="text/javascript" defer="defer">
document.observe("dom:loaded", function(){
var search = new ipb.Autocomplete( $('{$key}'), { multibox: false, url: acp.autocompleteUrl, templates: { wrap: acp.autocompleteWrap, item: acp.autocompleteItem } } );
});
</script>
EOF;
//--endhtml--//
@@ -1433,18 +1687,12 @@ if( !$r['conf_start_group'] )
<li class='isDraggable' id='setting_{$r['conf_id']}'>
EOF;
}
else
{
$IPBHTML .= <<<EOF
<!--<div class='{$tdrow1}'>-->
EOF;
}
$IPBHTML .= <<<EOF
<table cellpadding='0' class='double_pad' cellspacing='0' border='0' width='100%'>
<table class='double_pad' width='100%'>
<tr>
<td style='width: 3%'><div class='draghandle'><img src='{$this->settings['skin_acp_url']}/_newimages/drag_icon.png' alt='Drag' /></div></td>
<td style='width: 50%; padding-right: 35px;'><b>{$r['conf_title']}</b><div class='desctext'>{$r['conf_description']}{$r['help_key']}</div></td>
<td style='width: 3%'><div class='draghandle'><img src='{$this->settings['skin_acp_url']}/_newimages/drag_icon.png' alt='-' /></div></td>
<td style='width: 50%; padding-right: 35px;'><b>{$r['conf_title']}</b><div class='desctext'>{$r['conf_description']}</div></td>
EOF;
if( $elem_type != 'rte' )
{
@@ -1496,86 +1744,10 @@ EOF;
</li>
EOF;
/*if( $r['conf_start_group'] )
{
$IPBHTML .= <<<EOF
</div>
EOF;
}*/
//--endhtml--//
return $IPBHTML;
}
/**
* Form to export single settings
*
* @access public
* @param array Settings
* @return string HTML
*/
public function settings_exportsingle( $settings ) {
$per_row = 3;
$td_width = 100 / $per_row;
$count = 0;
$IPBHTML = "";
//--starthtml--//
$IPBHTML .= <<<EOF
<div class='section_title'>
<h2>{$this->lang->words['export_helptitle']}</h2>
</div>
<form action='{$this->settings['base_url']}&amp;{$this->form_code}&amp;do=setting_someexport_complete' method='post'>
<div class='tableborder'>
<div class='tableheaderalt'>{$this->lang->words['choose_export']}</div>
<table width='100%' cellspacing='1' cellpadding='4' border='0'>
<tr align='center'>
EOF;
foreach( $settings as $r )
{
$count++;
$class = $count == 2 ? 'tablerow2' : 'tablerow1';
$IPBHTML .= <<<EOF
<td width='{$td_width}%' align='left' class='$class'>
<input type='checkbox' style='checkbox' value='1' name='id_{$r['conf_id']}' /> <strong>{$r['conf_key']}</strong> - {$r['conf_id']}
</td>
EOF;
if ($count == $per_row )
{
$IPBHTML .= "</tr>\n\n<tr align='center'>";
$count = 0;
}
}
if ( $count > 0 and $count != $per_row )
{
for ($i = $count ; $i < $per_row ; ++$i)
{
$IPBHTML .= "<td class='tablerow2'>&nbsp;</td>\n";
}
$IPBHTML .= "</tr>";
}
$IPBHTML .= <<<EOF
</table>
<div class='tablesubheader' align='center'>
<input type='submit' class='realbutton' value='{$this->lang->words['export_selected']}' />
</div>
</div>
</form>
EOF;
return $IPBHTML;
}
/**
* Form to add/edit a setting
*
@@ -1649,10 +1821,6 @@ $IPBHTML .= <<<EOF
<label>{$this->lang->words['tol_start_setting_group']}<span class='desctext'>{$this->lang->words['tol_enter_title_here_or_leave_blan']}</span></label>
{$form['conf_start_group']}
</li>
<li>
<label>{$this->lang->words['tol_end_setting_group']}<span class='desctext'>{$this->lang->words['tol_end_an_opened_setting_group']}</span></label>
{$form['conf_end_group']}
</li>
EOF;
//startif
if ( $form['conf_protected'] != '' )
@@ -1,18 +1,20 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.0.5
* IP.Board v3.1.4
* Warn log skin file
* Last Updated: $Date: 2009-03-27 11:41:38 -0400 (Fri, 27 Mar 2009) $
* Last Updated: $Date: 2010-01-15 10:18:44 -0500 (Fri, 15 Jan 2010) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @license http://www.invisionpower.com/community/board/license.html
* @package IP.Board
* @subpackage Core
* @link http://www.iinvisionpower.com
* @link http://www.invisionpower.com
* @since Friday 19th May 2006 17:33
* @version $Revision: 4333 $
* @version $Revision: 5713 $
*/
class cp_skin_warnlogs extends output
@@ -1 +1,10 @@
<html>␍<head><title>IP.Board - Bulletin Board System</title></head>␍<body>␍<h1>403: IP.Board -> Forbidden</h1>␍<hr>␍You have reached this page in error, please use your back button to return to the forum.␍<hr>␍<a href="http://www.invisionboard.com/">IP.Board</a>␍</body>␍</html>␍
<html>
<head><title>IP.Board - Bulletin Board System</title></head>
<body>
<h1>403: IP.Board -&gt; Forbidden</h1>
<hr>
You have reached this page in error, please use your back button to return to the forum.
<hr>
<a href="http://www.invisionboard.com/">IP.Board</a>
</body>
</html>
@@ -10,7 +10,7 @@
{
margin-left: auto;
margin-right: auto;
background-color: #FFFFFF;
background: rgb(241, 244, 247);
background-repeat: repeat-x;
border: 1px solid #5b5b5b;
width: 500px;
@@ -29,11 +29,10 @@
font-size:14px;
}
#diffLogText
#diffLogTitle
{
width: 96%;
height: 45px;
padding:10px;
padding:6px;
font-size:22px;
margin:auto;
text-align:center;
@@ -41,6 +40,25 @@
overflow: auto;
}
#diffLogText
{
width: 96%;
padding:6px;
font-size:14px;
margin:auto;
text-align:center;
font-weight:normal;
overflow: auto;
}
#diffLogMsg
{
color: gray;
font-size:10px;
margin:auto;
text-align:center;
}
/* Progress Bar */
#diffLogProgressBar
{