Version 4.2.0
No files matched your search
@@ -1,12 +1,12 @@
|
||||
IPS Community Suite
|
||||
Invision Community
|
||||
(c) Invision Power Services, Inc.
|
||||
|
||||
Invision Power Services, Inc. is grateful to the following projects, whose work
|
||||
has been used throughout the IPS Community Suite to add style, flair and functionality
|
||||
has been used throughout Invision Community to add style, flair and functionality
|
||||
to our product.
|
||||
|
||||
NULLING
|
||||
Last Updated: 04 May 2017
|
||||
Last Updated: 25 July 2017
|
||||
Author: IPBMafia.ru
|
||||
|
||||
AES implementation in PHP
|
||||
@@ -16,15 +16,14 @@ AES implementation in PHP
|
||||
Website: http://www.movable-type.co.uk/scripts/aes-php.html
|
||||
License: http://creativecommons.org/licenses/by/3.0/
|
||||
|
||||
Base64.js Polyfill
|
||||
Description: Polyfill for JS AtoB and BtoA methods in Chat
|
||||
Location: /applications/chat/interface/base64/base64.js
|
||||
Included version: 0.3.0
|
||||
Website: https://github.com/davidchambers/Base64.js
|
||||
License: http://www.apache.org/licenses/LICENSE-2.0
|
||||
BMDoHyeon font package
|
||||
Description: Provides unicode font files for Korean language
|
||||
Location: system/3rd_party/Fonts
|
||||
Website: http://font.woowahan.com/dohyeon/
|
||||
License: Open Font License
|
||||
|
||||
Buzz.js
|
||||
Description: HTML5 audio support for notifications & chat
|
||||
Description: HTML5 audio support for notifications
|
||||
Location: applications/core/interface/buzz
|
||||
Included version: 1.2
|
||||
Website: http://buzz.jaysalvat.com/
|
||||
@@ -33,30 +32,29 @@ Buzz.js
|
||||
CKEditor
|
||||
Description: Provides the editor functionality for submitting content.
|
||||
Location: In development: applications/core/dev/ckeditor (custom build with additional plugins and some code changes)
|
||||
Included version: 4.6.2
|
||||
Included version: 4.7.1
|
||||
Website: http://ckeditor.com
|
||||
License: http://www.gnu.org/copyleft/lesser.html
|
||||
|
||||
Codemirror (with C-like, CSS, HTMLMixed, JavaScript, PHP, SQL and XML modes and merge, search, and searchcursor addons)
|
||||
Description: Provides code editor for adding code to content, editing templates in the AdminCP, etc.
|
||||
Location: In development: applications/core/dev/codemirror
|
||||
Included version: 5.22.1
|
||||
Included version: 5.25.2
|
||||
Website: http://codemirror.net
|
||||
License: http://codemirror.net/LICENSE
|
||||
|
||||
Cropper
|
||||
Description: Provides cropping functionality for profile photos
|
||||
Location: applications/core/interface/cropper
|
||||
Included version: 0.8
|
||||
Included version: 3.0.0-rc
|
||||
Website: https://github.com/fengyuanchen/cropper
|
||||
License: http://opensource.org/licenses/MIT
|
||||
|
||||
Esrever
|
||||
Description: Unicode-aware string reversing, used in Chat
|
||||
Location: /applications/chat/interface/esrever/esrever.js
|
||||
Included version: 0.2.0
|
||||
Website: https://github.com/mathiasbynens/esrever
|
||||
License: http://opensource.org/licenses/MIT
|
||||
|
||||
Devices Icon Pack
|
||||
Description: Icon pack for representing different devices
|
||||
Location: In development: applications/core/dev/resources/front/devices
|
||||
Website: https://www.iconfinder.com/iconsets/devices-42
|
||||
License: Free for commercial use
|
||||
|
||||
FontAwesome
|
||||
Description: General icons for UI
|
||||
@@ -78,12 +76,19 @@ google-code-prettify
|
||||
License: http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
google-diff-mode-patch
|
||||
Description: @todo
|
||||
Location: @todo
|
||||
Description: Provides diff comparisons for CodeMirror
|
||||
Location: applications/core/interface/codemirror/diff_match_patch.js
|
||||
Included version: 19 November 2012
|
||||
Website: https://code.google.com/p/google-diff-match-patch/
|
||||
License: http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Hanazono Mincho font package
|
||||
Description: Provides unicode font files for CJK (Chinese, Japanese and Korean) languages
|
||||
Note: We only include HanMinA (a HanMinB file is also available with additional glyphs)
|
||||
Location: system/3rd_party/Fonts
|
||||
Website: http://fonts.jp/hanazono/
|
||||
License: Hanazono Font License or Open Font License
|
||||
|
||||
history.js
|
||||
Description: HTML5 history API, used extensively in controllers
|
||||
Location: /dev/js/library/jquery/jquery.history.js
|
||||
@@ -94,14 +99,14 @@ history.js
|
||||
HTML5shiv
|
||||
Description: Provides some HTML5 compatability for IE8
|
||||
Location: applications/core/interface/html5shiv/html5shiv.js
|
||||
Included version: 3.7.2
|
||||
Included version: 3.7.3
|
||||
Website: https://github.com/afarkas/html5shiv
|
||||
License: License: http://opensource.org/licenses/MIT
|
||||
|
||||
HTMLPurifier
|
||||
Description: Validates and cleans submitted HTML for content
|
||||
Location: system/3rd_party/HTMLPurifier
|
||||
Included version: 4.8.0
|
||||
Included version: 4.9.3
|
||||
Website: http://htmlpurifier.org
|
||||
License: http://www.gnu.org/copyleft/lesser.html
|
||||
|
||||
@@ -114,7 +119,7 @@ IcoMoon
|
||||
jQuery
|
||||
Description: JavaScript Library
|
||||
Location: In development: dev/js/library/jquery/jquery.js
|
||||
Included version: 1.12.4
|
||||
Included version: 2.2.4
|
||||
Website: http://jquery.com
|
||||
License: http://jquery.org/license
|
||||
|
||||
@@ -128,14 +133,14 @@ jQuery dotdotdot
|
||||
jquery.hoverintent.js
|
||||
Description: Hover library for jQuery used for main navigation
|
||||
Location: dev/js/library/jquery/jquery.hoverintent.js
|
||||
Included version: 1.8.0
|
||||
Included version: 1.8.1
|
||||
Website: http://cherne.net/brian/resources/jquery.hoverIntent.html
|
||||
License: http://opensource.org/licenses/MIT
|
||||
|
||||
jQuery imagesLoaded plugin
|
||||
Description: Plugin that can defer script execution until specified images have loaded
|
||||
Location: dev/js/library/jquery/jquery.imagesloaded.js
|
||||
Included version: 2.1.2 (3.x API isn't compatible with IPS4 at this time)
|
||||
Included version: 4.4.1
|
||||
Website: http://desandro.github.io/imagesloaded/
|
||||
License: http://opensource.org/licenses/MIT
|
||||
|
||||
@@ -167,10 +172,10 @@ jQuery.transform.js
|
||||
Website: https://github.com/louisremi/jquery.transform.js
|
||||
License: http://opensource.org/licenses/MIT
|
||||
|
||||
jQuery UI (core.js, widget.js, mouse.js, position.js, draggable.js, droppable.js, resizable.js, sortable.js, datepicker.js, progressbar.js)
|
||||
jQuery UI
|
||||
Description: Javascript library for drag+drop, resizing, date polyfill
|
||||
Location: applications/core/interface/jquery/jquery-ui.js
|
||||
Included version: 1.11.4
|
||||
Included version: 1.12.1
|
||||
Website: http://jqueryui.com
|
||||
License: http://jquery.org/license
|
||||
|
||||
@@ -184,7 +189,7 @@ jQuery UI TouchPunch
|
||||
JSColor
|
||||
Description: Color selector polyfill
|
||||
Location: applications/core/interface/jscolor
|
||||
Included version: 1.4.5 (2.x API isn't compatible with IPS4 at this time)
|
||||
Included version: 1.4.5 (2.x API isn't compatible at this time)
|
||||
Website: http://jscolor.com
|
||||
License: http://www.gnu.org/copyleft/lesser.html
|
||||
|
||||
@@ -202,19 +207,33 @@ jsTimezoneDetect
|
||||
Website: https://bitbucket.org/pellepim/jstimezonedetect
|
||||
License: http://www.opensource.org/licenses/mit-license.php
|
||||
|
||||
linkify
|
||||
Description: Provides link detection
|
||||
Location: dev/js/library/linkify
|
||||
Included version: 2.1.0
|
||||
Website: http://soapbox.github.io/linkifyjs/
|
||||
License: http://www.opensource.org/licenses/mit-license.php
|
||||
|
||||
Mustache.js
|
||||
Description: JS templating engine
|
||||
Location: dev/js/library/mustache/
|
||||
Included version: 2.2.1
|
||||
Included version: 2.3.0
|
||||
Website: http://github.com/janl/mustache.js
|
||||
License: http://opensource.org/licenses/MIT
|
||||
|
||||
Normalize.css
|
||||
Description: Sets base CSS styles for consistency across browsers
|
||||
Location: applications/core/dev/css/global/framework/normalize.css
|
||||
Included version: 3.0.2
|
||||
Included version: 6.0.0
|
||||
Website: http://necolas.github.io/normalize.css/
|
||||
License: http://opensource.org/licenses/MIT
|
||||
|
||||
Noto font package
|
||||
Description: Provides unicode font files for many of the world's languages
|
||||
Note: We do not include all of the font files available in the Noto package
|
||||
Location: system/3rd_party/Fonts
|
||||
Website: https://www.google.com/get/noto
|
||||
License: SIL OFL 1.1 (http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL)
|
||||
|
||||
parseUri
|
||||
Description: Used to parse URLs in JS
|
||||
@@ -235,7 +254,14 @@ PclZip
|
||||
Included version: 2.8.2
|
||||
Website: http://www.phpconcept.net/pclzip/
|
||||
License: http://www.gnu.org/copyleft/lesser.html
|
||||
|
||||
|
||||
phpass
|
||||
Description: Password strength calculator
|
||||
Location: system/3rd_party/phpass
|
||||
Included version: Aug 2012
|
||||
Website: https://github.com/rchouinard/phpass
|
||||
License: http://mit-license.org
|
||||
|
||||
PHP Diff Implementation
|
||||
Description: Computes difference between two strings, used to display differences between content revisions, themes, etc.
|
||||
Location: system/3rd_party/Diff
|
||||
@@ -257,10 +283,17 @@ phpQuery
|
||||
Website: https://code.google.com/p/phpquery
|
||||
License: http://opensource.org/licenses/mit-license.php
|
||||
|
||||
PHP User Agent Parser
|
||||
Description: Parses user agent strings
|
||||
Location: system/3rd_party/PhpUserAgent
|
||||
Included Version: 0.7.0
|
||||
Website: https://github.com/donatj/PhpUserAgent
|
||||
License: http://opensource.org/licenses/mit-license.php
|
||||
|
||||
Plupload
|
||||
Description: Facilitates uploading files
|
||||
Location: applications/core/interface/plupload
|
||||
Included version: 2.1.9
|
||||
Included version: 2.3.1
|
||||
Website: http://www.plupload.com
|
||||
License: http://www.plupload.com/license/plupload_commercial_oem.txt
|
||||
|
||||
@@ -285,14 +318,14 @@ Underscore.js
|
||||
Video.js
|
||||
Description: HTML5 video player for Gallery
|
||||
Location: applications/interface/videojs
|
||||
Included version: 4.12.15
|
||||
Included version: 5.19.2
|
||||
Website: http://www.videojs.com/
|
||||
License: https://github.com/videojs/video.js/blob/master/LICENSE
|
||||
|
||||
Whoops
|
||||
Description: Provides error handling for development mode
|
||||
Location: dev/Whoops
|
||||
Included Version: 2.1.4
|
||||
Included Version: 2.1.8
|
||||
Website: http://filp.github.io/whoops/
|
||||
License: https://github.com/filp/whoops/blob/master/LICENSE.md
|
||||
|
||||
@@ -306,12 +339,6 @@ world-flags-sprite
|
||||
XRegExp (with addons)
|
||||
Description: Advanced Regular Expression JS library, used in autolink editor plugin and search result highlighting
|
||||
Location: In development: dev/js/library/xregexp/xregexp-all.js
|
||||
Included Version: 3.1.1
|
||||
Included Version: 3.2.0
|
||||
Website: http://xregexp.com
|
||||
License: http://mit-license.org
|
||||
|
||||
phpass
|
||||
Description: Password strength calculator
|
||||
Location: system/3rd_party/Diff
|
||||
Website: https://github.com/rchouinard/phpass
|
||||
License: http://mit-license.org
|
||||
@@ -2,12 +2,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief UTF-8 Conversion
|
||||
* @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/
|
||||
* @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 IPS Tools
|
||||
* @since 4 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief UTF-8 Conversion
|
||||
* @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/
|
||||
* @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 IPS Tools
|
||||
* @since 4 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
|
||||
|
||||
@@ -1,23 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Init for UTF8 Conversion
|
||||
* @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 4 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8;
|
||||
|
||||
/**
|
||||
* Class to contain IPS Community Suite autoloader and exception handler
|
||||
* Class to contain Invision Community autoloader and exception handler
|
||||
*/
|
||||
class IPSUtf8
|
||||
{
|
||||
/**
|
||||
* Initiate IPS Community Suite UTF8 Converter, autoloader and exception handler
|
||||
* Initiate Invision Community UTF8 Converter, autoloader and exception handler
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* IPS UTF8 Converter
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
*
|
||||
* Author: Matt "I'm no Rikki Tissier" Mecham
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Web conversion process
|
||||
* @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 9 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8\modules\browser;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Web conversion process
|
||||
* @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 9 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8\modules\browser;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Web conversion process
|
||||
* @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 9 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8\modules\browser;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief CLI conversion process
|
||||
* @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 9 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8\modules\cli;
|
||||
|
||||
@@ -45,10 +45,7 @@
|
||||
</p>
|
||||
<h3>Getting Help</h3>
|
||||
<p>
|
||||
If you encounter any issues while using this converter, please report the issue to our <a href="https://invisionpower.com/4bugtrack/">bug tracker</a>. When creating a new
|
||||
bug report please copy and paste the "info" from the converter output.
|
||||
<br />
|
||||
Active IP.Board license holders can also request support via the <a href="https://invisionpower.com/clientarea">client center</a>.
|
||||
If you encounter any issues while using this converter, you can request support via the <a href="https://www.invisioncommunity.com/clientarea/">client center</a>.
|
||||
<br />
|
||||
If you're using the command line version, please run <code>php cli.php --info</code>. If you're using the web version, please click on the "Tools" button at the top. This information
|
||||
will help us debug the issue. No sensitive data is ever revealed with this tool.
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Archive table conversion module
|
||||
* @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/
|
||||
* @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 IPS Tools
|
||||
* @since 4 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8\Convert;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Conversion module
|
||||
* @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/
|
||||
* @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 IPS Tools
|
||||
* @since 4 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8;
|
||||
@@ -600,6 +599,12 @@ class Convert
|
||||
static::log( "Duplicate key failure on insert\n{$msg}\n" . var_export( $batch, true ) );
|
||||
return $this->heal( $limit, $convertCount );
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Anything else we should probably halt on */
|
||||
static::log( "Exception Thrown:\n{$msg}\n" . var_export( $e, true ) );
|
||||
throw new \RuntimeException( $msg );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1510,7 +1515,7 @@ class Convert
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether the database is IPS4 already
|
||||
* Returns whether the database is Invision Community already
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Binding Class for Prepared Statements
|
||||
* @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 IPSUtf8\Db;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Database 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 IPSUtf8;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Exception class for database errors
|
||||
* @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 IPSUtf8\Db;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Database SELECT Statement
|
||||
* @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 28 Aug 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8\Db;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Dispatcher (Web)
|
||||
* @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/
|
||||
* @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 IPS Tools
|
||||
* @since 4 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8\Dispatcher;
|
||||
@@ -22,7 +21,7 @@ class Browser extends \IPSUtf8\Dispatcher
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
/* Is this already IPS4 or has the lock been removed? */
|
||||
/* Is this already Invision Community or has the lock been removed? */
|
||||
if( ! \BYPASS_SAFETY_LOCK and \IPSUtf8\Convert::i()->databaseIsIPS4() )
|
||||
{
|
||||
\IPSUtf8\Output\Browser::i()->error( \IPSUtf8\Output\Browser\Template::errorAlreadyIPS4() );
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Dispatcher (CLI)
|
||||
* @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/
|
||||
* @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 IPS Tools
|
||||
* @since 4 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8\Dispatcher;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Abstract class that Controllers should extend
|
||||
* @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 IPSUtf8\Dispatcher;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Dispatcher
|
||||
* @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/
|
||||
* @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 IPS Tools
|
||||
* @since 4 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Output 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 9 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8\Output;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Template 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 9 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8\Output\Browser;
|
||||
@@ -23,8 +22,8 @@ class Template
|
||||
$url = \IPSUtf8\Output\Browser::$url;
|
||||
$title = ( empty( $title ) ) ? 'IPS Converter' : $title;
|
||||
$active = array( 'convert' => '', 'tools' => '', 'archive' => '' );
|
||||
$hasArchive = \IPSUtf8\Session::i()->has_archive;
|
||||
$controller = preg_replace( "/[^a-zA-Z0-9]/", '', empty( \IPSUtf8\Request::i()->controller ) ? 'browser' : \IPSUtf8\Request::i()->controller );
|
||||
$controller = empty( \IPSUtf8\Request::i()->controller ) ? 'browser' : \IPSUtf8\Request::i()->controller;
|
||||
$version = \IPSUtf8\Convert::VERSION_ID;
|
||||
$copyrightDate = date('Y');
|
||||
|
||||
@@ -182,13 +181,13 @@ EOFHTML;
|
||||
}
|
||||
|
||||
/**
|
||||
* Error page explaining about database being IPS4 already
|
||||
* Error page explaining about database being Invision Community already
|
||||
*/
|
||||
public static function errorAlreadyIPS4()
|
||||
{
|
||||
$html = <<<EOFHTML
|
||||
<p style="text-align:left">
|
||||
The target database is already IPS4. There is no conversion required and the UTF8 converter is locked.
|
||||
The target database is already running Invision Community. There is no conversion required and the UTF8 converter is locked.
|
||||
<br>To override this and unlock the UTF8 converter, please create a file called "constants.php" and upload it to your /admin/convertutf8/ directory with the following contents:
|
||||
</p>
|
||||
<p><textarea class="form-control" style="height:90px;"><?php
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Output 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 9 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8\Output;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Output 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 9 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Singleton Pattern
|
||||
* @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 IPSUtf8\Patterns;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief HTTP Request 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 IPSUtf8;
|
||||
@@ -180,9 +179,7 @@ class Request extends \IPSUtf8\Patterns\Singleton
|
||||
* Is this an SSL/Secure request?
|
||||
*
|
||||
* @return bool
|
||||
* @see <a href='http://community.invisionpower.com/resources/bugs.html/_/ip-board/ipboard-cant-detect-https-if-behind-an-ssl-terminating-load-balancer-r42909'>Load balancer SSL</a>
|
||||
* @note A common technique to check for SSL is to look for $_SERVER['SERVER_PORT'] == 443, however this is not a correct check. Nothing requires SSL to be on port 443, or http to be on port 80.
|
||||
* @see <a href='http://community.invisionpower.com/resources/bugs.html/_/ips-4-0/ipsrequestissecure-r45082'>Zeus load balancers set HTTP_SSLSESSIONID</a>
|
||||
*/
|
||||
public function isSecure()
|
||||
{
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Session 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
|
||||
* @since 6th Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Conversion module
|
||||
* @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/
|
||||
* @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 IPS Tools
|
||||
* @since 4 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8\Text;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Conversion module
|
||||
* @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/
|
||||
* @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 IPS Tools
|
||||
* @since 4 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8\Text\Module;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Conversion module
|
||||
* @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/
|
||||
* @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 IPS Tools
|
||||
* @since 4 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8\Text\Module;
|
||||
@@ -29,6 +28,15 @@ class Internal extends \IPSUtf8\Text\Charset
|
||||
{
|
||||
if ( static::needsConverting( $string, $from, $to ) === false )
|
||||
{
|
||||
/* Make sure it decodes properly - some characters such as £ can cause issues between windows-1250, windows-1252, and iso-8859-1 because they store them differently. @see http://php.net/manual/en/function.utf8-decode.php */
|
||||
if ( $to == 'UTF-8' )
|
||||
{
|
||||
if ( mb_substr_count( utf8_decode( $string ), '?' ) != mb_substr_count( $string, '?' ) )
|
||||
{
|
||||
$string = utf8_encode( $string );
|
||||
}
|
||||
}
|
||||
|
||||
return $string;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Conversion module
|
||||
* @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/
|
||||
* @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 IPS Tools
|
||||
* @since 4 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8\Text\Module;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Conversion module
|
||||
* @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/
|
||||
* @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 IPS Tools
|
||||
* @since 4 Sept 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPSUtf8\Text\Module;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Admin CP bootstrap
|
||||
* @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
|
||||
*/
|
||||
|
||||
define('READ_WRITE_SEPARATION', FALSE);
|
||||
|
||||
@@ -1 +1 @@
|
||||
=============================[NOTE]=============================
This software is Nulled!
Nulled by IPBMafia.ru
Buy license at https://www.invisionpower.com/buy/self-hosted
================================================================
IPS 4.1.19.3 Release (101098)
=============================[NOTE]=============================
Invision Power Services End User License Agreement
1. Acceptance
This software license agreement (the “Agreement”) is between you (either an individual or entity, hereinafter referred to as “You” or “Your”) and Invision Power Services, Inc. (“IPS”, “We”, “Our” or “Us”) and pertains to the IPS Community Suite software, its components, features, enhancements, updates and modifications (collectively the “Software” or “Suite”) and any related services (“Services”) provided by IPS under this Agreement.
By purchasing, downloading, accessing, installing, facilitating the installation or using the Software or Services (or allowing or authorizing any other person to do so) you are warranting that you have the authority provided by your state, country or jurisdiction to enter into a legally binding contract and that you have read and agree to be bound by the terms of this Agreement. You understand and acknowledge that this Agreement comprises the entire agreement between You and IPS. This Agreement supersedes any prior agreements, promises, representations or descriptions. If you do not agree with the terms and conditions set forth hereinafter, you may not purchase, download, access, install or use the Software or Services. This Agreement may only be modified in writing, signed by an officer of IPS and You.
2. License Scope and Grant
In consideration for payment of all applicable license fees and subject to the terms and conditions of this Agreement, IPS grants you a revocable, limited and non-exclusive license to install and use the Software and Services on a single installation, accessible via one URL. Access to services, components, software updates and technical support require an active license. All rights in and to the Software and Services are reserved to the use and benefit of IPS and/or its licensors, successors and assigners.
(a) Test Installation. You may install and test one additional instance of the Software for the purpose of development and testing. This installation must be and remain isolated and inaccessible to the general public at all times.
3. Restrictions
Your license to use the Software and Services is subject to the following terms, conditions and restrictions on use:
(a) You may alter and modify the Software’s source code for Your use, subject to this Agreement, however, you may not distribute, publish, resell, or otherwise share the Software or derivative works based on the Software without prior express written consent from IPS.
(b) You may not utilize the Software or Services to engage in, facilitate, or otherwise allow others to engage in any activity that violates any law or regulation or the terms and conditions within this Agreement.
(c) You are solely responsible for complying with all governmental regulations and policies. You agree to indemnify Us from any loss, action or damage arising from Your failure to use the Software in a manner inconsistent with applicable legislation.
(d) You may not remove any copyright or proprietary notices on or within the software’s source code at any time. A copyright removal license may be purchased to remove the public display of the Software’s publicly displayed copyright notice.
4. Intellectual Property
We have the sole and exclusive right to the Software which is being licensed, not sold, to you by IPS under the terms and conditions of this agreement. The Software is protected by copyright, trademark and other intellectual property laws. IPS reserves any rights not expressly granted herein.
5. Assignment
You may not rent, lease, sell, share or authorize or temporarily assign your rights to the license or this Agreement to another individual or entity except as expressly permitted herein.
(a) You may, after six months from the original purchase date, permanently transfer your licensing rights and interest in this Agreement to a third party, provided the license is active and in good standing. Any transfer and reassignment must occur via the mechanisms provided within the invisionpower.com client area and all applicable fees must be paid for the reassignment to be considered valid.
(b) You agree to provide this Agreement in its entirety to the assignee prior to reassignment and the assignee must agree to be bound to the terms of this Agreement.
(c) You acknowledge that account and non license specific materials and purchases, including, but not limited to: account credits and third party (“marketplace”) add-ons and purchases are non-transferrable under any circumstances.
(d) We reserve the right to refuse or reject reassignment at ourLine truncated
|
||||
=============================[NOTE]=============================
This software is Nulled!
Nulled by IPBMafia.ru
Buy license at https://www.invisionpower.com/buy/self-hosted
================================================================
IPS 4.2.0 Release (102002)
=============================[NOTE]=============================
Invision Community End User License Agreement
1. Acceptance
This software license agreement (the “Agreement”) is between you (either an individual or entity, hereinafter referred to as “You” or “Your”) and Invision Power Services, Inc. (“IPS”, “We”, “Our” or “Us”) and pertains to the Invision Community software, its components, features, enhancements, updates and modifications (collectively the “Software” or “Suite”) and any related services (“Services”) provided by IPS under this Agreement.
By purchasing, downloading, accessing, installing, facilitating the installation or using the Software or Services (or allowing or authorizing any other person to do so) you are warranting that you have the authority provided by your state, country or jurisdiction to enter into a legally binding contract and that you have read and agree to be bound by the terms of this Agreement. You understand and acknowledge that this Agreement comprises the entire agreement between You and IPS. This Agreement supersedes any prior agreements, promises, representations or descriptions. If you do not agree with the terms and conditions set forth hereinafter, you may not purchase, download, access, install or use the Software or Services. This Agreement may only be modified in writing, signed by an officer of IPS and You.
2. License Scope and Grant
In consideration for payment of all applicable license fees and subject to the terms and conditions of this Agreement, IPS grants you a revocable, limited and non-exclusive license to install and use the Software and Services on a single installation, accessible via one URL. Access to services, components, software updates and technical support require an active license. All rights in and to the Software and Services are reserved to the use and benefit of IPS and/or its licensors, successors and assigners.
(a) Test Installation. You may install and test one additional instance of the Software for the purpose of development and testing. This installation must be and remain isolated and inaccessible to the general public at all times.
3. Restrictions
Your license to use the Software and Services is subject to the following terms, conditions and restrictions on use:
(a) You may alter and modify the Software’s source code for Your use, subject to this Agreement, however, you may not distribute, publish, resell, or otherwise share the Software or derivative works based on the Software without prior express written consent from IPS.
(b) You may not utilize the Software or Services to engage in, facilitate, or otherwise allow others to engage in any activity that violates any law or regulation or the terms and conditions within this Agreement.
(c) You are solely responsible for complying with all governmental regulations and policies. You agree to indemnify Us from any loss, action or damage arising from Your failure to use the Software in a manner inconsistent with applicable legislation.
(d) You may not remove any copyright or proprietary notices on or within the software’s source code at any time. A copyright removal license may be purchased to remove the public display of the Software’s publicly displayed copyright notice.
4. Intellectual Property
We have the sole and exclusive right to the Software which is being licensed, not sold, to you by IPS under the terms and conditions of this agreement. The Software is protected by copyright, trademark and other intellectual property laws. IPS reserves any rights not expressly granted herein.
5. Assignment
You may not rent, lease, sell, share or authorize or temporarily assign your rights to the license or this Agreement to another individual or entity except as expressly permitted herein.
(a) You may, after six months from the original purchase date, permanently transfer your licensing rights and interest in this Agreement to a third party, provided the license is active and in good standing. Any transfer and reassignment must occur via the mechanisms provided within the invisioncommunity.com client area and all applicable fees must be paid for the reassignment to be considered valid.
(b) You agree to provide this Agreement in its entirety to the assignee prior to reassignment and the assignee must agree to be bound to the terms of this Agreement.
(c) You acknowledge that account and non license specific materials and purchases, including, but not limited to: account credits and third party (“marketplace”) add-ons and purchases are non-transferrable under any circumstances.
(d) We reserve the right to refuse or reject reassignment at our soleLine truncated
|
||||
@@ -70,7 +70,7 @@
|
||||
<a href='{expression="\IPS\Settings::i()->base_url"}' class='ipsButton ipsButton_large ipsButton_primary'>{lang="gotosuite"}</a>
|
||||
<a href='{expression="rtrim( \IPS\Settings::i()->base_url, '/' ) . '/' . \IPS\CP_DIRECTORY"}' class='ipsButton ipsButton_large ipsButton_normal'>{lang="gotoacp"}</a>
|
||||
<br><br>
|
||||
<a href='http://ipbmafia.ru/topic/15659-russkiy-yazyk-dlya-ips-community-suite-41161/' target="_blank" class='ipsButton ipsButton_large ipsButton_normal' style="background: red;">Russian lang pack</a>
|
||||
<a href='http://ipbmafia.ru/files/file/1848-russkiy-yazyk-dlya-invision-community-42/' target="_blank" class='ipsButton ipsButton_large ipsButton_normal' style="background: red;">Russian lang pack</a>
|
||||
<br><br>
|
||||
<a href="{expression="\IPS\Http\Url::ips('docs/docs')"}" target="_blank">{lang="docs_link"}</a>
|
||||
</div>
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Installer bootstrap
|
||||
* @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 Apr 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
define('READ_WRITE_SEPARATION', FALSE);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Error</title>
|
||||
<title>Setup in progress...</title>
|
||||
<style type='text/css'>
|
||||
body {
|
||||
background: #f9f9f9;
|
||||
@@ -49,15 +49,14 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id='error'>
|
||||
<h1>Maintenance in progress</h1>
|
||||
<h1>Install in progress</h1>
|
||||
<div id='content'>
|
||||
We're sorry, but this website is currently unavailable.
|
||||
We're sorry, this web site is unavailable while it is being set up.
|
||||
<br><br>
|
||||
You can try again by clicking the button below, or try again later.
|
||||
<br><br>
|
||||
<button onclick="window.location.reload();" id='reload_button'>Try again</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Nulled by IPBMafia.ru -->
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
$lang = array(
|
||||
|
||||
'installer' => "IPS Community Suite Installer - %s",
|
||||
'installer' => "Invision Community Installer - %s",
|
||||
'healthcheck' => "System Check",
|
||||
'install_step_1' => "Setting up database...",
|
||||
'install_step_2' => "Installing applications and modules...",
|
||||
@@ -23,8 +23,8 @@ $lang = array(
|
||||
'error_title' => "Error",
|
||||
'page_doesnt_exist' => "That page doesn't exist.",
|
||||
'err_installer_locked' => "The installer is locked.",
|
||||
'err_conf_noexist' => "In order to install the IPS Community Suite, rename the <em>conf_global.php.dist</em> file to <em>conf_global.php</em>. If you are not sure how to do this, contact your hosting provider.",
|
||||
'err_conf_nowrite' => "In order to install the IPS Community Suite, you must make the <em>conf_global.php</em> writeable. If you are not sure how to do this, contact your hosting provider.",
|
||||
'err_conf_noexist' => "In order to install Invision Community, rename the <em>conf_global.php.dist</em> file to <em>conf_global.php</em>. If you are not sure how to do this, contact your hosting provider.",
|
||||
'err_conf_nowrite' => "In order to install Invision Community, you must make the <em>conf_global.php</em> writeable. If you are not sure how to do this, contact your hosting provider.",
|
||||
'form_required' => "This field is required.",
|
||||
'form_email_bad' => "That is not a valid email address.",
|
||||
'form_password_confirm' => "The passwords do not match.",
|
||||
@@ -61,6 +61,7 @@ $lang = array(
|
||||
'requirements_extension_xmlwriter' => "XMLWriter",
|
||||
'requirements_extension_zip' => "Zip",
|
||||
'requirements_extension_phar' => "Phar",
|
||||
'requirements_missing_imagettfbbox' => "GD was not compiled with freetype support. You should contact your hosting provider or system administrator to request that PHP be recompiled with freetype support with the --with-freetype-dir=DIR option.",
|
||||
'requirements_memory_limit_success' => "%s memory limit.",
|
||||
'requirements_memory_limit_fail' => "Your PHP memory limit is set to %s but should be set to 128M or more. You should contact your hosting provider or system administrator to ask for this to be changed.",
|
||||
'requirements_suhosin_limit' => "PHP setting %s is set to %s. This can cause problems in some areas. We recommended a value of %s or above.",
|
||||
@@ -87,7 +88,7 @@ $lang = array(
|
||||
'license_generic_error' => "There was an error communicating with the IPS License Server. Please try again later or contact IPS technical support for assistance.",
|
||||
'license_server_error' => "There was an error communicating with the IPS License Server: %s. Please try again later or contact IPS technical support for assistance.",
|
||||
'license_key_not_found' => "The license key supplied is not valid. Please check the provided key and try again or contact IPS technical support for more assistance.",
|
||||
'license_key_legacy' => "The license key supplied is not compatible with this version of the IPS Community Suite. Please contact IPS technical support for assistance.",
|
||||
'license_key_legacy' => "The license key supplied is not compatible with this version of Invision Community. Please contact IPS technical support for assistance.",
|
||||
'license_key_active' => "An installation has already been activated for this license key. Your license key entitles you to one installation only. If you need to change the URL associated with your license, contact IPS technical support.",
|
||||
'license_key_test_active' => "A test installation has already been activated for this license key. Your license key entitles you to one test installation only.",
|
||||
'eula' => "License Agreement",
|
||||
@@ -125,10 +126,10 @@ $lang = array(
|
||||
'err_no_utf8mb4' => "4-Byte UTF-8 Encoding is only available in MySQL 5.5.3 and above. You can uncheck that option to continue (it can be changed later), or contact your hosting provider or server administrator to upgrade your version of MySQL.",
|
||||
'http_server' => "Web Server Details",
|
||||
'base_url' => "Site URL",
|
||||
'err_db_exists' => "There is already an IPS Community Suite installation in that database. Choose a different database or use a table prefix.",
|
||||
'err_db_exists' => "There is already an Invision Community installation in that database. Choose a different database or use a table prefix.",
|
||||
'err_db_cant_create' => "The Database does not exist and cannot be created automatically. Please create the database manually or contact your hosting provider if you are unsure how to do this.",
|
||||
'diagnostics_reporting' => "Send diagnostics data to IPS?",
|
||||
'diagnostics_reporting_desc' => "This distribution is nulled and this setting does not work. Help IPS Community Suite improve by automatically sending usage and diagnostic information. The data sent does not contain any private information about your users or your community.",
|
||||
'diagnostics_reporting_desc' => "This distribution is nulled and this setting does not work. Help Invision Community improve by automatically sending usage and diagnostic information. The data sent does not contain any private information about your users or your community.",
|
||||
|
||||
'conf_global_error' => "",
|
||||
|
||||
@@ -162,21 +163,21 @@ $lang = array(
|
||||
'start_installation' => "Start Installation",
|
||||
'requirements' => "%s Requirements",
|
||||
'recommendations' => "Recommendations",
|
||||
'recom_info' => "None of these items are required in order to continue with the installation right now. However, they will be required in a future version of IPS Community Suite. You should make a note of them and contact your hosting provider or system administrator after the installation to address them. You can re-run these checks later from the <em>Support</em> section of the Administrator Control Panel.",
|
||||
'recom_info' => "None of these items are required in order to continue with the installation right now. However, they will be required in a future version of Invision Community. You should make a note of them and contact your hosting provider or system administrator after the installation to address them. You can re-run these checks later from the <em>Support</em> section of the Administrator Control Panel.",
|
||||
|
||||
'proceed_anyways' => "You must correct any issues listed above before you can proceed",
|
||||
'confglobal_777' => "Please CHMOD to conf_global.php 0777.",
|
||||
'confglobal_write' => "Copy and paste the contents of the box above into this new file and CHMOD to 0777.",
|
||||
'confglobal_make' => "Cannot write the '%s/conf_global.php' file",
|
||||
'confglobal_note' => "Please create a file in %s called conf_global.php.",
|
||||
'banner' => "Install IPS Community Suite 4",
|
||||
'banner' => "Install Invision Community 4",
|
||||
'step_s' => "Step: %s",
|
||||
'done_banner' => "Your IPS Community Suite 4 is ready",
|
||||
'done_note' => "The installation process is now complete and your IPS Community Suite is now ready!",
|
||||
'done_banner' => "Your Invision Community 4 is ready",
|
||||
'done_note' => "The installation process is now complete and your Invision Community is now ready!",
|
||||
'gotosuite' => "Go to the suite",
|
||||
'gotoacp' => "Go to the AdminCP",
|
||||
'docs_link' => "Suite Documentation",
|
||||
'welcome_banner' => "Welcome to IPS Community Suite 4",
|
||||
'welcome_banner' => "Welcome to Invision Community 4",
|
||||
'admin' => "Admin",
|
||||
'beforestart' => "Before we can begin, please rename conf_global.dist.php to conf_global.php in %s and ensure it is writable (usually CHMOD 0777).",
|
||||
'beforestarto' => "This process will install your software for you. Be sure you have your license key and MySQL database details to hand.",
|
||||
|
||||
|
After Width: | Height: | Size: 9.9 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 5.3 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
@@ -9,8 +9,8 @@
|
||||
{{endif}}
|
||||
</div>
|
||||
{{if $retryUrl}}
|
||||
<a href="$retryUrl" class='ipsButton'>{lang="retry"}</a>
|
||||
<a href="$retryUrl" class='ipsButton' data-action="redirectContinue">{lang="retry"}</a>
|
||||
{{endif}}
|
||||
{{if $showContinueUrl}}
|
||||
<a href="$showContinueUrl" class='ipsButton'>{lang="continue"}</a>
|
||||
<a href="$showContinueUrl" class='ipsButton' data-action="redirectContinue">{lang="continue"}</a>
|
||||
{{endif}}
|
||||
@@ -77,7 +77,7 @@
|
||||
<a href='{expression="\IPS\Settings::i()->base_url"}' class='ipsButton ipsButton_large ipsButton_primary'>{lang="go_to_suite"}</a>
|
||||
<a href='{expression="rtrim( \IPS\Settings::i()->base_url, '/' ) . '/' . \IPS\CP_DIRECTORY"}' class='ipsButton ipsButton_large ipsButton_normal'>{lang="go_to_acp"}</a>
|
||||
<br><br>
|
||||
<a href='http://ipbmafia.ru/topic/15659-russkiy-yazyk-dlya-ips-community-suite-41161/' target="_blank" class='ipsButton ipsButton_large ipsButton_normal' style="background: red;">Russian lang pack</a>
|
||||
<a href='http://ipbmafia.ru/files/file/1848-russkiy-yazyk-dlya-invision-community-42/' target="_blank" class='ipsButton ipsButton_large ipsButton_normal' style="background: red;">Russian lang pack</a>
|
||||
<br><br>
|
||||
<a href="{expression="\IPS\Http\Url::ips('docs/docs')"}" target="_blank">{lang="suite_docs"}</a>
|
||||
</div>
|
||||
@@ -99,8 +99,8 @@
|
||||
<a href="{expression="\IPS\Http\Url::ips('docs/install_guide')"}" target="_blank">{lang="install_docs"}</a>
|
||||
</div>
|
||||
{{endif}}
|
||||
<p style="text-align: right; margin:10px">Nulled by IPBMafia.ru</p>
|
||||
</main>
|
||||
<p style="text-align: right; margin:10px">Nulled by IPBMafia.ru</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -21,8 +21,8 @@
|
||||
{{endif}}
|
||||
</div>
|
||||
{{if $retryUrl}}
|
||||
<a href="$retryUrl" class='ipsButton'>{lang="retry"}</a>
|
||||
<a href="$retryUrl" class='ipsButton' data-action="redirectContinue">{lang="retry"}</a>
|
||||
{{endif}}
|
||||
{{if $showContinueUrl}}
|
||||
<a href="$showContinueUrl" class='ipsButton'>{lang="continue"}</a>
|
||||
<a href="$showContinueUrl" class='ipsButton' data-action="redirectContinue">{lang="continue"}</a>
|
||||
{{endif}}
|
||||
@@ -1,16 +1,18 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Upgrader bootstrap
|
||||
* @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 May 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
define('READ_WRITE_SEPARATION', FALSE);
|
||||
|
||||
/* Prevent hooks from running during the upgrade */
|
||||
define('RECOVERY_MODE', TRUE);
|
||||
|
||||
require_once '../../init.php';
|
||||
|
||||
if( \IPS\IN_DEV )
|
||||
|
||||
@@ -20,7 +20,7 @@ $lang = array(
|
||||
'upgrade_step_8' => "Removing old theme templates, css and images...",
|
||||
'upgrade_step_9' => "Upgrading theme templates, css and images...",
|
||||
'upgrade_step_10' => "Upgrading javascript...",
|
||||
'upgrade_complete' => "The upgrade process is now complete and your IPS Community Suite is now ready!",
|
||||
'upgrade_complete' => "The upgrade process is now complete and your Invision Community is now ready!",
|
||||
'upgrade_unfinished' => "Unfinished Upgrade",
|
||||
'upgrade_applications' => "Upgrading Applications",
|
||||
'upgrade_status' => "Upgrade Status",
|
||||
@@ -93,6 +93,7 @@ $lang = array(
|
||||
'requirements_extension_xmlwriter' => "XMLWriter",
|
||||
'requirements_extension_zip' => "Zip",
|
||||
'requirements_extension_phar' => "Phar",
|
||||
'requirements_missing_imagettfbbox' => "GD was not compiled with freetype support. You should contact your hosting provider or system administrator to request that PHP be recompiled with freetype support with the --with-freetype-dir=DIR option.",
|
||||
'requirements_memory_limit_success' => "%s memory limit.",
|
||||
'requirements_memory_limit_fail' => "Your PHP memory limit is set to %s but should be set to 128M or more. You should contact your hosting provider or system administrator to ask for this to be changed.",
|
||||
'requirements_suhosin_limit' => "PHP setting %s is set to %s. This can cause problems in some areas. We recommended a value of %s or above.",
|
||||
@@ -126,7 +127,7 @@ $lang = array(
|
||||
'license_key_not_found' => "The license key could not be found",
|
||||
'license_generic_error' => "There was an error communicating with the IPS License Server. Please try again later or contact IPS technical support for assistance.",
|
||||
'license_server_error' => "There was an error communicating with the IPS License Server: %s. Please try again later or contact IPS technical support for assistance.",
|
||||
'license_key_legacy' => "The license key supplied is not compatible with this version of the IPS Community Suite. Please contact IPS technical support for assistance.",
|
||||
'license_key_legacy' => "The license key supplied is not compatible with this version of Invision Community. Please contact IPS technical support for assistance.",
|
||||
'license_key_active' => "An installation has already been activated for this license key. Your license key entitles you to one installation only. If you need to change the URL associated with your license, contact IPS technical support.",
|
||||
'license_key_test_active' => "A test installation has already been activated for this license key. Your license key entitles you to one test installation only.",
|
||||
|
||||
@@ -143,7 +144,6 @@ $lang = array(
|
||||
'blog' => "Blog",
|
||||
'nexus' => "Nexus",
|
||||
'gallery' => "Gallery",
|
||||
'chat' => "Chat",
|
||||
'downloads' => "Downloads",
|
||||
'calendar' => "Calendar",
|
||||
|
||||
@@ -151,14 +151,14 @@ $lang = array(
|
||||
'continue_anyway' => "Continue Anyway",
|
||||
'go_back' => "Go Back",
|
||||
|
||||
'installer' => "IPS Community Suite Installer - %s",
|
||||
'installer' => "Invision Community Installer - %s",
|
||||
|
||||
'error' => "Error",
|
||||
'page_doesnt_exist' => "That page doesn't exist.",
|
||||
'upgrade_session_error' => "The security token used to validate your session is missing or invalid. This can happen if you have been inactive for a long time or followed an incorrect link to the upgrader. Please restart the upgrader to resolve this issue.",
|
||||
|
||||
'err_conf_noexist' => "In order to install the IPS Community Suite, rename the <em>conf_global.php.dist</em> file to <em>conf_global.php</em>. If you are not sure how to do this, contact your hosting provider.",
|
||||
'err_conf_nowrite' => "In order to install the IPS Community Suite, you must make the <em>conf_global.php</em> writeable. If you are not sure how to do this, contact your hosting provider.",
|
||||
'err_conf_noexist' => "In order to install Invision Community, rename the <em>conf_global.php.dist</em> file to <em>conf_global.php</em>. If you are not sure how to do this, contact your hosting provider.",
|
||||
'err_conf_nowrite' => "In order to install Invision Community, you must make the <em>conf_global.php</em> writeable. If you are not sure how to do this, contact your hosting provider.",
|
||||
'err_tmp_dir_create' => "Your server does not allow temporary files to be created in the configured temporary directory. To work around this issue please create a file named constants.php at %s with the following code in it:<br><br><span><?php<br><br>define( 'TEMP_DIRECTORY', dirname( __FILE__ ) . '/uploads' );</span>",
|
||||
'err_tmp_dir_adjust' => "Your server does not allow temporary files to be created in the configured temporary directory. To work around this issue please edit the file named constants.php at %s and add following code to it:<br><br><span>define( 'TEMP_DIRECTORY', dirname( __FILE__ ) . '/uploads' );</span>",
|
||||
'err_missing_app_data' => "An application's data file is missing: %s",
|
||||
@@ -170,7 +170,7 @@ $lang = array(
|
||||
'install_guide' => "Need help? Consult the Installation Guide →",
|
||||
|
||||
'license' => "License",
|
||||
'license_inactive' => 'Your license is currently inactive. You will need to <a href="https://www.invisionpower.com/clientarea" target="_blank">renew</a> before you can upgrade.',
|
||||
'license_inactive' => 'Your license is currently inactive. You will need to <a href="{external.renew_my_license}" target="_blank">renew</a> before you can upgrade.',
|
||||
'lkey' => "License Key",
|
||||
'lkey_help' => "Help",
|
||||
'lkey_err' => "The license key could not be activated. Please contact technical support for further assistance.",
|
||||
@@ -474,7 +474,7 @@ $lang = array(
|
||||
'40000_nexus_staff' => "Support Staff",
|
||||
'40000_nexus_staff_desc' => "Support staff cannot be converted during the upgrade. Please log in and set up support staff as administrators in the admin control panel after the upgrade and then review support department staff settings.",
|
||||
'40000_nexus_modules' => "Custom Modules",
|
||||
'40000_nexus_modules_desc' => "Custom code to run when packages are purchased, etc. cannot be converted during the upgrade. <a href='https://remoteservices.invisionpower.com/docs/devdocs-commerce-actions' target='_blank'>More information</a>",
|
||||
'40000_nexus_modules_desc' => "Custom code to run when packages are purchased, etc. cannot be converted during the upgrade. <a href='{external.devdocs-commerce-actions}' target='_blank'>More information</a>",
|
||||
|
||||
/* ! 40000 Forum Upgrade options */
|
||||
'40000_qa_forum' => "Question and Answer Forums",
|
||||
@@ -502,11 +502,11 @@ $lang = array(
|
||||
'100003_follow_options' => "Convert friends to followers?",
|
||||
'100003_no_convert' => "Don't convert",
|
||||
'100003_convert' => "Convert",
|
||||
'100003_convert_desc' => "In this version of IPS Community Suite, members can no longer add other members as friends. However members can follow other members and receive notifications when the members they are following post. You can convert friends to followers, so any members who are friends with another member will now be following them, however this will mean they will start receiving notifications which may be undesired. It is recommended you do not convert.",
|
||||
'100003_convert_desc' => "In this version of Invision Community, members can no longer add other members as friends. However members can follow other members and receive notifications when the members they are following post. You can convert friends to followers, so any members who are friends with another member will now be following them, however this will mean they will start receiving notifications which may be undesired. It is recommended you do not convert.",
|
||||
|
||||
/* ! 101000 revert globalTemplate */
|
||||
'101000_globalTemplate_revert' => "Revert custom themes which contain out of date globalTemplate templates?",
|
||||
'101000_globalTemplate_revert_desc' => "In IPS Community Suite 4.1, the template 'utilitiesMenu' has been removed. This is used within the globalTemplate. After upgrading, you may see a message about the theme being out of date if you do not revert.<br><strong>Reverting templates will lose any customizations</strong>",
|
||||
'101000_globalTemplate_revert_desc' => "In Invision Community 4.1, the template 'utilitiesMenu' has been removed. This is used within the globalTemplate. After upgrading, you may see a message about the theme being out of date if you do not revert.<br><strong>Reverting templates will lose any customizations</strong>",
|
||||
'101000_yes' => "Yes, revert losing customiztions",
|
||||
'101000_no' => "No, I will manually adjust the templates after upgrading",
|
||||
|
||||
@@ -514,46 +514,47 @@ $lang = array(
|
||||
'40000_cms_htmlconversion' => "Pages HTML",
|
||||
'40000_cms_htmlconversion_desc' => "HTML in pages, blocks and templates in Pages cannot be converted during the upgrade. While those pages and blocks will continue to work, you may wish to adjust the HTML following the upgrade to integrate the styling used by the Community Suite 4.0.",
|
||||
|
||||
'third_party_stuff_disabled' => "You have some third party applications or plugins installed which can potentially cause problems during or after upgrading and have been disabled.",
|
||||
'third_party_stuff_disabled_apps' => "The following third party applications were disabled:",
|
||||
'third_party_stuff_disabled_plugins'=> "The following third party plugins were disabled:",
|
||||
'third_party_stuff_disabled_end' => "After upgrading you can visit the AdminCP to individually enable the applications and plugins one at a time and verify they work correctly.",
|
||||
'101000_disable_3rdparty' => "Disabled Applications & Plugins",
|
||||
|
||||
'no_apps_upgrade' => 'There are no applications available to upgrade',
|
||||
'exit_upgrader' => "Exit upgrader",
|
||||
'retry' => "Retry?",
|
||||
'convert_charset' => "Convert character set",
|
||||
'convert_charset_info' => "Your community suite data or database configuration is saved in an encoding other than UTF-8. Before your site can be upgraded, we must convert the encoding to UTF-8.",
|
||||
'start_upgrade' => "Start Upgrade",
|
||||
'continue_upgrade' => "Continue Upgrade",
|
||||
'start_fresh_upgrade' => "Start Fresh Upgrade",
|
||||
'continue_not_set' => "Not set",
|
||||
'unfinished_upgrade_info' => "You have an unfinished upgrade from %s",
|
||||
'hc_designers_mode' => "Designers' Mode On",
|
||||
'hc_designers_enabled' => "Designers' Mode is currently enabled.",
|
||||
'hc_disable_designers' => "Disable Designers' Mode now",
|
||||
'hc_designers_dis_info' => "Disabling Designers' Mode now will <strong>not</strong> synchronize your templates.<br>If you need to save your edited files, please synchronize them via the ACP > Customization > Themes before disabling Designer's Mode.",
|
||||
'hc_requirements' => "%s Requirements",
|
||||
'hc_recommendations' => "Recommendations",
|
||||
'hc_recommendations_info' => "None of these items are required in order to continue with the upgrade right now. However, they will be required in a future version of IPS Community Suite. You should make a note of them and contact your hosting provider or system administrator after the upgrade to address them. You can re-run these checks later from the <em>Support</em> section of the Administrator Control Panel.",
|
||||
'hc_no_continue' => "You must correct any issues listed above before you can proceed",
|
||||
'upgrader_banner' => "Upgrade IPS Community Suite 4",
|
||||
'upgradeoptions' => 'Upgrade Options',
|
||||
'done_banner' => "Your IPS Community Suite 4 is ready",
|
||||
'go_to_suite' => "Go to the suite",
|
||||
'go_to_acp' => "Go to the AdminCP",
|
||||
'suite_docs' => "Suite Documentation",
|
||||
'start_banner' => "Welcome to IPS Community Suite 4",
|
||||
'start_info' => "This process will install your software for you. Be sure you have your license key and MySQL database details to hand.",
|
||||
'install_docs' => "Install Guide",
|
||||
'js_confirm_mrerror' => 'The server encountered multiple instances where it has stopped responding.\nPress \'OK\' to reload this page and re-run this installation step.',
|
||||
|
||||
|
||||
'diagnostics_reporting' => "Send diagnostics data to IPS?",
|
||||
'diagnostics_reporting_desc' => "This distribution is nulled and this setting does not work. Help IPS Community Suite improve by automatically sending usage and diagnostic information. The data sent does not contain any private information about your users or your community.",
|
||||
'third_party_stuff_disabled' => "You have some third party applications or plugins installed which can potentially cause problems during or after upgrading and have been disabled.",
|
||||
'third_party_stuff_disabled_apps' => "The following third party applications were disabled:",
|
||||
'third_party_stuff_disabled_plugins'=> "The following third party plugins were disabled:",
|
||||
'third_party_stuff_disabled_end' => "After upgrading you can visit the AdminCP to individually enable the applications and plugins one at a time and verify they work correctly.",
|
||||
'101000_disable_3rdparty' => "Disabled Applications & Plugins",
|
||||
|
||||
/* ! Core 101079 Diagnostic reporting option */
|
||||
'101079_diagnostics_reporting' => "Send diagnostics data to IPS?",
|
||||
'101079_diagnostics_reporting_desc' => "This distribution is nulled and this setting does not work. Help Invision Community improve by automatically sending usage and diagnostic information. The data sent does not contain any private information about your users or your community.",
|
||||
|
||||
/* ! Core 102000 Letter photo option */
|
||||
'options_letter_photos' => "Enable letter photos?",
|
||||
'options_letter_photos_desc' => "Do you wish to start using automatic letter photos instead of the default theme profile photo for users who have not uploaded a profile photo?",
|
||||
|
||||
'no_apps_upgrade' => 'There are no applications available to upgrade',
|
||||
'exit_upgrader' => "Exit upgrader",
|
||||
'retry' => "Retry?",
|
||||
'convert_charset' => "Convert character set",
|
||||
'convert_charset_info' => "Your community suite data or database configuration is saved in an encoding other than UTF-8. Before your site can be upgraded, we must convert the encoding to UTF-8.",
|
||||
'start_upgrade' => "Start Upgrade",
|
||||
'continue_upgrade' => "Continue Upgrade",
|
||||
'start_fresh_upgrade' => "Start Fresh Upgrade",
|
||||
'continue_not_set' => "Not set",
|
||||
'unfinished_upgrade_info' => "You have an unfinished upgrade from %s",
|
||||
'hc_designers_mode' => "Designers' Mode On",
|
||||
'hc_designers_enabled' => "Designers' Mode is currently enabled.",
|
||||
'hc_disable_designers' => "Disable Designers' Mode now",
|
||||
'hc_designers_dis_info' => "Disabling Designers' Mode now will <strong>not</strong> synchronize your templates.<br>If you need to save your edited files, please synchronize them via the ACP > Customization > Themes before disabling Designer's Mode.",
|
||||
'hc_requirements' => "%s Requirements",
|
||||
'hc_recommendations' => "Recommendations",
|
||||
'hc_recommendations_info' => "None of these items are required in order to continue with the upgrade right now. However, they will be required in a future version of Invision Community. You should make a note of them and contact your hosting provider or system administrator after the upgrade to address them. You can re-run these checks later from the <em>Support</em> section of the Administrator Control Panel.",
|
||||
'hc_no_continue' => "You must correct any issues listed above before you can proceed",
|
||||
'upgrader_banner' => "Upgrade Invision Community 4",
|
||||
'upgradeoptions' => 'Upgrade Options',
|
||||
'done_banner' => "Your Invision Community 4 is ready",
|
||||
'go_to_suite' => "Go to the suite",
|
||||
'go_to_acp' => "Go to the AdminCP",
|
||||
'suite_docs' => "Suite Documentation",
|
||||
'start_banner' => "Welcome to Invision Community 4",
|
||||
'start_info' => "This process will install your software for you. Be sure you have your license key and MySQL database details to hand.",
|
||||
'install_docs' => "Install Guide",
|
||||
'js_confirm_mrerror' => 'The server encountered multiple instances where it has stopped responding.\nPress \'OK\' to reload this page and re-run this installation step.',
|
||||
|
||||
);
|
||||
@@ -0,0 +1,66 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Update in progress...</title>
|
||||
<style type='text/css'>
|
||||
body {
|
||||
background: #f9f9f9;
|
||||
margin: 0;
|
||||
padding: 30px 20px;
|
||||
font-family: "Helvetica Neue", helvetica, arial, sans-serif;
|
||||
}
|
||||
|
||||
#error {
|
||||
max-width: 800px;
|
||||
background: #fff;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
h1 {
|
||||
background: #151515;
|
||||
color: #fff;
|
||||
font-size: 22px;
|
||||
font-weight: 500;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
h1 span {
|
||||
color: #7a7a7a;
|
||||
font-size: 14px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
#content {
|
||||
padding: 20px;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
#reload_button {
|
||||
background: #151515;
|
||||
color: #fff;
|
||||
border: 0;
|
||||
line-height: 34px;
|
||||
padding: 0 15px;
|
||||
font-family: "Helvetica Neue", helvetica, arial, sans-serif;
|
||||
font-size: 14px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id='error'>
|
||||
<h1>Update in progress</h1>
|
||||
<div id='content'>
|
||||
We're sorry, this web site is unavailable while an update is in progress.
|
||||
<br><br>
|
||||
You can try again by clicking the button below, or try again later.
|
||||
<br><br>
|
||||
<button onclick="window.location.reload();" id='reload_button'>Try again</button>
|
||||
<br><br>
|
||||
<strong>Site Owner</strong>
|
||||
<br>
|
||||
This message means an upgrade is in progress. If this is not correct, try visiting the upgrade process again (usually /admin/upgrade) and choose either continue or restart. If the upgrade shows nothing to upgrade, visit the AdminCP and run the Support tool. You can also contact Invision Community support for assistance.
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief API bootstrap
|
||||
* @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
|
||||
*/
|
||||
|
||||
require_once '../init.php';
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
/**
|
||||
* @brief Blog Application Class
|
||||
* @author <a href=''>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2014 Invision Power Services, Inc.
|
||||
* @package IPS Community Suite
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @package Invision Community
|
||||
* @subpackage Blog
|
||||
* @since 3 Mar 2014
|
||||
* @version
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Blog Blogs 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
|
||||
* @subpackage Blog
|
||||
* @since 9 Dec 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\api;
|
||||
@@ -22,8 +21,14 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
/**
|
||||
* @brief Blog Blogs API
|
||||
*/
|
||||
class _blogs extends \IPS\Api\Controller
|
||||
{
|
||||
class _blogs extends \IPS\Node\Api\NodeController
|
||||
{
|
||||
|
||||
/**
|
||||
* Class
|
||||
*/
|
||||
protected $class = 'IPS\blogs\Blog';
|
||||
|
||||
/**
|
||||
* GET /blog/blogs
|
||||
* Get list of blogs
|
||||
@@ -92,13 +97,18 @@ class _blogs extends \IPS\Api\Controller
|
||||
*/
|
||||
public function GETitem( $id )
|
||||
{
|
||||
try
|
||||
{
|
||||
return new \IPS\Api\Response( 200, \IPS\blog\Blog::load( $id )->apiOutput() );
|
||||
}
|
||||
catch ( \OutOfRangeException $e )
|
||||
{
|
||||
throw new \IPS\Api\Exception( 'INVALID_ID', '2B302/1', 404 );
|
||||
}
|
||||
return $this->_view( $id );
|
||||
}
|
||||
|
||||
/**
|
||||
* DELETE /blog/blogs/{id}
|
||||
* Delete a blog
|
||||
*
|
||||
* @param int $id ID Number
|
||||
* @return void
|
||||
*/
|
||||
public function DELETEitem( $id )
|
||||
{
|
||||
return $this->_delete( $id );
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Blog Entry Comments 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
|
||||
* @subpackage Blog
|
||||
* @since 8 Dec 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\api;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Blog Entries 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
|
||||
* @subpackage Blog
|
||||
* @since 9 Dec 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\api;
|
||||
@@ -62,6 +61,26 @@ class _entries extends \IPS\Content\Api\ItemController
|
||||
|
||||
/**
|
||||
* GET /blog/entries/{id}
|
||||
* View information about a specific blog entry
|
||||
*
|
||||
* @param int $id ID Number
|
||||
* @throws 2B300/A INVALID_ID The entry ID does not exist
|
||||
* @return \IPS\blog\Entry
|
||||
*/
|
||||
public function GETitem( $id )
|
||||
{
|
||||
try
|
||||
{
|
||||
return $this->_view( $id );
|
||||
}
|
||||
catch ( \OutOfRangeException $e )
|
||||
{
|
||||
throw new \IPS\Api\Exception( 'INVALID_ID', '2B300/A', 404 );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* GET /blog/entries/{id}/comments
|
||||
* View comments on an entry
|
||||
*
|
||||
* @param int $id ID Number
|
||||
@@ -69,7 +88,7 @@ class _entries extends \IPS\Content\Api\ItemController
|
||||
* @throws 2B300/1 INVALID_ID The entry ID does not exist
|
||||
* @return \IPS\Api\PaginatedResponse<IPS\blog\Entry\Comment>
|
||||
*/
|
||||
public function GETitem( $id )
|
||||
public function GETitem_comments( $id )
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
@@ -98,6 +98,14 @@
|
||||
"ratings"
|
||||
]
|
||||
},
|
||||
"app=blog&module=blogs&controller=settings&searchResult=form_blog_enable_sidebar": {
|
||||
"lang_key": "blog_enable_sidebar",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"sidebar",
|
||||
"social"
|
||||
]
|
||||
},
|
||||
"app=core&module=members&controller=groups&searchResult=4_g_blog_allowlocal": {
|
||||
"lang_key": "g_blog_allowlocal",
|
||||
"restriction": "groups_manage",
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javascript app="blog">
|
||||
<file javascript_app="blog" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.list.js" javascript_type="controller" javascript_version="101099" javascript_position="1000050">/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
<file javascript_app="blog" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.list.js" javascript_type="controller" javascript_version="102002" javascript_position="1000050">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
* ips.browse.list.js - Blog browse list controller
|
||||
*
|
||||
@@ -44,4 +44,6 @@ app.js</order>
|
||||
<order app="global" path="/dev/js//library//jquery">jquery.js
|
||||
jquery.history.js
|
||||
jquery.transform.js</order>
|
||||
<order app="global" path="/dev/js//library//linkify">linkify.min.js
|
||||
linkify-jquery.min.js</order>
|
||||
</javascript>
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="blog" version="101099">
|
||||
<app key="blog" version="102002">
|
||||
<word key="__app_blog" js="0">Blogs</word>
|
||||
<word key="frontnavigation_blogs" js="0">Blogs</word>
|
||||
<word key="__indefart_blog_entry_comment" js="0">a comment on a blog entry</word>
|
||||
@@ -158,6 +158,7 @@
|
||||
<word key="blog_by" js="0">A blog by %s</word>
|
||||
<word key="group_blog_by" js="0">A group blog by %s</word>
|
||||
<word key="contributors_to_this" js="0">Contributors to this blog</word>
|
||||
<word key="num_contributors_to_this" js="0">{# [1:contributor][?:contributors]} to this blog</word>
|
||||
<word key="about_this_blog" js="0">About this blog</word>
|
||||
<word key="entries_in_this_blog" js="0">Entries in this blog</word>
|
||||
<word key="blog_rss_offline" js="0">RSS feed disabled</word>
|
||||
@@ -187,10 +188,15 @@
|
||||
<word key="most_recent_entry" js="0">Most recent entry</word>
|
||||
<word key="blog_byline_nodate" js="0">A blog by %s</word>
|
||||
<word key="blog_last_entry_date" js="0">Last entry posted %s</word>
|
||||
<word key="num_blog_comments" js="0">{# [1:comment][?:comments]}</word>
|
||||
<word key="num_blog_entries" js="0">{# [1:entry][?:entries]}</word>
|
||||
<word key="num_blog_views" js="0">{# [1:view][?:views]}</word>
|
||||
<word key="digest_area_blog_blog" js="0">Blogs</word>
|
||||
<word key="digest_area_blog_entry" js="0">Entries</word>
|
||||
<word key="x_created_blog" js="0">%s created a blog</word>
|
||||
<word key="x_created_entry_in" js="0">%s posted a blog entry in %s</word>
|
||||
<word key="x_commented_entry" js="0">%s commented on an entry</word>
|
||||
<word key="x_commented_blog_entry" js="0">%s commented on a blog entry</word>
|
||||
<word key="loc_blog_viewing_index" js="0">Browsing Blogs</word>
|
||||
<word key="loc_blog_creating" js="0">Creating a Blog</word>
|
||||
<word key="loc_blog_viewing_blog" js="0">Viewing Blog: %s</word>
|
||||
@@ -206,6 +212,7 @@
|
||||
<word key="can_unhide_blog_entry" js="0">Can unhide entries?</word>
|
||||
<word key="can_view_hidden_blog_entry" js="0">Can view hidden entries?</word>
|
||||
<word key="can_move_blog_entry" js="0">Can move entries?</word>
|
||||
<word key="can_move_blog_entry_desc" js="0">Will be able to move entries only between the blogs they have permission to moderate, not to any other blog.</word>
|
||||
<word key="can_lock_blog_entry" js="0">Can lock entries?</word>
|
||||
<word key="can_unlock_blog_entry" js="0">Can unlock entries?</word>
|
||||
<word key="can_reply_to_locked_blog_entry" js="0">Can reply to locked entries?</word>
|
||||
@@ -217,6 +224,11 @@
|
||||
<word key="can_delete_blog_entry_comment" js="0">Can delete comments?</word>
|
||||
<word key="can_future_publish_blog_entry" js="0">Can set a future publishing date?</word>
|
||||
<word key="can_view_future_blog_entry" js="0">Can view pending publishing blog entries authored by other members?</word>
|
||||
<word key="can_feature_comments_blog_entry" js="0">Can recommend comments on entries?</word>
|
||||
<word key="can_unfeature_comments_blog_entry" js="0">Can remove comment recommendations on entries?</word>
|
||||
<word key="can_add_item_message_blog_entry" js="0">Can add messages to entries?</word>
|
||||
<word key="can_edit_item_message_blog_entry" js="0">Can edit messages on entries?</word>
|
||||
<word key="can_delete_item_message_blog_entry" js="0">Can delete messages on entries?</word>
|
||||
<word key="group__blog_Blog" js="0">Blog</word>
|
||||
<word key="g_blog_allowlocal" js="0">Can create blogs?</word>
|
||||
<word key="g_blog_maxblogs" js="0">Maximum number of blogs</word>
|
||||
@@ -238,5 +250,12 @@
|
||||
<word key="__api_blog_comments" js="0">Comments</word>
|
||||
<word key="__api_blog_entries" js="0">Entries</word>
|
||||
<word key="__api_blog_blogs" js="0">Blogs</word>
|
||||
<word key="blog_sidebar_enabled" js="0">Enable Custom Sidebar?</word>
|
||||
<word key="blog_sidebar" js="0">Sidebar Contents</word>
|
||||
<word key="blog_enable_sidebar" js="0">Enable custom sidebars?</word>
|
||||
<word key="blog_enable_sidebar_desc" js="0">Users with permission to manage blogs will be able to add content above the site sidebar to include social media links etc.</word>
|
||||
<word key="blog_sidebar_title" js="0">Blog Information</word>
|
||||
<word key="blog_bm_filters" js="0">Blog</word>
|
||||
<word key="mf_has_blog" js="0">Member has a Blog?</word>
|
||||
</app>
|
||||
</language>
|
||||
@@ -351,6 +351,34 @@
|
||||
"zerofill": false,
|
||||
"auto_increment": false,
|
||||
"binary": false
|
||||
},
|
||||
"blog_club_id": {
|
||||
"name": "blog_club_id",
|
||||
"type": "BIGINT",
|
||||
"length": 20,
|
||||
"decimals": null,
|
||||
"values": null,
|
||||
"allow_null": true,
|
||||
"default": null,
|
||||
"comment": "The club ID if this blog belongs to a club, or NULL",
|
||||
"unsigned": true,
|
||||
"zerofill": false,
|
||||
"auto_increment": false,
|
||||
"binary": false
|
||||
},
|
||||
"blog_sidebar": {
|
||||
"name": "blog_sidebar",
|
||||
"type": "TEXT",
|
||||
"length": null,
|
||||
"decimals": null,
|
||||
"values": null,
|
||||
"allow_null": true,
|
||||
"default": null,
|
||||
"comment": "",
|
||||
"unsigned": false,
|
||||
"zerofill": false,
|
||||
"auto_increment": false,
|
||||
"binary": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
@@ -497,18 +525,18 @@
|
||||
"zerofill": false
|
||||
},
|
||||
"entry_name": {
|
||||
"allow_null": true,
|
||||
"auto_increment": false,
|
||||
"binary": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": null,
|
||||
"length": 250,
|
||||
"name": "entry_name",
|
||||
"type": "VARCHAR",
|
||||
"unsigned": false,
|
||||
"length": 255,
|
||||
"decimals": null,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
"allow_null": true,
|
||||
"default": null,
|
||||
"comment": "",
|
||||
"unsigned": false,
|
||||
"zerofill": false,
|
||||
"auto_increment": false,
|
||||
"binary": false
|
||||
},
|
||||
"entry_content": {
|
||||
"name": "entry_content",
|
||||
@@ -845,6 +873,20 @@
|
||||
"zerofill": false,
|
||||
"auto_increment": false,
|
||||
"binary": false
|
||||
},
|
||||
"entry_meta_data": {
|
||||
"name": "entry_meta_data",
|
||||
"type": "BIT",
|
||||
"length": 1,
|
||||
"decimals": null,
|
||||
"values": null,
|
||||
"allow_null": false,
|
||||
"default": "0",
|
||||
"comment": "",
|
||||
"unsigned": false,
|
||||
"zerofill": false,
|
||||
"auto_increment": false,
|
||||
"binary": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
|
||||
@@ -10,5 +10,9 @@
|
||||
{
|
||||
"key": "blog_enable_rating",
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "blog_enable_sidebar",
|
||||
"default": "0"
|
||||
}
|
||||
]
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<theme name="Default" author_name="Invision Power Services, Inc" author_url="http://www.invisionpower.com">
|
||||
<theme name="Default" author_name="Invision Power Services, Inc" author_url="https://www.invisioncommunity.com">
|
||||
<template template_group="browse" template_name="featuredEntries" template_data="$featured" template_location="front" template_app="blog"><![CDATA[
|
||||
<div class='ipsBox ipsSpacer_bottom'>
|
||||
<h2 class='ipsType_sectionTitle ipsType_reset'>{lang="featured_entries"}</h2>
|
||||
@@ -12,12 +12,14 @@
|
||||
{template="userPhoto" group="global" app="core" params="$entry->author(), 'small'"}
|
||||
<div>
|
||||
<h3 class='ipsType_sectionHead'>
|
||||
<a href='{$entry->url()}'>
|
||||
{{if $entry->unread()}}
|
||||
<span class='ipsItemStatus ' data-ipsTooltip title='{{if !$entry->unread()}}{lang="no_new_posts"}{{else}}{lang="new_posts"}{{endif}}'><i class="fa fa-circle"></i></span>
|
||||
{{endif}}
|
||||
{$entry->mapped('title')}
|
||||
</a>
|
||||
<span class='ipsType_break ipsContained'>
|
||||
<a href='{$entry->url()}'>
|
||||
{{if $entry->unread()}}
|
||||
<span class='ipsItemStatus ' data-ipsTooltip title='{{if !$entry->unread()}}{lang="no_new_posts"}{{else}}{lang="new_posts"}{{endif}}'><i class="fa fa-circle"></i></span>
|
||||
{{endif}}
|
||||
{$entry->mapped('title')}
|
||||
</a>
|
||||
</span>
|
||||
</h3>
|
||||
<p class='ipsType_reset ipsType_medium ipsType_light'>{lang="byline_nodate" htmlsprintf="$entry->author()->link()"} {datetime="$entry->mapped('date')"}</p>
|
||||
<div class='ipsType_medium ipsType_richText ipsSpacer_both' data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='2 lines'>
|
||||
@@ -169,14 +171,14 @@
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
|
||||
<div class='ipsType_break ipsContained'>
|
||||
<span class='ipsType_break ipsContained'>
|
||||
<a href='{$blog->latestEntry()->url()}' title='{lang="view_this_entry" sprintf="$blog->latestEntry()->name"}' class='ipsTruncate ipsTruncate_line'>
|
||||
{{if $blog->latestEntry()->unread()}}
|
||||
<span class='ipsItemStatus' data-ipsTooltip title="{lang="unread_blog"}"><i class="fa fa-circle"></i></span>
|
||||
{{endif}}
|
||||
{$blog->latestEntry()->name}
|
||||
</a>
|
||||
</div>
|
||||
</span>
|
||||
</h3>
|
||||
{{if !( $blog->owner() instanceof \IPS\Member )}}
|
||||
<p class='ipsType_medium ipsType_reset ipsType_light'>{lang="byline" htmlsprintf="trim( $blog->latestEntry()->author()->link() )"} {datetime="$blog->latestEntry()->date"}</p>
|
||||
@@ -238,46 +240,148 @@
|
||||
<p class='ipsType_normal ipsType_light ipsType_blendLinks ipsType_reset'>
|
||||
{{if $entry->container()->owner() instanceof \IPS\Member}}
|
||||
{lang="blog_by" htmlsprintf="$entry->container()->owner()->link()"}
|
||||
{{else}}
|
||||
{{elseif !$entry->container()->club()}}
|
||||
<i class='fa fa-users'></i> {lang="group_blog_by" sprintf="\IPS\Member::loggedIn()->language()->addToStack( 'blogs_groupblog_name_' . $entry->container()->id )"}
|
||||
{{endif}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>]]></template>
|
||||
<template template_group="global" template_name="embedBlogs" template_data="$blog, $url" template_location="front" template_app="blog"><![CDATA[<div class='ipsEmbedded'>
|
||||
<div class='ipsEmbedded_headerArea'>
|
||||
<h4 class='ipsType_reset ipsType_normal ipsTruncate ipsTruncate_line'><i class='fa fa-file' data-ipsTooltip title='{lang="embed_blog"}'></i> <a href='{$url}' title='{lang="view_this_blog"}' target='_top'>{$blog->_title}</a></h4>
|
||||
<template template_group="global" template_name="embedBlogs" template_data="$blog, $url" template_location="front" template_app="blog"><![CDATA[
|
||||
<div data-embedInfo-maxSize='500' class='ipsRichEmbed cBlogEmbed'>
|
||||
<div class='ipsRichEmbed_header ipsAreaBackground_light ipsClearfix'>
|
||||
<a href='{$blog->url()}' class='ipsRichEmbed_openItem'><i class='fa fa-external-link-square'></i></a>
|
||||
{{if !( $blog->owner() instanceof \IPS\Member ) and count( $blog->contributors() )}}
|
||||
<p class='ipsRichEmbed_title ipsType_reset ipsTruncate ipsTruncate_line ipsType_blendLinks'>
|
||||
<a href='{$blog->url()}'>{lang="group_blog_by" sprintf="\IPS\Member::loggedIn()->language()->addToStack( 'blogs_groupblog_name_' . $blog->id )"}</a>
|
||||
</p>
|
||||
{{if $blog->latestEntry()}}
|
||||
<p class='ipsRichEmbed_author ipsType_reset ipsType_light ipsTruncate ipsTruncate_line ipsType_blendLinks'>
|
||||
<a href='{$blog->url()}'>{lang="blog_last_entry_date" htmlsprintf="\IPS\DateTime::ts( $blog->latestEntry()->mapped('date') )->html()"}</a>
|
||||
</p>
|
||||
{{endif}}
|
||||
{{else}}
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel_tiny ipsType_blendLinks'>
|
||||
{template="userPhoto" app="core" group="global" params="$blog->owner(), 'tiny'"}
|
||||
<div>
|
||||
<p class='ipsRichEmbed_title ipsType_reset ipsTruncate ipsTruncate_line'>
|
||||
<a href='{$blog->url()}'>{lang="x_created_blog" sprintf="$blog->owner()->name"}</a>
|
||||
</p>
|
||||
{{if $blog->latestEntry()}}
|
||||
<p class='ipsRichEmbed_author ipsType_reset ipsType_light ipsTruncate ipsTruncate_line'>
|
||||
<a href='{$blog->url()}'>{lang="blog_last_entry_date" htmlsprintf="\IPS\DateTime::ts( $blog->latestEntry()->mapped('date') )->html()"}</a>
|
||||
</p>
|
||||
{{endif}}
|
||||
</div>
|
||||
</div>
|
||||
{{endif}}
|
||||
</div>
|
||||
{{if $blog->coverPhoto() && $blog->coverPhoto()->file}}
|
||||
{{$photo = $blog->coverPhoto()->file;}}
|
||||
<div class='ipsRichEmbed_masthead ipsRichEmbed_mastheadBg ipsType_center'>
|
||||
<a href='{$blog->url()}' title='{$blog->_title}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $photo->url )"}") '>
|
||||
<img src='{$photo->url}' alt='{$blog->_title}' class='ipsHide'>
|
||||
</a>
|
||||
</div>
|
||||
{{endif}}
|
||||
<div class='ipsPad ipsClearfix'>
|
||||
<p class='ipsRichEmbed_itemTitle ipsType_reset ipsTruncate ipsTruncate_line ipsType_blendLinks'>
|
||||
<a href='{$blog->url()}'>{$blog->_title}</a>
|
||||
</p>
|
||||
|
||||
<ul class='ipsList_inline'>
|
||||
<li>{lang="num_blog_entries" pluralize="$blog->_items"}</li>
|
||||
<li>{lang="num_blog_comments" pluralize="$blog->_comments"}</li>
|
||||
<li>{lang="num_blog_views" pluralize="$blog->num_views"}</li>
|
||||
</ul>
|
||||
|
||||
{{if $blog->description}}
|
||||
<div class='ipsType_richText ipsType_medium ipsSpacer_top ipsSpacer_half' data-truncate='3'>
|
||||
{$blog->description|raw}
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
{{if $blog->latestEntry()}}
|
||||
<hr class='ipsHr'>
|
||||
<p class='ipsType_medium ipsType_reset ipsSpacer_top ipsSpacer_half ipsType_blendLinks'>
|
||||
<span class='ipsType_light'>{lang="latest_entry"}:</span> <a href='{$blog->latestEntry()->url}' title="{$blog->latestEntry()->mapped('title')}">{$blog->latestEntry()->mapped('title')}</a>
|
||||
</p>
|
||||
{{endif}}
|
||||
</div>
|
||||
|
||||
<div class='ipsEmbedded_content'>
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel_notPhone ipsPhotoPanel_mini ipsClearfix ipsType_medium'>
|
||||
{{if $blog->owner() instanceof \IPS\Member}}
|
||||
{template="userPhoto" group="global" app="core" params="$blog->owner(), 'mini', NULL, '', FALSE"}
|
||||
{{endif}}
|
||||
<div>
|
||||
<strong>
|
||||
{{if $blog->owner() instanceof \IPS\Member}}
|
||||
{lang="blog_byline_nodate" htmlsprintf="$blog->owner()->link()"}
|
||||
{{else}}
|
||||
<i class='fa fa-users' data-ipsTooltip title='{lang="this_is_group"}'></i> {lang="blog_byline_nodate" sprintf="\IPS\Member::loggedIn()->language()->addToStack( 'blogs_groupblog_name_' . $blog->id )"}
|
||||
{{endif}}
|
||||
</strong>
|
||||
{{if $blog->latestEntry()}}
|
||||
<br>
|
||||
<span class='ipsType_light ipsType_small'>
|
||||
{lang="blog_last_entry_date" htmlsprintf="\IPS\DateTime::ts( $blog->latestEntry()->date )->html()"}
|
||||
</span>
|
||||
{{endif}}
|
||||
<ul class='ipsGrid cBlogEmbedded_stats'>
|
||||
<li class='ipsGrid_span4'><strong class='ipsType_normal'>{$blog->_items}</strong><br>{lang="blog_entries" pluralize="$blog->_items"}</li>
|
||||
<li class='ipsGrid_span4'><strong class='ipsType_normal'>{$blog->_comments}</strong><br>{lang="blog_comments" pluralize="$blog->_comments"}</li>
|
||||
<li class='ipsGrid_span4'><strong class='ipsType_normal'>{$blog->num_views}</strong><br>{lang="blog_views" pluralize="$blog->num_views"}</li>
|
||||
</ul>
|
||||
</div>
|
||||
{{if !( $blog->owner() instanceof \IPS\Member ) and count( $blog->contributors() )}}
|
||||
<div class='ipsAreaBackground_light ipsPad ipsClearfix ipsRichEmbed_moreInfo'>
|
||||
<h3 class='ipsType_minorHeading ipsTruncate ipsTruncate_line ipsType_blendLinks'>{lang="num_contributors_to_this" pluralize="count( $blog->contributors() )"}</h3>
|
||||
<ul class='ipsList_inline ipsList_noSpacing ipsSpacer_top ipsSpacer_half ipsType_noBreak'>
|
||||
{{foreach $blog->contributors() as $idx => $contributor}}
|
||||
<li>
|
||||
{template="userPhoto" group="global" app="core" params="$contributor['member'], 'mini'"}<span class='ipsNotificationCount'>{$contributor['contributions']}</span>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
</div>
|
||||
{{endif}}
|
||||
</div>]]></template>
|
||||
<template template_group="global" template_name="embedEntry" template_data="$entry, $blog, $url" template_location="front" template_app="blog"><![CDATA[
|
||||
<div data-embedInfo-maxSize='500' class='ipsRichEmbed cBlogEmbed'>
|
||||
{template="embedHeader" group="embed" app="core" params="$entry, \IPS\Member::loggedIn()->language()->addToStack( 'x_created_entry_in', FALSE, array( 'sprintf' => array( $entry->author()->name, $entry->container()->_title ) ) ), $entry->mapped('date')"}
|
||||
{{if $blog->coverPhoto() && $blog->coverPhoto()->file}}
|
||||
{{$photo = $blog->coverPhoto()->file;}}
|
||||
<div class='ipsRichEmbed_masthead ipsRichEmbed_mastheadBg ipsType_center'>
|
||||
<a href='{$blog->url()}' title='{$blog->_title}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $photo->url )"}") '>
|
||||
<img src='{$photo->url}' alt='{$blog->_title}' class='ipsHide'>
|
||||
</a>
|
||||
</div>
|
||||
{{endif}}
|
||||
<div class='ipsPad ipsClearfix'>
|
||||
<p class='ipsRichEmbed_itemTitle ipsType_reset ipsTruncate ipsTruncate_line ipsType_blendLinks'>
|
||||
<a href='{$entry->url()}'>{$entry->mapped('title')}</a>
|
||||
</p>
|
||||
{template="embedEntryItemSnippet" group="global" app="blog" params="$blog"}
|
||||
|
||||
<div class='ipsType_richText ipsType_medium ipsSpacer_top ipsSpacer_half' data-truncate='3'>
|
||||
{$entry->truncated(TRUE)|raw}
|
||||
</div>
|
||||
{template="embedItemStats" group="embed" app="core" params="$entry"}
|
||||
</div>
|
||||
</div>]]></template>
|
||||
<template template_group="global" template_name="embedEntryComment" template_data="$comment, $entry, $blog, $url" template_location="front" template_app="blog"><![CDATA[
|
||||
<div data-embedInfo-maxSize='500' class='ipsRichEmbed cBlogEmbed'>
|
||||
{template="embedHeader" group="embed" app="core" params="$comment, \IPS\Member::loggedIn()->language()->addToStack( 'x_commented_blog_entry', FALSE, array( 'sprintf' => array( $comment->author()->name ) ) ), $comment->mapped('date')"}
|
||||
<div class='ipsPad ipsClearfix'>
|
||||
<div class='ipsRichEmbed_originalItem ipsAreaBackground_reset ipsSpacer_bottom ipsType_blendLinks'>
|
||||
<div>
|
||||
{{if $blog->coverPhoto() && $blog->coverPhoto()->file}}
|
||||
{{$photo = $blog->coverPhoto()->file;}}
|
||||
<div class='ipsRichEmbed_masthead ipsRichEmbed_mastheadBg ipsType_center'>
|
||||
<a href='{$blog->url()}' title='{$blog->_title}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $photo->url )"}") '>
|
||||
<img src='{$photo->url}' alt='{$blog->_title}' class='ipsHide'>
|
||||
</a>
|
||||
</div>
|
||||
{{endif}}
|
||||
<div class='ipsPad'>
|
||||
{template="embedOriginalItem" group="embed" app="core" params="$entry, TRUE, \IPS\Theme::i()->getTemplate( 'global', 'blog' )->embedEntryItemSnippet( $blog )"}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='ipsType_richText ipsType_medium' data-truncate='3'>
|
||||
{$comment->truncated(TRUE)|raw}
|
||||
</div>
|
||||
|
||||
{{if \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and count( $comment->reactions() ) and settings.reputation_enabled}}
|
||||
<ul class='ipsList_inline ipsSpacer_top ipsSpacer_half'>
|
||||
<li>
|
||||
{template="reactionOverview" app="core" group="global" params="$comment, TRUE, 'small'"}
|
||||
</li>
|
||||
</ul>
|
||||
{{endif}}
|
||||
</div>
|
||||
</div>]]></template>
|
||||
<template template_group="global" template_name="embedEntryItemSnippet" template_data="$blog" template_location="front" template_app="blog"><![CDATA[
|
||||
<p class='ipsType_reset ipsType_medium ipsType_light'>
|
||||
{lang="from_the_blog"} "{$blog->_title}"
|
||||
</p>]]></template>
|
||||
<template template_group="global" template_name="profileBlogRows" template_data="$table, $headers, $blogs, $showSmall" template_location="front" template_app="blog"><![CDATA[{{foreach $blogs AS $blog}}
|
||||
<li class='ipsAreaBackground_light ipsPad cProfileBlog'>
|
||||
<div class='ipsColumns ipsColumns_collapsePhone'>
|
||||
@@ -355,10 +459,20 @@
|
||||
<div class='ipsBox ipsPad'>
|
||||
{$form|raw}
|
||||
</div>]]></template>
|
||||
<template template_group="submit" template_name="submit" template_data="$form" template_location="front" template_app="blog"><![CDATA[
|
||||
<template template_group="submit" template_name="submit" template_data="$form, $blog=NULL" template_location="front" template_app="blog"><![CDATA[
|
||||
{{if $blog and $club = $blog->club()}}
|
||||
{{if settings.clubs and settings.clubs_header == 'full'}}
|
||||
{template="header" app="core" group="clubs" params="$club, $blog"}
|
||||
{{endif}}
|
||||
<div id='elClubContainer'>
|
||||
{{endif}}
|
||||
|
||||
{template="pageHeader" if="!\IPS\Request::i()->isAjax()" group="global" app="core" params="\IPS\Member::loggedIn()->language()->addToStack( 'create_blog_entry' )"}
|
||||
{$form|raw}
|
||||
]]></template>
|
||||
|
||||
{{if $blog and $blog->club()}}
|
||||
</div>
|
||||
{{endif}}]]></template>
|
||||
<template template_group="submit" template_name="submitFormTemplate" template_data="$id, $action, $elements, $hiddenValues, $actionButtons, $uploadField, $class=''" template_location="front" template_app="blog"><![CDATA[<form accept-charset='utf-8' class="ipsForm {$class}" action="{$action}" method="post" {{if $uploadField}}enctype="multipart/form-data"{{endif}} data-ipsForm>
|
||||
<input type="hidden" name="{$id}_submitted" value="1">
|
||||
{{foreach $hiddenValues as $k => $v}}
|
||||
@@ -408,7 +522,7 @@
|
||||
</div>
|
||||
</form>]]></template>
|
||||
<template template_group="view" template_name="blogHeader" template_data="$blog" template_location="front" template_app="blog"><![CDATA[
|
||||
<div id='elBlogHeader'>
|
||||
<div id='elBlogHeader' {{if $blog->club()}}class="cBlogHeader_withClub"{{endif}}>
|
||||
{$blog->coverPhoto()|raw}
|
||||
</div>
|
||||
<div id='elBlogHeaderStats' class='ipsPad'>
|
||||
@@ -445,10 +559,16 @@
|
||||
</ul>
|
||||
</div>
|
||||
{{endif}}
|
||||
</div>]]></template>
|
||||
<template template_group="view" template_name="blogSidebar" template_data="$sidebar=NULL" template_location="front" template_app="blog"><![CDATA[<div class='ipsBox' id='elBlogSidebarBox'>
|
||||
<h2 class='ipsType_sectionTitle ipsType_reset'>{lang="blog_sidebar_title"}</h2>
|
||||
<div class='ipsPad_half ipsWidget_inner'>
|
||||
{$sidebar|raw}
|
||||
</div>
|
||||
</div>]]></template>
|
||||
<template template_group="view" template_name="blogTable" template_data="$table, $headers, $rows, $quickSearch" template_location="front" template_app="blog"><![CDATA[<div class='ipsBox' data-baseurl='{$table->baseUrl}' data-resort='{$table->resortKey}' data-controller='core.global.core.table{{if $table->canModerate()}},core.front.core.moderation{{endif}}' id='elTable_{$table->uniqueId}'>
|
||||
{{if $table->title}}
|
||||
<h2 class='ipsType_sectionTitle ipsType_reset ipsClear'>{lang="$table->title"}</h2>
|
||||
<h2 class='ipsType_sectionTitle ipsType_reset ipsClear ipsHide'>{lang="$table->title"}</h2>
|
||||
{{endif}}
|
||||
|
||||
{{if $table->canModerate() OR (isset( $table->sortOptions ) and !empty( $table->sortOptions )) OR !empty( $table->filters ) OR $table->pages > 1 OR $table->advancedSearch}}
|
||||
@@ -526,7 +646,7 @@
|
||||
<div class='ipsClear ipsPad {{foreach $table->classes as $class}}{$class} {{endforeach}}' id='elTable_{$table->uniqueId}' data-role="tableRows" data-controller='blog.front.browse.list'>
|
||||
{template="$table->rowsTemplate[1]" params="$table, $headers, $rows" object="$table->rowsTemplate[0]"}
|
||||
</div>
|
||||
<div class="ipsAreaBackground ipsPad ipsClearfix" data-role="pageActionOptions">
|
||||
<div class="ipsAreaBackground ipsPad ipsClearfix ipsJS_hide" data-role="pageActionOptions">
|
||||
<div class="ipsPos_right">
|
||||
<select name="modaction" data-role="moderationAction">
|
||||
{{if $table->canModerate('unhide')}}
|
||||
@@ -614,36 +734,40 @@
|
||||
<header class='ipsPhotoPanel ipsPhotoPanel_notPhone ipsPhotoPanel_small ipsSpacer_bottom'>
|
||||
{template="userPhoto" app="core" params="$entry->author()" group="global"}
|
||||
<div>
|
||||
<h2 class='ipsType_pageTitle'>
|
||||
{{if $entry->locked()}}<i class='fa fa-lock'></i> {{endif}}{$entry->caption}
|
||||
<h2 class='ipsType_pageTitle ipsContained_container'>
|
||||
{{if $entry->locked()}}<span><i class='fa fa-lock'></i></span> {{endif}}{$entry->caption}
|
||||
{{if $entry->isFutureDate() || $entry->mapped('pinned') || $entry->mapped('featured') || $entry->hidden() === -1 || $entry->hidden() === 1 || $entry->status === 'draft'}}
|
||||
{{if $entry->isFutureDate() and $entry->status !== 'draft'}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span>
|
||||
{{elseif $entry->hidden() === -1}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span>
|
||||
{{elseif $entry->hidden() === 1}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span>
|
||||
{{endif}}
|
||||
{{if $entry->status === 'draft'}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="unpublished"}'><i class='fa fa-pencil-square-o'></i></span>
|
||||
{{endif}}
|
||||
{{if $entry->mapped('pinned')}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="pinned"}'><i class='fa fa-thumb-tack'></i></span>
|
||||
{{endif}}
|
||||
{{if $entry->mapped('featured')}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="featured"}'><i class='fa fa-star'></i></span>
|
||||
{{endif}}
|
||||
<span>
|
||||
{{if $entry->isFutureDate() and $entry->status !== 'draft'}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span>
|
||||
{{elseif $entry->hidden() === -1}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span>
|
||||
{{elseif $entry->hidden() === 1}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span>
|
||||
{{endif}}
|
||||
{{if $entry->status === 'draft'}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="unpublished"}'><i class='fa fa-pencil-square-o'></i></span>
|
||||
{{endif}}
|
||||
{{if $entry->mapped('pinned')}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="pinned"}'><i class='fa fa-thumb-tack'></i></span>
|
||||
{{endif}}
|
||||
{{if $entry->mapped('featured')}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="featured"}'><i class='fa fa-star'></i></span>
|
||||
{{endif}}
|
||||
</span>
|
||||
{{endif}}
|
||||
|
||||
{{if $entry->prefix()}}
|
||||
{template="prefix" group="global" app="core" params="$entry->prefix( TRUE ), $entry->prefix()"}
|
||||
<span>{template="prefix" group="global" app="core" params="$entry->prefix( TRUE ), $entry->prefix()"}</span>
|
||||
{{endif}}
|
||||
<a href="{$entry->url()}" class='ipsType_blendLinks' title="{lang="read_more_about" sprintf="$entry->name"} {{if $entry->canEdit()}}{lang="click_hold_edit"}{{endif}}" {{if $entry->canEdit()}}data-role="editableTitle"{{endif}}>
|
||||
{{if $entry->unread()}}
|
||||
<span class='ipsItemStatus' data-ipsTooltip title="{lang="unread_blog"}"><i class="fa fa-circle"></i></span>
|
||||
{{endif}}
|
||||
{{if $entry->canEdit()}}<span data-role="editableTitle">{$entry->name}</span>{{else}}{$entry->name}{{endif}}
|
||||
</a>
|
||||
<span class='ipsContained ipsType_break'>
|
||||
<a href="{$entry->url()}" class='ipsType_blendLinks' title="{lang="read_more_about" sprintf="$entry->name"} {{if $entry->canEdit()}}{lang="click_hold_edit"}{{endif}}" {{if $entry->canEdit()}}data-role="editableTitle"{{endif}}>
|
||||
{{if $entry->unread()}}
|
||||
<span class='ipsItemStatus' data-ipsTooltip title="{lang="unread_blog"}"><i class="fa fa-circle"></i></span>
|
||||
{{endif}}
|
||||
{{if $entry->canEdit()}}<span data-role="editableTitle">{$entry->name}</span>{{else}}{$entry->name}{{endif}}
|
||||
</a>
|
||||
</span>
|
||||
</h2>
|
||||
<p class='ipsType_light ipsType_reset ipsType_blendLinks'>
|
||||
{lang="byline" htmlsprintf="$entry->author()->link()"}{datetime="$entry->date"}
|
||||
@@ -698,14 +822,14 @@
|
||||
{{if $entry->prefix()}}
|
||||
<span>{template="prefix" group="global" app="core" params="$entry->prefix( TRUE ), $entry->prefix()"}</span>
|
||||
{{endif}}
|
||||
<div class='ipsContained ipsType_break'>
|
||||
<span class='ipsContained ipsType_break'>
|
||||
<a href="{$entry->url()}" title="{lang="read_more_about" sprintf="$entry->name"} {{if $entry->canEdit()}}{lang="click_hold_edit"}{{endif}}" {{if $entry->canEdit()}}data-role="editableTitle"{{endif}}>
|
||||
{{if $entry->unread()}}
|
||||
<span class='ipsItemStatus' data-ipsTooltip title="{lang="unread_blog"}"><i class="fa fa-circle"></i></span>
|
||||
{{endif}}
|
||||
{$entry->name}
|
||||
</a>
|
||||
</div>
|
||||
</span>
|
||||
</h2>
|
||||
<p class='ipsType_light ipsType_reset ipsType_blendLinks'>
|
||||
{lang="byline" htmlsprintf="$entry->author()->link()"}{datetime="$entry->date"}
|
||||
@@ -741,11 +865,12 @@
|
||||
{$entry->commentPagination( array('tab') )|raw}
|
||||
<br><br>
|
||||
{{endif}}
|
||||
{template="featuredComments" group="global" app="core" params="$entry->featuredComments(), $entry->url()->setQueryString( 'recommended', 'comments' )"}
|
||||
<div data-role='commentFeed' data-controller='core.front.core.moderation'>
|
||||
{{if count( $entry->comments() )}}
|
||||
{{if count( $entry->comments( NULL, NULL, 'date', 'asc', NULL, NULL, NULL, NULL, FALSE, isset( \IPS\Request::i()->showDeleted ) ) )}}
|
||||
<form action="{$entry->url()->csrf()->setQueryString( 'do', 'multimodComment' )}" method="post" data-ipsPageAction data-role='moderationTools'>
|
||||
{{$commentCount=0; $timeLastRead = $entry->timeLastRead(); $lined = FALSE;}}
|
||||
{{foreach $entry->comments() as $comment}}
|
||||
{{foreach $entry->comments( NULL, NULL, 'date', 'asc', NULL, NULL, NULL, NULL, FALSE, isset( \IPS\Request::i()->showDeleted ) ) as $comment}}
|
||||
{{if !$lined and $timeLastRead and $timeLastRead->getTimestamp() < $comment->mapped('date')}}
|
||||
{{if $lined = TRUE and $commentCount}}
|
||||
<hr class="ipsCommentUnreadSeperator">
|
||||
@@ -796,13 +921,13 @@
|
||||
{{if $blog->pinned}}
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_positive" data-ipsTooltip title='{lang="pinned"}'><i class='fa fa-thumb-tack'></i></span>
|
||||
{{endif}}
|
||||
{$blog->_title}
|
||||
<span class='{{if \IPS\Request::i()->controller == 'view' || \IPS\Request::i()->controller == 'entry'}}ipsPageHead_barText{{else}}ipsPageHead_barText_small{{endif}}'>{$blog->_title}</span>
|
||||
</h1>
|
||||
</a>
|
||||
<p class='ipsType_normal ipsType_reset ipsType_blendLinks'>
|
||||
<p class='ipsType_normal ipsType_reset ipsType_blendLinks ipsPageHead_barText_small'>
|
||||
{{if $blog->owner() instanceof \IPS\Member}}
|
||||
{lang="blog_by" htmlsprintf="$blog->owner()->link()"}
|
||||
{{else}}
|
||||
{{elseif !$blog->club()}}
|
||||
<i class='fa fa-users'></i> {lang="group_blog_by" sprintf="\IPS\Member::loggedIn()->language()->addToStack( 'blogs_groupblog_name_' . $blog->id )"}
|
||||
{{endif}}
|
||||
</p>
|
||||
@@ -812,18 +937,29 @@
|
||||
{{endif}}
|
||||
]]></template>
|
||||
<template template_group="view" template_name="entry" template_data="$entry, $previous, $next" template_location="front" template_app="blog"><![CDATA[
|
||||
{{if $club = $entry->container()->club()}}
|
||||
{{if settings.clubs and settings.clubs_header == 'full'}}
|
||||
{template="header" app="core" group="clubs" params="$club, $entry->container()"}
|
||||
{{endif}}
|
||||
<div id='elClubContainer'>
|
||||
{{endif}}
|
||||
|
||||
<header>
|
||||
{template="blogHeader" group="view" app="blog" params="$entry->container()"}
|
||||
</header>
|
||||
|
||||
{template="contentItemMessages" group="global" app="core" params="$entry->getMessages(), $entry"}
|
||||
|
||||
<article class='ipsBox ipsPad ipsSpacer_top ipsType_break'>
|
||||
<header>
|
||||
<h1 class='ipsType_pageTitle ipsType_largeTitle ipsContained_container'>
|
||||
{{if $entry->isFutureDate() || $entry->mapped('pinned') || $entry->mapped('featured') || $entry->hidden() === -1 || $entry->hidden() === 1 || $entry->status === 'draft'}}
|
||||
{{if $entry->isFutureDate() || $entry->mapped('pinned') || $entry->mapped('featured') || $entry->hidden() === -1 || $entry->hidden() === 1 || $entry->hidden() === -2 || $entry->status === 'draft'}}
|
||||
{{if $entry->isFutureDate() and $entry->status !== 'draft'}}
|
||||
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span></span>
|
||||
{{elseif $entry->hidden() === -1}}
|
||||
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span></span>
|
||||
{{elseif $entry->hidden() === -2}}
|
||||
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->deletedBlurb()}'><i class='fa fa-trash'></i></span></span>
|
||||
{{elseif $entry->hidden() === 1}}
|
||||
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span></span>
|
||||
{{endif}}
|
||||
@@ -844,11 +980,11 @@
|
||||
</span>
|
||||
{{endif}}
|
||||
{{if $entry->canEdit()}}
|
||||
<div class='ipsType_break ipsContained' data-controller="core.front.core.moderation">
|
||||
<span class='ipsType_break ipsContained' data-controller="core.front.core.moderation">
|
||||
{{if $entry->locked()}}<i class='fa fa-lock'></i> {{endif}}<span data-role="editableTitle" title='{lang="click_hold_edit"}'>{$entry->name}</span>
|
||||
</div>
|
||||
</span>
|
||||
{{else}}
|
||||
<div class='ipsType_break ipsContained'>{{if $entry->locked()}}<i class='fa fa-lock'></i> {{endif}}{$entry->name}</div>
|
||||
<span class='ipsType_break ipsContained'>{{if $entry->locked()}}<i class='fa fa-lock'></i> {{endif}}{$entry->name}</span>
|
||||
{{endif}}
|
||||
</h1>
|
||||
|
||||
@@ -887,60 +1023,79 @@
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
<hr class='ipsHr ipsClear'>
|
||||
{{if $entry instanceof \IPS\Content\Reputation and settings.reputation_enabled}}
|
||||
<div class='ipsPos_right ipsResponsive_noFloat'>
|
||||
{template="reputation" app="core" group="global" params="$entry"}
|
||||
{{if ( $entry->isFutureDate() and $entry::canFuturePublish( NULL, $entry->container() ) ) or ( $entry->status === 'draft' or $entry->canEdit() or $entry->canPin() or $entry->canUnpin() or $entry->canFeature() or $entry->canUnfeature() or $entry->canHide() or $entry->canUnhide() or $entry->canMove() or $entry->canLock() or $entry->canUnlock() or $entry->canDelete() ) or ( $entry->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') ) || ( \IPS\IPS::classUsesTrait( $entry, 'IPS\Content\Reactable' ) AND settings.reputation_enabled )}}
|
||||
<div class='ipsItemControls'>
|
||||
{{if \IPS\IPS::classUsesTrait( $entry, 'IPS\Content\Reactable' ) AND settings.reputation_enabled}}
|
||||
{template="reputation" app="core" group="global" params="$entry"}
|
||||
{{endif}}
|
||||
|
||||
{{if ( $entry->isFutureDate() and $entry::canFuturePublish( NULL, $entry->container() ) ) or ( $entry->status === 'draft' or $entry->canEdit() or $entry->canPin() or $entry->canUnpin() or $entry->canFeature() or $entry->canUnfeature() or $entry->canHide() or $entry->canUnhide() or $entry->canMove() or $entry->canLock() or $entry->canUnlock() or $entry->canDelete() ) or ( $entry->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') ) || ( ! $entry->container()->social_group and \IPS\Member::loggedIn()->group['g_can_report'] )}}
|
||||
<ul class='ipsToolList ipsToolList_horizontal ipsPos_left ipsClearfix ipsResponsive_noFloat ipsItemControls_left'>
|
||||
{{if ( $entry->isFutureDate() and $entry::canFuturePublish( NULL, $entry->container() ) ) or ( $entry->status === 'draft' or $entry->canEdit() or $entry->canPin() or $entry->canUnpin() or $entry->canFeature() or $entry->canUnfeature() or $entry->canHide() or $entry->canUnhide() or $entry->canMove() or $entry->canLock() or $entry->canUnlock() or $entry->canDelete() ) or ( $entry->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') )}}
|
||||
<li>
|
||||
<a href='#elentryActions_menu' id='elentryActions' class='ipsButton ipsButton_light ipsButton_verySmall ipsButton_fullWidth' data-ipsMenu>{lang="entry_actions"} <i class='fa fa-caret-down'></i></a>
|
||||
<ul id='elentryActions_menu' class='ipsMenu ipsMenu_auto ipsHide'>
|
||||
{{if \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') AND $entry->hidden() == -2}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'restore' ) )}' data-confirm data-confirmSubMessage='{lang="restore_as_visible_desc"}'>{lang="restore_as_visible"}</a></li>
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'restoreAsHidden' ) )}' data-confirm data-confirmSubMessage='{lang="restore_as_hidden_desc"}'>{lang="restore_as_hidden"}</a></li>
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete', 'immediate' => 1 ) )}' data-confirm data-confirmSubMessage='{lang="delete_immediately_desc"}'>{lang="delete_immediately"}</a></li>
|
||||
{{else}}
|
||||
{{if $entry->status === 'draft' or ( $entry->isFutureDate() and $entry::canFuturePublish( NULL, $entry->container() ) )}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url('moderate')->csrf()->setQueryString( array( 'action' => 'publish' ) )}' data-confirm title='{lang="publish_now"}'>{lang="publish"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canEdit()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'edit' ) )}' title='{lang="edit_title_blog"}'>{lang="edit"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canFeature()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'feature' ) )}' title='{lang="feature_title_blog"}'>{lang="feature"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canUnfeature()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unfeature' ) )}' title='{lang="unfeature_title_blog"}'>{lang="unfeature"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canPin()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'pin' ) )}' title='{lang="pin_title_blog"}'>{lang="pin"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canUnpin()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unpin' ) )}' title='{lang="unpin_title_blog"}'>{lang="unpin"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canHide()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'hide' ) )}' title='{lang="hide_title_blog"}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canUnhide()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unhide' ) )}' title='{{if $entry->hidden() === 1}}{lang="approve_title_blog"}{{else}}{lang="unhide_title_blog"}{{endif}}'>{{if $entry->hidden() === 1}}{lang="approve"}{{else}}{lang="unhide"}{{endif}}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canLock()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'lock' ) )}' title='{lang="blog_lock_title"}'>{lang="lock"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canUnlock()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unlock' ) )}' title='{lang="blog_unlock_title"}'>{lang="unlock"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canMove()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'move' ) )}' data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title="{lang="move"}" title='{lang="blog_move_title"}'>{lang="move"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canDelete()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete' ) )}' data-confirm title='{lang="blog_delete_title"}'>{lang="delete"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canOnMessage( 'add' )}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'messageForm' ) )}' data-ipsDialog data-ipsDialod-title='{lang="add_message"}'>{lang="add_message"}</a></li>
|
||||
{{endif}}
|
||||
{{if \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
|
||||
<li class='ipsMenu_sep'><hr></li>
|
||||
<li class="ipsMenu_item"><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'modLog' ) )}' data-ipsDialog data-ipsDialog-title='{lang="moderation_history"}'>{lang="moderation_history"}</a></li>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
</ul>
|
||||
</li>
|
||||
{{endif}}
|
||||
{{if ! $entry->container()->social_group and $entry->canReport() }}
|
||||
<li>
|
||||
<a href='{$entry->url('report')}' class='ipsButton ipsButton_link ipsButton_verySmall ipsButton_fullWidth' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="report_entry"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}" title="{lang="report_entry"}">{lang="report_entry"}</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
{{endif}}
|
||||
</div>
|
||||
{{endif}}
|
||||
{{if ( $entry->isFutureDate() and $entry::canFuturePublish( NULL, $entry->container() ) ) or $entry->status === 'draft' or $entry->canEdit() or $entry->canPin() or $entry->canUnpin() or $entry->canFeature() or $entry->canUnfeature() or $entry->canHide() or $entry->canUnhide() or $entry->canMove() or $entry->canLock() or $entry->canUnlock() or $entry->canDelete()}}
|
||||
<a href='#elentryActions_menu' id='elentryActions' class='ipsButton ipsButton_light ipsButton_verySmall' data-ipsMenu>{lang="entry_actions"} <i class='fa fa-caret-down'></i></a>
|
||||
<ul id='elentryActions_menu' class='ipsMenu ipsMenu_auto ipsHide'>
|
||||
{{if $entry->status === 'draft' or ( $entry->isFutureDate() and $entry::canFuturePublish( NULL, $entry->container() ) )}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url('moderate')->csrf()->setQueryString( array( 'action' => 'publish' ) )}' data-confirm title='{lang="publish_now"}'>{lang="publish"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canEdit()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'edit' ) )}' title='{lang="edit_title_blog"}'>{lang="edit"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canFeature()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'feature' ) )}' title='{lang="feature_title_blog"}'>{lang="feature"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canUnfeature()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unfeature' ) )}' title='{lang="unfeature_title_blog"}'>{lang="unfeature"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canPin()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'pin' ) )}' title='{lang="pin_title_blog"}'>{lang="pin"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canUnpin()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unpin' ) )}' title='{lang="unpin_title_blog"}'>{lang="unpin"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canHide()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'hide' ) )}' title='{lang="hide_title_blog"}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canUnhide()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unhide' ) )}' title='{{if $entry->hidden() === 1}}{lang="approve_title_blog"}{{else}}{lang="unhide_title_blog"}{{endif}}'>{{if $entry->hidden() === 1}}{lang="approve"}{{else}}{lang="unhide"}{{endif}}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canLock()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'lock' ) )}' title='{lang="blog_lock_title"}'>{lang="lock"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canUnlock()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unlock' ) )}' title='{lang="blog_unlock_title"}'>{lang="unlock"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canMove()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'move' ) )}' data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title="{lang="move"}" title='{lang="blog_move_title"}'>{lang="move"}</a></li>
|
||||
{{endif}}
|
||||
{{if $entry->canDelete()}}
|
||||
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete' ) )}' data-confirm title='{lang="blog_delete_title"}'>{lang="delete"}</a></li>
|
||||
{{endif}}
|
||||
{{if \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
|
||||
<li class='ipsMenu_sep'><hr></li>
|
||||
<li class="ipsMenu_item"><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'modLog' ) )}' data-ipsDialog data-ipsDialog-title='{lang="moderation_history"}'>{lang="moderation_history"}</a></li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
{{endif}}
|
||||
{{if ! $entry->container()->social_group and !\IPS\Member::loggedIn()->group['gbw_no_report'] }}
|
||||
<a href='{$entry->url('report')}' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="report_entry"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}" title="{lang="report_entry"}">{lang="report_entry"}</a>
|
||||
{{endif}}
|
||||
|
||||
<div class='ipsResponsive_showPhone ipsResponsive_block ipsSpacer_top'>
|
||||
{template="follow" app="core" group="global" params="'blog', 'entry', $entry->id, $entry->followers()->count( TRUE )"}
|
||||
@@ -980,6 +1135,10 @@
|
||||
{{if count( $entry->comments() ) or $entry->commentForm()}}
|
||||
<br>
|
||||
{template="comments" app="blog" group="view" params="$entry"}
|
||||
{{endif}}
|
||||
|
||||
{{if $entry->container()->club()}}
|
||||
</div>
|
||||
{{endif}}]]></template>
|
||||
<template template_group="view" template_name="noEntries" template_data="$container" template_location="front" template_app="blog"><![CDATA[
|
||||
<div class='ipsType_center'>
|
||||
@@ -1023,23 +1182,31 @@
|
||||
{template="noEntries" group="view" app="blog" params="$table->container()"}
|
||||
{{endif}}]]></template>
|
||||
<template template_group="view" template_name="rssImport" template_data="$form" template_location="front" template_app="blog">{$form|raw}</template>
|
||||
<template template_group="view" template_name="view" template_data="$blog, $table" template_location="front" template_app="blog"><![CDATA[{template="blogHeader" group="view" app="blog" params="$blog"}
|
||||
<template template_group="view" template_name="view" template_data="$blog, $table" template_location="front" template_app="blog"><![CDATA[
|
||||
{{if $club = $blog->club()}}
|
||||
{{if settings.clubs and settings.clubs_header == 'full'}}
|
||||
{template="header" app="core" group="clubs" params="$club, $blog"}
|
||||
{{endif}}
|
||||
<div id='elClubContainer'>
|
||||
{{endif}}
|
||||
|
||||
{template="blogHeader" group="view" app="blog" params="$blog"}
|
||||
|
||||
{{if $blog->description}}
|
||||
<section class='ipsAreaBackground_light ipsPad'>
|
||||
<section class='ipsPad ipsBox ipsSpacer_top ipsSpacer_half'>
|
||||
<h3 class='ipsType_minorHeading'>{lang="about_this_blog"}</h3>
|
||||
<div class='ipsType_richText ipsType_light ipsType_normal' data-ipsTruncate data-ipsTruncate-size='4 lines' data-ipsTruncate-type='hide'>
|
||||
<div class='ipsType_richText ipsType_normal' data-ipsTruncate data-ipsTruncate-size='4 lines' data-ipsTruncate-type='hide'>
|
||||
{$blog->description|raw}
|
||||
</div>
|
||||
</section>
|
||||
{{endif}}
|
||||
|
||||
{{if \IPS\blog\Entry::canCreate( \IPS\Member::loggedIn(), $blog ) or $blog->canDelete() or $blog->canEdit() or ( $blog->pinned and \IPS\Member::loggedIn()->modPermission('can_unpin_content') ) || ( !$blog->pinned and \IPS\Member::loggedIn()->modPermission('can_pin_content') )}}
|
||||
{{if \IPS\blog\Entry::canCreate( \IPS\Member::loggedIn(), $blog ) or $blog->canDelete() or ( $blog->canEdit() AND !$blog->groupblog_ids ) or ( $blog->pinned and \IPS\Member::loggedIn()->modPermission('can_unpin_content') ) || ( !$blog->pinned and \IPS\Member::loggedIn()->modPermission('can_pin_content') )}}
|
||||
<ul class="ipsToolList ipsToolList_horizontal ipsClearfix ipsSpacer_both">
|
||||
<li class='ipsToolList_primaryAction'>
|
||||
<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="{url="app=blog&module=blogs&controller=submit&id={$blog->id}" seoTemplate="blog_submit"}">{lang="add_blog_entry"}</a>
|
||||
</li>
|
||||
{{if $blog->canDelete() or $blog->canEdit() or ( $blog->pinned and \IPS\Member::loggedIn()->modPermission('can_unpin_content') ) || ( !$blog->pinned and \IPS\Member::loggedIn()->modPermission('can_pin_content') ) }}
|
||||
{{if !$blog->club_id and ( $blog->canDelete() or ( $blog->canEdit() AND !$blog->groupblog_ids ) or ( $blog->pinned and \IPS\Member::loggedIn()->modPermission('can_unpin_content') ) || ( !$blog->pinned and \IPS\Member::loggedIn()->modPermission('can_pin_content') ) )}}
|
||||
<li>
|
||||
<a href='#elBlogManage_menu' id='elBlogManage' data-ipsMenu class='ipsButton ipsButton_link ipsButton_medium ipsButton_fullWidth'>{lang="manage_blog"} <i class='fa fa-caret-down'></i></a>
|
||||
<ul id='elBlogManage_menu' class='ipsMenu ipsMenu_normal ipsHide'>
|
||||
@@ -1081,7 +1248,11 @@
|
||||
|
||||
<div class='ipsResponsive_showPhone ipsResponsive_block ipsSpacer_top'>
|
||||
{template="follow" app="core" group="global" params="'blog', 'blog', $blog->_id, \IPS\blog\Entry::containerFollowerCount( $blog )"}
|
||||
</div>]]></template>
|
||||
</div>
|
||||
|
||||
{{if $blog->club()}}
|
||||
</div>
|
||||
{{endif}}]]></template>
|
||||
<template template_group="widgets" template_name="blogCommentFeed" template_data="$comments, $title, $orientation='vertical'" template_location="front" template_app="blog"><![CDATA[{{if !empty( $comments ) }}
|
||||
<h3 class='ipsType_reset ipsWidget_title'>{$title}</h3>
|
||||
{{if $orientation == 'vertical'}}
|
||||
@@ -1111,8 +1282,12 @@
|
||||
<div class='ipsComment_header ipsPhotoPanel ipsPhotoPanel_mini'>
|
||||
{template="userPhoto" app="core" group="global" params="$comment->author(), 'mini', $comment->warningRef()"}
|
||||
<div>
|
||||
<p class='ipsPos_right ipsType_reset ipsType_blendLinks'>
|
||||
<a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->id ) )}' data-ipsTooltip title='{lang="share_this_comment"}' data-ipsMenu data-ipsMenu-closeOnClick='false' id='elShareComment_{$comment->id}'><i class='fa fa-share-alt'></i></a>
|
||||
<p class='ipsPos_right ipsType_reset'>
|
||||
{{if $comment->canReport()}}
|
||||
<a href='{$comment->url('report')}' data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report"}" data-action='reportComment' title='{lang="report_content"}'>{lang="report"}</a> ·
|
||||
{{endif}}
|
||||
|
||||
<a class='ipsType_blendLinks' href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->id ) )}' data-ipsTooltip title='{lang="share_this_comment"}' data-ipsMenu data-ipsMenu-closeOnClick='false' id='elShareComment_{$comment->id}'><i class='fa fa-share-alt'></i></a>
|
||||
</p>
|
||||
<h3 class='ipsComment_author ipsType_blendLinks'>
|
||||
<strong class='ipsType_normal'>{template="userLink" app="core" group="global" params="$comment->author(), $comment->warningRef()"}</strong>
|
||||
@@ -1126,9 +1301,6 @@
|
||||
{{if $comment->hidden()}}
|
||||
· {$comment->hiddenBlurb()}
|
||||
{{endif}}
|
||||
{{if $comment instanceof \IPS\Content\ReportCenter and !\IPS\Member::loggedIn()->group['gbw_no_report'] and $comment->hidden() !== 1 }}
|
||||
· <a href='{$comment->url('report')}' data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report"}" data-action='reportComment' title='{lang="report_content"}'>{lang="report"}</a>
|
||||
{{endif}}
|
||||
</p>
|
||||
|
||||
{{if member.modPermission('mod_see_warn') and $comment->warning}}
|
||||
@@ -1138,11 +1310,11 @@
|
||||
</div>
|
||||
|
||||
<div class='ipsPad ipsClearfix'>
|
||||
{{if in_array( 'IPS\Content\Reputation', class_implements( $comment ) ) and settings.reputation_highlight and $comment->reputation() >= settings.reputation_highlight and settings.reputation_enabled}}
|
||||
{{if \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and settings.reputation_highlight and $comment->reactionCount() >= settings.reputation_highlight and settings.reputation_enabled}}
|
||||
<strong class='ipsComment_popularFlag' data-ipsTooltip title='{lang="this_is_a_popular_comment"}'><i class='fa fa-star'></i></strong>
|
||||
{{endif}}
|
||||
<div class='ipsType_break ipsContained'><a href="{$comment->url()}" class='ipsDataItem_title ipsTruncate ipsTruncate_line'>{$comment->item()->name}</a></div><br>
|
||||
<div data-role='commentContent' class='ipsType_normal ipsType_richText ipsType_break ipsContained' data-controller='core.front.core.lightboxedImages'>
|
||||
<div data-role='commentContent' class='ipsType_normal ipsType_richText ipsContained' data-controller='core.front.core.lightboxedImages'>
|
||||
{{if $comment->hidden() === 1 && $comment->author()->member_id == \IPS\Member::loggedIn()->member_id}}
|
||||
<strong class='ipsType_medium ipsType_warning'><i class='fa fa-info-circle'></i> {lang="comment_awaiting_approval"}</strong>
|
||||
{{endif}}
|
||||
@@ -1153,9 +1325,11 @@
|
||||
{{endif}}
|
||||
</div>
|
||||
|
||||
{{if $comment->hidden() !== 1 && $comment instanceof \IPS\Content\Reputation and settings.reputation_enabled}}
|
||||
{template="reputation" group="global" app="core" params="$comment, 'ipsPos_right ipsResponsive_noFloat'"}
|
||||
{{endif}}
|
||||
<div class='ipsItemControls'>
|
||||
{{if $comment->hidden() !== 1 && \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and settings.reputation_enabled}}
|
||||
{template="reputation" group="global" app="core" params="$comment"}
|
||||
{{endif}}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
@@ -1185,7 +1359,7 @@
|
||||
</ul>
|
||||
</div>
|
||||
{{else}}
|
||||
<ol class="ipsDataList ipsClear cBlogList ipsAreaBackground ipsDataList_large" data-role="tableRows" itemscope="" itemtype="http://schema.org/ItemList">
|
||||
<ol class="ipsDataList ipsClear cBlogList ipsAreaBackground ipsDataList_large" data-role="tableRows">
|
||||
{{foreach $blogs as $blog}}
|
||||
<li class='ipsDataItem ipsAreaBackground_reset'>
|
||||
<div class='ipsColumns ipsColumns_collapsePhone'>
|
||||
@@ -1227,12 +1401,12 @@
|
||||
<div>
|
||||
<strong class='ipsType_minorHeading'>{lang="latest_entry"}</strong><br>
|
||||
<h3 class='ipsType_reset ipsType_sectionHead ipsType_blendLinks'>
|
||||
<div class='ipsType_break ipsContained'><a href='{$blog->latestEntry()->url()}' title='{lang="view_this_entry" sprintf="$blog->latestEntry()->name"}'>
|
||||
<span class='ipsType_break ipsContained'><a href='{$blog->latestEntry()->url()}' title='{lang="view_this_entry" sprintf="$blog->latestEntry()->name"}'>
|
||||
{{if $blog->latestEntry()->unread()}}
|
||||
<span class='ipsItemStatus' data-ipsTooltip title="{lang="unread_blog"}"><i class="fa fa-circle"></i></span>
|
||||
{{endif}}
|
||||
{$blog->latestEntry()->name}
|
||||
</a></div>
|
||||
</a></span>
|
||||
{{if $blog->latestEntry()->locked()}}<i class='fa fa-lock'></i> {{endif}}{$blog->latestEntry()->caption}
|
||||
{{if $blog->latestEntry()->isFutureDate() || $blog->latestEntry()->mapped('pinned') || $blog->latestEntry()->mapped('featured') || $blog->latestEntry()->hidden() === -1 || $blog->latestEntry()->hidden() === 1 || $blog->latestEntry()->status === 'draft'}}
|
||||
{{if $blog->latestEntry()->isFutureDate()}}
|
||||
@@ -1354,6 +1528,10 @@
|
||||
text-shadow: 0px 0px 4px rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
#elBlogHeader.cBlogHeader_withClub > .ipsCoverPhoto {
|
||||
padding-top: 100px;
|
||||
}
|
||||
|
||||
#elBlogHeader .ipsType_pageTitle {
|
||||
line-height: 1.3;
|
||||
}
|
||||
@@ -1503,18 +1681,22 @@ html[dir="rtl"] .cBlogInfo {
|
||||
float: left;
|
||||
list-style: none;
|
||||
}]]></css>
|
||||
<css css_location="front" css_app="blog" css_attributes="" css_path="." css_name="embed.css"><![CDATA[.cBlogEmbeddedPreview {
|
||||
line-height: 1.4;
|
||||
<css css_location="front" css_app="blog" css_attributes="" css_path="." css_name="embed.css">.cBlogEmbed .ipsRichEmbed_moreInfo {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.cBlogEmbedded_stats {
|
||||
max-width: 270px;
|
||||
margin-top: 5px !important;
|
||||
.cBlogEmbed .ipsRichEmbed_moreInfo li {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.cBlogEmbedded_stats > li {
|
||||
margin-bottom: 0 !important;
|
||||
}]]></css>
|
||||
html[dir="ltr"] .cBlogEmbed .ipsRichEmbed_moreInfo .ipsNotificationCount {
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
html[dir="rtl"] .cBlogEmbed .ipsRichEmbed_moreInfo .ipsNotificationCount {
|
||||
top: 0;
|
||||
left: 0;
|
||||
}</css>
|
||||
<css css_location="front" css_app="blog" css_attributes="" css_path="." css_name="profile.css"><![CDATA[.cProfileBlog_stats {
|
||||
max-width: 300px;
|
||||
}
|
||||
|
||||
@@ -177,5 +177,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"
|
||||
}
|
||||
@@ -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 Blogs
|
||||
* @since 05 Feb 2016
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\extensions\core\BBCode;
|
||||
|
||||
@@ -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 Blogs
|
||||
* @since 08 Feb 2016
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\extensions\core\BBCode;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Content Router extension: Blog
|
||||
* @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 Blog
|
||||
* @since 04 Mar 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\extensions\core\ContentRouter;
|
||||
@@ -37,10 +36,10 @@ class _Blog
|
||||
/**
|
||||
* 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 ( $member === NULL or $member->canAccessModule( \IPS\Application\Module::get( 'blog', 'blogs', 'front' ) ) )
|
||||
{
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Create Menu Extension : Entry
|
||||
* @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 Blog
|
||||
* @since 10 Mar 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\extensions\core\CreateMenu;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Dashboard extension: Overview
|
||||
* @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 Blog
|
||||
* @since 20 Mar 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\extensions\core\Dashboard;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Editor Extension: Blogs
|
||||
* @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 Blog
|
||||
* @since 04 Mar 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\extensions\core\EditorLocations;
|
||||
@@ -118,6 +117,27 @@ class _Blogs
|
||||
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
|
||||
*
|
||||
@@ -137,7 +157,14 @@ class _Blogs
|
||||
|
||||
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 )
|
||||
{
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Editor Extension: Blog Entries
|
||||
* @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 Blog
|
||||
* @since 10 Mar 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\extensions\core\EditorLocations;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief File Storage Extension: Blogs (cover photos)
|
||||
* @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 Blog
|
||||
* @since 16 Jun 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\extensions\core\FileStorage;
|
||||
@@ -81,7 +80,7 @@ class _Blogs
|
||||
/**
|
||||
* 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 File Storage Extension: Blog Entries (cover photos)
|
||||
* @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 Blog
|
||||
* @since 30 May 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\extensions\core\FileStorage;
|
||||
@@ -81,7 +80,7 @@ class _Entries
|
||||
/**
|
||||
* 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: Blogs
|
||||
* @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 Blog
|
||||
* @since 03 Mar 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\extensions\core\FrontNavigation;
|
||||
@@ -71,6 +70,6 @@ class _Blogs extends \IPS\core\FrontNavigation\FrontNavigationAbstract
|
||||
*/
|
||||
public function active()
|
||||
{
|
||||
return \IPS\Dispatcher::i()->application->directory === 'blog';
|
||||
return !\IPS\core\FrontNavigation::$clubTabActive and \IPS\Dispatcher::i()->application->directory === 'blog';
|
||||
}
|
||||
}
|
||||
@@ -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 Blog
|
||||
* @since 11 Jul 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\extensions\core\GroupForm;
|
||||
|
||||
@@ -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 Blog
|
||||
* @since 20 Mar 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\extensions\core\LiveSearch;
|
||||
@@ -54,7 +53,7 @@ class _Blogs
|
||||
$blogs = \IPS\Db::i()->select(
|
||||
"*",
|
||||
'blog_blogs',
|
||||
array( "word_custom LIKE CONCAT( '%', ?, '%' ) AND lang_id=?", $searchTerm, \IPS\Member::loggedIn()->language()->id ),
|
||||
array( "blog_club_id IS NULL AND ( (blog_member_id>? AND blog_name LIKE CONCAT( '%', ?, '%' ) ) OR ( word_custom LIKE CONCAT( '%', ?, '%' ) AND lang_id=? ) )", 0, $searchTerm, $searchTerm, \IPS\Member::loggedIn()->language()->id ),
|
||||
NULL,
|
||||
array( 0, 500 )
|
||||
)->join(
|
||||
|
||||
@@ -0,0 +1,123 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Member Filter 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 Blogs
|
||||
* @since 23 Mar 2017
|
||||
*/
|
||||
|
||||
namespace IPS\blog\extensions\core\MemberFilter;
|
||||
|
||||
/* 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 Filter Extension
|
||||
*/
|
||||
class _Blog
|
||||
{
|
||||
/**
|
||||
* 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
|
||||
*
|
||||
* @param mixed $criteria Value returned from the save() method
|
||||
* @return array Array of form elements
|
||||
*/
|
||||
public function getSettingField( $criteria )
|
||||
{
|
||||
$options = array( 'any' => 'any', 'yes' => 'yes', 'no' => 'no' );
|
||||
|
||||
return array(
|
||||
new \IPS\Helpers\Form\Radio( 'mf_has_blog', isset( $criteria['has_blog'] ) ? $criteria['has_blog'] : 'any', FALSE, array( 'options' => $options ) ),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the filter data
|
||||
*
|
||||
* @param array $post Form values
|
||||
* @return mixed False, or an array of data to use later when filtering the members
|
||||
* @throws \LogicException
|
||||
*/
|
||||
public function save( $post )
|
||||
{
|
||||
if( isset( $post['mf_has_blog'] ) and in_array( $post['mf_has_blog'], array( 'yes', 'no' ) ) )
|
||||
{
|
||||
return array( 'has_blog' => $post['mf_has_blog'] );
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get where clause to add to the member retrieval database query
|
||||
*
|
||||
* @param mixed $data The array returned from the save() method
|
||||
* @return string|array|NULL Where clause
|
||||
*/
|
||||
public function getQueryWhereClause( $data )
|
||||
{
|
||||
if( isset( $data['has_blog'] ) )
|
||||
{
|
||||
return ( $data['has_blog'] == 'yes' ) ? array( array( "blog_blogs.blog_id IS NOT NULL" ) ) : array( array( "blog_blogs.blog_id IS NULL" ) );
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback for member retrieval database query
|
||||
* Can be used to set joins
|
||||
*
|
||||
* @param mixed $data The array returned from the save() method
|
||||
* @param \IPS\Db\Query $query The query
|
||||
* @return void
|
||||
*/
|
||||
public function queryCallback( $data, &$query )
|
||||
{
|
||||
if( isset( $data['has_blog'] ) )
|
||||
{
|
||||
$query->join( 'blog_blogs', "core_members.member_id=blog_blogs.blog_member_id" );
|
||||
}
|
||||
|
||||
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 )
|
||||
{
|
||||
/* If we aren't filtering by this, then any member matches */
|
||||
if( !isset( $filters['has_blog'] ) OR !$filters['has_blog'] )
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
$result = (bool) \IPS\Db::i()->select( 'COUNT(*)', 'blog_blogs', array( 'blog_member_id=?', $member->member_id ) )->first();
|
||||
|
||||
return ( $filters['has_blog'] == 'no' ) ? !$result : $result;
|
||||
}
|
||||
}
|
||||
@@ -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 Blog
|
||||
* @since 20 Mar 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\extensions\core\MemberSync;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Profile extension: Blogs
|
||||
* @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 Blog
|
||||
* @since 02 Apr 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\extensions\core\Profile;
|
||||
|
||||
@@ -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 Blogs
|
||||
* @since 12 Apr 2016
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\extensions\core\Queue;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Group Blogs 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 Blog
|
||||
* @since 03 Mar 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\modules\admin\blogs;
|
||||
@@ -117,17 +116,17 @@ class _blogs extends \IPS\Node\Controller
|
||||
'link' => \IPS\Http\Url::internal( 'app=blog&module=blogs&controller=blogs&do=copy&id=' ) . $row['blog_id'],
|
||||
'data' => array()
|
||||
),
|
||||
'empty' => array(
|
||||
'icon' => 'trash-o',
|
||||
'title' => 'empty',
|
||||
'link' => \IPS\Http\Url::internal( 'app=blog&module=blogs&controller=blogs&do=delete&deleteNode=0&id=' ) . $row['blog_id'],
|
||||
'content' => array(
|
||||
'icon' => 'arrow-right',
|
||||
'title' => 'mass_manage_content',
|
||||
'link' => \IPS\Http\Url::internal( 'app=blog&module=blogs&controller=blogs&do=massManageContent&id=' ) . $row['blog_id'],
|
||||
'data' => array( 'ipsDialog' => '', 'ipsDialog-title' => \IPS\Member::loggedIn()->language()->addToStack('empty') ),
|
||||
'hotkey'=> 'd'
|
||||
'hotkey'=> 'm'
|
||||
),
|
||||
'delete' => array(
|
||||
'icon' => 'times-circle',
|
||||
'title' => 'delete',
|
||||
'link' => \IPS\Http\Url::internal( 'app=blog&module=blogs&controller=blogs&do=delete&deleteNode=1&id=' ) . $row['blog_id'],
|
||||
'link' => \IPS\Http\Url::internal( 'app=blog&module=blogs&controller=blogs&do=delete&id=' ) . $row['blog_id'],
|
||||
'data' => ( $blog->getContentItemCount() ) ? array( 'ipsDialog' => '', 'ipsDialog-title' => \IPS\Member::loggedIn()->language()->addToStack('delete') ) : array( 'delete' => '' ),
|
||||
'hotkey'=> 'd'
|
||||
)
|
||||
@@ -135,18 +134,17 @@ class _blogs extends \IPS\Node\Controller
|
||||
};
|
||||
|
||||
/* Root buttons */
|
||||
$table->rootButtons = array(
|
||||
'add' => array(
|
||||
'icon' => 'plus',
|
||||
'title' => 'add_blog',
|
||||
'link' => \IPS\Http\Url::internal( 'app=blog&module=blogs&controller=blogs&do=form' ),
|
||||
'data' => array()
|
||||
),
|
||||
\IPS\Output::i()->sidebar['actions']['add'] = array(
|
||||
'primary' => true,
|
||||
'icon' => 'plus',
|
||||
'title' => 'add_blog',
|
||||
'link' => \IPS\Http\Url::internal( 'app=blog&module=blogs&controller=blogs&do=form' ),
|
||||
'data' => array()
|
||||
);
|
||||
|
||||
/* Display */
|
||||
\IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack('blogs');
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'global', 'core' )->block( 'title', (string) $table );
|
||||
\IPS\Output::i()->output = (string) $table;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Blog Settings
|
||||
* @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 Blog
|
||||
* @since 03 Mar 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\modules\admin\blogs;
|
||||
@@ -45,6 +44,7 @@ class _settings extends \IPS\Dispatcher\Controller
|
||||
$form = new \IPS\Helpers\Form;
|
||||
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'blog_enable_rating', \IPS\Settings::i()->blog_enable_rating ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'blog_enable_sidebar', \IPS\Settings::i()->blog_enable_sidebar ) );
|
||||
|
||||
$form->addHeader('blog_settings_rss');
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'blog_allow_rssimport', \IPS\Settings::i()->blog_allow_rssimport ) );
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief All Blogs
|
||||
* @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 Blog
|
||||
* @since 03 Mar 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\modules\front\blogs;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Create Blog
|
||||
* @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 Blog
|
||||
* @since 24 Mar 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\modules\front\blogs;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief View Blog Entry 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 Blog
|
||||
* @since 03 Mar 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\modules\front\blogs;
|
||||
@@ -105,8 +104,144 @@ class _entry extends \IPS\Content\Controller
|
||||
|
||||
/* Online User Location */
|
||||
\IPS\Session::i()->setLocation( $this->entry->url(), $this->entry->onlineListPermissions(), 'loc_blog_viewing_entry', array( $this->entry->name => FALSE ) );
|
||||
|
||||
|
||||
/* Add JSON-ld output */
|
||||
\IPS\Output::i()->jsonLd['blog'] = array(
|
||||
'@context' => "http://schema.org",
|
||||
'@type' => "Blog",
|
||||
'url' => (string) $this->entry->container()->url(),
|
||||
'name' => htmlspecialchars( $this->entry->container()->_title, ENT_QUOTES | \IPS\HTMLENTITIES, 'UTF-8', FALSE ),
|
||||
'description' => strip_tags( $this->entry->container()->description ),
|
||||
'commentCount' => $this->entry->container()->_comments,
|
||||
'interactionStatistic' => array(
|
||||
array(
|
||||
'@type' => 'InteractionCounter',
|
||||
'interactionType' => "http://schema.org/ViewAction",
|
||||
'userInteractionCount' => $this->entry->container()->num_views
|
||||
),
|
||||
array(
|
||||
'@type' => 'InteractionCounter',
|
||||
'interactionType' => "http://schema.org/FollowAction",
|
||||
'userInteractionCount' => \IPS\blog\Entry::containerFollowerCount( $this->entry->container() )
|
||||
),
|
||||
array(
|
||||
'@type' => 'InteractionCounter',
|
||||
'interactionType' => "http://schema.org/CommentAction",
|
||||
'userInteractionCount' => $this->entry->container()->_comments
|
||||
),
|
||||
array(
|
||||
'@type' => 'InteractionCounter',
|
||||
'interactionType' => "http://schema.org/WriteAction",
|
||||
'userInteractionCount' => $this->entry->container()->_items
|
||||
)
|
||||
),
|
||||
'blogPost' => array(
|
||||
'@context' => "http://schema.org",
|
||||
'@type' => "BlogPosting",
|
||||
'url' => (string) $this->entry->url(),
|
||||
'mainEntityOfPage' => (string) $this->entry->url(),
|
||||
'name' => htmlspecialchars( $this->entry->mapped('title'), ENT_QUOTES | \IPS\HTMLENTITIES, 'UTF-8', FALSE ),
|
||||
'headline' => htmlspecialchars( $this->entry->mapped('title'), ENT_QUOTES | \IPS\HTMLENTITIES, 'UTF-8', FALSE ),
|
||||
'articleBody' => strip_tags( $this->entry->truncated() ),
|
||||
'commentCount' => $this->entry->mapped('num_comments'),
|
||||
'dateCreated' => \IPS\DateTime::ts( $this->entry->date )->format( \IPS\DateTime::ISO8601 ),
|
||||
'datePublished' => \IPS\DateTime::ts( $this->entry->publish_date )->format( \IPS\DateTime::ISO8601 ),
|
||||
'author' => array(
|
||||
'@type' => 'Person',
|
||||
'name' => htmlspecialchars( \IPS\Member::load( $this->entry->mapped('author') )->name, ENT_QUOTES | \IPS\HTMLENTITIES, 'UTF-8', FALSE ),
|
||||
'url' => (string) \IPS\Member::load( $this->entry->mapped('author') )->url(),
|
||||
'image' => \IPS\Member::load( $this->entry->mapped('author') )->get_photo()
|
||||
),
|
||||
'publisher' => array(
|
||||
'@type' => 'Organization',
|
||||
'name' => htmlspecialchars( \IPS\Member::load( $this->entry->mapped('author') )->name, ENT_QUOTES | \IPS\HTMLENTITIES, 'UTF-8', FALSE ),
|
||||
'url' => (string) \IPS\Member::load( $this->entry->mapped('author') )->url(),
|
||||
'image' => \IPS\Member::load( $this->entry->mapped('author') )->get_photo(),
|
||||
'logo' => array(
|
||||
'@type' => 'ImageObject',
|
||||
'url' => \IPS\Member::load( $this->entry->mapped('author') )->get_photo(),
|
||||
)
|
||||
),
|
||||
'interactionStatistic' => array(
|
||||
array(
|
||||
'@type' => 'InteractionCounter',
|
||||
'interactionType' => "http://schema.org/ViewAction",
|
||||
'userInteractionCount' => $this->entry->views
|
||||
),
|
||||
array(
|
||||
'@type' => 'InteractionCounter',
|
||||
'interactionType' => "http://schema.org/FollowAction",
|
||||
'userInteractionCount' => \IPS\blog\Entry::containerFollowerCount( $this->entry->container() )
|
||||
),
|
||||
array(
|
||||
'@type' => 'InteractionCounter',
|
||||
'interactionType' => "http://schema.org/CommentAction",
|
||||
'userInteractionCount' => $this->entry->mapped('num_comments')
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
if( $this->entry->container()->coverPhoto()->file )
|
||||
{
|
||||
\IPS\Output::i()->jsonLd['blog']['image'] = (string) $this->entry->container()->coverPhoto()->file->url;
|
||||
}
|
||||
|
||||
if( $this->entry->container()->member_id )
|
||||
{
|
||||
\IPS\Output::i()->jsonLd['blog']['author'] = array(
|
||||
'@type' => 'Person',
|
||||
'name' => htmlspecialchars( \IPS\Member::load( $this->entry->container()->member_id )->name, ENT_QUOTES | \IPS\HTMLENTITIES, 'UTF-8', FALSE ),
|
||||
'url' => (string) \IPS\Member::load( $this->entry->container()->member_id )->url(),
|
||||
'image' => \IPS\Member::load( $this->entry->container()->member_id )->get_photo()
|
||||
);
|
||||
}
|
||||
|
||||
if( $this->entry->edit_time )
|
||||
{
|
||||
\IPS\Output::i()->jsonLd['blog']['blogPost']['dateModified'] = \IPS\DateTime::ts( $this->entry->edit_time )->format( \IPS\DateTime::ISO8601 );
|
||||
}
|
||||
else
|
||||
{
|
||||
\IPS\Output::i()->jsonLd['blog']['blogPost']['dateModified'] = \IPS\DateTime::ts( $this->entry->publish_date ?: $this->entry->date )->format( \IPS\DateTime::ISO8601 );
|
||||
}
|
||||
|
||||
$file = NULL;
|
||||
if( $this->entry->image )
|
||||
{
|
||||
$file = \IPS\File::get( 'blog_Blogs', $this->entry->image );
|
||||
}
|
||||
elseif( $this->entry->coverPhoto()->file )
|
||||
{
|
||||
$file = $this->entry->coverPhoto()->file;
|
||||
}
|
||||
elseif( $this->entry->container()->coverPhoto()->file )
|
||||
{
|
||||
$file = $this->entry->container()->coverPhoto()->file;
|
||||
}
|
||||
|
||||
if( $file !== NULL )
|
||||
{
|
||||
try
|
||||
{
|
||||
$dimensions = $file->getImageDimensions();
|
||||
|
||||
\IPS\Output::i()->jsonLd['blog']['blogPost']['image'] = array(
|
||||
'@type' => 'ImageObject',
|
||||
'url' => (string) $file->url,
|
||||
'width' => $dimensions[0],
|
||||
'height' => $dimensions[1]
|
||||
);
|
||||
}
|
||||
/* File does not exist */
|
||||
catch( \RuntimeException $e ) {}
|
||||
}
|
||||
|
||||
/* Display */
|
||||
if( \IPS\Settings::i()->blog_enable_sidebar and $this->entry->container()->sidebar )
|
||||
{
|
||||
\IPS\Output::i()->sidebar['contextual'] = \IPS\Theme::i()->getTemplate('view')->blogSidebar( $this->entry->container()->sidebar );
|
||||
}
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'view' )->entry( $this->entry, $previous, $next );
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Submit
|
||||
* @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 Blog
|
||||
* @since 10 Mar 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\modules\front\blogs;
|
||||
@@ -24,6 +23,10 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
*/
|
||||
class _submit extends \IPS\Dispatcher\Controller
|
||||
{
|
||||
/**
|
||||
* @brief This blog
|
||||
*/
|
||||
protected $blog = NULL;
|
||||
/**
|
||||
* Execute
|
||||
*
|
||||
@@ -31,7 +34,15 @@ class _submit extends \IPS\Dispatcher\Controller
|
||||
*/
|
||||
public function execute()
|
||||
{
|
||||
\IPS\blog\Entry::canCreate( \IPS\Member::loggedIn(), NULL, TRUE );
|
||||
if ( isset( \IPS\Request::i()->id ) )
|
||||
{
|
||||
try
|
||||
{
|
||||
$this->blog = \IPS\blog\Blog::load( \IPS\Request::i()->id );
|
||||
}
|
||||
catch( \OutOfRangeException $e ) {}
|
||||
}
|
||||
\IPS\blog\Entry::canCreate( \IPS\Member::loggedIn(), $this->blog, TRUE );
|
||||
|
||||
parent::execute();
|
||||
}
|
||||
@@ -48,17 +59,33 @@ class _submit extends \IPS\Dispatcher\Controller
|
||||
/* Load Blog */
|
||||
try
|
||||
{
|
||||
/* Can we add to this Blog? */
|
||||
$blog = \IPS\blog\Blog::load( \IPS\Request::i()->id );
|
||||
\IPS\blog\Entry::canCreate( \IPS\Member::loggedIn(), $blog, TRUE );
|
||||
/* Can we add to this Blog? We load the blog in execute, so emulate an OutOfRangeException here if we don't actually have one. */
|
||||
if ( $this->blog === NULL )
|
||||
{
|
||||
throw new \OutOfRangeException;
|
||||
}
|
||||
|
||||
$form = \IPS\blog\Entry::create( $blog );
|
||||
\IPS\blog\Entry::canCreate( \IPS\Member::loggedIn(), $this->blog, TRUE );
|
||||
|
||||
$form = \IPS\blog\Entry::create( $this->blog );
|
||||
$formTemplate = $form->customTemplate( array( call_user_func_array( array( \IPS\Theme::i(), 'getTemplate' ), array( 'submit', 'blog' ) ), 'submitFormTemplate' ) );
|
||||
|
||||
\IPS\Session::i()->setLocation( $blog->url(), array(), 'loc_blog_adding_entry', $blog->member_id ? array( $blog->_title => FALSE ) : array( "blogs_blog_{$blog->id}" => TRUE ) );
|
||||
\IPS\Output::i()->breadcrumb[] = array( $blog->url(), $blog->_title );
|
||||
\IPS\Output::i()->sidebar['enabled'] = FALSE;
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'submit' )->submit( $formTemplate );
|
||||
if ( $club = $this->blog->club() )
|
||||
{
|
||||
\IPS\core\FrontNavigation::$clubTabActive = TRUE;
|
||||
\IPS\Output::i()->breadcrumb = array();
|
||||
\IPS\Output::i()->breadcrumb[] = array( \IPS\Http\Url::internal( 'app=core&module=clubs&controller=directory', 'front', 'clubs_list' ), \IPS\Member::loggedIn()->language()->addToStack('module__core_clubs') );
|
||||
\IPS\Output::i()->breadcrumb[] = array( $club->url(), $club->name );
|
||||
|
||||
if ( \IPS\Settings::i()->clubs_header == 'sidebar' )
|
||||
{
|
||||
\IPS\Output::i()->sidebar['contextual'] = \IPS\Theme::i()->getTemplate( 'clubs', 'core' )->header( $club, $this->blog, 'sidebar' );
|
||||
}
|
||||
}
|
||||
\IPS\Output::i()->breadcrumb[] = array( $this->blog->url(), $this->blog->_title );
|
||||
|
||||
\IPS\Session::i()->setLocation( $this->blog->url(), array(), 'loc_blog_adding_entry', $this->blog->member_id ? array( $this->blog->_title => FALSE ) : array( "blogs_blog_{$this->blog->id}" => TRUE ) );
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'submit' )->submit( $formTemplate, $this->blog );
|
||||
}
|
||||
catch ( \OutOfRangeException $e )
|
||||
{
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief View Blog Entry 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 Blog
|
||||
* @since 03 Mar 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\modules\front\blogs;
|
||||
@@ -96,6 +95,58 @@ class _view extends \IPS\Helpers\CoverPhoto\Controller
|
||||
\IPS\Output::i()->rssFeeds['blog_rss_title'] = \IPS\Http\Url::internal( "app=blog&module=blogs&controller=view&id={$this->blog->_id}", 'front', 'blogs_rss', array( $this->blog->seo_name ) );
|
||||
}
|
||||
|
||||
/* Add JSON-ld */
|
||||
\IPS\Output::i()->jsonLd['blog'] = array(
|
||||
'@context' => "http://schema.org",
|
||||
'@type' => "Blog",
|
||||
'url' => (string) $this->blog->url(),
|
||||
'name' => htmlspecialchars( $this->blog->_title, ENT_QUOTES | \IPS\HTMLENTITIES, 'UTF-8', FALSE ),
|
||||
'description' => strip_tags( $this->blog->description ),
|
||||
'commentCount' => $this->blog->_comments,
|
||||
'interactionStatistic' => array(
|
||||
array(
|
||||
'@type' => 'InteractionCounter',
|
||||
'interactionType' => "http://schema.org/ViewAction",
|
||||
'userInteractionCount' => $this->blog->num_views
|
||||
),
|
||||
array(
|
||||
'@type' => 'InteractionCounter',
|
||||
'interactionType' => "http://schema.org/FollowAction",
|
||||
'userInteractionCount' => \IPS\blog\Entry::containerFollowerCount( $this->blog )
|
||||
),
|
||||
array(
|
||||
'@type' => 'InteractionCounter',
|
||||
'interactionType' => "http://schema.org/CommentAction",
|
||||
'userInteractionCount' => $this->blog->_comments
|
||||
),
|
||||
array(
|
||||
'@type' => 'InteractionCounter',
|
||||
'interactionType' => "http://schema.org/WriteAction",
|
||||
'userInteractionCount' => $this->blog->_items
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
if( $this->blog->coverPhoto()->file )
|
||||
{
|
||||
\IPS\Output::i()->jsonLd['blog']['image'] = (string) $this->blog->coverPhoto()->file->url;
|
||||
}
|
||||
|
||||
if( $this->blog->member_id )
|
||||
{
|
||||
\IPS\Output::i()->jsonLd['blog']['author'] = array(
|
||||
'@type' => 'Person',
|
||||
'name' => htmlspecialchars( \IPS\Member::load( $this->blog->member_id )->name, ENT_QUOTES | \IPS\HTMLENTITIES, 'UTF-8', FALSE ),
|
||||
'url' => (string) \IPS\Member::load( $this->blog->member_id )->url(),
|
||||
'image' => \IPS\Member::load( $this->blog->member_id )->get_photo()
|
||||
);
|
||||
}
|
||||
|
||||
if( \IPS\Settings::i()->blog_enable_sidebar and $this->blog->sidebar )
|
||||
{
|
||||
\IPS\Output::i()->sidebar['contextual'] = \IPS\Theme::i()->getTemplate('view')->blogSidebar( $this->blog->sidebar );
|
||||
}
|
||||
|
||||
\IPS\Output::i()->jsFiles = array_merge( \IPS\Output::i()->jsFiles, \IPS\Output::i()->js( 'front_browse.js', 'blog', 'front' ) );
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'view' )->view( $this->blog, (string) $table );
|
||||
\IPS\Output::i()->contextualSearchOptions[ \IPS\Member::loggedIn()->language()->addToStack( 'search_contextual_item_blogs' ) ] = array( 'type' => 'blog_entry', 'nodes' => $this->blog->_id );
|
||||
@@ -108,7 +159,7 @@ class _view extends \IPS\Helpers\CoverPhoto\Controller
|
||||
*/
|
||||
protected function editBlog()
|
||||
{
|
||||
if( !$this->blog->canEdit() OR $this->blog->groupblog_ids )
|
||||
if( !$this->blog->canEdit() OR $this->blog->groupblog_ids or $this->blog->club_id )
|
||||
{
|
||||
\IPS\Output::i()->error( 'no_module_permission', '2B201/2', 403, '' );
|
||||
}
|
||||
@@ -116,7 +167,7 @@ class _view extends \IPS\Helpers\CoverPhoto\Controller
|
||||
\IPS\Session::i()->csrfCheck();
|
||||
|
||||
/* Build form */
|
||||
$form = new \IPS\Helpers\Form;
|
||||
$form = new \IPS\Helpers\Form( 'form', 'save', $this->blog->url()->setQueryString( array( 'do' => 'editBlog' ) )->csrf() );
|
||||
$form->class .= 'ipsForm_vertical';
|
||||
|
||||
$this->blog->form( $form, TRUE );
|
||||
@@ -152,7 +203,7 @@ class _view extends \IPS\Helpers\CoverPhoto\Controller
|
||||
{
|
||||
\IPS\Session::i()->csrfCheck();
|
||||
|
||||
if( !$this->blog->canDelete() )
|
||||
if( !$this->blog->canDelete() or $this->blog->club_id )
|
||||
{
|
||||
\IPS\Output::i()->error( 'no_module_permission', '2B201/3', 403, '' );
|
||||
}
|
||||
@@ -180,7 +231,7 @@ class _view extends \IPS\Helpers\CoverPhoto\Controller
|
||||
\IPS\Session::i()->csrfCheck();
|
||||
|
||||
/* Do we have permission */
|
||||
if ( ( $this->blog->pinned and !\IPS\Member::loggedIn()->modPermission('can_unpin_content') ) or ( !$this->blog->pinned and !\IPS\Member::loggedIn()->modPermission('can_pin_content') ) )
|
||||
if ( ( $this->blog->pinned and !\IPS\Member::loggedIn()->modPermission('can_unpin_content') ) or ( !$this->blog->pinned and !\IPS\Member::loggedIn()->modPermission('can_pin_content') ) or $this->blog->club_id )
|
||||
{
|
||||
\IPS\Output::i()->error( 'no_module_permission', '2B201/4', 403, '' );
|
||||
}
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief 4.0.0 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 Blog
|
||||
* @since 30 Oct 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\setup\upg_100002;
|
||||
@@ -104,8 +103,7 @@ class _Upgrade
|
||||
|
||||
$result = @json_encode( $data );
|
||||
|
||||
/* @link http://community.invisionpower.com/4bugtrack/beta-8-json_encode-invalid-utf-8-sequence-in-argument-during-upgrade-from-347-r2636/
|
||||
Sometimes the array unserializes fine but there are still "bad" characters in there */
|
||||
/* Sometimes the array unserializes fine but there are still "bad" characters in there */
|
||||
if( $result === FALSE )
|
||||
{
|
||||
$data = unserialize( $poll['choices'] );
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief 4.0.0 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 Blog
|
||||
* @since 15 Jan 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\setup\upg_100015;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief 4.0.0 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 Blog
|
||||
* @since 24 Feb 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\setup\upg_100016;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief 4.0.0 RC 5 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 Blog
|
||||
* @since 5 May 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\setup\upg_100018;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief 4.0.0 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 Blog
|
||||
* @since 15 Mar 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\setup\upg_100021;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief 4.0.4 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 Blog
|
||||
* @since 5 May 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\setup\upg_100027;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief 4.0.5 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 Blog
|
||||
* @since 5 May 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\setup\upg_100028;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief 4.0.9 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 Blog
|
||||
* @since 19 Jun 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\setup\upg_100035;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief 4.0.10 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 Blog
|
||||
* @since 07 Jul 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\setup\upg_100038;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief 4.1.4 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 Blog
|
||||
* @since 05 Nov 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\setup\upg_101016;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief 4.1.6 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 Blog
|
||||
* @since 14 Dec 2015
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\setup\upg_101021;
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"1": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"blog_blogs",
|
||||
{
|
||||
"name": "blog_club_id",
|
||||
"type": "BIGINT",
|
||||
"length": 20,
|
||||
"decimals": null,
|
||||
"values": null,
|
||||
"allow_null": true,
|
||||
"default": null,
|
||||
"comment": "The club ID if this blog belongs to a club, or NULL",
|
||||
"unsigned": true,
|
||||
"zerofill": false,
|
||||
"auto_increment": false,
|
||||
"binary": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"2": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"blog_entries",
|
||||
{
|
||||
"name": "entry_meta_data",
|
||||
"type": "BIT",
|
||||
"length": 1,
|
||||
"decimals": null,
|
||||
"values": null,
|
||||
"allow_null": false,
|
||||
"default": "0",
|
||||
"comment": "",
|
||||
"unsigned": false,
|
||||
"zerofill": false,
|
||||
"auto_increment": false,
|
||||
"binary": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"3": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"blog_blogs",
|
||||
{
|
||||
"name": "blog_sidebar",
|
||||
"type": "TEXT",
|
||||
"length": null,
|
||||
"decimals": null,
|
||||
"values": null,
|
||||
"allow_null": true,
|
||||
"default": null,
|
||||
"comment": "",
|
||||
"unsigned": false,
|
||||
"zerofill": false,
|
||||
"auto_increment": false,
|
||||
"binary": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"4": {
|
||||
"method": "changeColumn",
|
||||
"params": [
|
||||
"blog_entries",
|
||||
"entry_name",
|
||||
{
|
||||
"name": "entry_name",
|
||||
"type": "VARCHAR",
|
||||
"length": 255,
|
||||
"decimals": null,
|
||||
"values": [],
|
||||
"allow_null": true,
|
||||
"default": null,
|
||||
"comment": "",
|
||||
"unsigned": false,
|
||||
"zerofill": false,
|
||||
"auto_increment": false,
|
||||
"binary": false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief 4.0.0 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 Blog
|
||||
* @since 03 Mar 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\setup\upg_22002;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief 4.0.0 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 Blog
|
||||
* @since 03 Mar 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\blog\setup\upg_23000;
|
||||
|
||||