Version 4.2.0
This commit is contained in:
1 parent
0dc2aee5ed
commit
96997ddd8e
2074 files changed
+125454
-55780
No files matched your search
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Core Application Class
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 18 Feb 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core;
|
||||
@@ -162,9 +161,13 @@ class _Application extends \IPS\Application
|
||||
}
|
||||
|
||||
$activityTabs[] = array( 'key' => 'Search' );
|
||||
$activityTabs[] = array( 'key' => 'Promoted' );
|
||||
|
||||
return array(
|
||||
'rootTabs' => array(),
|
||||
'browseTabs' => array(
|
||||
array( 'key' => 'Clubs' )
|
||||
),
|
||||
'browseTabsEnd' => array(
|
||||
array( 'key' => 'Guidelines' ),
|
||||
array( 'key' => 'StaffDirectory' ),
|
||||
@@ -223,5 +226,13 @@ class _Application extends \IPS\Application
|
||||
{
|
||||
\IPS\Output::i()->redirect( \IPS\Http\Url::internal( 'app=core&module=system&controller=register', 'front', 'register', NULL, \IPS\Settings::i()->logins_over_https ) );
|
||||
}
|
||||
|
||||
/* redirect old reports */
|
||||
if( isset( \IPS\Request::i()->app ) AND \IPS\Request::i()->app == 'core' AND
|
||||
isset( \IPS\Request::i()->module ) AND (\IPS\Request::i()->module == 'reports' ) AND
|
||||
isset( \IPS\Request::i()->do ) AND ( \IPS\Request::i()->do == 'show_report' ) )
|
||||
{
|
||||
\IPS\Output::i()->redirect( \IPS\Http\Url::internal( 'app=core&module=modcp&controller=modcp&tab=reports&action=view&id=' . \IPS\Request::i()->rid , 'front', 'modcp_report' ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Member Groups API
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 4 Apr 2017
|
||||
*/
|
||||
|
||||
namespace IPS\core\api;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Member Groups API
|
||||
*/
|
||||
class _groups extends \IPS\Api\Controller
|
||||
{
|
||||
/**
|
||||
* GET /core/groups
|
||||
* Get list of groups
|
||||
*
|
||||
* @apiparam int page Page number
|
||||
* @return \IPS\Api\PaginatedResponse<IPS\Member\Group>
|
||||
*/
|
||||
public function GETindex()
|
||||
{
|
||||
/* Where clause */
|
||||
$where = array();
|
||||
|
||||
/* Return */
|
||||
return new \IPS\Api\PaginatedResponse(
|
||||
200,
|
||||
\IPS\Db::i()->select( '*', 'core_groups', $where, "g_id asc", NULL, NULL, NULL, \IPS\Db::SELECT_SQL_CALC_FOUND_ROWS ),
|
||||
isset( \IPS\Request::i()->page ) ? \IPS\Request::i()->page : 1,
|
||||
'IPS\Member\Group',
|
||||
\IPS\Db::i()->select( 'COUNT(*)', 'core_groups', $where )->first()
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* GET /core/groups/{id}
|
||||
* Get information about a specific group
|
||||
*
|
||||
* @param int $id ID Number
|
||||
* @throws 1C358/1 INVALID_ID The group ID does not exist
|
||||
* @return \IPS\Member\Group
|
||||
*/
|
||||
public function GETitem( $id )
|
||||
{
|
||||
try
|
||||
{
|
||||
$group = \IPS\Member\Group::load( $id );
|
||||
if ( !$group->g_id )
|
||||
{
|
||||
throw new \OutOfRangeException;
|
||||
}
|
||||
|
||||
return new \IPS\Api\Response( 200, $group->apiOutput() );
|
||||
}
|
||||
catch ( \OutOfRangeException $e )
|
||||
{
|
||||
throw new \IPS\Api\Exception( 'INVALID_ID', '1C358/1', 404 );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* DELETE /core/groups/{id}
|
||||
* Deletes a group
|
||||
*
|
||||
* @param int $id ID Number
|
||||
* @throws 1C358/2 INVALID_ID The group ID does not exist
|
||||
* @return void
|
||||
*/
|
||||
public function DELETEitem( $id )
|
||||
{
|
||||
try
|
||||
{
|
||||
$group = \IPS\Member\Group::load( $id );
|
||||
if ( !$group->g_id )
|
||||
{
|
||||
throw new \OutOfRangeException;
|
||||
}
|
||||
|
||||
$group->delete();
|
||||
|
||||
return new \IPS\Api\Response( 200, NULL );
|
||||
}
|
||||
catch ( \OutOfRangeException $e )
|
||||
{
|
||||
throw new \IPS\Api\Exception( 'INVALID_ID', '1C358/2', 404 );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Hello API
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 3 Dec 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\api;
|
||||
@@ -30,7 +29,7 @@ class _hello extends \IPS\Api\Controller
|
||||
* @return array
|
||||
* @apiresponse string communityName The name of the community
|
||||
* @apiresponse string communityUrl The community URL
|
||||
* @apiresponse string ipsVersion The IPS Community Suite version number
|
||||
* @apiresponse string ipsVersion The Invision Community version number
|
||||
*/
|
||||
public function GETindex()
|
||||
{
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Members API
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 3 Dec 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\api;
|
||||
@@ -36,11 +35,11 @@ class _members extends \IPS\Api\Controller
|
||||
{
|
||||
/* Where clause */
|
||||
$where = array();
|
||||
|
||||
|
||||
/* Sort */
|
||||
$sortBy = ( isset( \IPS\Request::i()->sortBy ) and in_array( \IPS\Request::i()->sortBy, array( 'name', 'joined' ) ) ) ? \IPS\Request::i()->sortBy : 'member_id';
|
||||
$sortDir = ( isset( \IPS\Request::i()->sortDir ) and in_array( mb_strtolower( \IPS\Request::i()->sortDir ), array( 'asc', 'desc' ) ) ) ? \IPS\Request::i()->sortDir : 'asc';
|
||||
|
||||
|
||||
/* Return */
|
||||
return new \IPS\Api\PaginatedResponse(
|
||||
200,
|
||||
@@ -76,7 +75,7 @@ class _members extends \IPS\Api\Controller
|
||||
throw new \IPS\Api\Exception( 'INVALID_ID', '1C292/2', 404 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Create or update member
|
||||
*
|
||||
@@ -101,20 +100,21 @@ class _members extends \IPS\Api\Controller
|
||||
throw new \IPS\Api\Exception( 'USERNAME_EXISTS', '1C292/4', 403 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ( isset( \IPS\Request::i()->email ) and \IPS\Request::i()->email != $member->email )
|
||||
{
|
||||
$existingEmail = \IPS\Member::load( \IPS\Request::i()->email, 'email' );
|
||||
if ( !$existingEmail->member_id )
|
||||
{
|
||||
$member->email = \IPS\Request::i()->email;
|
||||
$member->invalidateSessionsAndLogins();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new \IPS\Api\Exception( 'EMAIL_EXISTS', '1C292/5', 403 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ( isset( \IPS\Request::i()->group ) )
|
||||
{
|
||||
try
|
||||
@@ -127,7 +127,7 @@ class _members extends \IPS\Api\Controller
|
||||
throw new \IPS\Api\Exception( 'INVALID_GROUP', '1C292/6', 403 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ( isset( \IPS\Request::i()->password ) )
|
||||
{
|
||||
foreach ( \IPS\Login::handlers( TRUE ) as $handler )
|
||||
@@ -138,6 +138,7 @@ class _members extends \IPS\Api\Controller
|
||||
}
|
||||
catch( \BadMethodCallException $e ){}
|
||||
}
|
||||
$member->invalidateSessionsAndLogins();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -156,13 +157,13 @@ class _members extends \IPS\Api\Controller
|
||||
{
|
||||
$profileFields = array();
|
||||
}
|
||||
|
||||
|
||||
/* If \IPS\Db::i()->select()->first() has only one column, then the contents of that column is returned. We do not want this here. */
|
||||
if ( !is_array( $profileFields ) )
|
||||
{
|
||||
$profileFields = array();
|
||||
}
|
||||
|
||||
|
||||
$profileFields['member_id'] = $member->member_id;
|
||||
|
||||
foreach ( \IPS\Request::i()->customFields as $k => $v )
|
||||
@@ -171,13 +172,14 @@ class _members extends \IPS\Api\Controller
|
||||
}
|
||||
|
||||
\IPS\Db::i()->replace( 'core_pfields_content', $profileFields );
|
||||
|
||||
|
||||
$member->changedCustomFields = $profileFields;
|
||||
$member->save();
|
||||
}
|
||||
|
||||
|
||||
return $member;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* POST /core/members
|
||||
* Create a member
|
||||
@@ -201,7 +203,7 @@ class _members extends \IPS\Api\Controller
|
||||
{
|
||||
throw new \IPS\Api\Exception( 'NO_USERNAME_OR_EMAIL', '1C292/8', 403 );
|
||||
}
|
||||
|
||||
|
||||
/* This is required as there is no other way to allow the account to be authenticated when it is created via the API */
|
||||
if ( !isset( \IPS\Request::i()->password ) )
|
||||
{
|
||||
@@ -210,12 +212,12 @@ class _members extends \IPS\Api\Controller
|
||||
|
||||
$member = new \IPS\Member;
|
||||
$member->member_group_id = \IPS\Settings::i()->member_group;
|
||||
|
||||
$member = $this->_createOrUpdate( $member );
|
||||
|
||||
|
||||
$member = $this->_createOrUpdate( $member );
|
||||
|
||||
return new \IPS\Api\Response( 201, $member->apiOutput() );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* POST /core/members/{id}
|
||||
* Edit a member
|
||||
@@ -240,9 +242,9 @@ class _members extends \IPS\Api\Controller
|
||||
{
|
||||
throw new \OutOfRangeException;
|
||||
}
|
||||
|
||||
|
||||
$member = $this->_createOrUpdate( $member );
|
||||
|
||||
|
||||
return new \IPS\Api\Response( 200, $member->apiOutput() );
|
||||
}
|
||||
catch ( \OutOfRangeException $e )
|
||||
@@ -256,7 +258,7 @@ class _members extends \IPS\Api\Controller
|
||||
* Deletes a member
|
||||
*
|
||||
* @param int $id ID Number
|
||||
* @throws 1C292/3 INVALID_ID The member ID does not exist
|
||||
* @throws 1C292/2 INVALID_ID The member ID does not exist
|
||||
* @return void
|
||||
*/
|
||||
public function DELETEitem( $id )
|
||||
|
||||
@@ -151,6 +151,12 @@
|
||||
"controller": "sharelinks",
|
||||
"do": "",
|
||||
"restriction": "sharelinks_manage"
|
||||
},
|
||||
"promote": {
|
||||
"tab": "core",
|
||||
"controller": "promote",
|
||||
"do": "",
|
||||
"restriction": "promote_manage"
|
||||
}
|
||||
},
|
||||
"members": {
|
||||
@@ -166,6 +172,12 @@
|
||||
"do": "",
|
||||
"restriction": "groups_manage"
|
||||
},
|
||||
"promotions": {
|
||||
"tab": "members",
|
||||
"controller": "promotions",
|
||||
"do": "",
|
||||
"restriction": "promotions_manage"
|
||||
},
|
||||
"ip": {
|
||||
"tab": "members",
|
||||
"controller": "ip",
|
||||
@@ -309,6 +321,34 @@
|
||||
"restriction": "registrations_manage",
|
||||
"restriction_module": "members"
|
||||
},
|
||||
"membervisits": {
|
||||
"tab": "stats",
|
||||
"controller": "membervisits",
|
||||
"do": "",
|
||||
"restriction": "membervisits_manage"
|
||||
},
|
||||
"onlineusers": {
|
||||
"tab": "stats",
|
||||
"controller": "onlineusers",
|
||||
"do": "",
|
||||
"restriction": "onlineusers_manage"
|
||||
}
|
||||
},
|
||||
"activitystats": {
|
||||
"memberactivity": {
|
||||
"tab": "stats",
|
||||
"controller": "memberactivity",
|
||||
"do": "",
|
||||
"restriction": "memberactivity_manage"
|
||||
},
|
||||
"keywords": {
|
||||
"tab": "stats",
|
||||
"controller": "keywords",
|
||||
"do": "",
|
||||
"restriction": "keywords_manage"
|
||||
}
|
||||
},
|
||||
"messengerstats": {
|
||||
"pmstats": {
|
||||
"tab": "stats",
|
||||
"controller": "pmstats",
|
||||
@@ -316,5 +356,13 @@
|
||||
"restriction": "messages_manage",
|
||||
"restriction_module": "members"
|
||||
}
|
||||
},
|
||||
"clubs": {
|
||||
"clubs": {
|
||||
"tab": "community",
|
||||
"controller": "clubs",
|
||||
"do": "",
|
||||
"restriction": "clubs_manage"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -44,6 +44,10 @@
|
||||
},
|
||||
"analytics": {
|
||||
"analytics_manage": "analytics_manage"
|
||||
},
|
||||
"promote": {
|
||||
"promote_manage": "promote_manage",
|
||||
"promote_logs": "promote_logs"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
@@ -127,7 +131,8 @@
|
||||
"membertools_delete": "membertools_delete",
|
||||
"membertools_ip": "membertools_ip",
|
||||
"member_recount_content": "member_recount_content",
|
||||
"member_export": "member_export"
|
||||
"member_export": "member_export",
|
||||
"member_history": "member_history"
|
||||
},
|
||||
"groups": {
|
||||
"groups_manage": "groups_manage",
|
||||
@@ -140,6 +145,9 @@
|
||||
},
|
||||
"registrations": {
|
||||
"registrations_manage": "registrations_manage"
|
||||
},
|
||||
"promotions": {
|
||||
"promotions_manage": "promotions_manage"
|
||||
}
|
||||
},
|
||||
"membersettings": {
|
||||
@@ -156,7 +164,8 @@
|
||||
"profilefields_delete": "profilefields_delete",
|
||||
"profilefieldgroups_add": "profilefieldgroups_add",
|
||||
"profilefieldgroups_edit": "profilefieldgroups_edit",
|
||||
"profilefieldgroups_delete": "profilefieldgroups_delete"
|
||||
"profilefieldgroups_delete": "profilefieldgroups_delete",
|
||||
"member_history_prune": "member_history_prune"
|
||||
},
|
||||
"ranks": {
|
||||
"ranks_manage": "ranks_manage"
|
||||
@@ -188,6 +197,9 @@
|
||||
},
|
||||
"registration": {
|
||||
"registration_manage": "registration_manage"
|
||||
},
|
||||
"reactions": {
|
||||
"reactions_manage": "reactions_manage"
|
||||
}
|
||||
},
|
||||
"staff": {
|
||||
@@ -293,5 +305,33 @@
|
||||
"sql_toolbox": "sql_toolbox",
|
||||
"system_logs_view": "system_logs_view"
|
||||
}
|
||||
},
|
||||
"clubs": {
|
||||
"clubs": {
|
||||
"clubs_manage": "clubs_manage",
|
||||
"clubs_edit": "clubs_edit",
|
||||
"clubs_add_nodes": "clubs_add_nodes",
|
||||
"clubs_edit_nodes": "clubs_edit_nodes",
|
||||
"clubs_delete_nodes": "clubs_delete_nodes",
|
||||
"clubs_delete": "clubs_delete",
|
||||
"clubs_settings_manage": "clubs_settings_manage"
|
||||
},
|
||||
"fields": {
|
||||
"fields_manage": "fields_manage"
|
||||
}
|
||||
},
|
||||
"stats": {
|
||||
"membervisits": {
|
||||
"membervisits_manage": "membervisits_manage"
|
||||
},
|
||||
"memberactivity": {
|
||||
"memberactivity_manage": "memberactivity_manage"
|
||||
},
|
||||
"onlineusers": {
|
||||
"onlineusers_manage": "onlineusers_manage"
|
||||
},
|
||||
"keywords": {
|
||||
"keywords_manage": "keywords_manage"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,22 @@
|
||||
{
|
||||
"app=core&module=activitystats&controller=keywords": {
|
||||
"lang_key": "menu__core_activitystats_keywords",
|
||||
"restriction": null,
|
||||
"keywords": [
|
||||
"keyword tracking",
|
||||
"keywords",
|
||||
"tracking"
|
||||
]
|
||||
},
|
||||
"app=core&module=activitystats&controller=memberactivity": {
|
||||
"lang_key": "menu__core_activitystats_memberactivity",
|
||||
"restriction": null,
|
||||
"keywords": [
|
||||
"active members",
|
||||
"activity",
|
||||
"member activity"
|
||||
]
|
||||
},
|
||||
"app=core&module=applications&controller=api": {
|
||||
"lang_key": "menu__core_applications_api",
|
||||
"restriction": "api_manage",
|
||||
@@ -80,6 +98,13 @@
|
||||
"viglink"
|
||||
]
|
||||
},
|
||||
"app=core&module=applications&controller=menu": {
|
||||
"lang_key": "menu__core_applications_menu",
|
||||
"restriction": "menu_manage",
|
||||
"keywords": [
|
||||
"menu manager"
|
||||
]
|
||||
},
|
||||
"app=core&module=applications&controller=plugins": {
|
||||
"lang_key": "menu__core_applications_plugins",
|
||||
"restriction": "plugins_view",
|
||||
@@ -109,6 +134,44 @@
|
||||
"sendgrid"
|
||||
]
|
||||
},
|
||||
"app=core&module=clubs&controller=clubs": {
|
||||
"lang_key": "menu__core_clubs_clubs",
|
||||
"restriction": "clubs_manage",
|
||||
"keywords": [
|
||||
"circles",
|
||||
"clubs",
|
||||
"social groups"
|
||||
]
|
||||
},
|
||||
"app=core&module=clubs&controller=settings": {
|
||||
"lang_key": "menu__core_clubs_settings",
|
||||
"restriction": null,
|
||||
"keywords": [
|
||||
"club settings"
|
||||
]
|
||||
},
|
||||
"app=core&module=clubs&controller=settings&searchResult=clubs_locations": {
|
||||
"lang_key": "clubs_locations",
|
||||
"restriction": null,
|
||||
"keywords": [
|
||||
"address",
|
||||
"locations"
|
||||
]
|
||||
},
|
||||
"app=core&module=clubs&controller=settings&searchResult=clubs_modperms": {
|
||||
"lang_key": "clubs_modperms",
|
||||
"restriction": null,
|
||||
"keywords": [
|
||||
"moderator"
|
||||
]
|
||||
},
|
||||
"app=core&module=clubs&controller=settings&searchResult=form_clubs_enabled_setting": {
|
||||
"lang_key": "clubs_enabled_setting",
|
||||
"restriction": null,
|
||||
"keywords": [
|
||||
"clubs"
|
||||
]
|
||||
},
|
||||
"app=core&module=customization&controller=emails": {
|
||||
"lang_key": "menu__core_customization_emails",
|
||||
"restriction": "emails_manage",
|
||||
@@ -208,10 +271,12 @@
|
||||
"keywords": [
|
||||
"bbcode",
|
||||
"buttons",
|
||||
"ckeditor",
|
||||
"comment",
|
||||
"editor",
|
||||
"mobile",
|
||||
"phone",
|
||||
"plugins",
|
||||
"post",
|
||||
"responsive",
|
||||
"tablet",
|
||||
@@ -236,216 +301,34 @@
|
||||
"groups"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=3_gbw_post_highlight": {
|
||||
"lang_key": "gbw_post_highlight",
|
||||
"app=core&module=members&controller=groups&do=form&searchResult=g_promote_exclude": {
|
||||
"lang_key": "g_promote_exclude",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"highlight"
|
||||
"group promotion",
|
||||
"member promotions",
|
||||
"member upgrades"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_attach": {
|
||||
"lang_key": "g_attach",
|
||||
"app=core&module=members&controller=groups&do=form&searchResult=gbw_hide_group": {
|
||||
"lang_key": "gbw_hide_group",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"attachments",
|
||||
"uploads"
|
||||
"allow filtering",
|
||||
"online users",
|
||||
"search"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_avoid_flood": {
|
||||
"lang_key": "g_avoid_flood",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"flood control",
|
||||
"post flood control",
|
||||
"posting flood control"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_avoid_q": {
|
||||
"lang_key": "g_avoid_q",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"hidden",
|
||||
"hide",
|
||||
"hiding",
|
||||
"mod queue",
|
||||
"moderation",
|
||||
"queue"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_bypass_badwords": {
|
||||
"lang_key": "g_bypass_badwords",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"bad words",
|
||||
"profanity",
|
||||
"swear words"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_delete_own_posts": {
|
||||
"lang_key": "g_delete_own_posts",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"delete",
|
||||
"deleting"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_edit_posts": {
|
||||
"lang_key": "g_edit_posts",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"edit",
|
||||
"editing"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_edit_profile": {
|
||||
"lang_key": "g_edit_profile",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"edit profile",
|
||||
"profiles"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_icon": {
|
||||
"lang_key": "g_icon",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"group icon"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_post_polls": {
|
||||
"lang_key": "g_post_polls",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"polls"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_ppd_limit": {
|
||||
"lang_key": "g_ppd_limit",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"content restriction",
|
||||
"max content",
|
||||
"max posts",
|
||||
"per day",
|
||||
"positing limit",
|
||||
"positing restriction"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_prefixsuffix": {
|
||||
"lang_key": "g_prefixsuffix",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"group color",
|
||||
"group colour"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_rep_max_positive": {
|
||||
"lang_key": "g_rep_max_positive",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"karma",
|
||||
"like",
|
||||
"reputation"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_topic_rate_setting": {
|
||||
"lang_key": "g_topic_rate_setting",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"rate",
|
||||
"ratings"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_view_board": {
|
||||
"lang_key": "g_view_board",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"access",
|
||||
"allowed to enter community",
|
||||
"allowed to enter site",
|
||||
"allowed to view community",
|
||||
"allowed to view site",
|
||||
"user access site"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_vote_polls": {
|
||||
"lang_key": "g_vote_polls",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"polls"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_gbw_disable_prefixes": {
|
||||
"lang_key": "gbw_disable_prefixes",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"prefixes",
|
||||
"tagging",
|
||||
"tags"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_gbw_disable_tagging": {
|
||||
"lang_key": "gbw_disable_tagging",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"tagging",
|
||||
"tags"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_gbw_no_report": {
|
||||
"lang_key": "gbw_no_report",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"report",
|
||||
"reporting"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_gbw_no_status_import": {
|
||||
"lang_key": "gbw_no_status_import",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"facebook status",
|
||||
"profile status",
|
||||
"status updates",
|
||||
"statuses",
|
||||
"twitter status"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_gbw_no_status_update": {
|
||||
"lang_key": "gbw_no_status_update",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"profile status",
|
||||
"status updates",
|
||||
"statuses"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_gbw_post_highlight": {
|
||||
"app=core&module=members&controller=groups&do=form&searchResult=gbw_post_highlight": {
|
||||
"lang_key": "gbw_post_highlight",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"background",
|
||||
"highlight",
|
||||
"highlight post",
|
||||
"replies"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_gbw_soft_delete_own": {
|
||||
"lang_key": "gbw_soft_delete_own",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"hide",
|
||||
"hiding"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_gbw_view_reps": {
|
||||
"lang_key": "gbw_view_reps",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"karma",
|
||||
"like",
|
||||
"reputation"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_access_offline": {
|
||||
"lang_key": "g_access_offline",
|
||||
"restriction": "groups_manage",
|
||||
@@ -462,6 +345,14 @@
|
||||
"silent edit"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_attach": {
|
||||
"lang_key": "g_attach",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"attachments",
|
||||
"uploads"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_attach_max": {
|
||||
"lang_key": "g_attach_max",
|
||||
"restriction": "groups_manage",
|
||||
@@ -482,6 +373,36 @@
|
||||
"upload per topic"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_avoid_flood": {
|
||||
"lang_key": "g_avoid_flood",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"flood control",
|
||||
"post flood control",
|
||||
"posting flood control"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_avoid_q": {
|
||||
"lang_key": "g_avoid_q",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"hidden",
|
||||
"hide",
|
||||
"hiding",
|
||||
"mod queue",
|
||||
"moderation",
|
||||
"queue"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_bypass_badwords": {
|
||||
"lang_key": "g_bypass_badwords",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"bad words",
|
||||
"profanity",
|
||||
"swear words"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_can_msg_attach": {
|
||||
"lang_key": "g_can_msg_attach",
|
||||
"restriction": "groups_manage",
|
||||
@@ -494,6 +415,22 @@
|
||||
"pm upload"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_can_report": {
|
||||
"lang_key": "g_can_report",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"report",
|
||||
"reporting"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_delete_own_posts": {
|
||||
"lang_key": "g_delete_own_posts",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"delete",
|
||||
"deleting"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_dohtml": {
|
||||
"lang_key": "g_dohtml",
|
||||
"restriction": "groups_manage",
|
||||
@@ -511,6 +448,22 @@
|
||||
"edit timing"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_edit_posts": {
|
||||
"lang_key": "g_edit_posts",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"edit",
|
||||
"editing"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_edit_profile": {
|
||||
"lang_key": "g_edit_profile",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"edit profile",
|
||||
"profiles"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_hide_online_list": {
|
||||
"lang_key": "g_hide_online_list",
|
||||
"restriction": "groups_manage",
|
||||
@@ -520,6 +473,21 @@
|
||||
"show user online"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_hide_own_posts": {
|
||||
"lang_key": "g_hide_own_posts",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"hide",
|
||||
"hiding"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_icon": {
|
||||
"lang_key": "g_icon",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"group icon"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_max_bgimg_upload": {
|
||||
"lang_key": "g_max_bgimg_upload",
|
||||
"restriction": "groups_manage",
|
||||
@@ -567,6 +535,25 @@
|
||||
"pms"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_post_polls": {
|
||||
"lang_key": "g_post_polls",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"polls"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_ppd_limit": {
|
||||
"lang_key": "g_ppd_limit",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"content restriction",
|
||||
"max content",
|
||||
"max posts",
|
||||
"per day",
|
||||
"positing limit",
|
||||
"positing restriction"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_ppd_unit": {
|
||||
"lang_key": "g_ppd_unit",
|
||||
"restriction": "groups_manage",
|
||||
@@ -574,6 +561,24 @@
|
||||
"positing limit"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_prefixsuffix": {
|
||||
"lang_key": "g_prefixsuffix",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"group color",
|
||||
"group colour",
|
||||
"group formatting"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_rep_max_positive": {
|
||||
"lang_key": "g_rep_max_positive",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"karma",
|
||||
"like",
|
||||
"reputation"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_search_flood": {
|
||||
"lang_key": "g_search_flood",
|
||||
"restriction": "groups_manage",
|
||||
@@ -615,6 +620,14 @@
|
||||
"signatures"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_topic_rate_setting": {
|
||||
"lang_key": "g_topic_rate_setting",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"rate",
|
||||
"ratings"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_use_signatures": {
|
||||
"lang_key": "g_use_signatures",
|
||||
"restriction": "groups_manage",
|
||||
@@ -622,6 +635,26 @@
|
||||
"signatures"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_view_board": {
|
||||
"lang_key": "g_view_board",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"access",
|
||||
"allowed to enter community",
|
||||
"allowed to enter site",
|
||||
"allowed to view community",
|
||||
"allowed to view site",
|
||||
"ban",
|
||||
"user access site"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=g_vote_polls": {
|
||||
"lang_key": "g_vote_polls",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"polls"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=gbw_allow_upload_bgimage": {
|
||||
"lang_key": "gbw_allow_upload_bgimage",
|
||||
"restriction": "groups_manage",
|
||||
@@ -647,18 +680,50 @@
|
||||
"uploads"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=group_promotion": {
|
||||
"lang_key": "group_promotion",
|
||||
"app=core&module=members&controller=groups&searchResult=gbw_disable_prefixes": {
|
||||
"lang_key": "gbw_disable_prefixes",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"group promote",
|
||||
"group promotion",
|
||||
"group upgrade",
|
||||
"member promote",
|
||||
"member promotion",
|
||||
"member upgrade",
|
||||
"promote",
|
||||
"promotion"
|
||||
"prefixes",
|
||||
"tagging",
|
||||
"tags"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=gbw_disable_tagging": {
|
||||
"lang_key": "gbw_disable_tagging",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"tagging",
|
||||
"tags"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=gbw_no_status_import": {
|
||||
"lang_key": "gbw_no_status_import",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"facebook status",
|
||||
"profile status",
|
||||
"status updates",
|
||||
"statuses",
|
||||
"twitter status"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=gbw_no_status_update": {
|
||||
"lang_key": "gbw_no_status_update",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"profile status",
|
||||
"status updates",
|
||||
"statuses"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=gbw_view_reps": {
|
||||
"lang_key": "gbw_view_reps",
|
||||
"restriction": "groups_manage",
|
||||
"keywords": [
|
||||
"karma",
|
||||
"like",
|
||||
"reputation"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=group_username": {
|
||||
@@ -793,6 +858,17 @@
|
||||
"View"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=promotions": {
|
||||
"lang_key": "menu__core_members_promotions",
|
||||
"restriction": "promotions_manage",
|
||||
"keywords": [
|
||||
"group promotion",
|
||||
"member promotions",
|
||||
"member upgrades",
|
||||
"promotion rules",
|
||||
"upgrade members"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=ban": {
|
||||
"lang_key": "menu__core_membersettings_ban",
|
||||
"restriction": "ban_manage",
|
||||
@@ -840,6 +916,19 @@
|
||||
"custom profile fields"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=profiles&tab=completion": {
|
||||
"lang_key": "profile_completion",
|
||||
"restriction": "profiles_manage",
|
||||
"keywords": [
|
||||
"complete my profile",
|
||||
"complete profile",
|
||||
"complete your profile",
|
||||
"profile completion",
|
||||
"register completion",
|
||||
"registration compltion",
|
||||
"sign up completion"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=profiles&tab=fields": {
|
||||
"lang_key": "profile_fields",
|
||||
"restriction": "profiles_manage",
|
||||
@@ -859,6 +948,20 @@
|
||||
"gravatar"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=profiles&tab=settings&searchResult=form_letter_photos": {
|
||||
"lang_key": "letter_photos",
|
||||
"restriction": "profiles_manage",
|
||||
"keywords": [
|
||||
"avatar",
|
||||
"letter",
|
||||
"letter avatars",
|
||||
"letter photos",
|
||||
"letters",
|
||||
"photo",
|
||||
"photos",
|
||||
"profile photo"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=profiles&tab=settings&searchResult=form_profile_comments": {
|
||||
"lang_key": "profile_comments",
|
||||
"restriction": "profiles_manage",
|
||||
@@ -874,6 +977,13 @@
|
||||
"signatures"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=profiles&tab=settings&searchResult=form_user_name_length": {
|
||||
"lang_key": "user_name_length",
|
||||
"restriction": "profiles_manage",
|
||||
"keywords": [
|
||||
"name length"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=profiles&tab=settings&searchResult=form_username_characters": {
|
||||
"lang_key": "username_characters",
|
||||
"restriction": "profiles_manage",
|
||||
@@ -881,6 +991,21 @@
|
||||
"username characters"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=profiles&tab=settings&searchResult=ignore_system_on": {
|
||||
"lang_key": "ignore_system_on",
|
||||
"restriction": "profiles_manage",
|
||||
"keywords": [
|
||||
"ignore",
|
||||
"ignoring"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=profiles&tab=settings&searchResult=profile_birthday_type": {
|
||||
"lang_key": "profile_birthday_type",
|
||||
"restriction": "profiles_manage",
|
||||
"keywords": [
|
||||
"birthday"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=profiles&tab=settings&searchResult=profile_comment_approval": {
|
||||
"lang_key": "profile_comment_approval",
|
||||
"restriction": "profiles_manage",
|
||||
@@ -889,6 +1014,14 @@
|
||||
"profile statuses"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=profiles&tab=settings&searchResult=prune_member_history": {
|
||||
"lang_key": "prune_member_history",
|
||||
"restriction": "profiles_manage",
|
||||
"keywords": [
|
||||
"change log",
|
||||
"member history"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=profiles&tab=settings&searchResult=user_name_length": {
|
||||
"lang_key": "user_name_length",
|
||||
"restriction": "profiles_manage",
|
||||
@@ -950,6 +1083,14 @@
|
||||
"registrations"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=registration&searchResult=quick_register": {
|
||||
"lang_key": "quick_register",
|
||||
"restriction": "registration_manage",
|
||||
"keywords": [
|
||||
"quick register",
|
||||
"register"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=registration&searchResult=use_coppa": {
|
||||
"lang_key": "use_coppa",
|
||||
"restriction": "registration_manage",
|
||||
@@ -963,9 +1104,17 @@
|
||||
"keywords": [
|
||||
"karma",
|
||||
"likes",
|
||||
"reactions",
|
||||
"reputation"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=reputation&searchResult=form_reaction_count_display": {
|
||||
"lang_key": "reaction_count_display",
|
||||
"restriction": "reps_manage",
|
||||
"keywords": [
|
||||
"reaction display"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=reputation&searchResult=form_reputation_enabled": {
|
||||
"lang_key": "reputation_enabled",
|
||||
"restriction": "reps_manage",
|
||||
@@ -1059,6 +1208,28 @@
|
||||
"timezone"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=reputation&tab=leaderboard&searchResult=reputation_leaderboard_on": {
|
||||
"lang_key": "reputation_leaderboard_on",
|
||||
"restriction": "reps_manage",
|
||||
"keywords": [
|
||||
"leaderboard"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=reputation&tab=leaderboard&searchResult=reputation_max_members": {
|
||||
"lang_key": "reputation_top_members_overview",
|
||||
"restriction": "reps_manage",
|
||||
"keywords": [
|
||||
"top members"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=reputation&tab=leaderboard&searchResult=reputation_show_days_won_trophy": {
|
||||
"lang_key": "reputation_show_days_won_trophy",
|
||||
"restriction": "reps_manage",
|
||||
"keywords": [
|
||||
"leaderboard",
|
||||
"winner"
|
||||
]
|
||||
},
|
||||
"app=core&module=membersettings&controller=spam": {
|
||||
"lang_key": "menu__core_membersettings_spam",
|
||||
"restriction": "spam_manage",
|
||||
@@ -1227,6 +1398,18 @@
|
||||
"security"
|
||||
]
|
||||
},
|
||||
"app=core&module=overview&controller=security&do=settings&searchResult=form_device_management": {
|
||||
"lang_key": "device_management",
|
||||
"restriction": "security_manage",
|
||||
"keywords": [
|
||||
"manage authorised browsers",
|
||||
"manage authorised devices",
|
||||
"manage authorized browsers",
|
||||
"manage authorized devices",
|
||||
"manage recently used browsers",
|
||||
"manage recently used devices"
|
||||
]
|
||||
},
|
||||
"app=core&module=overview&controller=security&do=settings&searchResult=form_match_ipaddress": {
|
||||
"lang_key": "match_ipaddress",
|
||||
"restriction": "security_manage",
|
||||
@@ -1288,6 +1471,59 @@
|
||||
"tracking"
|
||||
]
|
||||
},
|
||||
"app=core&module=promotion&controller=promote": {
|
||||
"lang_key": "menu__core_promotion_promote",
|
||||
"restriction": "promote_manage",
|
||||
"keywords": [
|
||||
"promote",
|
||||
"promotion",
|
||||
"sharing",
|
||||
"social media"
|
||||
]
|
||||
},
|
||||
"app=core&module=promotion&controller=promote&tab=facebook": {
|
||||
"lang_key": "promote_tab_facebook",
|
||||
"restriction": "promote_manage",
|
||||
"keywords": [
|
||||
"facebook"
|
||||
]
|
||||
},
|
||||
"app=core&module=promotion&controller=promote&tab=internal": {
|
||||
"lang_key": "promote_tab_internal",
|
||||
"restriction": "promote_manage",
|
||||
"keywords": [
|
||||
"our picks"
|
||||
]
|
||||
},
|
||||
"app=core&module=promotion&controller=promote&tab=links": {
|
||||
"lang_key": "promote_tab_links",
|
||||
"restriction": "promote_manage",
|
||||
"keywords": [
|
||||
"links",
|
||||
"shorten"
|
||||
]
|
||||
},
|
||||
"app=core&module=promotion&controller=promote&tab=permissions": {
|
||||
"lang_key": "promote_tab_permissions",
|
||||
"restriction": "promote_manage",
|
||||
"keywords": [
|
||||
"permissions"
|
||||
]
|
||||
},
|
||||
"app=core&module=promotion&controller=promote&tab=schedule": {
|
||||
"lang_key": "promote_tab_schedule",
|
||||
"restriction": "promote_manage",
|
||||
"keywords": [
|
||||
"schedule"
|
||||
]
|
||||
},
|
||||
"app=core&module=promotion&controller=promote&tab=twitter": {
|
||||
"lang_key": "promote_tab_twitter",
|
||||
"restriction": "promote_manage",
|
||||
"keywords": [
|
||||
"twitter"
|
||||
]
|
||||
},
|
||||
"app=core&module=promotion&controller=seo": {
|
||||
"lang_key": "menu__core_promotion_seo",
|
||||
"restriction": "seo_manage",
|
||||
@@ -1497,6 +1733,14 @@
|
||||
"license"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=general&searchResult=form_diagnostics_reporting": {
|
||||
"lang_key": "diagnostics_reporting",
|
||||
"restriction": "general_manage",
|
||||
"keywords": [
|
||||
"diagnostics",
|
||||
"reports"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=general&searchResult=form_show_home_link": {
|
||||
"lang_key": "show_home_link",
|
||||
"restriction": "general_manage",
|
||||
@@ -1521,6 +1765,15 @@
|
||||
"online"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=general&searchResult=form_site_social_profiles": {
|
||||
"lang_key": "site_social_profiles",
|
||||
"restriction": "general_manage",
|
||||
"keywords": [
|
||||
"facebook",
|
||||
"social profile",
|
||||
"twitter"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=general&searchResult=form_upgrade_email": {
|
||||
"lang_key": "upgrade_email",
|
||||
"restriction": "general_manage",
|
||||
@@ -1570,6 +1823,20 @@
|
||||
"ssl"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=login&do=settings&searchResult=form_new_device_email": {
|
||||
"lang_key": "new_device_email",
|
||||
"restriction": "login_manage",
|
||||
"keywords": [
|
||||
"new authorised device email",
|
||||
"new authorized device email",
|
||||
"new browser email",
|
||||
"new device email",
|
||||
"new log in email",
|
||||
"new login email",
|
||||
"new sign in email",
|
||||
"new signin email"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=login&do=settings&searchResult=ipb_bruteforce_attempts": {
|
||||
"lang_key": "ipb_bruteforce_attempts",
|
||||
"restriction": "login_manage",
|
||||
@@ -1577,6 +1844,7 @@
|
||||
"brute",
|
||||
"bruteforce",
|
||||
"failed",
|
||||
"lock",
|
||||
"logins"
|
||||
]
|
||||
},
|
||||
@@ -1610,6 +1878,13 @@
|
||||
"verification"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=posting&searchResult=attach_allowed_extensions": {
|
||||
"lang_key": "attach_allowed_extensions",
|
||||
"restriction": "posting_manage",
|
||||
"keywords": [
|
||||
"extensions"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=posting&searchResult=attachment_image_size": {
|
||||
"lang_key": "attachment_image_size",
|
||||
"restriction": "posting_manage",
|
||||
@@ -1645,6 +1920,14 @@
|
||||
"files"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=posting&searchResult=form_dellog_retention_period": {
|
||||
"lang_key": "dellog_retention_period",
|
||||
"restriction": "posting_manage",
|
||||
"keywords": [
|
||||
"content",
|
||||
"delete"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=posting&searchResult=form_edit_log": {
|
||||
"lang_key": "edit_log",
|
||||
"restriction": "posting_manage",
|
||||
@@ -1713,6 +1996,13 @@
|
||||
"shadow topics"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=posting&searchResult=max_video_width": {
|
||||
"lang_key": "max_video_width",
|
||||
"restriction": "posting_manage",
|
||||
"keywords": [
|
||||
"width"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=posting&searchResult=remote_image_proxy": {
|
||||
"lang_key": "remote_image_proxy",
|
||||
"restriction": "posting_manage",
|
||||
@@ -1725,6 +2015,13 @@
|
||||
"ssl"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=posting&searchResult=remote_image_proxy_cache": {
|
||||
"lang_key": "image_proxy_cache_period",
|
||||
"restriction": "posting_manage",
|
||||
"keywords": [
|
||||
"cache"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=posting&tab=acronymExpansion": {
|
||||
"lang_key": "acronym_expansion",
|
||||
"restriction": "posting_manage_acronym",
|
||||
@@ -1850,6 +2147,14 @@
|
||||
"tags"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=posting&tab=tags&searchResult=tags_can_prefix": {
|
||||
"lang_key": "tags_can_prefix",
|
||||
"restriction": "posting_manage",
|
||||
"keywords": [
|
||||
"prefix",
|
||||
"prefixes"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=posting&tab=urlFilters": {
|
||||
"lang_key": "ipb_url_filter_option",
|
||||
"restriction": "posting_manage_url",
|
||||
@@ -1895,8 +2200,17 @@
|
||||
"pagerank"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=posting&tab=urlFilters&searchResult=url_filter_action": {
|
||||
"lang_key": "url_filter_action",
|
||||
"restriction": "posting_manage",
|
||||
"keywords": [
|
||||
"approval",
|
||||
"moderate",
|
||||
"queue"
|
||||
]
|
||||
},
|
||||
"app=core&module=settings&controller=securityquestions": {
|
||||
"lang_key": "menu__core_settings_securityquestions",
|
||||
"lang_key": "menu__core_settings_mfa",
|
||||
"restriction": "securityquestions_manage",
|
||||
"keywords": [
|
||||
"answers",
|
||||
@@ -1978,6 +2292,27 @@
|
||||
"staff logs"
|
||||
]
|
||||
},
|
||||
"app=core&module=stats&controller=membervisits": {
|
||||
"lang_key": "menu__core_stats_membervisits",
|
||||
"restriction": "membervisits_manage",
|
||||
"keywords": [
|
||||
"activity",
|
||||
"member visits",
|
||||
"visits"
|
||||
]
|
||||
},
|
||||
"app=core&module=stats&controller=onlineusers": {
|
||||
"lang_key": "menu__core_stats_onlineusers",
|
||||
"restriction": "onlineusers_manage",
|
||||
"keywords": [
|
||||
"activity statistics",
|
||||
"member activity",
|
||||
"online users",
|
||||
"page views",
|
||||
"site activity",
|
||||
"user activity"
|
||||
]
|
||||
},
|
||||
"app=core&module=stats&controller=pmstats": {
|
||||
"lang_key": "menu__core_members_pmstats",
|
||||
"restriction": null,
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* @brief {subpackage} Application Class
|
||||
* @author <a href='{website}'>{author}</a>
|
||||
* @copyright (c) {year} {author}
|
||||
* @package IPS Community Suite
|
||||
* @package Invision Community
|
||||
* @subpackage {subpackage}
|
||||
* @since {date}
|
||||
* @version
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief {controller}
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\modules\{location}\{module};
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief {controller}
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\modules\{location}\{module};
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief {controller}
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\modules\{location}\{module};
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief {key} Task
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{namespace};
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief {version_human} Upgrade Code
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\setup\upg_{version_long};
|
||||
|
||||
@@ -2,13 +2,12 @@
|
||||
|
||||
/**
|
||||
* @brief {version_human} Upgrade Code
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief {key} Widget
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{namespace}\widgets;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Advertisement locations extension
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\AdvertisementLocations;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Announcements Extension
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\Announcements;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief BBCode Tag
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\BBCode;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Build process plugin
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\Build;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Bulk Mail Extension
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\BulkMail;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Community Enhancements
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\CommunityEnhancements;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Contact Us extension
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\ContactUs;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Content Router extension: {class}
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\ContentRouter;
|
||||
@@ -32,12 +31,12 @@ class _{class}
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param \IPS\Member|NULL $member If checking access, the member to check for, or NULL to not check access
|
||||
* @param \IPS\Member|IPS\Member\Group|NULL $memberOrGroup If checking access, the member/group to check for, or NULL to not check access
|
||||
* @return void
|
||||
*/
|
||||
public function __construct( \IPS\Member $member = NULL )
|
||||
public function __construct( $memberOrGroup = NULL )
|
||||
{
|
||||
if ( $member === NULL or $member->canAccessModule( \IPS\Application\Module::get( '{app}', '{module}', 'front' ) ) )
|
||||
if ( $memberOrGroup === NULL or $memberOrGroup->canAccessModule( \IPS\Application\Module::get( '{app}', '{module}', 'front' ) ) )
|
||||
{
|
||||
$this->classes[] = 'IPS\{app}\{example}';
|
||||
}
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Create Menu Extension : {class}
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\CreateMenu;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Dashboard extension: {class}
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\Dashboard;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Editor Extension: {class}
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\EditorLocations;
|
||||
@@ -100,6 +99,24 @@ class _{class}
|
||||
//{
|
||||
//}
|
||||
|
||||
/**
|
||||
* @brief Store image proxy status ( true = enabled )
|
||||
*/
|
||||
protected $_imageProxyStatus = null;
|
||||
|
||||
/**
|
||||
* Rebuild content to add or remove image proxy
|
||||
*
|
||||
* @param int|null $offset Offset to start from
|
||||
* @param int|null $max Maximum to parse
|
||||
* @param bool $status Enable/Disable Image Proxy
|
||||
* @return int Number completed
|
||||
* @note This method is optional and will only be called if it exists
|
||||
*/
|
||||
//public function rebuildImageProxy( $offset, $max, $status=TRUE )
|
||||
//{
|
||||
//}
|
||||
|
||||
/**
|
||||
* Total content count to be used in progress indicator
|
||||
*
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Editor Media: {class}
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\EditorMedia;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief File Storage Extension: {class}
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\FileStorage;
|
||||
@@ -51,7 +50,7 @@ class _{class}
|
||||
/**
|
||||
* Check if a file is valid
|
||||
*
|
||||
* @param \IPS\Http\Url $file The file to check
|
||||
* @param string $file The file path to check
|
||||
* @return bool
|
||||
*/
|
||||
public function isValidFile( $file )
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Front Navigation Extension: {class}
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\FrontNavigation;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Admin CP Group Form
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\GroupForm;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Group Limits
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\GroupLimits;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Incoming Email Handler
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\IncomingEmail;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief IP Address Lookup extension
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\IpAddresses;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief ACP Live Search Extension
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\LiveSearch;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Multi-Factor Authentication Area
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\MFAArea;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Member Filter Extension
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\MemberFilter;
|
||||
@@ -24,6 +23,17 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
*/
|
||||
class _{class}
|
||||
{
|
||||
/**
|
||||
* Determine if the filter is available in a given area
|
||||
*
|
||||
* @param string $area Area to check
|
||||
* @return bool
|
||||
*/
|
||||
public function availableIn( $area )
|
||||
{
|
||||
return in_array( $area, array( 'bulkmail', 'group_promotions' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Setting Field
|
||||
*
|
||||
@@ -70,4 +80,17 @@ class _{class}
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if a member matches specified filters
|
||||
*
|
||||
* @note This is only necessary if availableIn() includes group_promotions
|
||||
* @param \IPS\Member $member Member object to check
|
||||
* @param array $filters Previously defined filters
|
||||
* @return bool
|
||||
*/
|
||||
public function matches( \IPS\Member $member, $filters )
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Admin CP Member Form
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\MemberForm;
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief MemberHistory: {class}
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\MemberHistory;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Member History: {class}
|
||||
*/
|
||||
class _{class}
|
||||
{
|
||||
/**
|
||||
* Return the valid member history log types
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getTypes()
|
||||
{
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse LogType column
|
||||
*
|
||||
* @param string $value column value
|
||||
* @param array $row entire log row
|
||||
* @return string
|
||||
*/
|
||||
public function parseLogType( $value, $row )
|
||||
{
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse LogData column
|
||||
*
|
||||
* @param string $value column value
|
||||
* @param array $row entire log row
|
||||
* @return string
|
||||
*/
|
||||
public function parseLogData( $value, $row )
|
||||
{
|
||||
return $value;
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Member Sync
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\MemberSync;
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Meta Data: {class}
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\MetaData;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Meta Data: {class}
|
||||
*/
|
||||
class _{class}
|
||||
{
|
||||
|
||||
}
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Moderator Control Panel Extension: {class}
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\ModCp;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Moderator Control Panel Member Management Extension: {class}
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\ModCpMemberManagement;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Moderator Permissions
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\ModeratorPermissions;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Notification Options
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\Notifications;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Template Plugin
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\OutputPlugins;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Permissions
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\Permissions;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Profile extension: {class}
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\Profile;
|
||||
|
||||
@@ -0,0 +1,138 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Profile Completion Extension
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\ProfileSteps;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Profile Completion Extension
|
||||
*/
|
||||
class _{class}
|
||||
{
|
||||
/**
|
||||
* Available Actions to complete steps
|
||||
*
|
||||
* @return array array( 'key' => 'lang_string' )
|
||||
*/
|
||||
public static function actions()
|
||||
{
|
||||
return array( ... );
|
||||
}
|
||||
|
||||
/**
|
||||
* Available sub actions to complete steps
|
||||
*
|
||||
* @return array array( 'key' => 'lang_string' )
|
||||
*/
|
||||
public static function subActions()
|
||||
{
|
||||
return array( ... );
|
||||
}
|
||||
|
||||
/**
|
||||
* Can the actions have multiple choices?
|
||||
*
|
||||
* @param string $action Action key (basic_profile, etc)
|
||||
* @return boolean
|
||||
*/
|
||||
public static function actionMultipleChoice( $action )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Has a specific step been completed?
|
||||
*
|
||||
* @param \IPS\Member\ProfileStep $step The step to check
|
||||
* @param \IPS\Member|NULL $member The member to check, or NULL for currently logged in
|
||||
* @return bool
|
||||
*/
|
||||
public function completed( \IPS\Member\ProfileStep $step, \IPS\Member $member = NULL )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Can be set as required?
|
||||
*
|
||||
* @return array
|
||||
* @note This is intended for items which have their own independent settings and dedicated enable pages, such as MFA and Social Login integration
|
||||
*/
|
||||
public static function canBeRequired()
|
||||
{
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Action URL
|
||||
*
|
||||
* @param string $action The action
|
||||
* @param \IPS\Member|NULL $member The member, or NULL for currently logged in
|
||||
* @return \IPS\Http\Url
|
||||
*/
|
||||
public function url( $action, \IPS\Member $member = NULL )
|
||||
{
|
||||
return \IPS\Http\Url::internal( ... );
|
||||
}
|
||||
|
||||
/**
|
||||
* Post ACP Save
|
||||
*
|
||||
* @param \IPS\Member\ProfileStep $step The step
|
||||
* @param array $values Form Values
|
||||
* @return void
|
||||
*/
|
||||
public function postAcpSave( \IPS\Member\ProfileStep $step, array $values )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Format Form Values
|
||||
*
|
||||
* @param array $values The values from the form
|
||||
* @param \IPS\Member $member The member
|
||||
* @param \IPS\Helpers\Form $form The form
|
||||
* @return void
|
||||
*/
|
||||
public static function formatFormValues( $values, &$member, &$form )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Wizard Steps
|
||||
*
|
||||
* @param \IPS\Member $member Member or NULL for currently logged in member
|
||||
* @return array
|
||||
*/
|
||||
public static function wizard( \IPS\Member $member = NULL )
|
||||
{
|
||||
return array( ... );
|
||||
}
|
||||
|
||||
/**
|
||||
* Post Delete
|
||||
* @param \IPS\Member\ProfileStep The step
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function onDelete( \IPS\Member\ProfileStep $step )
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Background Task
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\Queue;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Support {class} in sitemaps
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\Sitemap;
|
||||
@@ -38,15 +37,6 @@ class _{class}
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Check to see if any settings this extension provides options for have been modified from their default values
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function hasModifiedSettings()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the sitemap filename(s)
|
||||
*
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Activity stream items extension: {class}
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\StreamItems;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Activity stream items extension: {class}
|
||||
*/
|
||||
class _{class}
|
||||
{
|
||||
/**
|
||||
* Is there content to display?
|
||||
*
|
||||
* @param \IPS\Member|NULL $author The author to limit extra items to
|
||||
* @param Timestamp|NULL $lastTime If provided, only items since this date are included. If NULL, it works out which to include based on what results are being shown
|
||||
* @param Timestamp|NULL $firstTime If provided, only items before this date are included. If NULL, it works out which to include based on what results are being shown
|
||||
* @return array Array of \IPS\Content\Search\Result\Custom objects
|
||||
*/
|
||||
public function extraItems( $author=NULL, $lastTime=NULL, $firstTime=NULL )
|
||||
{
|
||||
// Note!
|
||||
// Your application must define a setting and a language string in the format of "all_activity_{application}_{extensionname}" all in lower case. Without this, this plugin will not be executed.
|
||||
// This setting will automatically be used to store the administrators choice of whether to show this data or not.
|
||||
|
||||
return array();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Uninstall callback
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since {date}
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\{app}\extensions\core\Uninstall;
|
||||
|
||||
@@ -160,7 +160,18 @@
|
||||
{$email->language->addToStack("email_validate_link", FALSE)}: {url="app=core&module=system&controller=register&do=validate&vid={$vid}&mid={$member->member_id}" plain="true" base="front"}
|
||||
=====
|
||||
|
||||
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>core</template_app><template_name>notification_warning_mods</template_name><template_content_html><![CDATA[
|
||||
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>core</template_app><template_name>notification_club_request</template_name><template_content_html><![CDATA[<br />
|
||||
{$email->language->addToStack("notification__club_request", FALSE, array( 'sprintf' => array( $member->name, $club->name ) ) )}
|
||||
<br /><br />
|
||||
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='background: #f9f9f9;'>
|
||||
<tr>
|
||||
<td dir='{dir}' align='center'>
|
||||
<a href='{$club->url()}' style="color: #ffffff; font-family: 'Helvetica Neue', helvetica, sans-serif; text-decoration: none; font-size: 14px; background: {setting="email_color"}; line-height: 32px; padding: 0 10px; display: inline-block; border-radius: 3px;">{$email->language->addToStack("club_view", FALSE)}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>]]></template_content_html><template_data>$club, $member, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack("notification__club_request", FALSE, array( 'sprintf' => array( $member->name, $club->name ) ) )}
|
||||
|
||||
{$email->language->addToStack("view_club", FALSE)}: {$club->url()}]]></template_content_plaintext></template><template><template_app>core</template_app><template_name>notification_warning_mods</template_name><template_content_html><![CDATA[
|
||||
{{$content = $warning->content();}}
|
||||
|
||||
{{if $content && $content instanceof \IPS\Content\Comment}}
|
||||
@@ -458,7 +469,13 @@
|
||||
</table>
|
||||
<br /><br />
|
||||
<em style='color: #8c8c8c'>— {setting="board_name"}</em>]]></template_content_html><template_data>$content, $member, $email</template_data><template_content_plaintext><![CDATA[
|
||||
{{if $content->author()->member_id}}
|
||||
{$email->language->addToStack("email_new_content_unapproved_plain", FALSE, array( 'sprintf' => array( $content->author()->name, $content->indefiniteArticle( $email->language ) ) ) )} {$content->mapped('title')}
|
||||
{{else}}
|
||||
{$email->language->addToStack("email_new_content_unapproved_plain", FALSE, array( 'sprintf' => array( $content->author()->real_name ? $email->language->addToStack( 'guest_name_shown', NULL, array( 'sprintf' => array( $content->author()->real_name ) ) ) : $email->language->addToStack( 'guest_name_shown', NULL, array( 'sprintf' => array( $email->language->addToStack('guest') ) ) ), $content->indefiniteArticle( $email->language ) ) ) )} {$content->mapped('title')}
|
||||
{{endif}}
|
||||
|
||||
|
||||
|
||||
{$email->language->addToStack("go_to_this_x", FALSE, array( 'sprintf' => array( mb_strtolower( $email->language->addToStack( $content::$title, FALSE ) ) ) ) )}: {$content->url()}
|
||||
|
||||
@@ -542,7 +559,18 @@
|
||||
{$email->language->addToStack('this_is_a_security_update')}
|
||||
{{endif}}
|
||||
|
||||
{$email->language->addToStack("upgrade_now")}: {url="&app=core&module=system&controller=upgrade" base="admin"}]]></template_content_plaintext></template><template><template_app>core</template_app><template_name>notification_new_likes</template_name><template_content_html><![CDATA[
|
||||
{$email->language->addToStack("upgrade_now")}: {url="&app=core&module=system&controller=upgrade" base="admin"}]]></template_content_plaintext></template><template><template_app>core</template_app><template_name>notification_club_join</template_name><template_content_html><![CDATA[<br />
|
||||
{$email->language->addToStack("notification__club_join", FALSE, array( 'sprintf' => array( $member->name, $club->name ) ) )}
|
||||
<br /><br />
|
||||
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='background: #f9f9f9;'>
|
||||
<tr>
|
||||
<td dir='{dir}' align='center'>
|
||||
<a href='{$club->url()}' style="color: #ffffff; font-family: 'Helvetica Neue', helvetica, sans-serif; text-decoration: none; font-size: 14px; background: {setting="email_color"}; line-height: 32px; padding: 0 10px; display: inline-block; border-radius: 3px;">{$email->language->addToStack("club_view", FALSE)}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>]]></template_content_html><template_data>$club, $member, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack("notification__club_join", FALSE, array( 'sprintf' => array( $member->name, $club->name ) ) )}
|
||||
|
||||
{$email->language->addToStack("view_club", FALSE)}: {$club->url()}]]></template_content_plaintext></template><template><template_app>core</template_app><template_name>notification_new_likes</template_name><template_content_html><![CDATA[
|
||||
{{$item = ( $comment instanceof \IPS\Content\Item ) ? $comment : $comment->item();}}
|
||||
|
||||
{$email->language->addToStack("email_new_likes", FALSE, array( 'sprintf' => array( ( $comment->author()->group['gbw_view_reps'] ) ? $member->name : $email->language->get( 'notifications_anonymous' ), $comment->indefiniteArticle( $email->language ) ) ) )} <a href='{$item->url()}'>{$item->mapped('title')}</a>
|
||||
@@ -798,7 +826,18 @@
|
||||
|
||||
{$email->language->addToStack("go_to_this_x", FALSE, array( 'sprintf' => array( mb_strtolower( $email->language->addToStack( $content::$title, FALSE ) ) ) ) )}: {$content->url()}
|
||||
|
||||
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>core</template_app><template_name>email_change</template_name><template_content_html><![CDATA[
|
||||
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>core</template_app><template_name>notification_club_response</template_name><template_content_html><![CDATA[<br />
|
||||
{$email->language->addToStack( $response ? "notification__club_response_accepted" : "notification__club_response_declined", FALSE, array( 'sprintf' => array( $club->name ) ) )}
|
||||
<br /><br />
|
||||
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='background: #f9f9f9;'>
|
||||
<tr>
|
||||
<td dir='{dir}' align='center'>
|
||||
<a href='{$club->url()}' style="color: #ffffff; font-family: 'Helvetica Neue', helvetica, sans-serif; text-decoration: none; font-size: 14px; background: {setting="email_color"}; line-height: 32px; padding: 0 10px; display: inline-block; border-radius: 3px;">{$email->language->addToStack("club_view", FALSE)}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>]]></template_content_html><template_data>$club, $response, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack( $response ? "notification__club_response_accepted" : "notification__club_response_declined", FALSE, array( 'sprintf' => array($club->name ) ) )}
|
||||
|
||||
{$email->language->addToStack("view_club", FALSE)}: {$club->url()}]]></template_content_plaintext></template><template><template_app>core</template_app><template_name>email_change</template_name><template_content_html><![CDATA[
|
||||
{$email->language->addToStack("email_complete_email", FALSE)}
|
||||
<br />
|
||||
<br />
|
||||
@@ -1378,7 +1417,18 @@
|
||||
|
||||
{$email->language->addToStack("email_go_to_site", FALSE, array( 'sprintf' => array( \IPS\Settings::i()->board_name ) ) )}: {setting="base_url"}
|
||||
|
||||
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>core</template_app><template_name>unsubscribeBulk</template_name><template_content_html><![CDATA[<tr>
|
||||
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>core</template_app><template_name>notification_club_invitation</template_name><template_content_html><![CDATA[<br />
|
||||
{$email->language->addToStack("notification__club_invitation_by", FALSE, array( 'sprintf' => array( $invitedBy->name, $club->name ) ) )}
|
||||
<br /><br />
|
||||
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='background: #f9f9f9;'>
|
||||
<tr>
|
||||
<td dir='{dir}' align='center'>
|
||||
<a href='{$club->url()}' style="color: #ffffff; font-family: 'Helvetica Neue', helvetica, sans-serif; text-decoration: none; font-size: 14px; background: {setting="email_color"}; line-height: 32px; padding: 0 10px; display: inline-block; border-radius: 3px;">{$email->language->addToStack("club_join", FALSE)}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>]]></template_content_html><template_data>$club, $invitedBy, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack("notification__club_invitation_by", FALSE, array( 'sprintf' => array( $invitedBy->name, $club->name ) ) )}
|
||||
|
||||
{$email->language->addToStack("club_join", FALSE)}: {$club->url()}]]></template_content_plaintext></template><template><template_app>core</template_app><template_name>unsubscribeBulk</template_name><template_content_html><![CDATA[<tr>
|
||||
<td dir='{dir}' valign="top"><img src='{setting="base_url"}applications/core/interface/email/spacer.png' width='1' height='1' alt=''></td>
|
||||
<td dir='{dir}' valign='middle' align='center' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 12px; line-height: 18px; padding-left: 10px;">
|
||||
{$email->language->addToStack("unsubscribe_blurb", FALSE)} <a href="{{if $member instanceof \IPS\Member}}{url="app=core&module=system&controller=unsubscribe&email=" seoTemplate="unsubscribe" base="front"}{$member->email}&key={expression="md5( $member->email . ':' . $member->members_pass_hash )"}{{else}}{url="app=core&module=system&controller=unsubscribe&email=" seoTemplate="unsubscribe" base="front"}*|member_email|*&key=*|unsubscribe_key|*{{endif}}" style='color: #4a8aca; text-decoration: none; display: inline-block'>{$email->language->addToStack( 'unsubscribe', FALSE )}</a>.
|
||||
@@ -1532,7 +1582,118 @@
|
||||
|
||||
{$email->language->addToStack("email_ignore_user_pm", FALSE, array( 'sprintf' => array( $comment->author()->name ) ) )}
|
||||
|
||||
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>core</template_app><template_name>digest</template_name><template_content_html><![CDATA[{$email->language->addToStack("digest_$frequency", FALSE)}
|
||||
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>core</template_app><template_name>new_device</template_name><template_content_html><![CDATA[<br />
|
||||
{$email->language->addToStack('new_device_email_intro')}
|
||||
<br />
|
||||
<br />
|
||||
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='background: #f9f9f9;'>
|
||||
<tr>
|
||||
<td dir='{dir}'>
|
||||
<table width='100%' cellpadding='0' cellspacing='0' border='0' style='background: #f9f9f9;' class='responsive_table'>
|
||||
<tr class='responsive_row' height="35">
|
||||
<td dir='{dir}' width='150' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;"><strong>{$email->language->addToStack('members_device')}</strong></td>
|
||||
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#f9f9f9">
|
||||
<tr>
|
||||
<td dir='{dir}' width="40" valign="top" class='hidePhone' style='width: 0; max-height: 0; overflow: hidden; float: left;'>
|
||||
{{if $device->userAgent()->platform === 'Macintosh'}}
|
||||
<img src="{resource="logos/devices/mac.png" location="interface" app="core"}" width="30" height="30" alt="{$device->userAgent()->platform}" style='border: 0; vertical-align: middle;'>
|
||||
{{elseif $device->userAgent()->platform === 'Android' or $device->userAgent()->platform === 'Windows Phone'}}
|
||||
<img src="{resource="logos/devices/android.png" location="interface" app="core"}" width="30" height="30" alt="{$device->userAgent()->platform}" style='border: 0; vertical-align: middle;'>
|
||||
{{elseif $device->userAgent()->platform === 'iPad'}}
|
||||
<img src="{resource="logos/devices/ipad.png" location="interface" app="core"}" width="30" height="30" alt="{$device->userAgent()->platform}" style='border: 0; vertical-align: middle;'>
|
||||
{{elseif $device->userAgent()->platform === 'iPhone'}}
|
||||
<img src="{resource="logos/devices/iphone.png" location="interface" app="core"}" width="30" height="30" alt="{$device->userAgent()->platform}" style='border: 0; vertical-align: middle;'>
|
||||
{{else}}
|
||||
<img src="{resource="logos/devices/pc.png" location="interface" app="core"}" width="30" height="30" alt="{$device->userAgent()->platform}" style='border: 0; vertical-align: middle;'>
|
||||
{{endif}}
|
||||
</td>
|
||||
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;">
|
||||
{$device->userAgent()->platform}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class='responsive_row' height="35">
|
||||
<td dir='{dir}' width='150' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;"><strong>{$email->language->addToStack('device_table_user_agent')}</strong></td>
|
||||
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#f9f9f9">
|
||||
<tr>
|
||||
{{if in_array( $device->userAgent()->browser, array( 'Android Browser', 'AppleWebKit', 'Camino', 'Chrome', 'Edge', 'Firefox', 'IEMobile', 'Midori', 'MSIE', 'Opera', 'Puffin', 'Safari', 'SamsungBrowser', 'Silk', 'UCBrowser', 'Vivaldi' ) )}}
|
||||
<td dir='{dir}' width="40" valign="top" class='hidePhone' style='width: 0; max-height: 0; overflow: hidden; float: left;'>
|
||||
<img src="{resource="logos/browsers/{expression="str_replace( ' ', '', $device->userAgent()->browser )"}.png" location="interface" app="core"}" width="20" height="20" alt="{$device->userAgent()->browser}" style='border: 0; vertical-align: middle;'>
|
||||
</td>
|
||||
{{endif}}
|
||||
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;">
|
||||
{$device->userAgent()->browser}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
{{if $device->login_handler and $handlers = \IPS\Login::handlers( TRUE ) and isset( $handlers[ $device->login_handler ] ) and $handler = $handlers[ $device->login_handler ] and method_exists( $handler, 'loginForm' )}}
|
||||
<tr class='responsive_row' height="35">
|
||||
<td dir='{dir}' width='150' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;"><strong>{$email->language->addToStack('device_table_login_handler')}</strong></td>
|
||||
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;">
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#f9f9f9">
|
||||
<tr>
|
||||
{{if $handler::$logo}}
|
||||
<td dir='{dir}' width="40" valign="top" class='hidePhone' style='width: 0; max-height: 0; overflow: hidden; float: left;'>
|
||||
<img src="{resource="logos/login/{$handler::$logo}.png" location="interface" app="core"}" width="20" height="20" alt="{$device->userAgent()->browser}" style='border: 0; vertical-align: middle;'>
|
||||
</td>
|
||||
{{endif}}
|
||||
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;">
|
||||
{$email->language->addToStack( 'login_handler_' . ucfirst( $handler->key ) )}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
{{endif}}
|
||||
{{if $location}}
|
||||
<tr class='responsive_row' height="35">
|
||||
<td dir='{dir}' width='150' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;"><strong>{$email->language->addToStack('device_table_location')}</strong></td>
|
||||
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;">
|
||||
{$location}
|
||||
</td>
|
||||
</tr>
|
||||
{{endif}}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 10px;">
|
||||
* {$email->language->addToStack('ip_geolocation_info')}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
{$email->language->addToStack('new_device_email_footer')}
|
||||
<br /><br />
|
||||
<table width='100%' cellpadding='15' cellspacing='0' border='0' style='background: #f9f9f9;'>
|
||||
<tr>
|
||||
<td dir='{dir}' align='center'>
|
||||
{{if settings.device_management}}
|
||||
<a href='{url="app=core&module=system&controller=settings&area=devices" seoTemplate="settings_devices" base="front"}' style="color: #ffffff; font-family: 'Helvetica Neue', helvetica, sans-serif; text-decoration: none; font-size: 14px; background: {setting="email_color"}; line-height: 32px; padding: 0 10px; display: inline-block; border-radius: 3px;">{$email->language->addToStack("new_device_email_action_1", FALSE)}</a>
|
||||
{{else}}
|
||||
<a href='{url="app=core&module=system&controller=settings&do=secureAccount" seoTemplate="settings_secure" base="front"}' style="color: #ffffff; font-family: 'Helvetica Neue', helvetica, sans-serif; text-decoration: none; font-size: 14px; background: {setting="email_color"}; line-height: 32px; padding: 0 10px; display: inline-block; border-radius: 3px;">{$email->language->addToStack("new_device_email_action_2", FALSE)}</a>
|
||||
{{endif}}
|
||||
</td>
|
||||
</tr>
|
||||
</table>]]></template_content_html><template_data>$member, $device, $location, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack('new_device_email_intro')}
|
||||
|
||||
{$email->language->addToStack('members_device')}: {$device->userAgent()->platform}
|
||||
{$email->language->addToStack('device_table_user_agent')}: {$device->userAgent()->browser}
|
||||
{{if $device->login_handler and $handlers = \IPS\Login::handlers( TRUE ) and isset( $handlers[ $device->login_handler ] ) and $handler = $handlers[ $device->login_handler ] and method_exists( $handler, 'loginForm' )}}{$email->language->addToStack('device_table_login_handler')}: {$email->language->addToStack( 'login_handler_' . ucfirst( $handler->key ) )}{{endif}}
|
||||
{{if $location}}{$email->language->addToStack('device_table_location')}: {$location}
|
||||
* {$email->language->addToStack('ip_geolocation_info')}{{endif}}
|
||||
|
||||
{$email->language->addToStack('new_device_email_footer')}
|
||||
|
||||
{{if settings.device_management}}{$email->language->addToStack("new_device_email_action_1", FALSE)}: {url="app=core&module=system&controller=settings&area=devices" seoTemplate="settings_devices" base="front"}{{else}}{$email->language->addToStack("new_device_email_action_2", FALSE)}: {url="app=core&module=system&controller=settings&do=secureAccount" seoTemplate="settings_secure" base="front"}{{endif}}]]></template_content_plaintext></template><template><template_app>core</template_app><template_name>digest</template_name><template_content_html><![CDATA[{$email->language->addToStack("digest_$frequency", FALSE)}
|
||||
<br />
|
||||
<br />
|
||||
<em style='color: #8c8c8c'>— {setting="board_name"}</em>
|
||||
@@ -1756,7 +1917,7 @@
|
||||
|
||||
{{if \IPS\Settings::i()->warnings_acknowledge && !$warning->acknowledged && $warning->canAcknowledge( \IPS\Member::load($warning->member))}}
|
||||
<strong style="color: #a72336; font-family: 'Helvetica Neue', helvetica, sans-serif; font-size: 14px;">{$email->language->addToStack("email_warn_acknowledge", FALSE)}</strong><br />
|
||||
<a href='{$warning->url('acknowledge')}' style="color: #ffffff; font-family: 'Helvetica Neue', helvetica, sans-serif; text-decoration: none; font-size: 14px; background: {setting="email_color"}; line-height: 32px; padding: 0 10px; display: inline-block; border-radius: 3px;">{$email->language->addToStack("email_warn_acknowledge_button", FALSE)}</a>
|
||||
<a href='{$warning->url()}' style="color: #ffffff; font-family: 'Helvetica Neue', helvetica, sans-serif; text-decoration: none; font-size: 14px; background: {setting="email_color"}; line-height: 32px; padding: 0 10px; display: inline-block; border-radius: 3px;">{$email->language->addToStack("email_warn_acknowledge_button", FALSE)}</a>
|
||||
{{endif}}
|
||||
|
||||
<br /><br />
|
||||
@@ -1805,7 +1966,7 @@
|
||||
|
||||
{{if \IPS\Settings::i()->warnings_acknowledge && !$warning->acknowledged && $warning->canAcknowledge(\IPS\Member::load($warning->member))}}
|
||||
**{$email->language->addToStack("email_warn_acknowledge", FALSE)}**
|
||||
{$email->language->addToStack("email_warn_acknowledge_button", FALSE)}: {$warning->url('acknowledge')}
|
||||
{$email->language->addToStack("email_warn_acknowledge_button", FALSE)}: {$warning->url()}
|
||||
{{endif}}
|
||||
|
||||
-- {setting="board_name"}
|
||||
|
||||
@@ -48,6 +48,14 @@
|
||||
"friendly": "settings/password",
|
||||
"real": "app=core&module=system&controller=settings&area=password"
|
||||
},
|
||||
"settings_devices": {
|
||||
"friendly": "settings/devices",
|
||||
"real": "app=core&module=system&controller=settings&area=devices"
|
||||
},
|
||||
"settings_secure": {
|
||||
"friendly": "settings/secure-account",
|
||||
"real": "app=core&module=system&controller=settings&do=secureAccount"
|
||||
},
|
||||
"settings_mfa": {
|
||||
"friendly": "settings/account-security",
|
||||
"real": "app=core&module=system&controller=settings&area=mfa"
|
||||
@@ -270,6 +278,10 @@
|
||||
"friendly": "modcp/ip-tools",
|
||||
"real": "app=core&module=modcp&controller=modcp&tab=ip_tools"
|
||||
},
|
||||
"modcp_deleted": {
|
||||
"friendly": "modcp/deleted",
|
||||
"real": "app=core&module=modcp&controller=modcp&tab=deleted"
|
||||
},
|
||||
|
||||
/* Ignore */
|
||||
"ignore": {
|
||||
@@ -418,6 +430,35 @@
|
||||
"leaderboard_members": {
|
||||
"friendly": "topmembers",
|
||||
"real": "app=core&module=discover&controller=popular&tab=members"
|
||||
},
|
||||
|
||||
/* Clubs */
|
||||
"clubs_list": {
|
||||
"friendly": "clubs",
|
||||
"real": "app=core&module=clubs&controller=directory"
|
||||
},
|
||||
"clubs_view": {
|
||||
"friendly": "clubs/{#id}-{?}",
|
||||
"real": "app=core&module=clubs&controller=view",
|
||||
"verify": "\\IPS\\Member\\Club"
|
||||
},
|
||||
|
||||
/*! Promote */
|
||||
"promote_history": {
|
||||
"friendly": "promote/history-{#promote_id}",
|
||||
"real": "app=core&module=promote&controller=promote&do=history"
|
||||
},
|
||||
"promote_manage": {
|
||||
"friendly": "promote/manage",
|
||||
"real": "app=core&module=promote&controller=promote&do=view"
|
||||
},
|
||||
"promote_show": {
|
||||
"friendly": "ourpicks",
|
||||
"real": "app=core&module=promote&controller=ourpicks"
|
||||
},
|
||||
"promote": {
|
||||
"friendly": "promote",
|
||||
"real": "app=core&module=promote&controller=promote"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -25,7 +25,7 @@
|
||||
<div id='strip'>
|
||||
<div id='logo'>
|
||||
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAZCAYAAAAv3j5gAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAZZJREFUeNq8lr9Lw0AUx2OETAUhIAiZBMFBKLg4+R8IroKbWCgOxY7+GYIiWAKCjl0rZHKJ4CqCg3RyKBWhQqmLgRK/py/hcn13TWzqFz5D837de7xcasdxbP0HtvWraxDPCZE7LfRozU8/uRdEW5ADnsB6yUVeQBVESUcRqIFxiUVErgPKnY5O6B6cl1hI5HpIfynbUQHdeHZ1KdfE1iX6BPUSuqlTrlQ243QHWjMUaVGOjJKtU7UEnoFXsEgPbICharA1AcM/jrDGFTEVEroFNwWKCN9Aa51yR7mgn2PL+uQ79a7b1pzjAzRydNMgX05bckchODGcqG3opm2IO6bcmUJfYE0TsAIGTJEB2biYVTBKCsnLIC7WK037b6DJPG+SjZMPKuoyhNIpjwyj6Eh+HYPfoeQ3MbpEol3PMMJ3QjcyTxlzyN11FrV7aRjhJqEb2QVw876wO2DfcM30NLY9sGu6GSLGdsadzCCXYlRlPnxBgUCdTsEy8zyQt84BPvOuvILFHH+nHPJV3zGfbNrPROn6FmAANAMI1RO30/8AAAAASUVORK5CYII=" width="26" height="25" />
|
||||
IPS Community Suite
|
||||
Invision Community
|
||||
</div>
|
||||
</div>
|
||||
<div id='wrapper'>
|
||||
|
||||
+4046
-1513
File diff suppressed because it is too large.
Load diff
+1173
-267
File diff suppressed because it is too large.
Load diff
@@ -75,6 +75,18 @@
|
||||
"discovery": {
|
||||
"default_controller": "",
|
||||
"protected": 0
|
||||
},
|
||||
"clubs": {
|
||||
"default_controller": "",
|
||||
"protected": 0
|
||||
},
|
||||
"activitystats": {
|
||||
"default_controller": "",
|
||||
"protected": 0
|
||||
},
|
||||
"messengerstats": {
|
||||
"default_controller": "",
|
||||
"protected": false
|
||||
}
|
||||
},
|
||||
"front": {
|
||||
@@ -114,10 +126,6 @@
|
||||
"default_controller": "",
|
||||
"protected": 0
|
||||
},
|
||||
"dashboard": {
|
||||
"default_controller": "dashboard",
|
||||
"protected": 1
|
||||
},
|
||||
"discover": {
|
||||
"default_controller": "streams",
|
||||
"protected": 0
|
||||
@@ -126,10 +134,22 @@
|
||||
"default_controller": "directory",
|
||||
"protected": 0
|
||||
},
|
||||
"clubs": {
|
||||
"default_controller": "directory",
|
||||
"protected": 0
|
||||
},
|
||||
"promote": {
|
||||
"default_controller": "promote",
|
||||
"protected": 0
|
||||
},
|
||||
"activity": {
|
||||
"default_controller": "",
|
||||
"protected": 0
|
||||
},
|
||||
"dashboard": {
|
||||
"default_controller": "dashboard",
|
||||
"protected": 1
|
||||
},
|
||||
"discovery": {
|
||||
"default_controller": "",
|
||||
"protected": 0
|
||||
|
||||
+2732
-479
File diff suppressed because it is too large.
Load diff
@@ -23,6 +23,10 @@
|
||||
"key": "ads_exist",
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "all_activity_clubs",
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "all_activity_follow_content",
|
||||
"default": "1"
|
||||
@@ -67,6 +71,10 @@
|
||||
"key": "allow_result_view",
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "allowed_reg_email",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"key": "announcements_exist",
|
||||
"default": "0"
|
||||
@@ -91,6 +99,38 @@
|
||||
"key": "attachment_resample_size",
|
||||
"default": "0x0"
|
||||
},
|
||||
{
|
||||
"key": "authy_enabled",
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "authy_groups",
|
||||
"default": "*"
|
||||
},
|
||||
{
|
||||
"key": "authy_key",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"key": "authy_method",
|
||||
"default": "authy,sms,phone"
|
||||
},
|
||||
{
|
||||
"key": "authy_onetouch",
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "authy_setup",
|
||||
"default": "sms,phone"
|
||||
},
|
||||
{
|
||||
"key": "authy_setup_lockout",
|
||||
"default": "12"
|
||||
},
|
||||
{
|
||||
"key": "authy_setup_tries",
|
||||
"default": "2"
|
||||
},
|
||||
{
|
||||
"key": "auto_follow_new_content",
|
||||
"default": "0"
|
||||
@@ -107,9 +147,17 @@
|
||||
"key": "base_url_stored",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"key": "bitly_enabled",
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "bitly_token",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"key": "board_name",
|
||||
"default": "IPS Community Suite"
|
||||
"default": "Invision Community"
|
||||
},
|
||||
{
|
||||
"key": "bot_antispam_type",
|
||||
@@ -127,6 +175,30 @@
|
||||
"key": "ckeditor_toolbars",
|
||||
"default": "{\"desktop\":[{\"name\":\"row1\",\"items\":[\"Bold\",\"Italic\",\"Underline\",\"Strike\",\"-\",\"ipsLink\",\"Ipsquote\",\"ipsCode\",\"ipsEmoticon\",\"-\",\"BulletedList\",\"NumberedList\",\"-\",\"JustifyLeft\",\"JustifyCenter\",\"JustifyRight\",\"-\",\"TextColor\",\"FontSize\",\"-\",\"ipsPreview\"]},\"\\\/\"],\"tablet\":[{\"name\":\"row1\",\"items\":[\"Bold\",\"Italic\",\"Underline\",\"-\",\"ipsLink\",\"Ipsquote\",\"ipsEmoticon\",\"-\",\"BulletedList\",\"NumberedList\",\"-\",\"ipsPreview\"]},\"\\\/\"],\"phone\":[{\"name\":\"row1\",\"items\":[\"Bold\",\"Italic\",\"Underline\",\"-\",\"ipsEmoticon\",\"-\",\"ipsLink\",\"-\",\"ipsPreview\"]},\"\\\/\"]}"
|
||||
},
|
||||
{
|
||||
"key": "clubs",
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "clubs_default_sort",
|
||||
"default": "last_activity"
|
||||
},
|
||||
{
|
||||
"key": "clubs_header",
|
||||
"default": "full"
|
||||
},
|
||||
{
|
||||
"key": "clubs_locations",
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "clubs_modperms",
|
||||
"default": "pin,unpin,future_publish,view_future,move,lock,unlock,reply_to_locked,delete,split_merge"
|
||||
},
|
||||
{
|
||||
"key": "clubs_require_approval",
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "connect_slaves",
|
||||
"default": "0"
|
||||
@@ -167,6 +239,14 @@
|
||||
"key": "copyright_line",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"key": "dellog_retention_period",
|
||||
"default": "30"
|
||||
},
|
||||
{
|
||||
"key": "device_management",
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "diagnostics",
|
||||
"default": "1"
|
||||
@@ -261,7 +341,7 @@
|
||||
},
|
||||
{
|
||||
"key": "flood_control",
|
||||
"default": "0"
|
||||
"default": "5"
|
||||
},
|
||||
{
|
||||
"key": "furl_configuration",
|
||||
@@ -311,6 +391,10 @@
|
||||
"key": "htaccess_mod_rewrite",
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "ignore_system_on",
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "image_jpg_quality",
|
||||
"default": "85"
|
||||
@@ -455,6 +539,10 @@
|
||||
"key": "last_data_store_update",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"key": "letter_photos",
|
||||
"default": "letters"
|
||||
},
|
||||
{
|
||||
"key": "links_external",
|
||||
"default": "1"
|
||||
@@ -547,6 +635,10 @@
|
||||
"key": "most_online",
|
||||
"default": "{\"count\":0,\"time\":0}"
|
||||
},
|
||||
{
|
||||
"key": "new_device_email",
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "new_reg_notify",
|
||||
"default": "0"
|
||||
@@ -631,6 +723,26 @@
|
||||
"key": "profile_comments",
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "promote_community_enabled",
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "promote_groups",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"key": "promote_members",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"key": "promote_scheduled",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"key": "promote_tz",
|
||||
"default": "UTC"
|
||||
},
|
||||
{
|
||||
"key": "prune_emailerrorlogs",
|
||||
"default": "3"
|
||||
@@ -667,10 +779,22 @@
|
||||
"key": "prune_log_tasks",
|
||||
"default": "30"
|
||||
},
|
||||
{
|
||||
"key": "prune_member_history",
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "prune_notifications",
|
||||
"default": "3"
|
||||
},
|
||||
{
|
||||
"key": "quick_register",
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "reaction_count_display",
|
||||
"default": "individual"
|
||||
},
|
||||
{
|
||||
"key": "recaptcha2_private_key",
|
||||
"default": ""
|
||||
@@ -727,6 +851,10 @@
|
||||
"key": "reputation_max_members",
|
||||
"default": "48"
|
||||
},
|
||||
{
|
||||
"key": "reputation_overview_max_members",
|
||||
"default": "8"
|
||||
},
|
||||
{
|
||||
"key": "reputation_point_types",
|
||||
"default": "like"
|
||||
@@ -735,10 +863,6 @@
|
||||
"key": "reputation_protected_groups",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"key": "reputation_show_content",
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "reputation_show_days_won_trophy",
|
||||
"default": "1"
|
||||
@@ -751,6 +875,14 @@
|
||||
"key": "reputation_timezone",
|
||||
"default": "UTC"
|
||||
},
|
||||
{
|
||||
"key": "reputation_top_members_filters",
|
||||
"default": "*"
|
||||
},
|
||||
{
|
||||
"key": "reputation_top_members_overview",
|
||||
"default": "pp_reputation_points,member_posts"
|
||||
},
|
||||
{
|
||||
"key": "reviews_rating_out_of",
|
||||
"default": "5"
|
||||
@@ -835,6 +967,10 @@
|
||||
"key": "site_secret_key",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"key": "site_social_profiles",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"key": "sitemap_content_settings",
|
||||
"default": "{}"
|
||||
@@ -947,6 +1083,18 @@
|
||||
"key": "startpoll_cutoff",
|
||||
"default": "24"
|
||||
},
|
||||
{
|
||||
"key": "stats_keywords",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"key": "stats_keywords_prune",
|
||||
"default": "180"
|
||||
},
|
||||
{
|
||||
"key": "stats_online_users_prune",
|
||||
"default": "180"
|
||||
},
|
||||
{
|
||||
"key": "subs_autoprune",
|
||||
"default": "0"
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"profilesync":"P0Y0M0DT1H0M0S","updatecheck":"P0Y0M1DT0H0M0S","cleanup":"P0Y0M1DT0H0M0S","sitemapgenerator":"P0Y0M0DT0H15M0S","connect":"P0Y0M0DT1H0M0S","queue":"P0Y0M0DT0H1M0S","pop":"P0Y0M0DT0H10M0S","digest":"P0Y0M0DT0H10M0S","publish":"P0Y0M0DT0H10M0S","clearcache":"P0Y0M0DT0H10M0S","clearsessions":"P0Y0M0DT0H30M0S","viewupdates":"P0Y0M0DT0H5M0S","imageproxy":"P0Y0M0DT0H30M0S","cleanupattachments":"P0Y0M0DT12H0M0S","cleanupfiles":"P0Y0M1DT0H0M0S","grouppromote":"P0Y0M1DT0H0M0S","unlockmembers":"P0Y0M0DT1H0M0S","leaderboard":"P0Y0M0DT6H0M0S"}
|
||||
{"profilesync":"P0Y0M0DT1H0M0S","updatecheck":"P0Y0M1DT0H0M0S","cleanup":"P0Y0M1DT0H0M0S","sitemapgenerator":"P0Y0M0DT0H15M0S","connect":"P0Y0M0DT1H0M0S","queue":"P0Y0M0DT0H1M0S","pop":"P0Y0M0DT0H10M0S","digest":"P0Y0M0DT0H10M0S","publish":"P0Y0M0DT0H10M0S","clearcache":"P0Y0M0DT0H10M0S","clearsessions":"P0Y0M0DT0H30M0S","viewupdates":"P0Y0M0DT0H5M0S","imageproxy":"P0Y0M0DT0H30M0S","cleanupattachments":"P0Y0M0DT12H0M0S","cleanupfiles":"P0Y0M1DT0H0M0S","unlockmembers":"P0Y0M0DT1H0M0S","leaderboard":"P0Y0M0DT6H0M0S","deletecontent":"P0Y0M1DT0H0M0S","clubrebuild":"P0Y0M0DT0H20M0S","onlineusers":"P0Y0M0DT0H15M0S","promote":"P0Y0M0DT0H5M0S"}
|
||||
+10992
-3301
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -191,5 +191,26 @@
|
||||
"101096": "4.1.19.2",
|
||||
"101097": "4.1.19.2",
|
||||
"101098": "4.1.19.3",
|
||||
"101099": "4.1.19.4"
|
||||
"101099": "4.1.19.4",
|
||||
"101100": "4.2.0 Beta 1",
|
||||
"101101": "4.2.0 Beta 1",
|
||||
"101102": "4.2.0 Beta 1",
|
||||
"101103": "4.2.0 Beta 1",
|
||||
"101104": "4.2.0 Beta 2",
|
||||
"101105": "4.2.0 Beta 3",
|
||||
"101106": "4.2.0 Beta 3a",
|
||||
"101107": "4.2.0 Beta 4",
|
||||
"101108": "4.2.0 Beta 4",
|
||||
"101109": "4.2.0 Beta 5",
|
||||
"101110": "4.2.0 Beta 5a",
|
||||
"101111": "4.2.0 Beta 6",
|
||||
"101112": "4.2.0 Beta 6a",
|
||||
"101113": "4.2.0 Beta 6a",
|
||||
"101114": "4.2.0 Beta 7",
|
||||
"101115": "4.2.0 Beta 7a",
|
||||
"101116": "4.2.0 Beta 8",
|
||||
"101117": "4.2.0 Beta 8",
|
||||
"102000": "4.2.0",
|
||||
"102001": "4.2.0",
|
||||
"102002": "4.2.0"
|
||||
}
|
||||
@@ -68,5 +68,38 @@
|
||||
"allow_reuse": true,
|
||||
"menu_style": "modal",
|
||||
"embeddable": true
|
||||
},
|
||||
"guestSignUp": {
|
||||
"class": "\\IPS\\Widget\\StaticCache",
|
||||
"restrict": [
|
||||
"sidebar",
|
||||
"cms"
|
||||
],
|
||||
"default_area": "",
|
||||
"allow_reuse": false,
|
||||
"menu_style": "modal",
|
||||
"embeddable": true
|
||||
},
|
||||
"promoted": {
|
||||
"class": "\\IPS\\Widget\\PermissionCache",
|
||||
"restrict": [
|
||||
"sidebar",
|
||||
"cms"
|
||||
],
|
||||
"default_area": "",
|
||||
"allow_reuse": false,
|
||||
"menu_style": "menu",
|
||||
"embeddable": true
|
||||
},
|
||||
"clubs": {
|
||||
"class": "\\IPS\\Widget",
|
||||
"restrict": [
|
||||
"sidebar",
|
||||
"cms"
|
||||
],
|
||||
"default_area": "",
|
||||
"allow_reuse": true,
|
||||
"menu_style": "modal",
|
||||
"embeddable": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Build CKEditor for release
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 19 Apr 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\Build;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Build CodeMirror for release
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 21 Nov 2016
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\Build;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Community Enhancements: IPS GeoIP Service
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 19 Apr 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\CommunityEnhancements;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Community Enhancement: Google Maps
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 19 Apr 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\CommunityEnhancements;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Community Enhancements: SendGrid integration
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 17 October 2016
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\CommunityEnhancements;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Community Enhancements: Spam Monitoring Service
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 17 Apr 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\CommunityEnhancements;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Community Enhancements: Sparkpost integration
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 29 March 2016
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\CommunityEnhancements;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Community Enhancements: Viglink integration
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 20 June 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\CommunityEnhancements;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Contact Us extension
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since 29 Sep 2016
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\ContactUs;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Contact Us extension
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
{subpackage}
|
||||
* @since 29 Sep 2016
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\ContactUs;
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Content Router extension: Clubs
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
|
||||
* @since 26 Apr 2017
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\ContentRouter;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Content Router extension: Clubs
|
||||
*/
|
||||
class _Clubs
|
||||
{
|
||||
/**
|
||||
* @brief Content Item Classes
|
||||
*/
|
||||
public $classes = array();
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param \IPS\Member|IPS\Member\Group|NULL $member If checking access, the member/group to check for, or NULL to not check access
|
||||
* @return void
|
||||
*/
|
||||
public function __construct( $memberOrGroup = NULL )
|
||||
{
|
||||
if ( $memberOrGroup === NULL or $memberOrGroup->canAccessModule( \IPS\Application\Module::get( 'core', 'clubs', 'front' ) ) )
|
||||
{
|
||||
$this->embeddableContent[] = 'IPS\Member\Club';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Content Router extension: Status
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @subpackage Core
|
||||
* @since 24 Feb 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\ContentRouter;
|
||||
@@ -32,10 +31,10 @@ class _Status
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param \IPS\Member|NULL $member If checking access, the member to check for, or NULL to not check access
|
||||
* @param \IPS\Member|IPS\Member\Group|NULL $member If checking access, the member/group to check for, or NULL to not check access
|
||||
* @return void
|
||||
*/
|
||||
public function __construct( \IPS\Member $member = NULL )
|
||||
public function __construct( $member = NULL )
|
||||
{
|
||||
if ( \IPS\Settings::i()->profile_comments and ( $member === NULL or $member->canAccessModule( \IPS\Application\Module::get( 'core', 'status', 'front' ) ) ) )
|
||||
{
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Create Menu Extension : Announcement
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 23 Jun 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\CreateMenu;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Create Menu Extension : Status
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 21 Sep 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\CreateMenu;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Dashboard extension: Admin notes
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 23 Jul 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\Dashboard;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Dashboard extension: Users Awaiting Validation
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 13 Aug 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\Dashboard;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Dashboard extension: Background Queue Progress
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 27 May 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\Dashboard;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Dashboard extension: Failed Admin Logins
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 13 Aug 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\Dashboard;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Dashboard extension: Show a notice if there are failed IPS Connect communications
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 03 Dec 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\Dashboard;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Dashboard extension: Latest News
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 13 Aug 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\Dashboard;
|
||||
@@ -30,7 +29,7 @@ class _LatestNews
|
||||
*/
|
||||
public function canView()
|
||||
{
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -40,21 +39,7 @@ class _LatestNews
|
||||
*/
|
||||
public function getBlock()
|
||||
{
|
||||
$ipsNews = ( isset( \IPS\Data\Store::i()->ips_news ) ) ? json_decode( \IPS\Data\Store::i()->ips_news, TRUE ) : array();
|
||||
|
||||
if( empty( $ipsNews ) or $ipsNews['time'] < ( time() - 43200 ) )
|
||||
{
|
||||
try
|
||||
{
|
||||
$this->refreshNews();
|
||||
$ipsNews = ( isset( \IPS\Data\Store::i()->ips_news ) ) ? json_decode( \IPS\Data\Store::i()->ips_news, TRUE ) : array();
|
||||
}
|
||||
catch ( \IPS\Http\Exception $e ) {}
|
||||
catch( \IPS\Http\Request\Exception $e ) {}
|
||||
catch( \RuntimeException $e ) {}
|
||||
}
|
||||
|
||||
return \IPS\Theme::i()->getTemplate( 'dashboard' )->ipsNews( isset( $ipsNews['content'] ) ? $ipsNews['content'] : NULL );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -65,9 +50,6 @@ class _LatestNews
|
||||
*/
|
||||
protected function refreshNews()
|
||||
{
|
||||
\IPS\Data\Store::i()->ips_news = json_encode( array(
|
||||
'content' => \IPS\Http\Url::ips( 'news' )->request()->get()->decodeJson(),
|
||||
'time' => time()
|
||||
) );
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Dashboard extension: Current online admins
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 14 Jul 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\Dashboard;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Dashboard extension: Online Users
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 23 Jul 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\Dashboard;
|
||||
@@ -73,6 +72,13 @@ class _OnlineUsers
|
||||
}
|
||||
|
||||
/* Output */
|
||||
return \IPS\Theme::i()->getTemplate( 'dashboard' )->onlineUsers( $online, $chart->render( 'PieChart', array( 'backgroundColor' => '#fafafa', 'chartArea' => array( 'width' =>"90%", 'height' => "90%" ) ) ) );
|
||||
return \IPS\Theme::i()->getTemplate( 'dashboard' )->onlineUsers( $online, $chart->render( 'PieChart', array(
|
||||
'backgroundColor' => '#ffffff',
|
||||
'colors' => array( '#cc535f', '#d8624b', '#598acd', '#9a84d2', '#e4b555', '#8cb65e', '#44af94', '#4da5c8', '#acb2bb', '#676d76' ),
|
||||
'chartArea' => array(
|
||||
'width' =>"90%",
|
||||
'height' => "90%"
|
||||
)
|
||||
) ) );
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Dashboard extension: Registrations
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 23 Jul 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\Dashboard;
|
||||
@@ -108,8 +107,12 @@ class _Registrations
|
||||
/* Output */
|
||||
return \IPS\Theme::i()->getTemplate( 'dashboard' )->registrations( $chart->render( 'ColumnChart', array(
|
||||
'legend' => array( 'position' => 'none' ),
|
||||
'backgroundColor' => '#fafafa',
|
||||
'areaOpacity' => 0.4,
|
||||
'lineWidth' => 1,
|
||||
'backgroundColor' => '#ffffff',
|
||||
'colors' => array( '#10967e' ),
|
||||
'vAxis' => array( 'ticks' => $ticks ),
|
||||
'hAxis' => array( 'gridlines' => array( 'color' => '#f5f5f5' ) ),
|
||||
) ) );
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Editor Extension: Admin CP Settings, etc.
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 2 Aug 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\EditorLocations;
|
||||
@@ -37,7 +36,7 @@ class _Admin
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -147,6 +146,27 @@ class _Admin
|
||||
return $this->performRebuild( $offset, $max, array( 'IPS\Text\LegacyParser', 'parseStatic' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Store image proxy status ( true = enabled )
|
||||
*/
|
||||
protected $_imageProxyStatus = null;
|
||||
|
||||
/**
|
||||
* Rebuild content to add or remove image proxy
|
||||
*
|
||||
* @param int|null $offset Offset to start from
|
||||
* @param int|null $max Maximum to parse
|
||||
* @param bool $status Enable/Disable Image Proxy
|
||||
* @return int Number completed
|
||||
* @note This method is optional and will only be called if it exists
|
||||
*/
|
||||
public function rebuildImageProxy( $offset, $max, $status=TRUE )
|
||||
{
|
||||
$this->_imageProxyStatus = $status;
|
||||
|
||||
return $this->performRebuild( $offset, $max, 'parseImageProxy' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform rebuild - abstracted as the call for rebuildContent() and rebuildAttachmentImages() is nearly identical
|
||||
*
|
||||
@@ -165,7 +185,14 @@ class _Admin
|
||||
{
|
||||
try
|
||||
{
|
||||
$rebuilt = call_user_func( $callback, $word['word_custom'] );
|
||||
if( $callback == 'parseImageProxy' )
|
||||
{
|
||||
$rebuilt = \IPS\Text\Parser::parseImageProxy( $word['word_custom'], $this->_imageProxyStatus );
|
||||
}
|
||||
else
|
||||
{
|
||||
$rebuilt = call_user_func( $callback, $word['word_custom'] );
|
||||
}
|
||||
}
|
||||
catch( \InvalidArgumentException $e )
|
||||
{
|
||||
@@ -188,7 +215,14 @@ class _Admin
|
||||
/* Site offline message setting */
|
||||
try
|
||||
{
|
||||
$newMessage = call_user_func( $callback, \IPS\Settings::i()->site_offline_message );
|
||||
if( $callback == 'parseImageProxy' )
|
||||
{
|
||||
$newMessage = \IPS\Text\Parser::parseImageProxy( \IPS\Settings::i()->site_offline_message, $this->_imageProxyStatus );
|
||||
}
|
||||
else
|
||||
{
|
||||
$newMessage = call_user_func( $callback, \IPS\Settings::i()->site_offline_message );
|
||||
}
|
||||
}
|
||||
catch( \InvalidArgumentException $e )
|
||||
{
|
||||
@@ -213,7 +247,14 @@ class _Admin
|
||||
{
|
||||
try
|
||||
{
|
||||
$rebuilt = call_user_func( $callback, $application['app_disabled_message'] );
|
||||
if( $callback == 'parseImageProxy' )
|
||||
{
|
||||
$rebuilt = \IPS\Text\Parser::parseImageProxy( $application['app_disabled_message'], $this->_imageProxyStatus );
|
||||
}
|
||||
else
|
||||
{
|
||||
$rebuilt = call_user_func( $callback, $application['app_disabled_message'] );
|
||||
}
|
||||
}
|
||||
catch( \InvalidArgumentException $e )
|
||||
{
|
||||
@@ -240,7 +281,14 @@ class _Admin
|
||||
{
|
||||
try
|
||||
{
|
||||
$rebuilt = call_user_func( $callback, $mmod['topic_reply_content'] );
|
||||
if( $callback == 'parseImageProxy' )
|
||||
{
|
||||
$rebuilt = \IPS\Text\Parser::parseImageProxy( $mmod['topic_reply_content'], $this->_imageProxyStatus );
|
||||
}
|
||||
else
|
||||
{
|
||||
$rebuilt = call_user_func( $callback, $mmod['topic_reply_content'] );
|
||||
}
|
||||
}
|
||||
catch( \InvalidArgumentException $e )
|
||||
{
|
||||
@@ -272,7 +320,15 @@ class _Admin
|
||||
/* Update */
|
||||
try
|
||||
{
|
||||
$rebuilt = call_user_func( $callback, $mail['mail_content'] );
|
||||
if( $callback == 'parseImageProxy' )
|
||||
{
|
||||
$rebuilt = \IPS\Text\Parser::parseImageProxy( $mail['mail_content'], $this->_imageProxyStatus );
|
||||
}
|
||||
else
|
||||
{
|
||||
$rebuilt = call_user_func( $callback, $mail['mail_content'] );
|
||||
}
|
||||
|
||||
}
|
||||
catch( \InvalidArgumentException $e )
|
||||
{
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Editor Extension: Announcements
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 08 Dec 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\EditorLocations;
|
||||
@@ -32,7 +31,7 @@ class _Announcement
|
||||
*/
|
||||
public function canUseHtml( $member, $field )
|
||||
{
|
||||
return TRUE;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -102,6 +101,28 @@ class _Announcement
|
||||
return $this->performRebuild( $offset, $max, array( 'IPS\Text\LegacyParser', 'parseStatic' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Store image proxy status ( true = enabled )
|
||||
*/
|
||||
protected $_imageProxyStatus = null;
|
||||
|
||||
/**
|
||||
* Rebuild content to add or remove image proxy
|
||||
*
|
||||
* @param int|null $offset Offset to start from
|
||||
* @param int|null $max Maximum to parse
|
||||
* @param bool $status Enable/Disable Image Proxy
|
||||
* @return int Number completed
|
||||
* @note This method is optional and will only be called if it exists
|
||||
*/
|
||||
public function rebuildImageProxy( $offset, $max, $status=TRUE )
|
||||
{
|
||||
$this->_imageProxyStatus = $status;
|
||||
|
||||
return $this->performRebuild( $offset, $max, 'parseImageProxy' );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Perform rebuild - abstracted as the call for rebuildContent() and rebuildAttachmentImages() is nearly identical
|
||||
*
|
||||
@@ -121,7 +142,14 @@ class _Announcement
|
||||
/* Update */
|
||||
try
|
||||
{
|
||||
$rebuilt = call_user_func( $callback, $announcement['announce_content'], \IPS\Member::load( $announcement['announce_member_id'] ), FALSE, 'core_Announcement' );
|
||||
if( $callback == 'parseImageProxy' )
|
||||
{
|
||||
$rebuilt = \IPS\Text\Parser::parseImageProxy( $announcement['announce_content'], $this->_imageProxyStatus );
|
||||
}
|
||||
else
|
||||
{
|
||||
$rebuilt = call_user_func( $callback, $announcement['announce_content'], \IPS\Member::load( $announcement['announce_member_id'] ), FALSE, 'core_Announcement' );
|
||||
}
|
||||
}
|
||||
catch( \InvalidArgumentException $e )
|
||||
{
|
||||
|
||||
@@ -0,0 +1,228 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Editor Extension: Clubs
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
|
||||
* @since 03 Mar 2017
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\EditorLocations;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Editor Extension: Clubs
|
||||
*/
|
||||
class _Clubs
|
||||
{
|
||||
/**
|
||||
* Can we use HTML in this editor?
|
||||
*
|
||||
* @param \IPS\Member $member The member
|
||||
* @return bool|null NULL will cause the default value (based on the member's permissions) to be used, and is recommended in most cases. A boolean value will override that.
|
||||
*/
|
||||
public function canUseHtml( $member )
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Can we use attachments in this editor?
|
||||
*
|
||||
* @param \IPS\Member $member The member
|
||||
* @param \IPS\Helpers\Form\Editor $field The editor field
|
||||
* @return bool|null NULL will cause the default value (based on the member's permissions) to be used, and is recommended in most cases. A boolean value will override that.
|
||||
*/
|
||||
public function canAttach( $member, $field )
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Permission check for attachments
|
||||
*
|
||||
* @param \IPS\Member $member The member
|
||||
* @param int|null $id1 Primary ID
|
||||
* @param int|null $id2 Secondary ID
|
||||
* @param string|null $id3 Arbitrary data
|
||||
* @param array $attachment The attachment data
|
||||
* @return bool
|
||||
*/
|
||||
public function attachmentPermissionCheck( $member, $id1, $id2, $id3, $attachment )
|
||||
{
|
||||
try
|
||||
{
|
||||
$club = \IPS\Member\Club::load( $id1 );
|
||||
return $club->canView( $member );
|
||||
}
|
||||
catch ( \OutOfRangeException $e )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Attachment lookup
|
||||
*
|
||||
* @param int|null $id1 Primary ID
|
||||
* @param int|null $id2 Secondary ID
|
||||
* @param string|null $id3 Arbitrary data
|
||||
* @return \IPS\Http\Url|\IPS\Content|\IPS\Node\Model
|
||||
* @throws \LogicException
|
||||
*/
|
||||
public function attachmentLookup( $id1, $id2, $id3 )
|
||||
{
|
||||
return \IPS\Member\Club::load( $id1 )->url();
|
||||
}
|
||||
|
||||
/**
|
||||
* Rebuild attachment images in non-content item areas
|
||||
*
|
||||
* @param int|null $offset Offset to start from
|
||||
* @param int|null $max Maximum to parse
|
||||
* @return int Number completed
|
||||
* @note This method is optional and will only be called if it exists
|
||||
*/
|
||||
public function rebuildAttachmentImages( $offset, $max )
|
||||
{
|
||||
return $this->performRebuild( $offset, $max, array( 'IPS\Text\Parser', 'rebuildAttachmentUrls' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Rebuild content post-upgrade
|
||||
*
|
||||
* @param int|null $offset Offset to start from
|
||||
* @param int|null $max Maximum to parse
|
||||
* @return int Number completed
|
||||
* @note This method is optional and will only be called if it exists
|
||||
*/
|
||||
public function rebuildContent( $offset, $max )
|
||||
{
|
||||
return $this->performRebuild( $offset, $max, array( 'IPS\Text\LegacyParser', 'parseStatic' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Store image proxy status ( true = enabled )
|
||||
*/
|
||||
protected $_imageProxyStatus = null;
|
||||
|
||||
/**
|
||||
* Rebuild content to add or remove image proxy
|
||||
*
|
||||
* @param int|null $offset Offset to start from
|
||||
* @param int|null $max Maximum to parse
|
||||
* @param bool $status Enable/Disable Image Proxy
|
||||
* @return int Number completed
|
||||
* @note This method is optional and will only be called if it exists
|
||||
*/
|
||||
public function rebuildImageProxy( $offset, $max, $status=TRUE )
|
||||
{
|
||||
$this->_imageProxyStatus = $status;
|
||||
|
||||
return $this->performRebuild( $offset, $max, 'parseImageProxy' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform rebuild - abstracted as the call for rebuildContent() and rebuildAttachmentImages() is nearly identical
|
||||
*
|
||||
* @param int|null $offset Offset to start from
|
||||
* @param int|null $max Maximum to parse
|
||||
* @param callable $callback Method to call to rebuild content
|
||||
* @return int Number completed
|
||||
*/
|
||||
protected function performRebuild( $offset, $max, $callback )
|
||||
{
|
||||
$did = 0;
|
||||
|
||||
/* Get editor fields */
|
||||
$editorFields = array();
|
||||
|
||||
foreach( \IPS\Db::i()->select( '*', 'core_clubs_fields', "f_type='Editor'" ) as $field )
|
||||
{
|
||||
$editorFields[] = 'field_' . $field['f_id'];
|
||||
}
|
||||
|
||||
if( !count( $editorFields ) )
|
||||
{
|
||||
return $did;
|
||||
}
|
||||
|
||||
/* Now update the content */
|
||||
foreach( \IPS\Db::i()->select( '*', 'core_clubs_fieldvalues', implode( " IS NOT NULL OR ", $editorFields ) . " IS NOT NULL", 'club_id ASC', array( $offset, $max ) ) as $clubFieldValues )
|
||||
{
|
||||
$did++;
|
||||
|
||||
/* Update */
|
||||
$toUpdate = array();
|
||||
|
||||
foreach( $editorFields as $fieldId )
|
||||
{
|
||||
try
|
||||
{
|
||||
if( $callback == 'parseImageProxy' )
|
||||
{
|
||||
$rebuilt = \IPS\Text\Parser::parseImageProxy( $clubFieldValues[ $fieldId ], $this->_imageProxyStatus );
|
||||
}
|
||||
else
|
||||
{
|
||||
$rebuilt = call_user_func( $callback, $clubFieldValues[ $fieldId ] );
|
||||
}
|
||||
}
|
||||
catch( \InvalidArgumentException $e )
|
||||
{
|
||||
if( $callback[1] == 'parseStatic' AND $e->getcode() == 103014 )
|
||||
{
|
||||
$rebuilt = preg_replace( "#\[/?([^\]]+?)\]#", '', $clubFieldValues[ $fieldId ] );
|
||||
}
|
||||
else
|
||||
{
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
if( $rebuilt )
|
||||
{
|
||||
$toUpdate[ $fieldId ] = $rebuilt;
|
||||
}
|
||||
}
|
||||
|
||||
if( count( $toUpdate ) )
|
||||
{
|
||||
\IPS\Db::i()->update( 'core_clubs_fieldvalues', $toUpdate, array( 'club_id=?', $clubFieldValues['member_id'] ) );
|
||||
}
|
||||
}
|
||||
|
||||
return $did;
|
||||
}
|
||||
|
||||
/**
|
||||
* Total content count to be used in progress indicator
|
||||
*
|
||||
* @return int Total Count
|
||||
*/
|
||||
public function contentCount()
|
||||
{
|
||||
/* Get editor fields */
|
||||
$editorFields = array();
|
||||
|
||||
foreach( \IPS\Db::i()->select( '*', 'core_clubs_fields', "f_type='Editor'" ) as $field )
|
||||
{
|
||||
$editorFields[] = 'field_' . $field['f_id'];
|
||||
}
|
||||
|
||||
if( !count( $editorFields ) )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return \IPS\Db::i()->select( 'COUNT(*) as count', 'core_clubs_fieldvalues', implode( " IS NOT NULL OR ", $editorFields ) . " IS NOT NULL" )->first();
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Editor Extension: Contact Form
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 12 Nov 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\EditorLocations;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Editor Extension: CustomField
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 25 Apr 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\EditorLocations;
|
||||
@@ -33,16 +32,21 @@ class _CustomField
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Can we use attachments in this editor?
|
||||
*
|
||||
* @param \IPS\Member $member The member
|
||||
* @param \IPS\Helpers\Form\Editor $field The editor field
|
||||
* @param \IPS\Member $member The member
|
||||
* @param \IPS\Helpers\Form\Editor $editor The editor instance
|
||||
* @return bool|null NULL will cause the default value (based on the member's permissions) to be used, and is recommended in most cases. A boolean value will override that.
|
||||
*/
|
||||
public function canAttach( $member, $field )
|
||||
public function canAttach( $member, $editor )
|
||||
{
|
||||
if( !$editor->options['allowAttachments'] )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -100,6 +104,27 @@ class _CustomField
|
||||
return $this->performRebuild( $offset, $max, array( 'IPS\Text\LegacyParser', 'parseStatic' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Store image proxy status ( true = enabled )
|
||||
*/
|
||||
protected $_imageProxyStatus = null;
|
||||
|
||||
/**
|
||||
* Rebuild content to add or remove image proxy
|
||||
*
|
||||
* @param int|null $offset Offset to start from
|
||||
* @param int|null $max Maximum to parse
|
||||
* @param bool $status Enable/Disable Image Proxy
|
||||
* @return int Number completed
|
||||
* @note This method is optional and will only be called if it exists
|
||||
*/
|
||||
public function rebuildImageProxy( $offset, $max, $status=TRUE )
|
||||
{
|
||||
$this->_imageProxyStatus = $status;
|
||||
|
||||
return $this->performRebuild( $offset, $max, 'parseImageProxy' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform rebuild - abstracted as the call for rebuildContent() and rebuildAttachmentImages() is nearly identical
|
||||
*
|
||||
@@ -139,7 +164,11 @@ class _CustomField
|
||||
{
|
||||
try
|
||||
{
|
||||
if( $callback[1] == 'rebuildAttachmentUrls' )
|
||||
if( $callback == 'parseImageProxy' )
|
||||
{
|
||||
$rebuilt = \IPS\Text\Parser::parseImageProxy( $member[ $fieldId ], $this->_imageProxyStatus );
|
||||
}
|
||||
elseif( $callback[1] == 'rebuildAttachmentUrls' )
|
||||
{
|
||||
$rebuilt = \IPS\Text\Parser::rebuildAttachmentUrls( $member[ $fieldId ], \IPS\Member::load( $member['member_id'] ) );
|
||||
}
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Editor Extension: GuestSignupWidget
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
|
||||
* @since 27 Mar 2017
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\EditorLocations;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Editor Extension: GuestSignupWidget
|
||||
*/
|
||||
class _GuestSignupWidget
|
||||
{
|
||||
/**
|
||||
* Can we use HTML in this editor?
|
||||
*
|
||||
* @param \IPS\Member $member The member
|
||||
* @return bool|null NULL will cause the default value (based on the member's permissions) to be used, and is recommended in most cases. A boolean value will override that.
|
||||
*/
|
||||
public function canUseHtml( $member )
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Can we use attachments in this editor?
|
||||
*
|
||||
* @param \IPS\Member $member The member
|
||||
* @param \IPS\Helpers\Form\Editor $field The editor field
|
||||
* @return bool|null NULL will cause the default value (based on the member's permissions) to be used, and is recommended in most cases. A boolean value will override that.
|
||||
*/
|
||||
public function canAttach( $member, $field )
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Editor Extension: Status Reply
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 10 Feb 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\EditorLocations;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Editor Extension: Messenger
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 05 Jul 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\EditorLocations;
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Editor Extension: Meta
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
|
||||
* @since 27 Jan 2017
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\EditorLocations;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Editor Extension: Meta
|
||||
*/
|
||||
class _Meta
|
||||
{
|
||||
/**
|
||||
* Can we use HTML in this editor?
|
||||
*
|
||||
* @param \IPS\Member $member The member
|
||||
* @return bool|null NULL will cause the default value (based on the member's permissions) to be used, and is recommended in most cases. A boolean value will override that.
|
||||
*/
|
||||
public function canUseHtml( $member )
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Can we use attachments in this editor?
|
||||
*
|
||||
* @param \IPS\Member $member The member
|
||||
* @param \IPS\Helpers\Form\Editor $field The editor field
|
||||
* @return bool|null NULL will cause the default value (based on the member's permissions) to be used, and is recommended in most cases. A boolean value will override that.
|
||||
*/
|
||||
public function canAttach( $member, $field )
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Permission check for attachments
|
||||
*
|
||||
* @param \IPS\Member $member The member
|
||||
* @param int|null $id1 Primary ID
|
||||
* @param int|null $id2 Secondary ID
|
||||
* @param string|null $id3 Arbitrary data
|
||||
* @param array $attachment The attachment data
|
||||
* @return bool
|
||||
*/
|
||||
public function attachmentPermissionCheck( $member, $id1, $id2, $id3, $attachment )
|
||||
{
|
||||
$data = \IPS\Db::i()->select( '*', 'core_content_meta', array( "meta_id=? AND meta_type=?", $id1, $id3 ) )->first();
|
||||
|
||||
$item = $data['meta_class']::load( $data['meta_item_id'] );
|
||||
|
||||
if ( $item->container() )
|
||||
{
|
||||
if ( $item->container()->can( 'attachments', $member ) )
|
||||
{
|
||||
return $item->canView( $member );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return $item->canView( $member );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Attachment lookup
|
||||
*
|
||||
* @param int|null $id1 Primary ID
|
||||
* @param int|null $id2 Secondary ID
|
||||
* @param string|null $id3 Arbitrary data
|
||||
* @return \IPS\Http\Url|\IPS\Content|\IPS\Node\Model
|
||||
* @throws \LogicException
|
||||
*/
|
||||
public function attachmentLookup( $id1, $id2, $id3 )
|
||||
{
|
||||
$data = \IPS\Db::i()->select( '*', 'core_content_meta', array( "meta_id=? AND meta_type=?", $id1, $id3 ) )->first();
|
||||
return $data['meta_class']::load( $data['meta_item_id'] );
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Editor Extension: Mod CP
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 17 Jul 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\EditorLocations;
|
||||
@@ -110,6 +109,27 @@ class _Modcp
|
||||
return $this->performRebuild( $offset, $max, array( 'IPS\Text\Parser', 'rebuildAttachmentUrls' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Store image proxy status ( true = enabled )
|
||||
*/
|
||||
protected $_imageProxyStatus = null;
|
||||
|
||||
/**
|
||||
* Rebuild content to add or remove image proxy
|
||||
*
|
||||
* @param int|null $offset Offset to start from
|
||||
* @param int|null $max Maximum to parse
|
||||
* @param bool $status Enable/Disable Image Proxy
|
||||
* @return int Number completed
|
||||
* @note This method is optional and will only be called if it exists
|
||||
*/
|
||||
public function rebuildImageProxy( $offset, $max, $status=TRUE )
|
||||
{
|
||||
$this->_imageProxyStatus = $status;
|
||||
|
||||
return $this->performRebuild( $offset, $max, 'parseImageProxy' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform rebuild - abstracted as the call for rebuildContent() and rebuildAttachmentImages() is nearly identical
|
||||
*
|
||||
@@ -133,7 +153,11 @@ class _Modcp
|
||||
{
|
||||
try
|
||||
{
|
||||
if( $callback[1] == 'rebuildAttachmentUrls' )
|
||||
if( $callback == 'parseImageProxy' )
|
||||
{
|
||||
$update[ $k ] = \IPS\Text\Parser::parseImageProxy( $log[ $k ], $this->_imageProxyStatus );
|
||||
}
|
||||
elseif( $callback[1] == 'rebuildAttachmentUrls' )
|
||||
{
|
||||
$update[ $k ] = \IPS\Text\Parser::rebuildAttachmentUrls( $log[ $k ], \IPS\Member::load( $log['wl_moderator'] ) );
|
||||
}
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Editor Extension: ProfileSteps
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
|
||||
* @since 05 Apr 2017
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\EditorLocations;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Editor Extension: ProfileSteps
|
||||
*/
|
||||
class _ProfileSteps
|
||||
{
|
||||
/**
|
||||
* Can we use HTML in this editor?
|
||||
*
|
||||
* @param \IPS\Member $member The member
|
||||
* @return bool|null NULL will cause the default value (based on the member's permissions) to be used, and is recommended in most cases. A boolean value will override that.
|
||||
*/
|
||||
public function canUseHtml( $member )
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Can we use attachments in this editor?
|
||||
*
|
||||
* @param \IPS\Member $member The member
|
||||
* @param \IPS\Helpers\Form\Editor $field The editor field
|
||||
* @return bool|null NULL will cause the default value (based on the member's permissions) to be used, and is recommended in most cases. A boolean value will override that.
|
||||
*/
|
||||
public function canAttach( $member, $field )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Permission check for attachments
|
||||
*
|
||||
* @param \IPS\Member $member The member
|
||||
* @param int|null $id1 Primary ID
|
||||
* @param int|null $id2 Secondary ID
|
||||
* @param string|null $id3 Arbitrary data
|
||||
* @param array $attachment The attachment data
|
||||
* @return bool
|
||||
*/
|
||||
public function attachmentPermissionCheck( $member, $id1, $id2, $id3, $attachment )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Editor Extension: Reports
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Community Suite
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @since 15 Jul 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\EditorLocations;
|
||||
@@ -100,6 +99,27 @@ class _Reports
|
||||
return $this->performRebuild( $offset, $max, array( 'IPS\Text\Parser', 'rebuildAttachmentUrls' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Store image proxy status ( true = enabled )
|
||||
*/
|
||||
protected $_imageProxyStatus = null;
|
||||
|
||||
/**
|
||||
* Rebuild content to add or remove image proxy
|
||||
*
|
||||
* @param int|null $offset Offset to start from
|
||||
* @param int|null $max Maximum to parse
|
||||
* @param bool $status Enable/Disable Image Proxy
|
||||
* @return int Number completed
|
||||
* @note This method is optional and will only be called if it exists
|
||||
*/
|
||||
public function rebuildImageProxy( $offset, $max, $status=TRUE )
|
||||
{
|
||||
$this->_imageProxyStatus = $status;
|
||||
|
||||
return $this->performRebuild( $offset, $max, 'parseImageProxy' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform rebuild - abstracted as the call for rebuildContent() and rebuildAttachmentImages() is nearly identical
|
||||
*
|
||||
@@ -120,7 +140,11 @@ class _Reports
|
||||
|
||||
try
|
||||
{
|
||||
if( $callback[1] == 'rebuildAttachmentUrls' )
|
||||
if( $callback == 'parseImageProxy' )
|
||||
{
|
||||
$update['report'] = \IPS\Text\Parser::parseImageProxy( $report['report'], $this->_imageProxyStatus );
|
||||
}
|
||||
elseif( $callback[1] == 'rebuildAttachmentUrls' )
|
||||
{
|
||||
$update['report'] = \IPS\Text\Parser::rebuildAttachmentUrls( $report['report'], \IPS\Member::load( $report['report_by'] ) );
|
||||
}
|
||||
|
||||
Loaded 100 of 2074 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user