Version 3.4.8
This commit is contained in:
1 parent
b45ea0dffb
commit
c603205a25
1398 files changed
+36675
-31023
No files matched your search
@@ -2,12 +2,12 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.6
|
||||
* IP.Board v3.4.8
|
||||
* Static Classes for IP.Board 3
|
||||
*
|
||||
* These classes are not required as objects. We have grouped
|
||||
* together several singletons to prevent multiple file loads
|
||||
* Last Updated: $Date: 2013-09-26 22:37:28 -0400 (Thu, 26 Sep 2013) $
|
||||
* Last Updated: $Date: 2014-12-31 17:46:06 -0500 (Wed, 31 Dec 2014) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: rashbrook $
|
||||
@@ -16,7 +16,7 @@
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @since 12th March 2002
|
||||
* @version $Revision: 12370 $
|
||||
* @version $Revision: 12581 $
|
||||
*
|
||||
* @author Matt
|
||||
*/
|
||||
@@ -1471,6 +1471,12 @@ class IPSLib
|
||||
|
||||
$XMLVersions = IPSSetUp::fetchXmlAppVersions( $app );
|
||||
$tmp = $XMLVersions;
|
||||
|
||||
if ( $tmp === FALSE )
|
||||
{
|
||||
$tmp = array( 0 => 0 );
|
||||
}
|
||||
|
||||
krsort( $tmp );
|
||||
|
||||
foreach( $tmp as $long => $human )
|
||||
@@ -3460,6 +3466,22 @@ EOF;
|
||||
*/
|
||||
static public function hasActiveLicense( $allowPerpetual=true )
|
||||
{
|
||||
//return true;
|
||||
$licenseData = ipsRegistry::cache()->getCache( 'licenseData' );
|
||||
|
||||
if ( ( ! $licenseData OR ! $licenseData['key']['_expires'] OR $licenseData['key']['_expires'] < IPS_UNIX_TIME_NOW OR $licenseData['key']['_expires'] == 9999999999 ) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( $allowPerpetual !== true )
|
||||
{
|
||||
if ( stristr( $licenseData['name'], 'perpetual' ) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -4188,7 +4210,7 @@ class IPSCookie
|
||||
{
|
||||
$_domain[] = $bit;
|
||||
|
||||
if ( ! in_array( $bit, array( 'aero', 'asia', 'biz', 'cat', 'com', 'coop', 'edu', 'gov', 'info', 'int', 'jobs', 'mil', 'mobi', 'museum', 'name', 'net', 'org', 'pro', 'tel', 'travel', 'ac', 'ad', 'ae', 'af', 'ag', 'ai', 'al', 'am', 'an', 'ao', 'aq', 'ar', 'as', 'at', 'au', 'aw', 'ax', 'az', 'ba', 'bb', 'bd', 'be', 'bf', 'bg', 'bh', 'bi', 'bj', 'bl', 'bm', 'bn', 'bo', 'br', 'bs', 'bt', 'bv', 'bw', 'by', 'bz', 'ca', 'cc', 'cd', 'cf', 'cg', 'ch', 'ci', 'ck', 'cl', 'cm', 'cn', 'co', 'cr', 'cu', 'cv', 'cx', 'cy', 'cz', 'de', 'dj', 'dk', 'dm', 'do', 'dz', 'ec', 'ee', 'eg', 'eh', 'er', 'es', 'et', 'eu', 'fi', 'fj', 'fk', 'fm', 'fo', 'fr', 'ga', 'gb', 'gd', 'ge', 'gf', 'gg', 'gh', 'gi', 'gl', 'gm', 'gn', 'gp', 'gq', 'gr', 'gs', 'gt', 'gu', 'gw', 'gy', 'hk', 'hm', 'hn', 'hr', 'ht', 'hu', 'id', 'ie', 'il', 'im', 'in', 'io', 'iq', 'ir', 'is', 'it', 'je', 'jm', 'jo', 'jp', 'ke', 'kg', 'kh', 'ki', 'km', 'kn', 'kp', 'kr', 'kw', 'ky', 'kz', 'la', 'lb', 'lc', 'li', 'lk', 'lr', 'ls', 'lt', 'lu', 'lv', 'ly', 'ma', 'mc', 'md', 'me', 'mg', 'mh', 'mk', 'ml', 'mm', 'mn', 'mo', 'mp', 'mq', 'mr', 'ms', 'mt', 'mu', 'mv', 'mw', 'mx', 'my', 'mz', 'na', 'nc', 'ne', 'nf', 'ng', 'ni', 'nl', 'no', 'np', 'nr', 'nu', 'nz', 'om', 'pa', 'pe', 'pf', 'pg', 'ph', 'pk', 'pl', 'pm', 'pn', 'pr', 'ps', 'pt', 'pw', 'py', 'qa', 're', 'ro', 'rs', 'ru', 'rw', 'sa', 'sb', 'sc', 'sd', 'se', 'sg', 'sh', 'si', 'sj', 'sk', 'sl', 'sm', 'sn', 'so', 'sr', 'st', 'su', 'sv', 'sy', 'sz', 'tc', 'td', 'tf', 'tg', 'th', 'tj', 'tk', 'tl', 'tm', 'tn', 'to', 'tp', 'tr', 'tt', 'tv', 'tw', 'tz', 'ua', 'ug', 'uk', 'um', 'us', 'uy', 'uz', 'va', 'vc', 've', 'vg', 'vi', 'vn', 'vu', 'wf', 'ws', 'ye', 'yt', 'yu', 'za', 'zm', 'zw' ) ) )
|
||||
if ( ! in_array( $bit, array( 'aero', 'asia', 'biz', 'cat', 'com', 'coop', 'edu', 'gov', 'info', 'int', 'jobs', 'mil', 'mobi', 'museum', 'name', 'net', 'org', 'pro', 'tel', 'travel', 'ac', 'ad', 'ae', 'af', 'ag', 'ai', 'al', 'am', 'an', 'ao', 'aq', 'ar', 'as', 'at', 'au', 'aw', 'ax', 'az', 'ba', 'bb', 'bd', 'be', 'bf', 'bg', 'bh', 'bi', 'bj', 'bl', 'bm', 'bn', 'bo', 'br', 'bs', 'bt', 'bv', 'bw', 'by', 'bz', 'ca', 'cc', 'cd', 'cf', 'cg', 'ch', 'ci', 'ck', 'cl', 'cm', 'cn', 'co', 'cr', 'cu', 'cv', 'cx', 'cy', 'cz', 'de', 'dj', 'dk', 'dm', 'do', 'dz', 'ec', 'ee', 'eg', 'eh', 'er', 'es', 'et', 'eu', 'fi', 'fj', 'fk', 'fm', 'fo', 'fr', 'ga', 'gb', 'gd', 'ge', 'gf', 'gg', 'gh', 'gi', 'gl', 'gm', 'gn', 'gp', 'gq', 'gr', 'gs', 'gt', 'gu', 'gw', 'gy', 'hk', 'hm', 'hn', 'hr', 'ht', 'hu', 'id', 'ie', 'il', 'im', 'in', 'io', 'iq', 'ir', 'is', 'it', 'je', 'jm', 'jo', 'jp', 'ke', 'kg', 'kh', 'ki', 'km', 'kn', 'kp', 'kr', 'kw', 'ky', 'kz', 'la', 'lb', 'lc', 'li', 'lk', 'lr', 'ls', 'lt', 'lu', 'lv', 'ly', 'ma', 'mc', 'md', 'me', 'mg', 'mh', 'mk', 'ml', 'mm', 'mn', 'mo', 'mp', 'mq', 'mr', 'ms', 'mt', 'mu', 'mv', 'mw', 'mx', 'my', 'mz', 'na', 'nc', 'ne', 'nf', 'ng', 'ni', 'nl', 'no', 'np', 'nr', 'nu', 'nz', 'om', 'pa', 'pe', 'pf', 'pg', 'ph', 'pk', 'pl', 'pm', 'pn', 'pr', 'ps', 'pt', 'pw', 'py', 'qa', 're', 'ro', 'rs', 'ru', 'rw', 'sa', 'sb', 'sc', 'sd', 'se', 'sg', 'sh', 'si', 'sj', 'sk', 'sl', 'sm', 'sn', 'so', 'sr', 'st', 'su', 'sv', 'sy', 'sz', 'tc', 'td', 'tf', 'tg', 'th', 'tj', 'tk', 'tl', 'tm', 'tn', 'to', 'tp', 'tr', 'tt', 'tv', 'tw', 'tz', 'ua', 'ug', 'uk', 'um', 'us', 'uy', 'uz', 'va', 'vc', 've', 'vg', 'vi', 'vn', 'vu', 'wf', 'ws', 'ye', 'yt', 'yu', 'za', 'zm', 'zw', 'community' ) ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
@@ -4212,7 +4234,7 @@ class IPSCookie
|
||||
}
|
||||
else
|
||||
{
|
||||
@setcookie( $_name, $value, $expires, $_path );
|
||||
@setcookie( $_name, $value, $expires, $_path, $_domain );
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -4504,7 +4526,7 @@ class IPSText
|
||||
$text = strip_tags($text);
|
||||
|
||||
/* Remove specific hex characters (/,<,>,#) as it confuses redirect engine */
|
||||
$text = preg_replace( '#%(2f|3c|3e|23)#i', '', $text );
|
||||
$text = preg_replace( '#%(2f|3c|3e|23|22|27|5c)#i', '', $text );
|
||||
|
||||
/* Preserve other %data */
|
||||
$text = preg_replace('#%([a-fA-F0-9][a-fA-F0-9])#', '-xx-$1-xx-', $text);
|
||||
|
||||
@@ -0,0 +1,172 @@
|
||||
<?php
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services / IPBmafia.Ru
|
||||
* IP.Board v3.4.2 / darkLicenseActivationEmulator 1.1
|
||||
* License emulator
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: _Dark_ $
|
||||
* @copyright (c) 2012 IPBmafia.Ru
|
||||
* @package IP.Board
|
||||
* @link http://www.ipbmafia.ru
|
||||
* @version 1.1
|
||||
*
|
||||
*/
|
||||
class darkLAE {
|
||||
|
||||
public static $settings = array(
|
||||
/*
|
||||
* if TRUE IP.Board copyright will be displayed in page footer
|
||||
* if FALSE IP.Board copyright will be hidden
|
||||
* если TRUE копирайт IP.Board будет отображен в футере страницы
|
||||
* если FALSE копирайт IP.Board будет скрыт
|
||||
*/
|
||||
'ipboard_copyright_showing' => TRUE,
|
||||
);
|
||||
|
||||
private static $licenseKey = 'darkLAE 1.1 (_Dark_, IPBmafia.Ru)';
|
||||
|
||||
public static function activateLicense() {
|
||||
$response = array(
|
||||
'result' => 'ok'
|
||||
);
|
||||
return json_encode($response);
|
||||
}
|
||||
|
||||
public static function getLicenseKey() {
|
||||
return self::$licenseKey;
|
||||
}
|
||||
|
||||
public static function getLicenseData() {
|
||||
return array(
|
||||
'key' => array(
|
||||
'_expires' => '9999999998',
|
||||
'status_icon' => 'medal.png',
|
||||
'status' => 'Ok',
|
||||
'name' => 'Master License Key',
|
||||
'msg' => 'Activated by darkLAE',
|
||||
'expires' => '9999999999'
|
||||
),
|
||||
'addons' => array(
|
||||
array(
|
||||
'expires' => '',
|
||||
'_expires' => 0,
|
||||
'status_icon' => 'accept.png',
|
||||
'status' => 'Ok',
|
||||
'name' => 'IP.Board',
|
||||
'msg' => ''
|
||||
),
|
||||
array(
|
||||
'expires' => '',
|
||||
'_expires' => 0,
|
||||
'status_icon' => 'accept.png',
|
||||
'status' => 'Ok',
|
||||
'name' => 'IP.Nexus',
|
||||
'msg' => ''
|
||||
),
|
||||
array(
|
||||
'expires' => '',
|
||||
'_expires' => 0,
|
||||
'status_icon' => 'accept.png',
|
||||
'status' => 'Ok',
|
||||
'name' => 'IP.Content',
|
||||
'msg' => ''
|
||||
),
|
||||
array(
|
||||
'expires' => '',
|
||||
'_expires' => 0,
|
||||
'status_icon' => 'accept.png',
|
||||
'status' => 'Ok',
|
||||
'name' => 'IP.Gallery',
|
||||
'msg' => ''
|
||||
),
|
||||
array(
|
||||
'expires' => '',
|
||||
'_expires' => 0,
|
||||
'status_icon' => 'accept.png',
|
||||
'status' => 'Ok',
|
||||
'name' => 'IP.Blog',
|
||||
'msg' => ''
|
||||
),
|
||||
array(
|
||||
'expires' => '',
|
||||
'_expires' => 0,
|
||||
'status_icon' => 'accept.png',
|
||||
'status' => 'Ok',
|
||||
'name' => 'IP.Downloads',
|
||||
'msg' => ''
|
||||
),
|
||||
array(
|
||||
'expires' => '',
|
||||
'_expires' => 0,
|
||||
'status_icon' => 'cross.png',
|
||||
'status' => 'Inactive',
|
||||
'name' => 'IP.Chat',
|
||||
'msg' => "Unfortunately, you can't use IP.Chat with nulled version."
|
||||
),
|
||||
array(
|
||||
'expires' => '',
|
||||
'_expires' => 0,
|
||||
'status_icon' => 'accept.png',
|
||||
'status' => 'Ok',
|
||||
'name' => 'Copyright Removal',
|
||||
'msg' => 'If you want disable copyright edit file /admin/sources/base/darkLAE.php at line 20.'
|
||||
)
|
||||
),
|
||||
'ipbMain' => array(
|
||||
array(
|
||||
'expires' => '',
|
||||
'_expires' => 0,
|
||||
'status_icon' => 'information.png',
|
||||
'status' => 'Inactive',
|
||||
'name' => 'Standard Support',
|
||||
'msg' => "You can't get support from the IPS Client Area, but you can ask for help at <a href='http://www.ipbmafia.ru' target='_blank'>IPBmafia.Ru</a>"
|
||||
),
|
||||
array(
|
||||
'expires' => '',
|
||||
'_expires' => 0,
|
||||
'status_icon' => 'information.png',
|
||||
'status' => 'Inactive',
|
||||
'name' => 'Download Access',
|
||||
'msg' => "You can't download new versions from the IPS Client Area, but you can download nulled versions at <a href='http://www.ipbmafia.ru' target='_blank'>IPBmafia.Ru</a>"
|
||||
),
|
||||
array(
|
||||
'expires' => '',
|
||||
'_expires' => 0,
|
||||
'status_icon' => 'cross.png',
|
||||
'status' => 'Inactive',
|
||||
'name' => 'Spam Monitoring Service',
|
||||
'msg' => "Unfortunately, you can't use Spam Monitoring Service with nulled version."
|
||||
),
|
||||
array(
|
||||
'expires' => '',
|
||||
'_expires' => 0,
|
||||
'status_icon' => 'cross.png',
|
||||
'status' => 'Inactive',
|
||||
'name' => 'Mobile Push Notifications',
|
||||
'msg' => "Unfortunately, you can't use Mobile Push Notifications with nulled version."
|
||||
),
|
||||
array(
|
||||
'expires' => '',
|
||||
'_expires' => 0,
|
||||
'status_icon' => 'accept.png',
|
||||
'status' => 'Ok',
|
||||
'name' => 'Visual Skin Editor',
|
||||
'msg' => ''
|
||||
)
|
||||
),
|
||||
'skinGen' => 1,
|
||||
'iphoneNotifications' => 0,
|
||||
'cr' => (int) !self::$settings['ipboard_copyright_showing']
|
||||
);
|
||||
}
|
||||
|
||||
public static function getVisualSkinEditorJsonData() {
|
||||
$json = <<<_Dark_
|
||||
var IPS_SKIN_GEN_DATA = {"skinGroups":{"app_calendar":["App: Calendar",["app_calendar_td_selected","app_calendar_td_hover","app_calendar_td_blank","app_calendar_td_today"]],"app_gallery":["App: Gallery",["albumDetailTable_td"]],"global":["Global Styles",["body","a","content","desc","desclighter"]],"tables":["Table Content",["row1","row2","unread","unreadalt","tableheader","tableheader_a","ipb_table"]],"other":["Other Styles",["ipsbox","Bar Header","postblock","NoMessages","fieldsetSubmit","general_box","general_box_h3","ipsboxcontainer","maintitle","sideMenuActive","ipsVerticalTabbed_tabs_li","ipsVerticalTabbed_tabs_li_a","ipsVerticalTabbed_tabs_li_a_hover","ipsVerticalTabbed_tabs_li_active","ipsfilterbar_item","ipsfilterbar_active"]],"buttons":["Button Styles",["but_submit","but_submit_alt","but_topic","but_secondary"]],"header":["Header Elements",["registerLink","header","primarynav","primarynav_inactive","primarynav_active","searchbutton"]],"pagination":["Pagination",["paginationBackForward","paginationBackForwardHover","paginationBackActive"]],"sidebar":["Sidebar",["ipsSideBlock","ipsSideBlock_h3"]],"profiles":["Profile Page",["statusupdate"]],"app_blog":["App: Blog",["entry_header"]]},"colorizeGroups":{"base":["app_calendar_td_selected","app_calendar_td_hover","app_calendar_td_blank","app_calendar_td_today","albumDetailTable_td","body","content","row1","row2","unread","unreadalt","ipsbox","Bar Header","tableheader","tableheader_a","postblock","NoMessages","but_submit_alt","fieldsetSubmit","registerLink","header","primarynav","primarynav_inactive","primarynav_active","general_box","general_box_h3","ipsboxcontainer","maintitle","desc","desclighter","ipb_table","ipsVerticalTabbed_tabs_li","ipsVerticalTabbed_tabs_li_a","ipsVerticalTabbed_tabs_li_a_hover","ipsVerticalTabbed_tabs_li_active","ipsfilterbar_item","ipsfilterbar_active","but_secondary","paginationBackForward","ipsSideBlock","ipsSideBlock_h3","statusupdate","entry_header"],"text":["a"],"secondary":["but_submit","searchbutton","but_topic"],"tertiary":["sideMenuActive","paginationBackForwardHover","paginationBackActive"]},"classes":{"app_calendar_td_selected":["#calendar_table td.selected","Calendar Selected Cell","Used for selected cells in the monthly calendar",{"background":["#E2E9F0",""],"shadow":["#E2E9F0",""]}],"app_calendar_td_hover":["#calendar_table td.normal:hover","Calendar Cell Hover","Used for hovering over cells in the monthly calendar",{"background":["#EDF1F5",""]}],"app_calendar_td_blank":["#calendar_table td.blank","Calendar Blank Cell","Used for blank cells in the monthly calendar",{"background":["#dbe2e8",""],"border":["#dbe2e8",""]}],"app_calendar_td_today":["#calendar_table td.today","Calendar Today Cell","Used for todays cell in the monthly calendar",{"background":["#f1f6ec",""],"border":["#6f8f52",""],"color":["#6f8f52",""]}],"albumDetailTable_td":["#albumDetailTable td","Album Detail Table","Thick border for detail table",{"border":["#ebf0f3",""]}],"body":["html, body","Body","The page background",{"background":["#d8dde8",""],"color":["#5a5a5a",""]}],"a":["a","Links","Basic links",{"color":["#225985",""]}],"content":["#content","Main Content Area","The area that contains all page content",{"background":["#fff",""]}],"row1":[".row1, .post_block.row1","Table Row 1","Generic table row color 1",{"background":["#fff",""]}],"row2":[".row2, .post_block.row2","Table Row 2","Generic table row color 2",{"background":["#f1f6f9",""]}],"unread":[".unread","Unread Row","Unread row colour",{"background":["#f7fbfc",""]}],"unreadalt":[".unread .altrow, .unread.altrow","Unread Row (Alt)","Darker version of unread row, used to highlight certain table columns",{"background":["#E2E9F0",""]}],"ipsbox":[".ipsBox","Content Box","Used to wrap most content sections",{"background":["#ebf0f3",""]}],"Bar Header":[".bar","Bar Header","Used in post forms, etc",{"background":["#eff4f7",""]}],"tableheader":[".header","Table Header","Used for table headings",{"background":["#b6c7db",""],"color":["#1d3652",""]}],"tableheader_a":["body .ipb_table .header a,\tbody .topic_options a","Table Header Link","Used for links in table headings",{"color":["#1d3652",""]}],"postblock":[".post_block","Post Block","An individual post wrapper",{"background":["#fff",""],"border":["#D6E2EB",""]}],"NoMessages":[".no_messages","No Messages Box","Box for 'no data' type messages",{"background":["#f6f8fa",""],"border":false}],"but_submit":[".input_submit","Submit Button","The primary button that submits forms",{"background":["#212121",""],"border":["#5c5c5c",""],"color":["#fff",""],"boxshadow":["#5c5c5c"," inset 0 1px 0 0 "]}],"but_submit_alt":[".input_submit.alt","Alternate Submit Button","Secondary buttons for forms",{"background":["#e2e9f0",""],"border":["#dae2ea",""],"color":["#464646",""],"boxshadow":["#eff3f8"," inset 0 1px 0 0 "]}],"fieldsetSubmit":["body#ipboard_body fieldset.submit,body#ipboard_body p.submit","Submit\/Button Strip","Used in forms where the submit buttons
Line truncated
|
||||
_Dark_;
|
||||
return $json;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
IP.Board
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
</body>
|
||||
</html>
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.6
|
||||
* IP.Board v3.4.8
|
||||
* Primary controller
|
||||
* Last Updated: $LastChangedDate: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.6
|
||||
* IP.Board v3.4.8
|
||||
* Static Member Class for IP.Board 3
|
||||
*
|
||||
* Last Updated: $Date: 2013-10-16 19:11:24 -0400 (Wed, 16 Oct 2013) $
|
||||
* Last Updated: $Date: 2015-01-06 14:58:47 -0500 (Tue, 06 Jan 2015) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: rashbrook $
|
||||
@@ -14,7 +14,7 @@
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @since 12th March 2002
|
||||
* @version $Revision: 12381 $
|
||||
* @version $Revision: 12586 $
|
||||
*
|
||||
* @author Matt
|
||||
*/
|
||||
@@ -99,6 +99,14 @@ class IPSMember
|
||||
* @var unknown_type
|
||||
*/
|
||||
static protected $_sigParser = null;
|
||||
|
||||
/**
|
||||
* Remove Member during merge.
|
||||
* @bool
|
||||
* @brief See ticket 874824 - When merging on an IPS Connect linked slave IPB, the login handler attempts to remove the second account on the master. In this instance, we shouldn't do that.
|
||||
*
|
||||
*/
|
||||
static public $_isMerging = false;
|
||||
|
||||
/**
|
||||
* Member data array
|
||||
@@ -262,7 +270,32 @@ class IPSMember
|
||||
*/
|
||||
static public function canReceiveMobileNotifications( $memberData=array() )
|
||||
{
|
||||
/* Mobile notifications are currently deprecated http://community.invisionpower.com/resources/bugs.html/_/ip-board/remove-push-notification-references-r40643 */
|
||||
return false;
|
||||
|
||||
/* INIT */
|
||||
$memberData = ( is_array( $memberData ) && count( $memberData ) ) ? $memberData : ipsRegistry::member()->fetchMemberData();
|
||||
|
||||
/* Check to see if notifications are enabled */
|
||||
if( ! ipsRegistry::$settings['iphone_notifications_enabled'] )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Check to see if the user has permission to get notifications */
|
||||
if( ipsRegistry::$settings['iphone_notifications_groups'] )
|
||||
{
|
||||
if( IPSMember::isInGroup( $memberData, explode( ',', ipsRegistry::$settings['iphone_notifications_groups'] ) ) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1062,7 +1095,7 @@ class IPSMember
|
||||
case 'id':
|
||||
if ( is_array( $member_key ) )
|
||||
{
|
||||
$multiple_ids = $member_key;
|
||||
$multiple_ids = array_map( 'intval', $member_key );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1073,7 +1106,7 @@ class IPSMember
|
||||
case 'fb_uid':
|
||||
if ( is_array( $member_key ) )
|
||||
{
|
||||
$multiple_ids = $member_key;
|
||||
$multiple_ids = array_map( 'intval', $member_key );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1089,7 +1122,7 @@ class IPSMember
|
||||
case 'twitter_id':
|
||||
if ( is_array( $member_key ) )
|
||||
{
|
||||
$multiple_ids = $member_key;
|
||||
$multiple_ids = array_map( 'intval', $member_key );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1149,7 +1182,7 @@ class IPSMember
|
||||
case 'ipsconnect':
|
||||
if ( is_array( $member_key ) )
|
||||
{
|
||||
$multiple_ids = $member_key;
|
||||
$multiple_ids = array_map( 'intval', $member_key );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3782,14 +3815,15 @@ class IPSMember
|
||||
*/
|
||||
static public function canGiveRep( $data, $memberData )
|
||||
{
|
||||
$reppedArray = unserialize( $data['rep_like_cache'] );
|
||||
$reppedArray = unserialize( $data['rep_like_cache'] );
|
||||
|
||||
if( is_array( $reppedArray ) )
|
||||
{
|
||||
$repped = $reppedArray['cache_data']['memberIds'];
|
||||
|
||||
if ( is_array( $repped ) )
|
||||
{
|
||||
if( in_array( ipsRegistry::member()->getProperty('member_id'), $repped ) )
|
||||
if( in_array( ipsRegistry::member()->getProperty('member_id'), $repped ) AND ipsRegistry::$settings['reputation_point_types'] != 'like' )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -4035,9 +4069,54 @@ class IPSMember
|
||||
*/
|
||||
static public function querySpamService( $email, $ip='', $type='register', $test=0 )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
/* Get the response */
|
||||
$key = trim( ipsRegistry::$settings['ipb_reg_number'] );
|
||||
|
||||
if( !$key )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
$domain = ipsRegistry::$settings['board_url'];
|
||||
$ip = ( $ip AND ip2long( $ip ) ) ? $ip : ipsRegistry::member()->ip_address;
|
||||
$response = false;
|
||||
$testConn = $test ? '&debug_mode=1' : '';
|
||||
|
||||
/* Get the file managemnet class */
|
||||
$classToLoad = IPSLib::loadLibrary( IPS_KERNEL_PATH . 'classFileManagement.php', 'classFileManagement' );
|
||||
$query = new $classToLoad();
|
||||
$query->timeout = ipsRegistry::$settings['spam_service_timeout'];
|
||||
|
||||
/* Query the service */
|
||||
$response = $query->postFileContents( "https://remoteservices.invisionpower.com/spam/{$type}", array( 'email' => $email, 'ip' => $ip ), $key, $key );
|
||||
|
||||
if( ! $response )
|
||||
{
|
||||
return 'timeout';
|
||||
}
|
||||
|
||||
/* Make sure the response is valid */
|
||||
$responseCode = $query->http_status_code == 200 ? (int) $response : 0;
|
||||
$responseMsg = $query->http_status_code == 200 ? '' : $response;
|
||||
|
||||
if( $test )
|
||||
{
|
||||
return $responseMsg;
|
||||
}
|
||||
|
||||
/* Log Request */
|
||||
if( $type == 'register' )
|
||||
{
|
||||
ipsRegistry::DB()->insert( 'spam_service_log', array( 'log_date' => time(),
|
||||
'log_code' => $responseCode,
|
||||
'log_msg' => $responseMsg,
|
||||
'email_address' => $email,
|
||||
'ip_address' => $ip ) );
|
||||
}
|
||||
|
||||
return $responseCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a member's posts need to be approved
|
||||
* Note that this only takes into the global mod queue status, individual forums, etc. may
|
||||
@@ -4337,6 +4416,15 @@ class IPSMember
|
||||
self::resetLastRegisteredMember();
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Let IPS know
|
||||
//-----------------------------------------
|
||||
|
||||
if( ipsRegistry::$settings['spam_service_send_to_ips'] )
|
||||
{
|
||||
self::querySpamService( $member['email'], $member['ip_address'], 'markspam' );
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Log
|
||||
//-----------------------------------------
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.6
|
||||
* IP.Board v3.4.8
|
||||
* Mobile app methods
|
||||
* Last Updated: $LastChangedDate: 2012-05-21 07:52:30 -0400 (Mon, 21 May 2012) $
|
||||
* </pre>
|
||||
|
||||
@@ -2,18 +2,18 @@
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.6
|
||||
* IP.Board v3.4.8
|
||||
* ipsRegistry:: Registry file controlls handling of objects needed throughout IPB
|
||||
* Last Updated: $Date: 2013-10-16 12:57:41 -0400 (Wed, 16 Oct 2013) $
|
||||
* Last Updated: $Date: 2015-03-09 15:48:19 -0400 (Mon, 09 Mar 2015) $
|
||||
* </pre>
|
||||
*
|
||||
* @author $Author: AndyMillne $
|
||||
* @author $Author: bfarber $
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @package IP.Board
|
||||
* @link http://www.invisionpower.com
|
||||
* @since Tue. 17th August 2004
|
||||
* @version $Rev: 12380 $
|
||||
* @version $Rev: 12609 $
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -521,6 +521,11 @@ class ipsRegistry
|
||||
{
|
||||
$_POST[ $key ] = IPSText::stripslashes( $value );
|
||||
}
|
||||
|
||||
if ( $key === 'search_app' )
|
||||
{
|
||||
$_POST[ $key ] = IPSText::htmlspecialchars( $value );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -650,6 +655,13 @@ class ipsRegistry
|
||||
|
||||
/* Post member processing */
|
||||
self::$handles['member']->postOutput();
|
||||
|
||||
/* Check for security issue */
|
||||
if ( !empty( $_GET['setlanguage'] ) AND $_GET['langid'] AND ipsRegistry::$request['k'] )
|
||||
{
|
||||
$url = preg_replace( "/k=(.+?){32}&/", "", ( strtolower($_SERVER['HTTPS']) == 'on' ? "https://" : "http://" ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
|
||||
self::instance()->getClass('output')->silentRedirect( $url );
|
||||
}
|
||||
|
||||
/* Add SEO templates to the output system */
|
||||
self::instance()->getClass('output')->seoTemplates = self::$_seoTemplates;
|
||||
@@ -747,7 +759,7 @@ class ipsRegistry
|
||||
self::$handles['member']->finalizePublicMember();
|
||||
|
||||
/* Proper no cache key <update:1> */
|
||||
ipsRegistry::$settings['noCacheKey'] = md5('$Rev: 12380 $');
|
||||
ipsRegistry::$settings['noCacheKey'] = md5('$Rev: 12609 $');
|
||||
|
||||
/* Are we banned: Via IP Address? */
|
||||
if ( IPSMember::isBanned( 'ipAddress', self::$handles['member']->ip_address ) === TRUE )
|
||||
@@ -1534,7 +1546,7 @@ class ipsRegistry
|
||||
if ( self::$_seoTemplates['__data__']['varBlock'] != '/page__' && $uri && strstr( $uri, '/page__' ) )
|
||||
{
|
||||
preg_match( '#(.*)(page__.*)$#', $uri, $matches );
|
||||
|
||||
|
||||
$url = $matches[1];
|
||||
$query = $matches[2];
|
||||
$newQuery = '?';
|
||||
@@ -1545,7 +1557,7 @@ class ipsRegistry
|
||||
{
|
||||
$newQuery .= ( $i % 2 == 0 ? '&' : '=' ) . $data[$i];
|
||||
}
|
||||
|
||||
|
||||
/* Class output not created here */
|
||||
header( "HTTP/1.1 301 Moved Permanently" );
|
||||
header( "Location: " . $_t['scheme'] . '://' . $_t['host'] . $url . $newQuery );
|
||||
@@ -1554,6 +1566,7 @@ class ipsRegistry
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ( is_array( $data['in']['matches'] ) )
|
||||
{
|
||||
foreach( $data['in']['matches'] as $_replace )
|
||||
@@ -1717,6 +1730,8 @@ class ipsRegistry
|
||||
|
||||
if ( $_k and $_v )
|
||||
{
|
||||
$_v = IPSText::parseCleanValue( $_v );
|
||||
|
||||
$_GET[ $_k ] = $_v;
|
||||
$_REQUEST[ $_k ] = $_v;
|
||||
$_urlBits[ $_k ] = $_v;
|
||||
@@ -2205,7 +2220,7 @@ class ipsRegistry
|
||||
|
||||
# Facebook receiver location
|
||||
ipsRegistry::$settings['fbc_xdlocation'] = ipsRegistry::$settings['_original_base_url'] . '/interface/facebook/xd_receiver.php';
|
||||
ipsRegistry::$settings['fb_req_perms'] = 'email,publish_stream,read_stream';
|
||||
ipsRegistry::$settings['fb_req_perms'] = 'email,publish_actions,user_status';
|
||||
ipsRegistry::$settings['fb_locale'] = ( ipsRegistry::$settings['fb_locale'] ) ? ipsRegistry::$settings['fb_locale'] : 'en_US';
|
||||
|
||||
# If we can't write to our /cache/tmp directory, turn off minify., It would still work, but be horribly inefficient.
|
||||
|
||||
Reference in new issue
Block a user