Version 3.4.6
This commit is contained in:
1 parent
e4478369d8
commit
b45ea0dffb
1568 files changed
+155104
-161665
No files matched your search
@@ -7,7 +7,7 @@
|
||||
* $Author: bfarber $
|
||||
* @since 7th August 2012
|
||||
* $LastChangedDate: 2011-03-10 21:00:38 +0000 (Thu, 10 Mar 2011) $
|
||||
* @version v3.4.5
|
||||
* @version v3.4.6
|
||||
* $Revision: 8021 $
|
||||
*/
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Template comparison
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* AJAX Functions For applications/core/js/ipb3CSS.js file
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Handles Admin ajax functions for IP.Board Text Editor
|
||||
* Author: Matt "Matt Mecham" Mecham
|
||||
* Last Updated: $LastChangedDate: 2012-05-29 14:05:10 +0100 (Tue, 29 May 2012) $
|
||||
|
||||
@@ -1,115 +1,115 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* Login handler abstraction : AJAX Find Names functions
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @subpackage Core
|
||||
* @link http://www.invisionpower.com
|
||||
* @since Tuesday 1st March 2005 (11:52)
|
||||
* @version $Revision: 10721 $
|
||||
* @see public_core_ajax_findnames
|
||||
*
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_ACP' ) )
|
||||
{
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
|
||||
exit();
|
||||
}
|
||||
|
||||
class admin_core_ajax_findnames extends ipsAjaxCommand
|
||||
{
|
||||
/**
|
||||
* Class entry point
|
||||
*
|
||||
* @param object Registry reference
|
||||
* @return @e void [Outputs to screen]
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
switch( $this->request['do'] )
|
||||
{
|
||||
case 'get-member-names':
|
||||
$this->_getMemberNames();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns possible matches for the string input
|
||||
*
|
||||
* @return @e void Outputs to screen
|
||||
*/
|
||||
protected function _getMemberNames()
|
||||
{
|
||||
//-----------------------------------------
|
||||
// INIT
|
||||
//-----------------------------------------
|
||||
|
||||
$name = IPSText::convertUnicode( $this->convertAndMakeSafe( $this->request['name'], 0 ), true );
|
||||
$name = IPSText::convertCharsets( $name, 'utf-8', IPS_DOC_CHAR_SET );
|
||||
|
||||
//-----------------------------------------
|
||||
// Check length
|
||||
//-----------------------------------------
|
||||
|
||||
if ( IPSText::mbstrlen( $name ) < 3 )
|
||||
{
|
||||
$this->returnJsonError( 'requestTooShort' );
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Try query...
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->build( array( 'select' => 'm.members_display_name, m.name, m.member_id, m.member_group_id',
|
||||
'from' => array( 'members' => 'm' ),
|
||||
'where' => "m.members_l_display_name LIKE '" . $this->DB->addSlashes( mb_strtolower( $name ) ) . "%'",
|
||||
'order' => $this->DB->buildLength( 'm.members_display_name' ) . ' ASC',
|
||||
'limit' => array( 0, 15 ),
|
||||
'add_join' => array( array( 'select' => 'p.*',
|
||||
'from' => array( 'profile_portal' => 'p' ),
|
||||
'where' => 'p.pp_member_id=m.member_id',
|
||||
'type' => 'left' ) ) ) );
|
||||
$this->DB->execute();
|
||||
|
||||
//-----------------------------------------
|
||||
// Got any results?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( ! $this->DB->getTotalRows() )
|
||||
{
|
||||
$this->returnJsonArray( array( ) );
|
||||
}
|
||||
|
||||
$return = array();
|
||||
|
||||
while( $r = $this->DB->fetch() )
|
||||
{
|
||||
if( !$r['members_display_name'] )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$photo = IPSMember::buildProfilePhoto( $r );
|
||||
$group = IPSMember::makeNameFormatted( '' , $r['member_group_id'] );
|
||||
$return[ $r['member_id'] ] = array( 'name' => $r['members_display_name'],
|
||||
'showas'=> '<strong>' . $r['members_display_name'] . '</strong> (' . $group . ')',
|
||||
'img' => $photo['pp_mini_photo'],
|
||||
'img_w' => $photo['pp_mini_width'],
|
||||
'img_h' => $photo['pp_mini_height']
|
||||
);
|
||||
}
|
||||
|
||||
$this->returnJsonArray( $return );
|
||||
}
|
||||
<?php
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.6
|
||||
* Login handler abstraction : AJAX Find Names functions
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @subpackage Core
|
||||
* @link http://www.invisionpower.com
|
||||
* @since Tuesday 1st March 2005 (11:52)
|
||||
* @version $Revision: 10721 $
|
||||
* @see public_core_ajax_findnames
|
||||
*
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_ACP' ) )
|
||||
{
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
|
||||
exit();
|
||||
}
|
||||
|
||||
class admin_core_ajax_findnames extends ipsAjaxCommand
|
||||
{
|
||||
/**
|
||||
* Class entry point
|
||||
*
|
||||
* @param object Registry reference
|
||||
* @return @e void [Outputs to screen]
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
switch( $this->request['do'] )
|
||||
{
|
||||
case 'get-member-names':
|
||||
$this->_getMemberNames();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns possible matches for the string input
|
||||
*
|
||||
* @return @e void Outputs to screen
|
||||
*/
|
||||
protected function _getMemberNames()
|
||||
{
|
||||
//-----------------------------------------
|
||||
// INIT
|
||||
//-----------------------------------------
|
||||
|
||||
$name = IPSText::convertUnicode( $this->convertAndMakeSafe( $this->request['name'], 0 ), true );
|
||||
$name = IPSText::convertCharsets( $name, 'utf-8', IPS_DOC_CHAR_SET );
|
||||
|
||||
//-----------------------------------------
|
||||
// Check length
|
||||
//-----------------------------------------
|
||||
|
||||
if ( IPSText::mbstrlen( $name ) < 3 )
|
||||
{
|
||||
$this->returnJsonError( 'requestTooShort' );
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Try query...
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->build( array( 'select' => 'm.members_display_name, m.name, m.member_id, m.member_group_id',
|
||||
'from' => array( 'members' => 'm' ),
|
||||
'where' => "m.members_l_display_name LIKE '" . $this->DB->addSlashes( strtolower( $name ) ) . "%'",
|
||||
'order' => $this->DB->buildLength( 'm.members_display_name' ) . ' ASC',
|
||||
'limit' => array( 0, 15 ),
|
||||
'add_join' => array( array( 'select' => 'p.*',
|
||||
'from' => array( 'profile_portal' => 'p' ),
|
||||
'where' => 'p.pp_member_id=m.member_id',
|
||||
'type' => 'left' ) ) ) );
|
||||
$this->DB->execute();
|
||||
|
||||
//-----------------------------------------
|
||||
// Got any results?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( ! $this->DB->getTotalRows() )
|
||||
{
|
||||
$this->returnJsonArray( array( ) );
|
||||
}
|
||||
|
||||
$return = array();
|
||||
|
||||
while( $r = $this->DB->fetch() )
|
||||
{
|
||||
if( !$r['members_display_name'] )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$photo = IPSMember::buildProfilePhoto( $r );
|
||||
$group = IPSMember::makeNameFormatted( '' , $r['member_group_id'] );
|
||||
$return[ $r['member_id'] ] = array( 'name' => $r['members_display_name'],
|
||||
'showas'=> '<strong>' . $r['members_display_name'] . '</strong> (' . $group . ')',
|
||||
'img' => $photo['pp_mini_photo'],
|
||||
'img_w' => $photo['pp_mini_width'],
|
||||
'img_h' => $photo['pp_mini_height']
|
||||
);
|
||||
}
|
||||
|
||||
$this->returnJsonArray( $return );
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Hooks (AJAX)
|
||||
* Last Updated: $Date: 2013-02-15 17:36:04 -0500 (Fri, 15 Feb 2013) $
|
||||
* </pre>
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
File diff suppressed because it is too large.
Load diff
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* AJAX Functions For applications/core/js/ipb3CSS.js file
|
||||
* Last Updated: $Date: 2012-05-24 16:20:59 -0400 (Thu, 24 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* AJAX Functions For applications/core/js/ipb3CSS.js file
|
||||
* Last Updated: $Date: 2011-05-05 12:03:47 +0100 (Thu, 05 May 2011) $
|
||||
* </pre>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* $Author: bfarber $
|
||||
* @since 8th Feb 2011
|
||||
* $LastChangedDate: 2011-03-10 16:00:38 -0500 (Thu, 10 Mar 2011) $
|
||||
* @version v3.4.5
|
||||
* @version v3.4.6
|
||||
* $Revision: 8021 $
|
||||
*/
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* AJAX Functions For applications/core/js/ipb3Templates.js file
|
||||
* Last Updated: $Date: 2012-11-30 10:02:12 -0500 (Fri, 30 Nov 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* AJAX Functions For applications/core/js/ipb3Templates.js file
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* AJAX Functions For applications/core/js/ipb3Templates.js file
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* AJAX Functions For applications/core/js/ipb3CSS.js file
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* $Author: bfarber $
|
||||
* @since 15 January 2007
|
||||
* $LastChangedDate: 2013-05-07 22:02:49 -0400 (Tue, 07 May 2013) $
|
||||
* @version v3.4.5
|
||||
* @version v3.4.6
|
||||
* $Revision: 12236 $
|
||||
*/
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Blog Application
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
@@ -37,6 +37,6 @@ class admin_core_applications_blog extends ipsCommand
|
||||
{
|
||||
$this->registry->getClass('class_permissions')->checkPermissionAutoMsg( 'purchase_app' );
|
||||
|
||||
$this->registry->output->showInsideIframe("http://external.ipslink.com/ipboard30/landing/?p=blog");
|
||||
$this->registry->output->showInsideIframe("http://anonym.to/?http://external.ipslink.com/ipboard30/landing/?p=blog");
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Blog Application
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
@@ -34,6 +34,6 @@ class admin_core_applications_ccs extends ipsCommand
|
||||
{
|
||||
$this->registry->getClass('class_permissions')->checkPermissionAutoMsg( 'purchase_app' );
|
||||
|
||||
$this->registry->output->showInsideIframe("http://www.invisionpower.com/products/content/");
|
||||
$this->registry->output->showInsideIframe("http://anonym.to/?http://www.invisionpower.com/products/content/");
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Download Manager Application
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* $Author: ips_terabyte $
|
||||
* @since 20th February 2002
|
||||
* $LastChangedDate: 2011-05-05 12:40:49 -0400 (Thu, 05 May 2011) $
|
||||
* @version v3.4.5
|
||||
* @version v3.4.6
|
||||
* $Revision: 8655 $
|
||||
*/
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Download Manager Application
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
@@ -37,6 +37,6 @@ class admin_core_applications_downloads extends ipsCommand
|
||||
{
|
||||
$this->registry->getClass('class_permissions')->checkPermissionAutoMsg( 'purchase_app' );
|
||||
|
||||
$this->registry->output->showInsideIframe("http://www.invisionpower.com/products/downloads/");
|
||||
$this->registry->output->showInsideIframe("http://anonym.to/?http://www.invisionpower.com/products/downloads/");
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
* $Author: mark $
|
||||
* @since 24 July 2012
|
||||
* $LastChangedDate: 2012-06-20 10:50:23 +0100 (Wed, 20 Jun 2012) $
|
||||
* @version v3.4.5
|
||||
* @version v3.4.6
|
||||
* $Revision: 10952 $
|
||||
*/
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Gallery Application
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
@@ -37,6 +37,6 @@ class admin_core_applications_gallery extends ipsCommand
|
||||
{
|
||||
$this->registry->getClass('class_permissions')->checkPermissionAutoMsg( 'purchase_app' );
|
||||
|
||||
$this->registry->output->showInsideIframe("http://www.invisionpower.com/products/gallery/");
|
||||
$this->registry->output->showInsideIframe("http://anonym.to/?http://www.invisionpower.com/products/gallery/");
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Nexus Application
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
@@ -34,6 +34,6 @@ class admin_core_applications_nexus extends ipsCommand
|
||||
{
|
||||
$this->registry->getClass('class_permissions')->checkPermissionAutoMsg( 'purchase_app' );
|
||||
|
||||
$this->registry->output->showInsideIframe("http://www.invisionpower.com/products/nexus/");
|
||||
$this->registry->output->showInsideIframe("http://anonym.to/?http://www.invisionpower.com/products/nexus/");
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,10 +2,10 @@
|
||||
<menu>
|
||||
<tabitems>
|
||||
<item>
|
||||
<title>Управление Приложениями</title>
|
||||
<title>Manage Applications & Modules</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Управление Приложениями</subitemtitle>
|
||||
<subitemtitle>Manage Applications & Modules</subitemtitle>
|
||||
<subitemlang>manage_apps_modules</subitemlang>
|
||||
<subsection>applications</subsection>
|
||||
<subitemurl>do=applications_overview</subitemurl>
|
||||
@@ -15,10 +15,10 @@
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Управление Хуками</title>
|
||||
<title>Manage Hooks</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Управление Хуками</subitemtitle>
|
||||
<subitemtitle>Manage Hooks</subitemtitle>
|
||||
<subitemlang>manage_hooks</subitemlang>
|
||||
<subsection>hooks</subsection>
|
||||
<subitemurl>do=hooks_overview</subitemurl>
|
||||
@@ -28,10 +28,10 @@
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Расширения</title>
|
||||
<title>Community Enhancements</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Расширения</subitemtitle>
|
||||
<subitemtitle>Community Enhancements</subitemtitle>
|
||||
<subitemlang>community_enhancements</subitemlang>
|
||||
<subsection>enhancements</subsection>
|
||||
<subitemurl></subitemurl>
|
||||
|
||||
@@ -1,72 +1,72 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<permissions>
|
||||
<group>
|
||||
<grouptitle>Управление приложениями</grouptitle>
|
||||
<grouptitle>Manage Applications</grouptitle>
|
||||
<grouplang>core_manage_apps</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>app_manage</key>
|
||||
<string>Может изменять/добавлять приложения?</string>
|
||||
<string>Can manage applications?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>app_delete</key>
|
||||
<string>Может удалять приложения?</string>
|
||||
<string>Can delete applications?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>app_install</key>
|
||||
<string>Может устанавливать новые приложения?</string>
|
||||
<string>Can install new applications?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>build_sphinx</key>
|
||||
<string>Может создавать sphinx.conf? ВНИМАНИЕ: будут доступны данные для соединения с базой данных</string>
|
||||
<string>Can build sphinx.conf? WARNING: Exposes database login details</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
<group>
|
||||
<grouptitle>Управление модулями</grouptitle>
|
||||
<grouptitle>Manage Modules</grouptitle>
|
||||
<grouplang>core_manage_modules</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>module_manage</key>
|
||||
<string>Может изменять/добавлять модули?</string>
|
||||
<string>Can edit/add application modules?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>module_delete</key>
|
||||
<string>Может удалять модули приложений?</string>
|
||||
<string>Can delete application modules?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
<group>
|
||||
<grouptitle>Покупка приложений</grouptitle>
|
||||
<grouptitle>Purchase Applications</grouptitle>
|
||||
<grouplang>core_purchase_app</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>purchase_app</key>
|
||||
<string>Может просматривать страницу с платными приложениями?</string>
|
||||
<string>Can view pages to purchase additional applications?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
<group>
|
||||
<grouptitle>Управление хуками</grouptitle>
|
||||
<grouptitle>Manage Hooks</grouptitle>
|
||||
<grouplang>core_manage_hooks</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>hooks_manage</key>
|
||||
<string>Может добавлять/изменять хуки?</string>
|
||||
<string>Can manage hooks?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>hooks_delete</key>
|
||||
<string>Может удалять хуки?</string>
|
||||
<string>Can remove hooks?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
<group>
|
||||
<grouptitle>Расширения для Сообщества</grouptitle>
|
||||
<grouptitle>Community Enhancements</grouptitle>
|
||||
<grouplang>core_community_enhancements</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>enhancements_manage</key>
|
||||
<string>Может управлять расширениями?</string>
|
||||
<string>Can manage community enhancements?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Attachment Poster
|
||||
* Last Updated: $Date: 2012-05-21 21:37:50 +0100 (Mon, 21 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -7,7 +7,7 @@
|
||||
* $Author: ips_terabyte $
|
||||
* @since 20th February 2002
|
||||
* $LastChangedDate: 2011-05-05 12:40:49 -0400 (Thu, 05 May 2011) $
|
||||
* @version v3.4.5
|
||||
* @version v3.4.6
|
||||
* $Revision: 8655 $
|
||||
*/
|
||||
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,10 +2,10 @@
|
||||
<menu>
|
||||
<tabitems>
|
||||
<item>
|
||||
<title>Обзор Системы</title>
|
||||
<title>Overview</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Обзор Системы</subitemtitle>
|
||||
<subitemtitle>Overview</subitemtitle>
|
||||
<subitemlang>diag_overview</subitemlang>
|
||||
<subsection>diagnostics</subsection>
|
||||
<subitemurl></subitemurl>
|
||||
@@ -15,10 +15,10 @@
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Проверка Пробелов</title>
|
||||
<title>Whitespace Checker</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Проверка Пробелов</subitemtitle>
|
||||
<subitemtitle>Whitespace Checker</subitemtitle>
|
||||
<subitemlang>whitespace_checker</subitemlang>
|
||||
<subsection>diagnostics</subsection>
|
||||
<subitemurl>do=whitespace</subitemurl>
|
||||
@@ -28,10 +28,10 @@
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Проверка Ограничений ФС</title>
|
||||
<title>Permissions Checker</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Проверка Ограничений ФС</subitemtitle>
|
||||
<subitemtitle>Permissions Checker</subitemtitle>
|
||||
<subitemlang>permissions_checker</subitemlang>
|
||||
<subsection>diagnostics</subsection>
|
||||
<subitemurl>do=filepermissions</subitemurl>
|
||||
@@ -41,10 +41,10 @@
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Проверка Соединений</title>
|
||||
<title>Connection Checker</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Проверка Соединений</subitemtitle>
|
||||
<subitemtitle>Connection Checker</subitemtitle>
|
||||
<subitemlang>connection_checker</subitemlang>
|
||||
<subsection>diagnostics</subsection>
|
||||
<subitemurl>do=connections</subitemurl>
|
||||
@@ -54,10 +54,10 @@
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Прверка БД</title>
|
||||
<title>Database Checker</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Проверка БД</subitemtitle>
|
||||
<subitemtitle>Database Checker</subitemtitle>
|
||||
<subitemlang>db_checker</subitemlang>
|
||||
<subsection>diagnostics</subsection>
|
||||
<subitemurl>do=dbchecker</subitemurl>
|
||||
@@ -67,10 +67,10 @@
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Проверка Индексов БД</title>
|
||||
<title>Database Index Checker</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Проверка Индексов БД</subitemtitle>
|
||||
<subitemtitle>Database Index Checker</subitemtitle>
|
||||
<subitemlang>dbi_checker</subitemlang>
|
||||
<subsection>diagnostics</subsection>
|
||||
<subitemurl>do=dbindex</subitemurl>
|
||||
@@ -80,10 +80,10 @@
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Тест Email</title>
|
||||
<title>Email Tester</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Тест Email</subitemtitle>
|
||||
<subitemtitle>Email Tester</subitemtitle>
|
||||
<subitemlang>email_checker</subitemlang>
|
||||
<subsection>diagnostics</subsection>
|
||||
<subitemurl>do=email</subitemurl>
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<permissions>
|
||||
<group>
|
||||
<grouptitle>Инструменты диагностики</grouptitle>
|
||||
<grouptitle>Diagnostic Tools</grouptitle>
|
||||
<grouplang>core_diag_tools</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>index_checker</key>
|
||||
<string>Может проверять индексы таблиц базы? Внимание: позволяет выполнять запросы к базе.</string>
|
||||
<string>Can use the database index checker? Warning: Allows ability to run database queries indirectly.</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>database_checker</key>
|
||||
<string>Может использовать проверку базы данных? Внимание: позволяет выполнять запросы к базе.</string>
|
||||
<string>Can use the database checker? Warning: Allows ability to run database queries indirectly.</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>whitespace_checker</key>
|
||||
<string>Может проверять файлы на лишние пробелы?</string>
|
||||
<string>Can use the whitespace checker?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>connection_checker</key>
|
||||
<string>Может использовать проверку сетевых соединений?</string>
|
||||
<string>Can use the connection checker?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>permission_checker</key>
|
||||
<string>Может проверять файлы и директории на правильность расстановки прав доступа?</string>
|
||||
<string>Can use the permissions checker?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>email_checker</key>
|
||||
<string>Может проверять работу почты?</string>
|
||||
<string>Can use the email tester?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* $Author: ips_terabyte $
|
||||
* @since 20th February 2002
|
||||
* $LastChangedDate: 2011-05-05 12:40:49 -0400 (Thu, 05 May 2011) $
|
||||
* @version v3.4.5
|
||||
* @version v3.4.6
|
||||
* $Revision: 8655 $
|
||||
*/
|
||||
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Quick help - shows popups with help information
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
@@ -115,28 +115,28 @@ class admin_core_help_quickhelp extends ipsCommand
|
||||
switch( $id )
|
||||
{
|
||||
case 'docs':
|
||||
$url = "http://external.ipslink.com/ipboard30/landing/?p=docs-ipb";
|
||||
$url = "http://anonym.to/?http://external.ipslink.com/ipboard30/landing/?p=docs-ipb";
|
||||
break;
|
||||
|
||||
case 'resources':
|
||||
$url = "http://external.ipslink.com/ipboard30/landing/?p=resources";
|
||||
$url = "http://anonym.to/?http://external.ipslink.com/ipboard30/landing/?p=resources";
|
||||
break;
|
||||
|
||||
case 'contact':
|
||||
$url = "http://external.ipslink.com/ipboard30/landing/?p=contact";
|
||||
$url = "http://anonym.to/?http://external.ipslink.com/ipboard30/landing/?p=contact";
|
||||
break;
|
||||
|
||||
case 'features':
|
||||
$url = "http://external.ipslink.com/ipboard30/landing/?p=suggestfeatures";
|
||||
$url = "http://anonym.to/?http://external.ipslink.com/ipboard30/landing/?p=suggestfeatures";
|
||||
break;
|
||||
|
||||
case 'bugs':
|
||||
$url = "http://external.ipslink.com/ipboard30/landing/?p=bugs";
|
||||
$url = "http://anonym.to/?http://external.ipslink.com/ipboard30/landing/?p=bugs";
|
||||
break;
|
||||
|
||||
default:
|
||||
case 'support':
|
||||
$url = "http://external.ipslink.com/ipboard30/landing/?p=support";
|
||||
$url = "http://anonym.to/?http://external.ipslink.com/ipboard30/landing/?p=support";
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,77 +1,77 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<menu>
|
||||
<tabitems>
|
||||
<item>
|
||||
<title>Документация</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Документация</subitemtitle>
|
||||
<subitemlang>help_documentation</subitemlang>
|
||||
<subsection>quickhelp</subsection>
|
||||
<subitemurl>do=redirect&id=docs</subitemurl>
|
||||
<subisredirect>1</subisredirect>
|
||||
</subitem>
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Техническая поддержка</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Техническая поддержка</subitemtitle>
|
||||
<subitemlang>help_support</subitemlang>
|
||||
<subsection>quickhelp</subsection>
|
||||
<subitemurl>do=redirect&id=support</subitemurl>
|
||||
<subisredirect>1</subisredirect>
|
||||
</subitem>
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Дополнительные Ресурсы</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Дополнительные Ресурсы</subitemtitle>
|
||||
<subitemlang>help_resources</subitemlang>
|
||||
<subsection>quickhelp</subsection>
|
||||
<subitemurl>do=redirect&id=resources</subitemurl>
|
||||
<subisredirect>1</subisredirect>
|
||||
</subitem>
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Контактная Информация</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Контактная Информация</subitemtitle>
|
||||
<subitemlang>help_contact</subitemlang>
|
||||
<subsection>quickhelp</subsection>
|
||||
<subitemurl>do=redirect&id=contact</subitemurl>
|
||||
<subisredirect>1</subisredirect>
|
||||
</subitem>
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Запрос Функций</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Запрос Функций</subitemtitle>
|
||||
<subitemlang>help_features</subitemlang>
|
||||
<subsection>quickhelp</subsection>
|
||||
<subitemurl>do=redirect&id=features</subitemurl>
|
||||
<subisredirect>1</subisredirect>
|
||||
</subitem>
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Сообщить об Ошибке</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Сообщить об Ошибке</subitemtitle>
|
||||
<subitemlang>help_bugs</subitemlang>
|
||||
<subsection>quickhelp</subsection>
|
||||
<subitemurl>do=redirect&id=bugs</subitemurl>
|
||||
<subisredirect>1</subisredirect>
|
||||
</subitem>
|
||||
</subitems>
|
||||
</item>
|
||||
</tabitems>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<menu>
|
||||
<tabitems>
|
||||
<item>
|
||||
<title>Documentation</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Documentation</subitemtitle>
|
||||
<subitemlang>help_documentation</subitemlang>
|
||||
<subsection>quickhelp</subsection>
|
||||
<subitemurl>do=redirect&id=docs</subitemurl>
|
||||
<subisredirect>1</subisredirect>
|
||||
</subitem>
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Technical Support</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Technical Support</subitemtitle>
|
||||
<subitemlang>help_support</subitemlang>
|
||||
<subsection>quickhelp</subsection>
|
||||
<subitemurl>do=redirect&id=support</subitemurl>
|
||||
<subisredirect>1</subisredirect>
|
||||
</subitem>
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Additional Resources</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Additional Resources</subitemtitle>
|
||||
<subitemlang>help_resources</subitemlang>
|
||||
<subsection>quickhelp</subsection>
|
||||
<subitemurl>do=redirect&id=resources</subitemurl>
|
||||
<subisredirect>1</subisredirect>
|
||||
</subitem>
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>IPS Contact Information</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>IPS Contact Information</subitemtitle>
|
||||
<subitemlang>help_contact</subitemlang>
|
||||
<subsection>quickhelp</subsection>
|
||||
<subitemurl>do=redirect&id=contact</subitemurl>
|
||||
<subisredirect>1</subisredirect>
|
||||
</subitem>
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Feature Requests</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Feature Requests</subitemtitle>
|
||||
<subitemlang>help_features</subitemlang>
|
||||
<subsection>quickhelp</subsection>
|
||||
<subitemurl>do=redirect&id=features</subitemurl>
|
||||
<subisredirect>1</subisredirect>
|
||||
</subitem>
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Report a Bug</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Report a Bug</subitemtitle>
|
||||
<subitemlang>help_bugs</subitemlang>
|
||||
<subsection>quickhelp</subsection>
|
||||
<subitemurl>do=redirect&id=bugs</subitemurl>
|
||||
<subisredirect>1</subisredirect>
|
||||
</subitem>
|
||||
</subitems>
|
||||
</item>
|
||||
</tabitems>
|
||||
</menu>
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -7,7 +7,7 @@
|
||||
* $Author: ips_terabyte $
|
||||
* @since 20th February 2002
|
||||
* $LastChangedDate: 2011-05-05 12:40:49 -0400 (Thu, 05 May 2011) $
|
||||
* @version v3.4.5
|
||||
* @version v3.4.6
|
||||
* $Revision: 8655 $
|
||||
*/
|
||||
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
File diff suppressed because it is too large.
Load diff
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,10 +2,10 @@
|
||||
<menu>
|
||||
<tabitems>
|
||||
<item>
|
||||
<title>Языки Системы</title>
|
||||
<title>Manage Languages</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Языки Системы</subitemtitle>
|
||||
<subitemtitle>Manage Languages</subitemtitle>
|
||||
<subitemlang>languages</subitemlang>
|
||||
<subsection>manage_languages</subsection>
|
||||
<subitemurl></subitemurl>
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<permissions>
|
||||
<group>
|
||||
<grouptitle>Управление языками</grouptitle>
|
||||
<grouptitle>Manage Languages</grouptitle>
|
||||
<grouplang>core_languages</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>lang_words</key>
|
||||
<string>Может добавлять/изменять слова?</string>
|
||||
<string>Can add/edit the language bit texts?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>lang_packs</key>
|
||||
<string>Может добавлять/изменять языковые наборы?</string>
|
||||
<string>Can add/edit language packs?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>lang_pack_info</key>
|
||||
<string>Может изменять настройки и информацию языковых наборов?</string>
|
||||
<string>Can alter the language pack properties and information?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,452 +1,452 @@
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* ACP Login/Logout Routines
|
||||
* Last Updated: $Date: 2013-03-20 10:14:51 -0400 (Wed, 20 Mar 2013) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: mmecham $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @subpackage Core
|
||||
* @link http://www.invisionpower.com
|
||||
* @since Tuesday 17th August 2004
|
||||
* @version $Revision: 12094 $
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_ACP' ) )
|
||||
{
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded 'admin.php'.";
|
||||
exit();
|
||||
}
|
||||
|
||||
|
||||
class admin_core_login_manualResolver extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* HTML Skin object
|
||||
*
|
||||
* @var object
|
||||
*/
|
||||
protected $html;
|
||||
|
||||
/**#@+
|
||||
* Registry objects
|
||||
*
|
||||
* @var object
|
||||
*/
|
||||
public $registry;
|
||||
public $DB;
|
||||
public $settings;
|
||||
public $request;
|
||||
public $lang;
|
||||
public $member;
|
||||
public $memberData;
|
||||
/**#@-*/
|
||||
|
||||
/**
|
||||
* Login handler object
|
||||
*
|
||||
* @var object
|
||||
*/
|
||||
protected $han_login;
|
||||
|
||||
/**
|
||||
* Initiate login handler
|
||||
*
|
||||
* @return @e void
|
||||
*/
|
||||
public function initHanLogin()
|
||||
{
|
||||
$classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/handlers/han_login.php', 'han_login' );
|
||||
$this->han_login = new $classToLoad( $this->registry );
|
||||
|
||||
$this->han_login->is_admin_auth = 1;
|
||||
$this->han_login->init();
|
||||
}
|
||||
|
||||
/**
|
||||
* Class entry point
|
||||
*
|
||||
* @param object Registry reference
|
||||
* @param string Validation message
|
||||
* @return @e void [Outputs to screen/redirects]
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry, $validationMessage='' )
|
||||
{
|
||||
/* Make object */
|
||||
$this->registry = $registry;
|
||||
$this->DB = $this->registry->DB();
|
||||
$this->settings =& $this->registry->fetchSettings();
|
||||
$this->request =& $this->registry->fetchRequest();
|
||||
$this->member = $this->registry->member();
|
||||
$this->memberData =& $this->registry->member()->fetchMemberData();
|
||||
$this->lang = $this->registry->getClass('class_localization');
|
||||
|
||||
$this->registry->getClass('class_localization')->loadLanguageFile( array( 'admin_login' ), 'core' );
|
||||
|
||||
$this->initHanLogin();
|
||||
|
||||
//-----------------------------------------
|
||||
// What to do?
|
||||
//-----------------------------------------
|
||||
|
||||
switch( $this->request['do'] )
|
||||
{
|
||||
case 'login':
|
||||
default:
|
||||
$this->loginForm();
|
||||
break;
|
||||
|
||||
case 'login-complete':
|
||||
$this->loginComplete();
|
||||
break;
|
||||
|
||||
case 'login-out':
|
||||
$this->loginOut();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check and verify the login was successful
|
||||
*
|
||||
* @return @e void
|
||||
*/
|
||||
public function loginComplete()
|
||||
{
|
||||
/* Fetch sessions API */
|
||||
$classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/session/api.php', 'session_api' );
|
||||
$publicApi = new $classToLoad( $this->registry );
|
||||
|
||||
//-----------------------------------------
|
||||
// Check form details.
|
||||
//-----------------------------------------
|
||||
|
||||
$username = '';
|
||||
$email = '';
|
||||
|
||||
//-----------------------------------------
|
||||
// Is this a username or email address?
|
||||
//-----------------------------------------
|
||||
|
||||
$_type = $this->han_login->emailOrUsername();
|
||||
|
||||
switch( $_type )
|
||||
{
|
||||
case 1:
|
||||
$username = $this->request['username'];
|
||||
break;
|
||||
|
||||
case 2:
|
||||
$email = $this->request['username'];
|
||||
break;
|
||||
|
||||
case 3:
|
||||
$username = $this->request['username'];
|
||||
$email = $this->request['username'];
|
||||
break;
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Check auth
|
||||
//-----------------------------------------
|
||||
|
||||
$this->han_login->loginAuthenticate( $username, $email, trim($this->request['password']) );
|
||||
|
||||
//-----------------------------------------
|
||||
// Check return code...
|
||||
//-----------------------------------------
|
||||
|
||||
$mem = $this->han_login->member_data;
|
||||
|
||||
if ( ( ! $mem['member_id'] ) or ( $this->han_login->return_code == 'NO_USER' ) )
|
||||
{
|
||||
$this->_writeToLog( $this->request['username'], 'fail' );
|
||||
$this->loginForm( $this->lang->words['bad_email_password'] );
|
||||
}
|
||||
|
||||
if ( $this->han_login->return_code == 'NO_ACCESS' )
|
||||
{
|
||||
$this->_writeToLog( $this->request['username'], 'fail' );
|
||||
$this->loginForm( $this->lang->words['no_acp_access'] );
|
||||
}
|
||||
else if ( $this->han_login->return_code != 'SUCCESS' )
|
||||
{
|
||||
$this->_writeToLog( $this->request['username'], 'fail' );
|
||||
$this->loginForm( $this->lang->words['bad_email_password'] );
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// And sort secondary groups...
|
||||
//-----------------------------------------
|
||||
|
||||
$mem = $this->member->setUpSecondaryGroups( $mem );
|
||||
|
||||
//-----------------------------------------
|
||||
// Check access...
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $mem['g_access_cp'] != 1 )
|
||||
{
|
||||
$this->_writeToLog( $this->request['username'], 'fail' );
|
||||
$this->loginForm( $this->lang->words['no_acp_access'] );
|
||||
}
|
||||
else
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Fix up query string...
|
||||
//-----------------------------------------
|
||||
|
||||
$extra_query = "";
|
||||
|
||||
if ( $_POST['qstring'] )
|
||||
{
|
||||
$extra_query = stripslashes( htmlspecialchars( $_POST['qstring'] ) );
|
||||
$extra_query = str_replace( $this->settings['_original_base_url'] , "" , $extra_query );
|
||||
$extra_query = str_ireplace( "?index." . $this->settings['php_ext'] , "" , $extra_query );
|
||||
$extra_query = ltrim( $extra_query, '?' );
|
||||
$extra_query = preg_replace( '!adsess=(\w){32}!' , "" , $extra_query );
|
||||
$extra_query = str_replace( "adsess=x" , "" , $extra_query );
|
||||
$extra_query = str_replace( array( 'old_&', 'old_&' ) , "" , $extra_query );
|
||||
$extra_query = preg_replace( '!s=(\w){32}!' , "" , $extra_query );
|
||||
$extra_query = str_replace( "module=login" , "" , $extra_query );
|
||||
$extra_query = str_replace( "do=login-complete" , "" , $extra_query );
|
||||
$extra_query = str_replace( "/admin" , "" , $extra_query );
|
||||
$extra_query = str_replace( '&' , '&', $extra_query );
|
||||
$extra_query = preg_replace( "#&{1,}#" , "&", $extra_query );
|
||||
$extra_query = preg_replace( "#messageinabottleacp=(.*?)$#" , "" , $extra_query );
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Insert session
|
||||
//-----------------------------------------
|
||||
|
||||
$sess_id = md5( uniqid( microtime() ) );
|
||||
|
||||
$this->DB->delete( 'core_sys_cp_sessions', 'session_member_id=' . $mem['member_id'] );
|
||||
|
||||
/* Grab user agent */
|
||||
$uAgent = array();
|
||||
|
||||
$this->DB->insert( 'core_sys_cp_sessions', array( 'session_id' => $sess_id,
|
||||
'session_ip_address' => $this->member->ip_address,
|
||||
'session_member_name' => $mem['members_display_name'],
|
||||
'session_member_id' => $mem['member_id'],
|
||||
'session_member_login_key' => $mem['member_login_key'],
|
||||
'session_location' => 'index',
|
||||
'session_log_in_time' => time(),
|
||||
'session_running_time' => time(),
|
||||
'session_app_data' => serialize( $uAgent ),
|
||||
'session_url' => '' ) );
|
||||
|
||||
$this->request['adsess'] = $sess_id;
|
||||
|
||||
/* Log them in public side if not already */
|
||||
$publicApi->logGuestInAsMember( $mem['member_id'] );
|
||||
|
||||
//-----------------------------------------
|
||||
// Redirect...
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $extra_query )
|
||||
{
|
||||
$url = $this->settings['_original_base_url'] . '/' . CP_DIRECTORY . '/index.php?adsess=' . $sess_id . '&' . $extra_query;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Load main page? */
|
||||
require_once( IPS_ROOT_PATH . 'sources/classes/admin/bookmarks.php' );
|
||||
$bookmarks = new classes_admin_bookmarks();
|
||||
$bookmarks->setMember( $mem['member_id'] );
|
||||
|
||||
$home = $bookmarks->getHomeUrl();
|
||||
|
||||
if ( $home !== false )
|
||||
{
|
||||
$url = $this->settings['_original_base_url'] . '/' . CP_DIRECTORY . '/index.php?adsess=' . $sess_id . '&' . $home;
|
||||
}
|
||||
else
|
||||
{
|
||||
$url = $this->settings['_original_base_url'] . '/' . CP_DIRECTORY . '/index.php?adsess=' . $sess_id;
|
||||
}
|
||||
}
|
||||
|
||||
$this->_writeToLog( $this->request['username'], 'ok' );
|
||||
|
||||
ipsRegistry::getClass('output')->global_message = '';
|
||||
ipsRegistry::getClass('output')->silentRedirect( $url );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Log the user out
|
||||
*
|
||||
* @return @e void
|
||||
*/
|
||||
public function loginOut()
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Do it..
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->delete( 'core_sys_cp_sessions', "session_id='" . $this->request['adsess'] . "'" );
|
||||
|
||||
//-----------------------------------------
|
||||
// Redirect...
|
||||
//-----------------------------------------
|
||||
|
||||
ipsRegistry::getClass('output')->silentRedirect( $this->settings['_admin_link'] );
|
||||
}
|
||||
|
||||
/**
|
||||
* Log the user out
|
||||
*
|
||||
* @param string Message to show on the form
|
||||
* @return @e void
|
||||
*/
|
||||
public function loginForm( $message='' )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Hang on, do we need the upgrader?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( !IN_DEV AND ( !defined('SKIP_UPGRADE_CHECK') OR !SKIP_UPGRADE_CHECK ) )
|
||||
{
|
||||
require_once( IPS_ROOT_PATH . 'setup/sources/base/setup.php' );/*noLibHook*/
|
||||
foreach( ipsRegistry::$applications as $app_dir => $app )
|
||||
{
|
||||
$_a = ( $app_dir == 'forums' or $app_dir == 'members' ) ? 'core' : $app_dir;
|
||||
$numbers = IPSSetUp::fetchAppVersionNumbers( $_a );
|
||||
|
||||
if ( $numbers['latest'][0] and $numbers['latest'][0] > $numbers['current'][0] )
|
||||
{
|
||||
$this->registry->output->silentRedirect( $this->settings['base_acp_url'] . '/upgrade/index.php?_acpRedirect=1' );
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// INIT
|
||||
//-----------------------------------------
|
||||
|
||||
$message = $message ? $message : $this->member->sessionClass()->getMessage();
|
||||
|
||||
//-------------------------------------------------------
|
||||
// Remove all out of date sessions, like a good boy. Woof.
|
||||
//-------------------------------------------------------
|
||||
|
||||
$cut_off_stamp = time() - 60*60*2;
|
||||
|
||||
$this->DB->delete( 'core_sys_cp_sessions', "session_running_time < {$cut_off_stamp}" );
|
||||
|
||||
//------------------------------------------------------
|
||||
// Start form
|
||||
//------------------------------------------------------
|
||||
|
||||
$qs = str_replace( '&' , '&' , IPSText::parseCleanValue( urldecode( my_getenv( 'QUERY_STRING' ) ) ) );
|
||||
$qs = str_replace( 'adsess=' , 'old_adsess=' , $qs );
|
||||
$qs = str_replace( 'module=menu', '' , $qs );
|
||||
|
||||
$additional_data = $this->han_login->additionalFormHTML();
|
||||
$replace = false;
|
||||
$data = array();
|
||||
|
||||
if( !is_null($additional_data) AND is_array($additional_data) AND count($additional_data) )
|
||||
{
|
||||
$replace = $additional_data[0];
|
||||
$data = $additional_data[1];
|
||||
}
|
||||
|
||||
$uses_name = false;
|
||||
$uses_email = false;
|
||||
|
||||
foreach( ipsRegistry::cache()->getCache('login_methods') as $method )
|
||||
{
|
||||
$login_methods[ $method['login_folder_name'] ] = $method['login_folder_name'];
|
||||
|
||||
if( $method['login_user_id'] == 'username' or $method['login_user_id'] == 'either' )
|
||||
{
|
||||
$uses_name = true;
|
||||
}
|
||||
|
||||
if( $method['login_user_id'] == 'email' or $method['login_user_id'] == 'either' )
|
||||
{
|
||||
$uses_email = true;
|
||||
}
|
||||
}
|
||||
|
||||
if( $uses_name AND $uses_email )
|
||||
{
|
||||
$this->lang->words['gl_signinname'] = $this->lang->words['enter_name_and_email'];
|
||||
}
|
||||
else if( $uses_email )
|
||||
{
|
||||
$this->lang->words['gl_signinname'] = $this->lang->words['enter_useremail'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->lang->words['gl_signinname'] = $this->lang->words['enter_username'];
|
||||
}
|
||||
|
||||
ipsRegistry::getClass('output')->html_title = $this->lang->words['ipb_login'];
|
||||
ipsRegistry::getClass('output')->html_main = ipsRegistry::getClass('output')->global_template->log_in_form( $qs, $message, $replace == 'replace' ? true : false, $data );
|
||||
ipsRegistry::getClass('output')->html_main = str_replace( '<%TITLE%>' , ipsRegistry::getClass('output')->html_title, ipsRegistry::getClass('output')->html_main );
|
||||
|
||||
@header("Content-type: text/html;charset={$this->settings['gb_char_set']}");
|
||||
print ipsRegistry::getClass('output')->html_main;
|
||||
exit();
|
||||
}
|
||||
|
||||
/**
|
||||
* Write to the admin log in loggy ma log
|
||||
*
|
||||
* @param string Username
|
||||
* @param string ok/fail flag
|
||||
* @return @e void
|
||||
* @note This is private so that a hacker couldn't get into ACP, upload a new hook that lets them clear the log, and then clear the login log
|
||||
*/
|
||||
private function _writeToLog( $username='', $flag='fail' )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// INIT
|
||||
//-----------------------------------------
|
||||
|
||||
$username = $username ? $username : $this->request['username'];
|
||||
$flag = ( $flag == 'ok' ) ? 1 : 0;
|
||||
$admin_post_details = array();
|
||||
|
||||
//-----------------------------------------
|
||||
// Generate POST / GET details
|
||||
//-----------------------------------------
|
||||
|
||||
foreach( $_GET as $k => $v )
|
||||
{
|
||||
$admin_post_details['get'][ $k ] = $v;
|
||||
}
|
||||
|
||||
foreach( $_POST as $k => $v )
|
||||
{
|
||||
if ( $k == 'password' AND IPSText::mbstrlen( $v ) > 1 )
|
||||
{
|
||||
$v = $v ? ( (IPSText::mbstrlen( $v ) - 1) > 0 ? str_repeat( '*', IPSText::mbstrlen( $v ) - 1 ) : '' ) . substr( $v, -1, 1 ) : '';
|
||||
}
|
||||
|
||||
$admin_post_details['post'][ $k ] = $v;
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Write to disk...
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->insert( 'admin_login_logs', array( 'admin_ip_address' => $this->member->ip_address,
|
||||
'admin_username' => $username,
|
||||
'admin_time' => time(),
|
||||
'admin_success' => $flag,
|
||||
'admin_post_details' => serialize( $admin_post_details ) ) );
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.6
|
||||
* ACP Login/Logout Routines
|
||||
* Last Updated: $Date: 2013-03-20 10:14:51 -0400 (Wed, 20 Mar 2013) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: mmecham $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @subpackage Core
|
||||
* @link http://www.invisionpower.com
|
||||
* @since Tuesday 17th August 2004
|
||||
* @version $Revision: 12094 $
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_ACP' ) )
|
||||
{
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded 'admin.php'.";
|
||||
exit();
|
||||
}
|
||||
|
||||
|
||||
class admin_core_login_manualResolver extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* HTML Skin object
|
||||
*
|
||||
* @var object
|
||||
*/
|
||||
protected $html;
|
||||
|
||||
/**#@+
|
||||
* Registry objects
|
||||
*
|
||||
* @var object
|
||||
*/
|
||||
public $registry;
|
||||
public $DB;
|
||||
public $settings;
|
||||
public $request;
|
||||
public $lang;
|
||||
public $member;
|
||||
public $memberData;
|
||||
/**#@-*/
|
||||
|
||||
/**
|
||||
* Login handler object
|
||||
*
|
||||
* @var object
|
||||
*/
|
||||
protected $han_login;
|
||||
|
||||
/**
|
||||
* Initiate login handler
|
||||
*
|
||||
* @return @e void
|
||||
*/
|
||||
public function initHanLogin()
|
||||
{
|
||||
$classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/handlers/han_login.php', 'han_login' );
|
||||
$this->han_login = new $classToLoad( $this->registry );
|
||||
|
||||
$this->han_login->is_admin_auth = 1;
|
||||
$this->han_login->init();
|
||||
}
|
||||
|
||||
/**
|
||||
* Class entry point
|
||||
*
|
||||
* @param object Registry reference
|
||||
* @param string Validation message
|
||||
* @return @e void [Outputs to screen/redirects]
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry, $validationMessage='' )
|
||||
{
|
||||
/* Make object */
|
||||
$this->registry = $registry;
|
||||
$this->DB = $this->registry->DB();
|
||||
$this->settings =& $this->registry->fetchSettings();
|
||||
$this->request =& $this->registry->fetchRequest();
|
||||
$this->member = $this->registry->member();
|
||||
$this->memberData =& $this->registry->member()->fetchMemberData();
|
||||
$this->lang = $this->registry->getClass('class_localization');
|
||||
|
||||
$this->registry->getClass('class_localization')->loadLanguageFile( array( 'admin_login' ), 'core' );
|
||||
|
||||
$this->initHanLogin();
|
||||
|
||||
//-----------------------------------------
|
||||
// What to do?
|
||||
//-----------------------------------------
|
||||
|
||||
switch( $this->request['do'] )
|
||||
{
|
||||
case 'login':
|
||||
default:
|
||||
$this->loginForm();
|
||||
break;
|
||||
|
||||
case 'login-complete':
|
||||
$this->loginComplete();
|
||||
break;
|
||||
|
||||
case 'login-out':
|
||||
$this->loginOut();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check and verify the login was successful
|
||||
*
|
||||
* @return @e void
|
||||
*/
|
||||
public function loginComplete()
|
||||
{
|
||||
/* Fetch sessions API */
|
||||
$classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/session/api.php', 'session_api' );
|
||||
$publicApi = new $classToLoad( $this->registry );
|
||||
|
||||
//-----------------------------------------
|
||||
// Check form details.
|
||||
//-----------------------------------------
|
||||
|
||||
$username = '';
|
||||
$email = '';
|
||||
|
||||
//-----------------------------------------
|
||||
// Is this a username or email address?
|
||||
//-----------------------------------------
|
||||
|
||||
$_type = $this->han_login->emailOrUsername();
|
||||
|
||||
switch( $_type )
|
||||
{
|
||||
case 1:
|
||||
$username = $this->request['username'];
|
||||
break;
|
||||
|
||||
case 2:
|
||||
$email = $this->request['username'];
|
||||
break;
|
||||
|
||||
case 3:
|
||||
$username = $this->request['username'];
|
||||
$email = $this->request['username'];
|
||||
break;
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Check auth
|
||||
//-----------------------------------------
|
||||
|
||||
$this->han_login->loginAuthenticate( $username, $email, trim($this->request['password']) );
|
||||
|
||||
//-----------------------------------------
|
||||
// Check return code...
|
||||
//-----------------------------------------
|
||||
|
||||
$mem = $this->han_login->member_data;
|
||||
|
||||
if ( ( ! $mem['member_id'] ) or ( $this->han_login->return_code == 'NO_USER' ) )
|
||||
{
|
||||
$this->_writeToLog( $this->request['username'], 'fail' );
|
||||
$this->loginForm( $this->lang->words['bad_email_password'] );
|
||||
}
|
||||
|
||||
if ( $this->han_login->return_code == 'NO_ACCESS' )
|
||||
{
|
||||
$this->_writeToLog( $this->request['username'], 'fail' );
|
||||
$this->loginForm( $this->lang->words['no_acp_access'] );
|
||||
}
|
||||
else if ( $this->han_login->return_code != 'SUCCESS' )
|
||||
{
|
||||
$this->_writeToLog( $this->request['username'], 'fail' );
|
||||
$this->loginForm( $this->lang->words['bad_email_password'] );
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// And sort secondary groups...
|
||||
//-----------------------------------------
|
||||
|
||||
$mem = $this->member->setUpSecondaryGroups( $mem );
|
||||
|
||||
//-----------------------------------------
|
||||
// Check access...
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $mem['g_access_cp'] != 1 )
|
||||
{
|
||||
$this->_writeToLog( $this->request['username'], 'fail' );
|
||||
$this->loginForm( $this->lang->words['no_acp_access'] );
|
||||
}
|
||||
else
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Fix up query string...
|
||||
//-----------------------------------------
|
||||
|
||||
$extra_query = "";
|
||||
|
||||
if ( $_POST['qstring'] )
|
||||
{
|
||||
$extra_query = stripslashes( htmlspecialchars( $_POST['qstring'] ) );
|
||||
$extra_query = str_replace( $this->settings['_original_base_url'] , "" , $extra_query );
|
||||
$extra_query = str_ireplace( "?index." . $this->settings['php_ext'] , "" , $extra_query );
|
||||
$extra_query = ltrim( $extra_query, '?' );
|
||||
$extra_query = preg_replace( '!adsess=(\w){32}!' , "" , $extra_query );
|
||||
$extra_query = str_replace( "adsess=x" , "" , $extra_query );
|
||||
$extra_query = str_replace( array( 'old_&', 'old_&' ) , "" , $extra_query );
|
||||
$extra_query = preg_replace( '!s=(\w){32}!' , "" , $extra_query );
|
||||
$extra_query = str_replace( "module=login" , "" , $extra_query );
|
||||
$extra_query = str_replace( "do=login-complete" , "" , $extra_query );
|
||||
$extra_query = str_replace( "/admin" , "" , $extra_query );
|
||||
$extra_query = str_replace( '&' , '&', $extra_query );
|
||||
$extra_query = preg_replace( "#&{1,}#" , "&", $extra_query );
|
||||
$extra_query = preg_replace( "#messageinabottleacp=(.*?)$#" , "" , $extra_query );
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Insert session
|
||||
//-----------------------------------------
|
||||
|
||||
$sess_id = md5( uniqid( microtime() ) );
|
||||
|
||||
$this->DB->delete( 'core_sys_cp_sessions', 'session_member_id=' . $mem['member_id'] );
|
||||
|
||||
/* Grab user agent */
|
||||
$uAgent = array();
|
||||
|
||||
$this->DB->insert( 'core_sys_cp_sessions', array( 'session_id' => $sess_id,
|
||||
'session_ip_address' => $this->member->ip_address,
|
||||
'session_member_name' => $mem['members_display_name'],
|
||||
'session_member_id' => $mem['member_id'],
|
||||
'session_member_login_key' => $mem['member_login_key'],
|
||||
'session_location' => 'index',
|
||||
'session_log_in_time' => time(),
|
||||
'session_running_time' => time(),
|
||||
'session_app_data' => serialize( $uAgent ),
|
||||
'session_url' => '' ) );
|
||||
|
||||
$this->request['adsess'] = $sess_id;
|
||||
|
||||
/* Log them in public side if not already */
|
||||
$publicApi->logGuestInAsMember( $mem['member_id'] );
|
||||
|
||||
//-----------------------------------------
|
||||
// Redirect...
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $extra_query )
|
||||
{
|
||||
$url = $this->settings['_original_base_url'] . '/' . CP_DIRECTORY . '/index.php?adsess=' . $sess_id . '&' . $extra_query;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Load main page? */
|
||||
require_once( IPS_ROOT_PATH . 'sources/classes/admin/bookmarks.php' );
|
||||
$bookmarks = new classes_admin_bookmarks();
|
||||
$bookmarks->setMember( $mem['member_id'] );
|
||||
|
||||
$home = $bookmarks->getHomeUrl();
|
||||
|
||||
if ( $home !== false )
|
||||
{
|
||||
$url = $this->settings['_original_base_url'] . '/' . CP_DIRECTORY . '/index.php?adsess=' . $sess_id . '&' . $home;
|
||||
}
|
||||
else
|
||||
{
|
||||
$url = $this->settings['_original_base_url'] . '/' . CP_DIRECTORY . '/index.php?adsess=' . $sess_id;
|
||||
}
|
||||
}
|
||||
|
||||
$this->_writeToLog( $this->request['username'], 'ok' );
|
||||
|
||||
ipsRegistry::getClass('output')->global_message = '';
|
||||
ipsRegistry::getClass('output')->silentRedirect( $url );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Log the user out
|
||||
*
|
||||
* @return @e void
|
||||
*/
|
||||
public function loginOut()
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Do it..
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->delete( 'core_sys_cp_sessions', "session_id='" . $this->request['adsess'] . "'" );
|
||||
|
||||
//-----------------------------------------
|
||||
// Redirect...
|
||||
//-----------------------------------------
|
||||
|
||||
ipsRegistry::getClass('output')->silentRedirect( $this->settings['_admin_link'] );
|
||||
}
|
||||
|
||||
/**
|
||||
* Log the user out
|
||||
*
|
||||
* @param string Message to show on the form
|
||||
* @return @e void
|
||||
*/
|
||||
public function loginForm( $message='' )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Hang on, do we need the upgrader?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( !IN_DEV AND ( !defined('SKIP_UPGRADE_CHECK') OR !SKIP_UPGRADE_CHECK ) )
|
||||
{
|
||||
require_once( IPS_ROOT_PATH . 'setup/sources/base/setup.php' );/*noLibHook*/
|
||||
foreach( ipsRegistry::$applications as $app_dir => $app )
|
||||
{
|
||||
$_a = ( $app_dir == 'forums' or $app_dir == 'members' ) ? 'core' : $app_dir;
|
||||
$numbers = IPSSetUp::fetchAppVersionNumbers( $_a );
|
||||
|
||||
if ( $numbers['latest'][0] and $numbers['latest'][0] > $numbers['current'][0] )
|
||||
{
|
||||
$this->registry->output->silentRedirect( $this->settings['base_acp_url'] . '/upgrade/index.php?_acpRedirect=1' );
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// INIT
|
||||
//-----------------------------------------
|
||||
|
||||
$message = $message ? $message : $this->member->sessionClass()->getMessage();
|
||||
|
||||
//-------------------------------------------------------
|
||||
// Remove all out of date sessions, like a good boy. Woof.
|
||||
//-------------------------------------------------------
|
||||
|
||||
$cut_off_stamp = time() - 60*60*2;
|
||||
|
||||
$this->DB->delete( 'core_sys_cp_sessions', "session_running_time < {$cut_off_stamp}" );
|
||||
|
||||
//------------------------------------------------------
|
||||
// Start form
|
||||
//------------------------------------------------------
|
||||
|
||||
$qs = str_replace( '&' , '&' , IPSText::parseCleanValue( urldecode( my_getenv( 'QUERY_STRING' ) ) ) );
|
||||
$qs = str_replace( 'adsess=' , 'old_adsess=' , $qs );
|
||||
$qs = str_replace( 'module=menu', '' , $qs );
|
||||
|
||||
$additional_data = $this->han_login->additionalFormHTML();
|
||||
$replace = false;
|
||||
$data = array();
|
||||
|
||||
if( !is_null($additional_data) AND is_array($additional_data) AND count($additional_data) )
|
||||
{
|
||||
$replace = $additional_data[0];
|
||||
$data = $additional_data[1];
|
||||
}
|
||||
|
||||
$uses_name = false;
|
||||
$uses_email = false;
|
||||
|
||||
foreach( ipsRegistry::cache()->getCache('login_methods') as $method )
|
||||
{
|
||||
$login_methods[ $method['login_folder_name'] ] = $method['login_folder_name'];
|
||||
|
||||
if( $method['login_user_id'] == 'username' or $method['login_user_id'] == 'either' )
|
||||
{
|
||||
$uses_name = true;
|
||||
}
|
||||
|
||||
if( $method['login_user_id'] == 'email' or $method['login_user_id'] == 'either' )
|
||||
{
|
||||
$uses_email = true;
|
||||
}
|
||||
}
|
||||
|
||||
if( $uses_name AND $uses_email )
|
||||
{
|
||||
$this->lang->words['gl_signinname'] = $this->lang->words['enter_name_and_email'];
|
||||
}
|
||||
else if( $uses_email )
|
||||
{
|
||||
$this->lang->words['gl_signinname'] = $this->lang->words['enter_useremail'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->lang->words['gl_signinname'] = $this->lang->words['enter_username'];
|
||||
}
|
||||
|
||||
ipsRegistry::getClass('output')->html_title = $this->lang->words['ipb_login'];
|
||||
ipsRegistry::getClass('output')->html_main = ipsRegistry::getClass('output')->global_template->log_in_form( $qs, $message, $replace == 'replace' ? true : false, $data );
|
||||
ipsRegistry::getClass('output')->html_main = str_replace( '<%TITLE%>' , ipsRegistry::getClass('output')->html_title, ipsRegistry::getClass('output')->html_main );
|
||||
|
||||
@header("Content-type: text/html");
|
||||
print ipsRegistry::getClass('output')->html_main;
|
||||
exit();
|
||||
}
|
||||
|
||||
/**
|
||||
* Write to the admin log in loggy ma log
|
||||
*
|
||||
* @param string Username
|
||||
* @param string ok/fail flag
|
||||
* @return @e void
|
||||
* @note This is private so that a hacker couldn't get into ACP, upload a new hook that lets them clear the log, and then clear the login log
|
||||
*/
|
||||
private function _writeToLog( $username='', $flag='fail' )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// INIT
|
||||
//-----------------------------------------
|
||||
|
||||
$username = $username ? $username : $this->request['username'];
|
||||
$flag = ( $flag == 'ok' ) ? 1 : 0;
|
||||
$admin_post_details = array();
|
||||
|
||||
//-----------------------------------------
|
||||
// Generate POST / GET details
|
||||
//-----------------------------------------
|
||||
|
||||
foreach( $_GET as $k => $v )
|
||||
{
|
||||
$admin_post_details['get'][ $k ] = $v;
|
||||
}
|
||||
|
||||
foreach( $_POST as $k => $v )
|
||||
{
|
||||
if ( $k == 'password' AND IPSText::mbstrlen( $v ) > 1 )
|
||||
{
|
||||
$v = $v ? ( (IPSText::mbstrlen( $v ) - 1) > 0 ? str_repeat( '*', IPSText::mbstrlen( $v ) - 1 ) : '' ) . substr( $v, -1, 1 ) : '';
|
||||
}
|
||||
|
||||
$admin_post_details['post'][ $k ] = $v;
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Write to disk...
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->insert( 'admin_login_logs', array( 'admin_ip_address' => $this->member->ip_address,
|
||||
'admin_username' => $username,
|
||||
'admin_time' => time(),
|
||||
'admin_success' => $flag,
|
||||
'admin_post_details' => serialize( $admin_post_details ) ) );
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Admin logs
|
||||
* Last Updated: $LastChangedDate: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* $Author: mark $
|
||||
* @since 20th February 2002
|
||||
* $LastChangedDate: 2012-04-02 11:17:19 -0400 (Mon, 02 Apr 2012) $
|
||||
* @version v3.4.5
|
||||
* @version v3.4.6
|
||||
* $Revision: 10537 $
|
||||
*/
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Email error logs
|
||||
* Last Updated: $LastChangedDate: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Error logs
|
||||
* Last Updated: $LastChangedDate: 2013-02-01 20:54:48 -0500 (Fri, 01 Feb 2013) $
|
||||
* </pre>
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Admin Login Logs
|
||||
* Last Updated: $LastChangedDate: 2013-03-19 11:50:13 -0400 (Tue, 19 Mar 2013) $
|
||||
* </pre>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* $Author: bfarber $
|
||||
* @since 8th Feb 2011
|
||||
* $LastChangedDate: 2011-09-12 20:59:05 -0400 (Mon, 12 Sep 2011) $
|
||||
* @version v3.4.5
|
||||
* @version v3.4.6
|
||||
* $Revision: 9483 $
|
||||
*/
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Mobile Notification logs
|
||||
* Last Updated: $LastChangedDate: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Moderator logs
|
||||
* Last Updated: $LastChangedDate: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Admin logs
|
||||
* Last Updated: $LastChangedDate: 2013-05-01 17:35:09 -0400 (Wed, 01 May 2013) $
|
||||
* </pre>
|
||||
|
||||
@@ -1,281 +1,281 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* Search Engine Spider logs
|
||||
* Last Updated: $LastChangedDate: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @subpackage Core
|
||||
* @link http://www.invisionpower.com
|
||||
* @since 27th January 2004
|
||||
* @version $Rev: 10721 $
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_ACP' ) )
|
||||
{
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded 'admin.php'.";
|
||||
exit();
|
||||
}
|
||||
|
||||
class admin_core_logs_spiderlogs extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Skin object
|
||||
*
|
||||
* @var object Skin templates
|
||||
*/
|
||||
protected $html;
|
||||
|
||||
/**
|
||||
* Spider map
|
||||
*
|
||||
* @var array Spider keys to values
|
||||
*/
|
||||
protected $bot_map = array();
|
||||
|
||||
/**
|
||||
* Main class entry point
|
||||
*
|
||||
* @param object ipsRegistry reference
|
||||
* @return @e void [Outputs to screen]
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Load bat names from the useragents cache */
|
||||
foreach( $this->cache->getCache( 'useragents' ) as $agent )
|
||||
{
|
||||
if( $agent['uagent_type'] == 'search' )
|
||||
{
|
||||
$this->bot_map[ $agent['uagent_key'] ] = $agent['uagent_name'];
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Load skin
|
||||
//-----------------------------------------
|
||||
|
||||
$this->html = $this->registry->output->loadTemplate('cp_skin_spiderlogs');
|
||||
|
||||
//-----------------------------------------
|
||||
// Set up stuff
|
||||
//-----------------------------------------
|
||||
|
||||
$this->form_code = $this->html->form_code = 'module=logs&section=spiderlogs';
|
||||
$this->form_code_js = $this->html->form_code_js = 'module=logs§ion=spiderlogs';
|
||||
|
||||
//-----------------------------------------
|
||||
// Load lang
|
||||
//-----------------------------------------
|
||||
|
||||
$this->registry->getClass('class_localization')->loadLanguageFile( array( 'admin_logs' ) );
|
||||
|
||||
$this->registry->output->core_nav[] = array( $this->settings['base_url'] . 'module=logs§ion=spiderlogs', $this->lang->words['slog_spider_logs'] );
|
||||
|
||||
///----------------------------------------
|
||||
// What to do...
|
||||
//-----------------------------------------
|
||||
|
||||
switch( $this->request['do'] )
|
||||
{
|
||||
case 'view':
|
||||
$this->registry->getClass('class_permissions')->checkPermissionAutoMsg( 'spiderlogs_view' );
|
||||
$this->_view();
|
||||
break;
|
||||
|
||||
case 'remove':
|
||||
$this->registry->getClass('class_permissions')->checkPermissionAutoMsg( 'spiderlogs_delete' );
|
||||
$this->_remove();
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->registry->getClass('class_permissions')->checkPermissionAutoMsg( 'spiderlogs_view' );
|
||||
$this->_listCurrent();
|
||||
break;
|
||||
}
|
||||
|
||||
/* Output */
|
||||
$this->registry->output->html_main .= $this->registry->output->global_template->global_frame_wrapper();
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
|
||||
/**
|
||||
* View all logs for a given moderator
|
||||
*
|
||||
* @return @e void [Outputs to screen]
|
||||
*/
|
||||
protected function _view()
|
||||
{
|
||||
///----------------------------------------
|
||||
// Basic init
|
||||
//-----------------------------------------
|
||||
|
||||
$start = intval($this->request['st']) >= 0 ? intval($this->request['st']) : 0;
|
||||
|
||||
$botty = IPSText::parseCleanValue( urldecode($this->request['bid'] ) );
|
||||
$botty = str_replace( "!", "!", $botty );
|
||||
|
||||
///----------------------------------------
|
||||
// No bid or search string?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( !$this->request['search_string'] AND !$this->request['bid'] )
|
||||
{
|
||||
$this->registry->output->global_message = $this->lang->words['slog_nostring'];
|
||||
$this->_listCurrent();
|
||||
return;
|
||||
}
|
||||
|
||||
///----------------------------------------
|
||||
// mid?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( !$this->request['search_string'] )
|
||||
{
|
||||
$row = $this->DB->buildAndFetch( array( 'select' => 'COUNT(sid) as count', 'from' => 'spider_logs', 'where' => "bot='{$botty}'" ) );
|
||||
|
||||
$row_count = $row['count'];
|
||||
|
||||
$query = "&{$this->form_code}&bid=" . $this->request['bid'] . "&do=view";
|
||||
|
||||
$this->DB->build( array( 'select' => '*',
|
||||
'from' => 'spider_logs',
|
||||
'where' => "bot='{$botty}'",
|
||||
'order' => 'entry_date DESC',
|
||||
'limit' => array( $start, 20 ) ) );
|
||||
$this->DB->execute();
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->request['search_string'] = IPSText::parseCleanValue( urldecode($this->request['search_string'] ) );
|
||||
|
||||
$row = $this->DB->buildAndFetch( array( 'select' => 'COUNT(sid) as count', 'from' => 'spider_logs', 'where' => "query_string LIKE '%" . $this->request['search_string'] . "%'" ) );
|
||||
|
||||
$row_count = $row['count'];
|
||||
|
||||
$query = "&{$this->form_code}&do=view&search_string=" . urlencode($this->request['search_string']);
|
||||
|
||||
$this->DB->build( array( 'select' => '*',
|
||||
'from' => 'spider_logs',
|
||||
'where' => "(query_string LIKE '%" . $this->request['search_string'] . "%') OR (request_addr LIKE '%" . $this->request['search_string'] . "%')",
|
||||
'order' => 'entry_date DESC',
|
||||
'limit' => array( $start, 20 ) ) );
|
||||
$this->DB->execute();
|
||||
}
|
||||
|
||||
///----------------------------------------
|
||||
// Page links
|
||||
//-----------------------------------------
|
||||
|
||||
$links = $this->registry->output->generatePagination( array( 'totalItems' => $row_count,
|
||||
'itemsPerPage' => 20,
|
||||
'currentStartValue' => $start,
|
||||
'baseUrl' => $this->settings['base_url'] . $query,
|
||||
)
|
||||
);
|
||||
|
||||
///----------------------------------------
|
||||
// Get db results
|
||||
//-----------------------------------------
|
||||
|
||||
while ( $row = $this->DB->fetch() )
|
||||
{
|
||||
$extra = "";
|
||||
|
||||
if( $row['query_string'] )
|
||||
{
|
||||
if ( stripos( '#lo-fi#i', $row['query_string'] ) !== false )
|
||||
{
|
||||
$extra = $this->lang->words['slog_lofi'];
|
||||
|
||||
$query_string_html = $extra . ' ' . $row['query_string'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$query_string_html = "<a href='" . $this->settings['board_url'] . "/index." . $this->settings['php_ext'] . "?{$row['query_string']}' target='_blank'>" . IPSText::truncate($row['query_string']) . "</a>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$query_string_html = "<a href='http://" . $_SERVER['HTTP_HOST'] . "{$row['request_addr']}' target='_blank'>" . IPSText::truncate($row['request_addr']) . "</a>";
|
||||
}
|
||||
|
||||
$row['_bot_name'] = $this->bot_map[ mb_strtolower($row['bot']) ];
|
||||
$row['_query_string'] = $query_string_html;
|
||||
$row['_time'] = $this->registry->getClass('class_localization')->getDate( $row['entry_date'], 'LONG' );
|
||||
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
///----------------------------------------
|
||||
// And output
|
||||
//-----------------------------------------
|
||||
|
||||
$this->registry->output->html .= $this->html->spiderlogsView( $rows, $links );
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove logs by a moderator
|
||||
*
|
||||
* @return @e void [Outputs to screen]
|
||||
*/
|
||||
protected function _remove()
|
||||
{
|
||||
if ( $this->request['bid'] == "" )
|
||||
{
|
||||
$this->registry->output->showError( $this->lang->words['slog_nologs'], 11132 );
|
||||
}
|
||||
|
||||
$botty = urldecode($this->request['bid']);
|
||||
$botty = str_replace( "!", "!", $botty );
|
||||
|
||||
$this->DB->delete( 'spider_logs', "bot='{$botty}'" );
|
||||
|
||||
$this->registry->getClass('adminFunctions')->saveAdminLog($this->lang->words['slog_adminlog']);
|
||||
|
||||
$this->registry->output->silentRedirect( $this->settings['base_url']."&{$this->form_code}" );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* List the current logs with links to view per-admin
|
||||
*
|
||||
* @return @e void [Outputs to screen]
|
||||
*/
|
||||
protected function _listCurrent()
|
||||
{
|
||||
$spiders = array();
|
||||
|
||||
//-----------------------------------------
|
||||
// All bots
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->build( array( 'select' => 'count(*) as cnt, bot, max(entry_date) as entry_date',
|
||||
'from' => 'spider_logs',
|
||||
'group' => 'bot',
|
||||
'order' => 'entry_date DESC',
|
||||
) );
|
||||
$this->DB->execute();
|
||||
|
||||
while ( $r = $this->DB->fetch() )
|
||||
{
|
||||
$r['_bot_name'] = $this->bot_map[ strtolower($r['bot']) ];
|
||||
$r['_time'] = $this->registry->getClass('class_localization')->getDate( $r['entry_date'], 'SHORT' );
|
||||
$r['_bot_url'] = urlencode($r['bot']);
|
||||
|
||||
$spiders[] = $r;
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// And output
|
||||
//-----------------------------------------
|
||||
|
||||
$this->registry->output->html .= $this->html->spiderlogsWrapper( $spiders );
|
||||
}
|
||||
<?php
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.6
|
||||
* Search Engine Spider logs
|
||||
* Last Updated: $LastChangedDate: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @subpackage Core
|
||||
* @link http://www.invisionpower.com
|
||||
* @since 27th January 2004
|
||||
* @version $Rev: 10721 $
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_ACP' ) )
|
||||
{
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded 'admin.php'.";
|
||||
exit();
|
||||
}
|
||||
|
||||
class admin_core_logs_spiderlogs extends ipsCommand
|
||||
{
|
||||
/**
|
||||
* Skin object
|
||||
*
|
||||
* @var object Skin templates
|
||||
*/
|
||||
protected $html;
|
||||
|
||||
/**
|
||||
* Spider map
|
||||
*
|
||||
* @var array Spider keys to values
|
||||
*/
|
||||
protected $bot_map = array();
|
||||
|
||||
/**
|
||||
* Main class entry point
|
||||
*
|
||||
* @param object ipsRegistry reference
|
||||
* @return @e void [Outputs to screen]
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Load bat names from the useragents cache */
|
||||
foreach( $this->cache->getCache( 'useragents' ) as $agent )
|
||||
{
|
||||
if( $agent['uagent_type'] == 'search' )
|
||||
{
|
||||
$this->bot_map[ $agent['uagent_key'] ] = $agent['uagent_name'];
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Load skin
|
||||
//-----------------------------------------
|
||||
|
||||
$this->html = $this->registry->output->loadTemplate('cp_skin_spiderlogs');
|
||||
|
||||
//-----------------------------------------
|
||||
// Set up stuff
|
||||
//-----------------------------------------
|
||||
|
||||
$this->form_code = $this->html->form_code = 'module=logs&section=spiderlogs';
|
||||
$this->form_code_js = $this->html->form_code_js = 'module=logs§ion=spiderlogs';
|
||||
|
||||
//-----------------------------------------
|
||||
// Load lang
|
||||
//-----------------------------------------
|
||||
|
||||
$this->registry->getClass('class_localization')->loadLanguageFile( array( 'admin_logs' ) );
|
||||
|
||||
$this->registry->output->core_nav[] = array( $this->settings['base_url'] . 'module=logs§ion=spiderlogs', $this->lang->words['slog_spider_logs'] );
|
||||
|
||||
///----------------------------------------
|
||||
// What to do...
|
||||
//-----------------------------------------
|
||||
|
||||
switch( $this->request['do'] )
|
||||
{
|
||||
case 'view':
|
||||
$this->registry->getClass('class_permissions')->checkPermissionAutoMsg( 'spiderlogs_view' );
|
||||
$this->_view();
|
||||
break;
|
||||
|
||||
case 'remove':
|
||||
$this->registry->getClass('class_permissions')->checkPermissionAutoMsg( 'spiderlogs_delete' );
|
||||
$this->_remove();
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->registry->getClass('class_permissions')->checkPermissionAutoMsg( 'spiderlogs_view' );
|
||||
$this->_listCurrent();
|
||||
break;
|
||||
}
|
||||
|
||||
/* Output */
|
||||
$this->registry->output->html_main .= $this->registry->output->global_template->global_frame_wrapper();
|
||||
$this->registry->output->sendOutput();
|
||||
}
|
||||
|
||||
/**
|
||||
* View all logs for a given moderator
|
||||
*
|
||||
* @return @e void [Outputs to screen]
|
||||
*/
|
||||
protected function _view()
|
||||
{
|
||||
///----------------------------------------
|
||||
// Basic init
|
||||
//-----------------------------------------
|
||||
|
||||
$start = intval($this->request['st']) >= 0 ? intval($this->request['st']) : 0;
|
||||
|
||||
$botty = IPSText::parseCleanValue( urldecode($this->request['bid'] ) );
|
||||
$botty = str_replace( "!", "!", $botty );
|
||||
|
||||
///----------------------------------------
|
||||
// No bid or search string?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( !$this->request['search_string'] AND !$this->request['bid'] )
|
||||
{
|
||||
$this->registry->output->global_message = $this->lang->words['slog_nostring'];
|
||||
$this->_listCurrent();
|
||||
return;
|
||||
}
|
||||
|
||||
///----------------------------------------
|
||||
// mid?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( !$this->request['search_string'] )
|
||||
{
|
||||
$row = $this->DB->buildAndFetch( array( 'select' => 'COUNT(sid) as count', 'from' => 'spider_logs', 'where' => "bot='{$botty}'" ) );
|
||||
|
||||
$row_count = $row['count'];
|
||||
|
||||
$query = "&{$this->form_code}&bid=" . $this->request['bid'] . "&do=view";
|
||||
|
||||
$this->DB->build( array( 'select' => '*',
|
||||
'from' => 'spider_logs',
|
||||
'where' => "bot='{$botty}'",
|
||||
'order' => 'entry_date DESC',
|
||||
'limit' => array( $start, 20 ) ) );
|
||||
$this->DB->execute();
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->request['search_string'] = IPSText::parseCleanValue( urldecode($this->request['search_string'] ) );
|
||||
|
||||
$row = $this->DB->buildAndFetch( array( 'select' => 'COUNT(sid) as count', 'from' => 'spider_logs', 'where' => "query_string LIKE '%" . $this->request['search_string'] . "%'" ) );
|
||||
|
||||
$row_count = $row['count'];
|
||||
|
||||
$query = "&{$this->form_code}&do=view&search_string=" . urlencode($this->request['search_string']);
|
||||
|
||||
$this->DB->build( array( 'select' => '*',
|
||||
'from' => 'spider_logs',
|
||||
'where' => "(query_string LIKE '%" . $this->request['search_string'] . "%') OR (request_addr LIKE '%" . $this->request['search_string'] . "%')",
|
||||
'order' => 'entry_date DESC',
|
||||
'limit' => array( $start, 20 ) ) );
|
||||
$this->DB->execute();
|
||||
}
|
||||
|
||||
///----------------------------------------
|
||||
// Page links
|
||||
//-----------------------------------------
|
||||
|
||||
$links = $this->registry->output->generatePagination( array( 'totalItems' => $row_count,
|
||||
'itemsPerPage' => 20,
|
||||
'currentStartValue' => $start,
|
||||
'baseUrl' => $this->settings['base_url'] . $query,
|
||||
)
|
||||
);
|
||||
|
||||
///----------------------------------------
|
||||
// Get db results
|
||||
//-----------------------------------------
|
||||
|
||||
while ( $row = $this->DB->fetch() )
|
||||
{
|
||||
$extra = "";
|
||||
|
||||
if( $row['query_string'] )
|
||||
{
|
||||
if ( stripos( '#lo-fi#i', $row['query_string'] ) !== false )
|
||||
{
|
||||
$extra = $this->lang->words['slog_lofi'];
|
||||
|
||||
$query_string_html = $extra . ' ' . $row['query_string'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$query_string_html = "<a href='" . $this->settings['board_url'] . "/index." . $this->settings['php_ext'] . "?{$row['query_string']}' target='_blank'>" . IPSText::truncate($row['query_string']) . "</a>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$query_string_html = "<a href='http://" . $_SERVER['HTTP_HOST'] . "{$row['request_addr']}' target='_blank'>" . IPSText::truncate($row['request_addr']) . "</a>";
|
||||
}
|
||||
|
||||
$row['_bot_name'] = $this->bot_map[ strtolower($row['bot']) ];
|
||||
$row['_query_string'] = $query_string_html;
|
||||
$row['_time'] = $this->registry->getClass('class_localization')->getDate( $row['entry_date'], 'LONG' );
|
||||
|
||||
$rows[] = $row;
|
||||
}
|
||||
|
||||
///----------------------------------------
|
||||
// And output
|
||||
//-----------------------------------------
|
||||
|
||||
$this->registry->output->html .= $this->html->spiderlogsView( $rows, $links );
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove logs by a moderator
|
||||
*
|
||||
* @return @e void [Outputs to screen]
|
||||
*/
|
||||
protected function _remove()
|
||||
{
|
||||
if ( $this->request['bid'] == "" )
|
||||
{
|
||||
$this->registry->output->showError( $this->lang->words['slog_nologs'], 11132 );
|
||||
}
|
||||
|
||||
$botty = urldecode($this->request['bid']);
|
||||
$botty = str_replace( "!", "!", $botty );
|
||||
|
||||
$this->DB->delete( 'spider_logs', "bot='{$botty}'" );
|
||||
|
||||
$this->registry->getClass('adminFunctions')->saveAdminLog($this->lang->words['slog_adminlog']);
|
||||
|
||||
$this->registry->output->silentRedirect( $this->settings['base_url']."&{$this->form_code}" );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* List the current logs with links to view per-admin
|
||||
*
|
||||
* @return @e void [Outputs to screen]
|
||||
*/
|
||||
protected function _listCurrent()
|
||||
{
|
||||
$spiders = array();
|
||||
|
||||
//-----------------------------------------
|
||||
// All bots
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->build( array( 'select' => 'count(*) as cnt, bot, max(entry_date) as entry_date',
|
||||
'from' => 'spider_logs',
|
||||
'group' => 'bot',
|
||||
'order' => 'entry_date DESC',
|
||||
) );
|
||||
$this->DB->execute();
|
||||
|
||||
while ( $r = $this->DB->fetch() )
|
||||
{
|
||||
$r['_bot_name'] = $this->bot_map[ strtolower($r['bot']) ];
|
||||
$r['_time'] = $this->registry->getClass('class_localization')->getDate( $r['entry_date'], 'SHORT' );
|
||||
$r['_bot_url'] = urlencode($r['bot']);
|
||||
|
||||
$spiders[] = $r;
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// And output
|
||||
//-----------------------------------------
|
||||
|
||||
$this->registry->output->html .= $this->html->spiderlogsWrapper( $spiders );
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* SQL error logs
|
||||
* Last Updated: $LastChangedDate: 2013-04-15 17:26:30 -0400 (Mon, 15 Apr 2013) $
|
||||
* </pre>
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
* $Copyright: (c) 2001 - 2011 Invision Power Services, Inc.$
|
||||
* $License: http://www.invisionpower.com/company/standards.php#license$
|
||||
* $Author: AndyMillne $
|
||||
* $LastChangedDate: 2012-11-28 09:38:19 -0500 (Wed, 28 Nov 2012) $
|
||||
* @version v3.4.5
|
||||
* $Revision: 11659 $
|
||||
* $LastChangedDate: 2013-10-16 12:57:41 -0400 (Wed, 16 Oct 2013) $
|
||||
* @version v3.4.6
|
||||
* $Revision: 12380 $
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_ACP' ) )
|
||||
@@ -50,7 +50,7 @@ class admin_core_logs_tasklogs extends ipsCommand
|
||||
* @param object $registry Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Load Class */
|
||||
$classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . '/sources/classes/class_taskmanager.php', 'class_taskmanager' );
|
||||
@@ -68,7 +68,7 @@ class admin_core_logs_tasklogs extends ipsCommand
|
||||
$this->form_code_js = $this->html->form_code_js = 'module=logs§ion=tasklogs';
|
||||
|
||||
switch( $this->request['do'] )
|
||||
{
|
||||
{
|
||||
default:
|
||||
case 'task_logs':
|
||||
$this->registry->getClass('class_permissions')->checkPermissionAutoMsg( 'tasklogs_view', '', 'system' );
|
||||
@@ -117,7 +117,7 @@ class admin_core_logs_tasklogs extends ipsCommand
|
||||
/* Bounce */
|
||||
$this->registry->output->global_message = $this->lang->words['t_removed'];
|
||||
$this->taskLogsOverview();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Show task logs
|
||||
@@ -125,7 +125,7 @@ class admin_core_logs_tasklogs extends ipsCommand
|
||||
* @return @e void
|
||||
*/
|
||||
public function taskLogsShow()
|
||||
{
|
||||
{
|
||||
$this->registry->getClass('class_localization')->loadLanguageFile( array( 'admin_logs' ) );
|
||||
|
||||
/* INIT */
|
||||
@@ -154,7 +154,7 @@ class admin_core_logs_tasklogs extends ipsCommand
|
||||
}
|
||||
|
||||
$this->registry->output->html .= $this->html->taskManagerLogsShowWrapper( $rows );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds the task log overview screen
|
||||
@@ -173,7 +173,7 @@ class admin_core_logs_tasklogs extends ipsCommand
|
||||
$this->registry->output->ignoreCoreNav = true;
|
||||
$this->registry->output->core_nav[] = array( $this->settings['base_url'] . 'module=tools', $this->lang->words['nav_toolsmodule'] );
|
||||
$this->registry->output->core_nav[] = array( $this->settings['base_url'] . 'module=tools§ion=logsSplash', $this->lang->words['nav_logssplash'] );
|
||||
$this->registry->output->core_nav[] = array( $this->settings['base_url'] . 'module=system§ion=taskmanager&do=task_logs', $this->lang->words['sched_error_logs'] );
|
||||
$this->registry->output->core_nav[] = array( $this->settings['base_url'] . 'module=logs§ion=tasklogs', $this->lang->words['sched_error_logs'] );
|
||||
|
||||
/* INIT */
|
||||
$tasks = array( 0 => array( -1, 'All tasks' ) );
|
||||
@@ -209,5 +209,5 @@ class admin_core_logs_tasklogs extends ipsCommand
|
||||
|
||||
/* Output */
|
||||
$this->registry->output->html .= $this->html->taskManagerLogsOverview( $last5, $form );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
* $Author: bfarber $
|
||||
* @since 27th January 2004
|
||||
* $LastChangedDate: 2013-05-02 23:43:16 -0400 (Thu, 02 May 2013) $
|
||||
* @version v3.4.5
|
||||
* @version v3.4.6
|
||||
* $Revision: 12217 $
|
||||
*/
|
||||
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,10 +2,10 @@
|
||||
<menu>
|
||||
<tabitems>
|
||||
<item>
|
||||
<title>Журналы</title>
|
||||
<title>Logs</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Журналы</subitemtitle>
|
||||
<subitemtitle>Logs</subitemtitle>
|
||||
<subitemlang>splashlogs</subitemlang>
|
||||
<subsection>logsSplash</subsection>
|
||||
<subitemurl></subitemurl>
|
||||
|
||||
@@ -1,110 +1,110 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<permissions>
|
||||
<group>
|
||||
<grouptitle>Журнал действий администраторов</grouptitle>
|
||||
<grouptitle>Admin Logs</grouptitle>
|
||||
<grouplang>core_adminlogs</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>adminlogs_view</key>
|
||||
<string>Может просматривать журнал?</string>
|
||||
<string>Can view admin logs?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>adminlogs_delete</key>
|
||||
<string>Может удалять записи?</string>
|
||||
<string>Can delete admin logs?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
<group>
|
||||
<grouptitle>Журнал входа администраторов</grouptitle>
|
||||
<grouptitle>Admin Login Logs</grouptitle>
|
||||
<grouplang>core_acp_loginlogs</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>acplogin_log</key>
|
||||
<string>Может просматривать журнал входа администраторов?</string>
|
||||
<string>Can view admin login logs?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
<group>
|
||||
<grouptitle>Журнал действий модераторов</grouptitle>
|
||||
<grouptitle>Moderator Logs</grouptitle>
|
||||
<grouplang>core_modlogs</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>modlogs_view</key>
|
||||
<string>Может просматривать журнал?</string>
|
||||
<string>Can view moderator logs?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>modlogs_delete</key>
|
||||
<string>Может удалять записи?</string>
|
||||
<string>Can delete moderator logs?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
<group>
|
||||
<grouptitle>Журнал ошибок Email</grouptitle>
|
||||
<grouptitle>Email Error Logs</grouptitle>
|
||||
<grouplang>core_eelogs</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>emailerrorlogs_view</key>
|
||||
<string>Может просматривать журнал?</string>
|
||||
<string>Can view email error logs?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>emailerrorlogs_delete</key>
|
||||
<string>Может удалять записи?</string>
|
||||
<string>Can delete email error logs?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
<group>
|
||||
<grouptitle>Журнал действий поисковых роботов</grouptitle>
|
||||
<grouptitle>Spider Logs</grouptitle>
|
||||
<grouplang>core_spiderlogs</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>spiderlogs_view</key>
|
||||
<string>Может просматривать журнал?</string>
|
||||
<string>Can view spider logs?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>spiderlogs_delete</key>
|
||||
<string>Может удалять записи?</string>
|
||||
<string>Can delete spider logs?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
<group>
|
||||
<grouptitle>Журнал предупреждений</grouptitle>
|
||||
<grouptitle>Warn Logs</grouptitle>
|
||||
<grouplang>core_warnlogs</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>warnlogs_view</key>
|
||||
<string>Может просматривать журнал?</string>
|
||||
<string>Can view warn logs?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>warnlogs_delete</key>
|
||||
<string>Может удалять записи?</string>
|
||||
<string>Can delete warn logs?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
<group>
|
||||
<grouptitle>Журнал ошибок системы</grouptitle>
|
||||
<grouptitle>Error Logs</grouptitle>
|
||||
<grouplang>core_errorlogs</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>errorlogs_view</key>
|
||||
<string>Может просматривать журнал?</string>
|
||||
<string>Can view error logs?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>errorlogs_delete</key>
|
||||
<string>Может удалять записи?</string>
|
||||
<string>Can delete error logs?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
<group>
|
||||
<grouptitle>Журнал SQL ошибок</grouptitle>
|
||||
<grouptitle>SQL Error Logs</grouptitle>
|
||||
<grouplang>core_selogs</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>sqlerrorlogs_view</key>
|
||||
<string>Может просматривать журнал?</string>
|
||||
<string>Can view SQL error logs?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>sqlerrorlogs_delete</key>
|
||||
<string>Может удалять записи?</string>
|
||||
<string>Can delete SQL error logs?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* API Users
|
||||
* Last Updated: $Date: 2012-11-28 09:38:19 -0500 (Wed, 28 Nov 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* $Author: ips_terabyte $
|
||||
* @since 20th February 2002
|
||||
* $LastChangedDate: 2010-10-14 13:11:17 -0400 (Thu, 14 Oct 2010) $
|
||||
* @version v3.4.5
|
||||
* @version v3.4.6
|
||||
* $Revision: 477 $
|
||||
*/
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Manage mobile app images
|
||||
* Last Updated: $Date: 2012-03-30 16:23:27 +0100 (Fri, 30 Mar 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com/">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,10 +2,10 @@
|
||||
<menu>
|
||||
<tabitems>
|
||||
<item>
|
||||
<title>Мобильное Приложение</title>
|
||||
<title>Mobile App</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Мобильное Приложение</subitemtitle>
|
||||
<subitemtitle>Mobile App</subitemtitle>
|
||||
<subitemlang>skins_manage_app_images</subitemlang>
|
||||
<subsection>images</subsection>
|
||||
<subitemurl>do=overview</subitemurl>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<permissions>
|
||||
<group>
|
||||
<grouptitle>Изображения</grouptitle>
|
||||
<grouptitle>Manage App Images</grouptitle>
|
||||
<grouplang>core_templates</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>app_images</key>
|
||||
<string>Может управлять изображениями?</string>
|
||||
<string>Can view and manage app images?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Dashboard
|
||||
* Last Updated: $Date: 2012-10-23 15:11:59 -0400 (Tue, 23 Oct 2012) $
|
||||
* Last Updated: $Date: 2013-09-06 16:39:06 -0400 (Fri, 06 Sep 2013) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: bfarber $
|
||||
@@ -14,7 +14,7 @@
|
||||
* @subpackage Core
|
||||
* @link http://www.invisionpower.com
|
||||
* @since 5th January 2005
|
||||
* @version $Revision: 11511 $
|
||||
* @version $Revision: 12348 $
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_ACP' ) )
|
||||
@@ -151,20 +151,8 @@ class admin_core_mycp_dashboard extends ipsCommand
|
||||
$ipsNewsData = $this->cache->getCache( 'ipsNewsData' );
|
||||
if ( !isset( $ipsNewsData['time'] ) or $ipsNewsData['time'] < ( time() - 43200 ) ) // 12 hour cache
|
||||
{
|
||||
$classToLoad = IPSLib::loadLibrary( IPS_KERNEL_PATH . 'classFileManagement.php', 'classFileManagement' );
|
||||
$classFileManagement = new $classToLoad();
|
||||
|
||||
if( strpos( $this->settings['base_url'], 'https://' ) !== false )
|
||||
{
|
||||
$ipsNewsData['news'] = $classFileManagement->getFileContents( 'https://external.ipslink.com/ipboard33/dashboard/index.php?v=' . ipsRegistry::$vn_full );
|
||||
$ipsNewsData['vcheck'] = $classFileManagement->getFileContents( 'https://www.invisionpower.com/latestversioncheck/ipb30x.php?' . base64_encode( ipsRegistry::$vn_full.'|^|'.$this->settings['board_url'] ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
$ipsNewsData['news'] = $classFileManagement->getFileContents( 'http://external.ipslink.com/ipboard33/dashboard/index.php?v=' . ipsRegistry::$vn_full );
|
||||
$ipsNewsData['vcheck'] = $classFileManagement->getFileContents( 'http://www.invisionpower.com/latestversioncheck/ipb30x.php?' . base64_encode( ipsRegistry::$vn_full.'|^|'.$this->settings['board_url'] ) );
|
||||
}
|
||||
|
||||
$ipsNewsData['news'] = '';
|
||||
$ipsNewsData['vcheck'] = '';
|
||||
$ipsNewsData['time'] = time();
|
||||
|
||||
$this->cache->setCache( 'ipsNewsData', $ipsNewsData, array( 'array' => 1 ) );
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* $Author: ips_terabyte $
|
||||
* @since 20th February 2002
|
||||
* $LastChangedDate: 2011-05-05 12:40:49 -0400 (Thu, 05 May 2011) $
|
||||
* @version v3.4.5
|
||||
* @version v3.4.6
|
||||
* $Revision: 8655 $
|
||||
*/
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Admin change email/password
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Dashboard
|
||||
* Last Updated: $Date: 2012-07-12 18:15:50 +0100 (Thu, 12 Jul 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,10 +2,10 @@
|
||||
<menu>
|
||||
<tabitems>
|
||||
<item>
|
||||
<title>Панель Управления</title>
|
||||
<title>My Dashboard</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Панель Управления</subitemtitle>
|
||||
<subitemtitle>My Dashboard</subitemtitle>
|
||||
<subitemlang>dashboard</subitemlang>
|
||||
<subsection>dashboard</subsection>
|
||||
<subitemurl></subitemurl>
|
||||
@@ -15,10 +15,10 @@
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Изменить Мои Данные</title>
|
||||
<title>Change My Details</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Изменить Мои Данные</subitemtitle>
|
||||
<subitemtitle>Change My Details</subitemtitle>
|
||||
<subitemlang>mydetails</subitemlang>
|
||||
<subsection>details</subsection>
|
||||
<subitemurl></subitemurl>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<permissions>
|
||||
<group>
|
||||
<grouptitle>Панель управления</grouptitle>
|
||||
<grouptitle>My Control Panel</grouptitle>
|
||||
<grouplang>core_mycp</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>dashboard</key>
|
||||
<string>Имеет доступ к панели?</string>
|
||||
<string>Can access the dashboard?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* Bad Word Filters
|
||||
* Last Updated: $LastChangedDate: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* BBCode Management
|
||||
* Last Updated: $LastChangedDate: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* $Author: ips_terabyte $
|
||||
* @since 20th February 2002
|
||||
* $LastChangedDate: 2011-05-05 12:40:49 -0400 (Thu, 05 May 2011) $
|
||||
* @version v3.4.5
|
||||
* @version v3.4.6
|
||||
* $Revision: 8655 $
|
||||
*/
|
||||
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* IP.Board v3.4.6
|
||||
* BBCode Media Tag Management
|
||||
* Last Updated: $LastChangedDate: 2012-05-22 13:10:11 -0400 (Tue, 22 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,10 +2,10 @@
|
||||
<menu>
|
||||
<tabitems>
|
||||
<item>
|
||||
<title>Управление Смайликами</title>
|
||||
<title>Emoticon Management</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Управление Смайликами</subitemtitle>
|
||||
<subitemtitle>Emoticon Management</subitemtitle>
|
||||
<subitemlang>emoticons</subitemlang>
|
||||
<subsection>emoticons</subsection>
|
||||
<subitemurl>do=overview</subitemurl>
|
||||
@@ -15,10 +15,10 @@
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Управление BB-кодами</title>
|
||||
<title>BBCode Management</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Управление BB-кодами</subitemtitle>
|
||||
<subitemtitle>BBCode Management</subitemtitle>
|
||||
<subitemlang>bbcode</subitemlang>
|
||||
<subsection>bbcode</subsection>
|
||||
<subitemurl>do=overview</subitemurl>
|
||||
@@ -28,10 +28,10 @@
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Управление Media-тагами</title>
|
||||
<title>Manage Media Tag</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Управление Media-тагами</subitemtitle>
|
||||
<subitemtitle>Manage Media Tag</subitemtitle>
|
||||
<subitemlang>mediatag</subitemlang>
|
||||
<subsection>media</subsection>
|
||||
<subitemurl>do=overview</subitemurl>
|
||||
@@ -41,10 +41,10 @@
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Фильтр Нецензурных Слов</title>
|
||||
<title>Bad Word Filters</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Фильтр Нецензурных Слов</subitemtitle>
|
||||
<subitemtitle>Bad Word Filters</subitemtitle>
|
||||
<subitemlang>badwords</subitemlang>
|
||||
<subsection>badwords</subsection>
|
||||
<subitemurl>do=overview</subitemurl>
|
||||
@@ -54,10 +54,10 @@
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Расшифровка Сокращений</title>
|
||||
<title>Acronym Expansion</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Расшифровка Сокращений</subitemtitle>
|
||||
<subitemtitle>Acronym Expansion</subitemtitle>
|
||||
<subitemlang>acronyms</subitemlang>
|
||||
<subsection>acronyms</subsection>
|
||||
<subitemurl></subitemurl>
|
||||
|
||||
@@ -1,76 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<permissions>
|
||||
<group>
|
||||
<grouptitle>Управление нецензурными словами</grouptitle>
|
||||
<grouptitle>Manage Badwords</grouptitle>
|
||||
<grouplang>core_badwords</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>badword_manage</key>
|
||||
<string>Может добавлять/изменять?</string>
|
||||
<string>Can manage badwords?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>badword_delete</key>
|
||||
<string>Может удалять?</string>
|
||||
<string>Can delete badwords?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
<group>
|
||||
<grouptitle>Смайлики</grouptitle>
|
||||
<grouptitle>Emoticons</grouptitle>
|
||||
<grouplang>core_emoticons</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>emoticons_manage</key>
|
||||
<string>Имеет доступ к менеджеру смайликов?</string>
|
||||
<string>Can access emoticon manager?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>emoticons_edit</key>
|
||||
<string>Может изменять смайлики?</string>
|
||||
<string>Can edit emoticons?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>emoticons_add</key>
|
||||
<string>Может добавлять смайлики?</string>
|
||||
<string>Can add new emoticons?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>emoticons_delete</key>
|
||||
<string>Может удалять смайлики?</string>
|
||||
<string>Can remove emoticons?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
<group>
|
||||
<grouptitle>BB-коды</grouptitle>
|
||||
<grouptitle>BBCode</grouptitle>
|
||||
<grouplang>core_bbcode</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>bbcode_manage</key>
|
||||
<string>Может добавлять/изменять?</string>
|
||||
<string>Can manage bbcode?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>bbcode_delete</key>
|
||||
<string>Может удалять?</string>
|
||||
<string>Can delete bbcode?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
<group>
|
||||
<grouptitle>Расшифровка сокращений</grouptitle>
|
||||
<grouptitle>Acronym Expansion</grouptitle>
|
||||
<grouplang>acronyms</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>acronyms_manage</key>
|
||||
<string>Может управлять сокращениями?</string>
|
||||
<string>Can manage acronyms?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
<group>
|
||||
<grouptitle>Управление Media-тегами</grouptitle>
|
||||
<grouptitle>Manage Media</grouptitle>
|
||||
<grouplang>core_media</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>media_manage</key>
|
||||
<string>Может добавлять/изменять?</string>
|
||||
<string>Can manage media bbcode supported sites?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>media_delete</key>
|
||||
<string>Может удалять?</string>
|
||||
<string>Can remove supported media bbcode sites?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* $Author: ips_terabyte $
|
||||
* @since 20th February 2002
|
||||
* $LastChangedDate: 2011-05-05 12:40:49 -0400 (Thu, 05 May 2011) $
|
||||
* @version v3.4.5
|
||||
* @version v3.4.6
|
||||
* $Revision: 8655 $
|
||||
*/
|
||||
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -8,7 +8,7 @@
|
||||
* @author Based on original "Report Center" by Luke Scott
|
||||
* @since -
|
||||
* $LastChangedDate: 2013-02-14 19:17:38 -0500 (Thu, 14 Feb 2013) $
|
||||
* @version v3.4.5
|
||||
* @version v3.4.6
|
||||
* $Revision: 11992 $
|
||||
*/
|
||||
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,10 +2,10 @@
|
||||
<menu>
|
||||
<tabitems>
|
||||
<item>
|
||||
<title>Управление Плагинами</title>
|
||||
<title>Plugin Manager</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Управление Плагинами</subitemtitle>
|
||||
<subitemtitle>Plugin Manager</subitemtitle>
|
||||
<subitemlang>reports_plugin</subitemlang>
|
||||
<subsection>reports</subsection>
|
||||
<subitemurl>do=plugin</subitemurl>
|
||||
@@ -15,10 +15,10 @@
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Статус и Приоритеты Жалоб</title>
|
||||
<title>Status & Severity Levels</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Статус и Приоритеты Жалоб</subitemtitle>
|
||||
<subitemtitle>Status & Severity Levels</subitemtitle>
|
||||
<subitemlang>reports_ssl</subitemlang>
|
||||
<subsection>reports</subsection>
|
||||
<subitemurl>do=status</subitemurl>
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<permissions>
|
||||
<group>
|
||||
<grouptitle>Плагины системы жалоб</grouptitle>
|
||||
<grouptitle>Report Center Plugins</grouptitle>
|
||||
<grouplang>core_reports</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>plugins_manage</key>
|
||||
<string>Может добавлять/изменять плагины?</string>
|
||||
<string>Can add/edit supported reported content plugins?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>plugins_remove</key>
|
||||
<string>Может удалять плагины?</string>
|
||||
<string>Can remove reported content plugins?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
<group>
|
||||
<grouptitle>Управление статусами жалоб</grouptitle>
|
||||
<grouptitle>Report Center Status and Severity Management</grouptitle>
|
||||
<grouplang>core_statsev</grouplang>
|
||||
<items>
|
||||
<item>
|
||||
<key>sands_manage</key>
|
||||
<string>Может добавлять/изменять статусы жалоб?</string>
|
||||
<string>Can add/edit report center status and severity levels?</string>
|
||||
</item>
|
||||
<item>
|
||||
<key>sands_remove</key>
|
||||
<string>Может удалять статусы?</string>
|
||||
<string>Can remove status and severity levels?</string>
|
||||
</item>
|
||||
</items>
|
||||
</group>
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
<menu>
|
||||
<tabitems>
|
||||
<item>
|
||||
<title>SEO-поддержка</title>
|
||||
<title>SEO Advice</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>SEO-поддержка</subitemtitle>
|
||||
<subitemtitle>SEO Advice</subitemtitle>
|
||||
<subitemlang>seo_advice</subitemlang>
|
||||
<subsection>advice</subsection>
|
||||
<subitemurl></subitemurl>
|
||||
@@ -15,10 +15,10 @@
|
||||
</subitems>
|
||||
</item>
|
||||
<item>
|
||||
<title>Активность Поисковых Машин</title>
|
||||
<title>Search Activity</title>
|
||||
<subitems>
|
||||
<subitem>
|
||||
<subitemtitle>Активность Поисковых Машин</subitemtitle>
|
||||
<subitemtitle>Search Activity</subitemtitle>
|
||||
<subitemlang>seo_dashboard</subitemlang>
|
||||
<subsection>activity</subsection>
|
||||
<subitemurl></subitemurl>
|
||||
|
||||
Loaded 100 of 1568 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user