Version 4.0.13.1 (nulled)
This commit is contained in:
1 parent
c6a86f0d9b
commit
3ba79295ee
19 files changed
+277
-490
No files matched your search
@@ -5,6 +5,10 @@ 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
|
||||
to our product.
|
||||
|
||||
NULLING
|
||||
Last Updated: 13 September 2015
|
||||
Author: IAF
|
||||
|
||||
AES implementation in PHP
|
||||
Last Updated: 22 July 2014
|
||||
Website: http://www.movable-type.co.uk/scripts/aes-php.html
|
||||
|
||||
+1
-27
@@ -1,27 +1 @@
|
||||
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 our sole discretion.
|
||||
|
||||
|
||||
6. Termination
|
||||
␍This Agreement shall remain in effect until terminated. Your rights under this Agreement will automatically terminate without notice from Us in the event you fail to comply with any term or condition within this Agreement. Upon termination of this Agreement, you shall immediately cease all use of the Software and destroy all copies, full or partial, of the Software that may be in your possession or otherwise under your control.
|
||||
|
||||
␍7. Modification
|
||||
␍We reserve the right to amend or modify the terms of this Agreement at any time, and to change, discontinue or impose conditions on any aspect of the Software or related Service and to provide notification solely by posting an updated version of the Agreement on the invisionpower.com website. You acknowledge that you are solely responsible for regularly reviewing this Agreement and our policies. Continued use of the Software after modification to the Agreement constitutes your binding consent to such changes.
|
||||
|
||||
␍8. Disclaimer of Warranty
|
||||
␍THE SOFTWARE IS PROVIDED “AS-IS” AND TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, WE DISCLAIM ALL OTHER WARRANTIES, CONDITIONS, REPRESENTATIONS OR TERMS, EXPRESS OR IMPLIED, BY STATUTE, COMMON LAW, USAGE OR OTHERWISE, REGARDING THE SOFTWARE AND ANY RELATED SERVICES, INCLUDING THEIR FITNESS FOR A PARTICULAR PURPOSE, THEIR QUALITY, THEIR MERCHANTABILITY, OR THEIR NON-INFRINGEMENT. WE DO NOT WARRANT THAT THE SOFTWARE OR ANY RELATED SERVICES IS SECURE, OR IS FREE FROM BUGS, VIRUSES, ERRORS, OR OTHER PROGRAM LIMITATIONS, OR THAT DEFECTS WILL BE CORRECTED. SOME JURISDICTIONS DO NOT ALLOW EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSIONS MAY NOT APPLY TO YOU. THE ENTIRE RISK AS TO THE RESULTS, QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. NO ADVICE OR INFORMATION, WHETHER ORAL OR WRITTEN, OBTAINED BY YOU FROM US OR OUR EMPLOYEES, REPRESENTATIVE OR AGENTS OR THROUGH OR FROM THE SOFTWARE OR OUR WEBSITE SHALL CREATE ANY WARRANTY NOT EXPRESSLY STATED WITHIN. THIS SECTION WILL SURVIVE THE TERMINATION OF THIS AGREEMENT.
|
||||
|
||||
␍9. Limitation of Liability␍␍TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL WE, OUR SUBSIDIARIES, OFFICERS, DIRECTORS, SHAREHOLDERS, PARTNERS, EMPLOYEES, AGENTS, CONTRACTORS OR OUR SUCCESSORS BE LIABLE FOR ANY DAMAGES WHATSOEVER, INCLUDING, BUT NOT LIMITED TO PERSONAL INJURY OR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, EXEMPLARY, PUNITIVE, COVER, CONSEQUENTIAL OR OTHER DAMAGES, INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, LOSS OF DATA, LOSS OF USE, COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, LOSS OF GOODWILL OR ANY OTHER COMMERCIAL DAMAGES OR LOSSES, ARISING OUT OF OR RELATED TO THE USE OF, OR INABILITY TO USE, THE SOFTWARE OR ANY RELATED SERVICES OR CONTENT, HOWEVER CAUSED, REGARDLESS OF THE THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY OR OTHERWISE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND EVEN IF A REMEDY SET FORTH HEREIN IS FOUND TO HAVE FAILED OF ITS ESSENTIAL PURPOSE. WITHOUT LIMITING THE FOREGOING, IN NO EVENT SHALL OUR TOTAL LIABILITY TO YOU FOR ACTUAL DAMAGES FOR ANY CAUSE WHATSOEVER EXCEED THE AMOUNT PAID BY YOU TO LICENSE THE SOFTWARE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE FOREGOING LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU. THESE LIMITATIONS WILL SURVIVE THE TERMINATION OF THIS AGREEMENT.␍␍␍10. Indemnification␍␍You agree to fully indemnify and hold us, our successors, officers, directors, shareholders, partners, employees, agents, contracts and our successors harmless from and against any claim, suit, hearing, action, expense or demand, including without limitation to: all claims for damages, fees or costs (including attorneys’ fees), arising out of or related to the use of the Software and/or any related Services by you, your agents or representatives, anyone under your control, or by any third party using your equipment or accounts to use the Software or Services (for purposes of this section, collectively, “you”); the violation by you of any provision of this Agreement; the violation by you and any laws or regulations; or the infringement or misappropriation by you any copyright, trademark or any other intellectual property right, proprietary right, property right or any other right of ours or any third party. We reserve the right to assume the exclusive defense and control of any matter otherwise subject to indemnification by you, in which event you will cooperate with us in asserting any available defenses and, as set forth above, be fully responsible for our attorneys’ fees.␍␍␍11. Governing Law␍␍The license and this Agreement are governed by and construed in accordance with the laws of the State of Virginia, United States of America. You hereby consent to exclusive jurisdiction and venue in the County of Bedford and State of Virginia. By agreeing to the terms of this Agreement, you are waiving any claims that you might otherwise have against IPS based on the laws of other jurisdictions.␍␍␍12. Severability␍␍If, for any reason, a court of competent jurisdiction deems any provision or part of this Agreement to be unlawful or unenforceable, the remainder of the Agreement shall remain in full force and effect.␍
|
||||
=============================[NOTE]=============================
This software is Nulled!
Nulled by IAF
================================================================
IPS 4.0.13.1 Release (100045)
=============================[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 our sole discretion.
6. Termination
This Agreement shall remain in effLine truncated
|
||||
@@ -21,7 +21,7 @@
|
||||
<script src="js/multipleRedirect.js"></script>
|
||||
</head>
|
||||
<body class='ipsApp ipsApp_installer'>
|
||||
|
||||
<!-- Nulled by IAF -->
|
||||
<div id='elInstaller_wrap'>
|
||||
<div id='ipsLayout_header' class='ipsClearfix' role='banner'>
|
||||
<header>
|
||||
@@ -85,6 +85,7 @@
|
||||
<a href="{expression="\IPS\Http\Url::ips('docs/install_guide')"}" target="_blank">Install Guide</a>
|
||||
</div>
|
||||
{{endif}}
|
||||
<p style="text-align: right">Nulled by IAF</p>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<script src="js/multipleRedirect.js"></script>
|
||||
</head>
|
||||
<body class='ipsApp ipsApp_installer'>
|
||||
|
||||
<!-- Nulled by IAF -->
|
||||
<div id='elInstaller_wrap'>
|
||||
<div id='ipsLayout_header' class='ipsClearfix' role='banner'>
|
||||
<header>
|
||||
@@ -80,6 +80,7 @@
|
||||
<a href="{expression="\IPS\Http\Url::ips('docs/install_guide')"}" target="_blank">Install Guide</a>
|
||||
</div>
|
||||
{{endif}}
|
||||
<p style="text-align: right">Nulled by IAF</p>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
},
|
||||
{
|
||||
"key": "ipb_calendar_mon",
|
||||
"default": "0"
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "show_bday_calendar",
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<language>
|
||||
<app key="core" version="100045">
|
||||
<word key="__app_core" js="0">System</word>
|
||||
<word key="__iaf__nulling_null_alert" js="0">This distribution is Nulled! You can't use this function.</word><!-- Custom alert about Null -->
|
||||
<word key="__indefart_personal_conversation" js="0">a personal conversation</word>
|
||||
<word key="__indefart_personal_conversation_message" js="0">a message in a personal conversation</word>
|
||||
<word key="__indefart_report" js="0">a report</word>
|
||||
@@ -488,7 +489,26 @@
|
||||
<word key="to" js="0">To</word>
|
||||
<word key="subject" js="0">Subject</word>
|
||||
<word key="message" js="0">Message</word>
|
||||
<word key="ipb_license_edit_main" js="0">Edit License Data</word>
|
||||
<word key="ipb_reg_number" js="0">IPS License Key</word>
|
||||
<word key="ipb_license_active" js="0">License Active</word>
|
||||
<word key="ipb_license_expires" js="0">Expires</word>
|
||||
<word key="ipb_license_cloud" js="0">Cloud License</word>
|
||||
<word key="ipb_license_urls" js="0">URLs</word>
|
||||
<word key="ipb_license_url" js="0">URL</word>
|
||||
<word key="ipb_license_test_url" js="0">Test URL</word>
|
||||
<word key="ipb_license_components" js="0">Active Components</word>
|
||||
<word key="ipb_license_product_forums" js="0">Forums</word>
|
||||
<word key="ipb_license_product_calendar" js="0">Calendar</word>
|
||||
<word key="ipb_license_product_blog" js="0">Blog</word>
|
||||
<word key="ipb_license_product_gallery" js="0">Gallery</word>
|
||||
<word key="ipb_license_product_downloads" js="0">Downloads</word>
|
||||
<word key="ipb_license_product_cms" js="0">Pages</word>
|
||||
<word key="ipb_license_product_nexus" js="0">Commerce</word>
|
||||
<word key="ipb_license_product_copyright" js="0">Remove Copyright</word>
|
||||
<word key="ipb_license_services" js="0">IPS Services</word>
|
||||
<word key="ipb_license_chat_limit" js="0">Chat Limit</word>
|
||||
<word key="ipb_license_support" js="0">Support</word>
|
||||
<word key="learn_more" js="0">Learn More</word>
|
||||
<word key="help" js="0">Help</word>
|
||||
<word key="permanently" js="0">Permanently</word>
|
||||
@@ -3916,6 +3936,7 @@
|
||||
<word key="my_details" js="0">My Details</word>
|
||||
<word key="menu__core_overview_security" js="0">Security</word>
|
||||
<word key="r__security" js="0">Security Center</word>
|
||||
<!-- Miku (^_^) -->
|
||||
<word key="r__security_manage" js="0">Can view security center?</word>
|
||||
<word key="security_center" js="0">Security Center</word>
|
||||
<word key="security_settings" js="0">Security Settings</word>
|
||||
|
||||
@@ -2928,10 +2928,10 @@
|
||||
"g_max_messages": "0",
|
||||
"g_max_mass_pm": "0",
|
||||
"g_search_flood": "0",
|
||||
"g_edit_cutoff": "5",
|
||||
"g_edit_cutoff": "0",
|
||||
"g_promotion": "-1&-1",
|
||||
"g_photo_max_vars": "500:170:240",
|
||||
"g_dohtml": "0",
|
||||
"g_photo_max_vars": "1024:500:500",
|
||||
"g_dohtml": "1",
|
||||
"g_bypass_badwords": "1",
|
||||
"g_can_msg_attach": "1",
|
||||
"g_attach_per_post": "0",
|
||||
@@ -2942,13 +2942,13 @@
|
||||
"g_rep_max_negative": "100",
|
||||
"g_signature_limits": "0:::::",
|
||||
"g_hide_online_list": "0",
|
||||
"g_bitoptions": "26148875",
|
||||
"g_bitoptions": "1099890816",
|
||||
"g_pm_perday": "0",
|
||||
"g_mod_post_unit": "5",
|
||||
"g_ppd_limit": "500",
|
||||
"g_ppd_unit": "5",
|
||||
"g_mod_post_unit": "0",
|
||||
"g_ppd_limit": "0",
|
||||
"g_ppd_unit": "0",
|
||||
"g_displayname_unit": "0",
|
||||
"g_sig_unit": "5",
|
||||
"g_sig_unit": "0",
|
||||
"g_pm_flood_mins": "0",
|
||||
"g_max_bgimg_upload": "-1",
|
||||
"g_post_polls": "1",
|
||||
|
||||
@@ -241,7 +241,59 @@
|
||||
},
|
||||
{
|
||||
"key": "ipb_reg_number",
|
||||
"default": ""
|
||||
"default": "LICENSE KEY GOES HERE!-123456789"
|
||||
},
|
||||
{
|
||||
"key": "ipb_license_active",
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "ipb_license_cloud",
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "ipb_license_url",
|
||||
"default": "https:\/\/www.invisionpower.com\/buy\/self-hosted"
|
||||
},
|
||||
{
|
||||
"key": "ipb_license_test_url",
|
||||
"default": "http:\/\/community.invisionpower.com"
|
||||
},
|
||||
{
|
||||
"key": "ipb_license_expires",
|
||||
"default": "09 MAR 2037"
|
||||
},
|
||||
{
|
||||
"key": "ipb_license_product_forums",
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "ipb_license_product_calendar",
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "ipb_license_product_blog",
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "ipb_license_product_gallery",
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "ipb_license_product_downloads",
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "ipb_license_product_cms",
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "ipb_license_product_nexus",
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "ipb_license_product_copyright",
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "ipb_url_blacklist",
|
||||
@@ -669,7 +721,7 @@
|
||||
},
|
||||
{
|
||||
"key": "strip_quotes",
|
||||
"default": "1"
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "subs_autoprune",
|
||||
@@ -689,7 +741,7 @@
|
||||
},
|
||||
{
|
||||
"key": "tags_force_lower",
|
||||
"default": "1"
|
||||
"default": "0"
|
||||
},
|
||||
{
|
||||
"key": "tags_len_max",
|
||||
|
||||
@@ -1582,25 +1582,25 @@
|
||||
{$pagination|raw}
|
||||
{{endif}}
|
||||
]]></template>
|
||||
<template template_group="embed" template_name="embedNoPermission" template_data="" template_location="global" template_app="core"><![CDATA[<div class='ipsEmbedded'>
|
||||
<div class='ipsEmbedded_headerArea'>
|
||||
<h4 class='ipsType_reset ipsType_normal ipsTruncate ipsTruncate_line'><i class='fa fa-warning'></i> {lang="embed_no_perm_title"}</h4>
|
||||
</div>
|
||||
<div class='ipsEmbedded_content'>
|
||||
<p class="ipsType_large ipsPad ipsType_light">
|
||||
{lang="embed_no_perm_desc"}
|
||||
</p>
|
||||
</div>
|
||||
<template template_group="embed" template_name="embedNoPermission" template_data="" template_location="global" template_app="core"><![CDATA[<div class='ipsEmbedded'>
|
||||
<div class='ipsEmbedded_headerArea'>
|
||||
<h4 class='ipsType_reset ipsType_normal ipsTruncate ipsTruncate_line'><i class='fa fa-warning'></i> {lang="embed_no_perm_title"}</h4>
|
||||
</div>
|
||||
<div class='ipsEmbedded_content'>
|
||||
<p class="ipsType_large ipsPad ipsType_light">
|
||||
{lang="embed_no_perm_desc"}
|
||||
</p>
|
||||
</div>
|
||||
</div>]]></template>
|
||||
<template template_group="embed" template_name="embedUnavailable" template_data="" template_location="global" template_app="core"><![CDATA[<div class='ipsEmbedded'>
|
||||
<div class='ipsEmbedded_headerArea'>
|
||||
<h4 class='ipsType_reset ipsType_normal ipsTruncate ipsTruncate_line'><i class='fa fa-warning'></i> {lang="embed_unavailable_title"}</h4>
|
||||
</div>
|
||||
<div class='ipsEmbedded_content'>
|
||||
<p class="ipsType_large ipsPad ipsType_light">
|
||||
{lang="embed_unavailable_desc"}
|
||||
</p>
|
||||
</div>
|
||||
<template template_group="embed" template_name="embedUnavailable" template_data="" template_location="global" template_app="core"><![CDATA[<div class='ipsEmbedded'>
|
||||
<div class='ipsEmbedded_headerArea'>
|
||||
<h4 class='ipsType_reset ipsType_normal ipsTruncate ipsTruncate_line'><i class='fa fa-warning'></i> {lang="embed_unavailable_title"}</h4>
|
||||
</div>
|
||||
<div class='ipsEmbedded_content'>
|
||||
<p class="ipsType_large ipsPad ipsType_light">
|
||||
{lang="embed_unavailable_desc"}
|
||||
</p>
|
||||
</div>
|
||||
</div>]]></template>
|
||||
<template template_group="embed" template_name="facebook" template_data="$url" template_location="global" template_app="core"><![CDATA[<script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = '//connect.facebook.net/en_US/all.js#xfbml=1'; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script>
|
||||
<div class='fb-post' data-href='{$url}' data-width='500'></div>
|
||||
@@ -4546,6 +4546,7 @@
|
||||
{template="includeJS" app="core" group="global" location="global" params=""}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
<!-- Miku (^_^) -->
|
||||
<body data-baseurl="{setting="base_url"}" class='ipsApp ipsApp_admin {{if isset( \IPS\Request::i()->cookie['hasJS'] )}}ipsJS_has{{else}}ipsJS_none{{endif}} {{if isset( \IPS\Request::i()->cookie['hideAdminMenu'] )}}cAdminHideMenu{{endif}}' data-controller="{expression="implode( ',', \IPS\Output::i()->globalControllers )"}" {{if isset( output.inlineMessage )}}data-message="{expression="output.inlineMessage"}"{{endif}} data-pageApp='{$location['app']}' data-pageLocation='admin' data-pageModule='{$location['module']}' data-pageController='{$location['controller']}'>
|
||||
<a href='#content' id='acpJumpToContent'>{lang="jump_to_content"}</a>
|
||||
<div id='ipsLayout_header' class='ipsClearfix' role='banner' data-controller='core.admin.core.mobileNav'>
|
||||
@@ -6403,15 +6404,15 @@
|
||||
<template template_group="global" template_name="userPhoto" template_data="$member, $size='small'" template_location="admin" template_app="core"><![CDATA[<a href="{$member->url()}" class="ipsUserPhoto ipsUserPhoto_{$size}" target="_blank">
|
||||
<img src='{$member->photo}' alt=''>
|
||||
</a>]]></template>
|
||||
<template template_group="global" template_name="userPhoto" template_data="$member, $size='small', $warningRef=NULL, $classes='', $hovercard=TRUE" template_location="front" template_app="core"><![CDATA[{{if $member->member_id and \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) )}}
|
||||
{{$memberURL = ( $warningRef ) ? $member->url()->setQueryString( 'wr', $warningRef ) : $member->url();}}
|
||||
<a href="{$memberURL}" {{if $hovercard}}data-ipsHover data-ipsHover-target="{$memberURL->setQueryString( 'do', 'hovercard' )}"{{endif}} class="ipsUserPhoto ipsUserPhoto_{$size}{{if $classes}} {$classes}{{endif}}" title="{lang="view_user_profile" sprintf="$member->name"}">
|
||||
<img src='{$member->photo}' alt=''>
|
||||
</a>
|
||||
{{else}}
|
||||
<span class='ipsUserPhoto ipsUserPhoto_{$size} {{if $classes}}{$classes}{{endif}}'>
|
||||
<img src='{$member->photo}' alt=''>
|
||||
</span>
|
||||
<template template_group="global" template_name="userPhoto" template_data="$member, $size='small', $warningRef=NULL, $classes='', $hovercard=TRUE" template_location="front" template_app="core"><![CDATA[{{if $member->member_id and \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) )}}
|
||||
{{$memberURL = ( $warningRef ) ? $member->url()->setQueryString( 'wr', $warningRef ) : $member->url();}}
|
||||
<a href="{$memberURL}" {{if $hovercard}}data-ipsHover data-ipsHover-target="{$memberURL->setQueryString( 'do', 'hovercard' )}"{{endif}} class="ipsUserPhoto ipsUserPhoto_{$size}{{if $classes}} {$classes}{{endif}}" title="{lang="view_user_profile" sprintf="$member->name"}">
|
||||
<img src='{$member->photo}' alt=''>
|
||||
</a>
|
||||
{{else}}
|
||||
<span class='ipsUserPhoto ipsUserPhoto_{$size} {{if $classes}}{$classes}{{endif}}'>
|
||||
<img src='{$member->photo}' alt=''>
|
||||
</span>
|
||||
{{endif}}]]></template>
|
||||
<template template_group="global" template_name="utilitiesMenu" template_data=" " template_location="front" template_app="core"><![CDATA[<div id='elHeaderSubLinks' class='ipsPos_right'>
|
||||
<ul class='ipsList_inline'>
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
* @package IPS Social Suite
|
||||
* @since 20 June 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
* @modified 13.09.2015 by IAF
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\CommunityEnhancements;
|
||||
@@ -184,18 +185,17 @@ class _Mandrill
|
||||
throw new \DomainException( 'mandrill_bad_credentials' );
|
||||
}
|
||||
|
||||
/* Tell IPS */
|
||||
$response = NULL;
|
||||
try
|
||||
{
|
||||
$response = \IPS\Http\Url::ips( 'mandrill' )->request()->post( array(
|
||||
'key' => $values['mandrill_api_key'],
|
||||
'username' => $values['mandrill_username'],
|
||||
'lkey' => \IPS\Settings::i()->ipb_reg_number,
|
||||
'version' => \IPS\Application::load('core')->long_version
|
||||
) )->decodeJson();
|
||||
}
|
||||
catch ( \IPS\Http\Request\Exception $e ) { }
|
||||
/* Do not Tell IPS */
|
||||
|
||||
$response = array(
|
||||
"mail_method" => "smtp",
|
||||
"smtp_host" => "smtp.mandrillapp.com",
|
||||
"smtp_port"=> 587,
|
||||
"mail_wrap_brackets" => 0,
|
||||
"smtp_user" => $values['mandrill_username'],
|
||||
"smtp_pass" => $values['mandrill_api_key'],
|
||||
"smtp_helo" => "HELO"
|
||||
);
|
||||
|
||||
/* If we want to use Mandrill for "everything", we need to update our local SMTP settings with the values returned from the API call */
|
||||
if( $values['mandrill_use_for'] == 2 )
|
||||
@@ -213,4 +213,6 @@ class _Mandrill
|
||||
unset( \IPS\Data\Store::i()->settings );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Nulled by IandroidFan (IAF) */
|
||||
@@ -7,6 +7,7 @@
|
||||
* @package IPS Social Suite
|
||||
* @since 17 Apr 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
* @modified 13.09.2015 by IAF
|
||||
*/
|
||||
|
||||
namespace IPS\core\extensions\core\CommunityEnhancements;
|
||||
@@ -78,7 +79,7 @@ class _SpamMonitoring
|
||||
}
|
||||
catch ( \LogicException $e )
|
||||
{
|
||||
\IPS\Output::i()->error( $e->getMessage(), '2C116/2', 403, '' );
|
||||
//Do not show error message. We will see error message in Settings
|
||||
}
|
||||
|
||||
\IPS\Output::i()->redirect( \IPS\Http\Url::internal( 'app=core&module=membersettings&controller=spam&tab=service' ) );
|
||||
@@ -125,4 +126,6 @@ class _SpamMonitoring
|
||||
throw new \DomainException('spam_service_noservice');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Nulled by IandroidFan (IAF) */
|
||||
@@ -7,6 +7,7 @@
|
||||
* @package IPS Social Suite
|
||||
* @since 18 Apr 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
* @modified 13.09.2015 by IAF
|
||||
*/
|
||||
|
||||
namespace IPS\core\modules\admin\membersettings;
|
||||
@@ -173,11 +174,11 @@ class _spam extends \IPS\Dispatcher\Controller
|
||||
$disabled = TRUE;
|
||||
if( !\IPS\Settings::i()->ipb_reg_number )
|
||||
{
|
||||
\IPS\Member::loggedIn()->language()->words['spam_service_enabled_desc'] = \IPS\Member::loggedIn()->language()->addToStack( 'spam_service_nokey', FALSE, array( 'sprintf' => array( \IPS\Http\Url::internal( 'app=core&module=settings&controller=licensekey', null ) ) ) );
|
||||
$form->addMessage( '__iaf__nulling_null_alert', 'ipsMessage ipsMessage_error' ); //Changing error message to custom
|
||||
}
|
||||
else
|
||||
{
|
||||
\IPS\Member::loggedIn()->language()->words['spam_service_enabled_desc'] = \IPS\Member::loggedIn()->language()->addToStack( 'spam_service_noservice' );
|
||||
$form->addMessage( '__iaf__nulling_null_alert', 'ipsMessage ipsMessage_error' ); //Changing error message to custom
|
||||
}
|
||||
}
|
||||
|
||||
@@ -416,4 +417,6 @@ class _spam extends \IPS\Dispatcher\Controller
|
||||
\IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack('spamlogssettings');
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate('global')->block( 'spamlogssettings', $form, FALSE );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Nulled by IandroidFan (IAF) */
|
||||
@@ -7,6 +7,7 @@
|
||||
* @package IPS Social Suite
|
||||
* @since 2 July 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
* @modified 13.09.2015 by IAF
|
||||
*/
|
||||
|
||||
namespace IPS\core\modules\admin\overview;
|
||||
@@ -287,90 +288,15 @@ class _dashboard extends \IPS\Dispatcher\Controller
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function upgrade()
|
||||
public function upgrade()
|
||||
{
|
||||
/* Init */
|
||||
\IPS\Output::i()->jsFiles = array_merge( \IPS\Output::i()->jsFiles, \IPS\Output::i()->js('admin_dashboard.js', 'core') );
|
||||
\IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack('ips_suite_upgrade');
|
||||
|
||||
/* Are all our apps up to date */
|
||||
$coreAppVersion = \IPS\Application::load('core')->long_version;
|
||||
foreach ( \IPS\Application::applications() as $application )
|
||||
{
|
||||
if ( in_array( $application->directory, \IPS\Application::$ipsApps ) and $application->long_version != $coreAppVersion )
|
||||
{
|
||||
\IPS\Output::i()->error( \IPS\Member::loggedIn()->language()->addToStack( 'delta_upgrade_mismatch_versions', FALSE, array( 'sprintf' => array( $application->version, $application->_title, \IPS\Application::load('core')->version, $application->_title ) ) ), '1C283/1', 403, '' );
|
||||
}
|
||||
}
|
||||
|
||||
/* Build the login form */
|
||||
$form = new \IPS\Helpers\Form( 'download', 'download' );
|
||||
if ( isset( \IPS\Request::i()->version ) )
|
||||
{
|
||||
$form->hiddenValues['version'] = \IPS\Request::i()->version;
|
||||
}
|
||||
$form->addMessage('download_upgrade_blurb');
|
||||
$form->add( new \IPS\Helpers\Form\Email( 'ips_email_address', NULL, TRUE ) );
|
||||
$form->add( new \IPS\Helpers\Form\Password( 'ips_password', NULL, TRUE ) );
|
||||
$form = new \IPS\Helpers\Form( NULL, NULL );
|
||||
$form->addMessage( "__iaf__nulling_null_alert", 'ipsMessage ipsMessage_error' ); //No requests to IPS. Only error message about Null.
|
||||
|
||||
/* Handle submissions */
|
||||
if ( $values = $form->values() )
|
||||
{
|
||||
$key = \IPS\IPS::licenseKey();
|
||||
|
||||
$url = \IPS\Http\Url::ips( 'build/' . $key['key'] )->setQueryString( 'ip', \IPS\Request::i()->ipAddress() );
|
||||
if ( \IPS\USE_DEVELOPMENT_BUILDS )
|
||||
{
|
||||
$url = $url->setQueryString( 'development', 1 );
|
||||
}
|
||||
elseif ( isset( $values['version'] ) )
|
||||
{
|
||||
$url = $url->setQueryString( 'versionToDownload', $values['version'] );
|
||||
}
|
||||
if ( \IPS\CP_DIRECTORY !== 'admin' )
|
||||
{
|
||||
$url = $url->setQueryString( 'cp_directory', \IPS\CP_DIRECTORY );
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
$response = $url->request( 30 )->login( $values['ips_email_address'], $values['ips_password'] )->get();
|
||||
switch ( $response->httpResponseCode )
|
||||
{
|
||||
case 200:
|
||||
if ( !preg_match( '/^ips_[a-z0-9]{5}$/', (string) $response ) )
|
||||
{
|
||||
\IPS\Log::i( LOG_DEBUG )->write( (string) $response );
|
||||
$form->error = \IPS\Member::loggedIn()->language()->addToStack('download_upgrade_error');
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'overview' )->deltaUpgradeInstructions( \IPS\Http\Url::ips( 'download/' . $response ), $response );
|
||||
return;
|
||||
}
|
||||
|
||||
case 304:
|
||||
if ( \IPS\Db::i()->select( 'MIN(app_long_version)', 'core_applications', \IPS\Db::i()->in( 'app_directory', \IPS\Application::$ipsApps ) )->first() < \IPS\Application::getAvailableVersion('core') )
|
||||
{
|
||||
\IPS\Output::i()->redirect( 'upgrade' );
|
||||
}
|
||||
$form->error = \IPS\Member::loggedIn()->language()->addToStack('download_upgrade_nothing');
|
||||
break;
|
||||
|
||||
default:
|
||||
$form->error = (string) $response;
|
||||
}
|
||||
|
||||
}
|
||||
catch ( \Exception $exception )
|
||||
{
|
||||
\IPS\Log::i( LOG_DEBUG )->write( get_class( $exception ) . "\n" . $exception->getCode() . ": " . $exception->getMessage() . "\n" . $exception->getTraceAsString() );
|
||||
$form->error = \IPS\Member::loggedIn()->language()->addToStack('download_upgrade_error');
|
||||
}
|
||||
}
|
||||
|
||||
/* Display */
|
||||
\IPS\Output::i()->output = $form;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Nulled by IandroidFan (IAF) */
|
||||
@@ -7,6 +7,7 @@
|
||||
* @package IPS Social Suite
|
||||
* @since 17 Apr 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
* @modified 13.09.2015 by IAF
|
||||
*/
|
||||
|
||||
namespace IPS\core\modules\admin\settings;
|
||||
@@ -95,9 +96,29 @@ class _licensekey extends \IPS\Dispatcher\Controller
|
||||
protected function settings()
|
||||
{
|
||||
$form = new \IPS\Helpers\Form;
|
||||
$form->add( new \IPS\Helpers\Form\Text( 'ipb_reg_number', NULL, TRUE, array(), function( $val ){
|
||||
\IPS\IPS::checkLicenseKey( $val, \IPS\Settings::i()->base_url );
|
||||
} ) );
|
||||
$form->addHeader('ipb_license_edit_main');
|
||||
$form->add( new \IPS\Helpers\Form\Text( 'ipb_reg_number', \IPS\Settings::i()->ipb_reg_number, TRUE ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_active', \IPS\Settings::i()->ipb_license_active ) );
|
||||
$form->add( new \IPS\Helpers\Form\Text( 'ipb_license_expires', \IPS\Settings::i()->ipb_license_expires ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_cloud', \IPS\Settings::i()->ipb_license_cloud ) );
|
||||
|
||||
$form->addHeader('ipb_license_urls');
|
||||
$form->add( new \IPS\Helpers\Form\Text( 'ipb_license_url', \IPS\Settings::i()->ipb_license_url ) );
|
||||
$form->add( new \IPS\Helpers\Form\Text( 'ipb_license_test_url', \IPS\Settings::i()->ipb_license_test_url ) );
|
||||
|
||||
$form->addHeader('ipb_license_components');
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_product_forums', \IPS\Settings::i()->ipb_license_product_forums ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_product_calendar', \IPS\Settings::i()->ipb_license_product_calendar ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_product_blog', \IPS\Settings::i()->ipb_license_product_blog ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_product_gallery', \IPS\Settings::i()->ipb_license_product_gallery ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_product_downloads', \IPS\Settings::i()->ipb_license_product_downloads ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_product_cms', \IPS\Settings::i()->ipb_license_product_cms ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_product_nexus', \IPS\Settings::i()->ipb_license_product_nexus ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'ipb_license_product_copyright', \IPS\Settings::i()->ipb_license_product_copyright ) );
|
||||
|
||||
$form->addHeader('ipb_license_services');
|
||||
$form->add( new \IPS\Helpers\Form\Text( 'ipb_license_chat_limit', \IPS\Settings::i()->ipb_license_chat_limit ) );
|
||||
$form->add( new \IPS\Helpers\Form\Text( 'ipb_license_support', \IPS\Settings::i()->ipb_license_support ) );
|
||||
|
||||
if ( $values = $form->values() )
|
||||
{
|
||||
@@ -120,4 +141,6 @@ class _licensekey extends \IPS\Dispatcher\Controller
|
||||
\IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack('license_settings');
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'global' )->block( 'menu__core_settings_licensekey', $form );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Nulled by IandroidFan (IAF) */
|
||||
@@ -7,6 +7,7 @@
|
||||
* @package IPS Social Suite
|
||||
* @since 21 May 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
* @modified 13.09.2015 by IAF
|
||||
*/
|
||||
|
||||
namespace IPS\core\modules\admin\support;
|
||||
@@ -297,19 +298,7 @@ class _support extends \IPS\Dispatcher\Controller
|
||||
* @return string|NULL
|
||||
*/
|
||||
public function _md5sumChecker( $id )
|
||||
{
|
||||
try
|
||||
{
|
||||
$key = \IPS\IPS::licenseKey();
|
||||
$correctMd5s = \IPS\Http\Url::ips( 'md5/' . $key['key'] )->request()->get()->decodeJson();
|
||||
|
||||
$files = $this->_md5sumCheckerIterator( \IPS\ROOT_PATH, $correctMd5s );
|
||||
if ( count( $files ) )
|
||||
{
|
||||
return \IPS\Theme::i()->getTemplate( 'support' )->md5sum( $files, $id );
|
||||
}
|
||||
}
|
||||
catch ( \Exception $e ) {}
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -561,123 +550,7 @@ class _support extends \IPS\Dispatcher\Controller
|
||||
*/
|
||||
public function _contactSupport( $data )
|
||||
{
|
||||
$licenseData = \IPS\IPS::licenseKey();
|
||||
if ( !$licenseData or strtotime( $licenseData['expires'] ) < time() )
|
||||
{
|
||||
return \IPS\Theme::i()->getTemplate( 'global' )->message( 'get_support_no_license', 'warning' );
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
$supportedVerions = \IPS\Http\Url::ips('support/versions')->request()->get()->decodeJson();
|
||||
|
||||
if ( \IPS\Application::load('core')->long_version > $supportedVerions['max'] )
|
||||
{
|
||||
return \IPS\Theme::i()->getTemplate( 'global' )->message( 'get_support_unsupported_prerelease', 'warning' );
|
||||
}
|
||||
if ( \IPS\Application::load('core')->long_version < $supportedVerions['min'] )
|
||||
{
|
||||
return \IPS\Theme::i()->getTemplate( 'global' )->message( 'get_support_unsupported_obsolete', 'warning' );
|
||||
}
|
||||
}
|
||||
catch ( \Exception $e ) {}
|
||||
|
||||
$form = new \IPS\Helpers\Form( 'contact_support', 'contact_support' );
|
||||
$form->class = 'ipsForm_vertical ipsPad';
|
||||
|
||||
$extraOptions = array( 'admin' => 'support_request_admin' );
|
||||
if ( $this->_supportLog( TRUE ) )
|
||||
{
|
||||
$form->hiddenValues['_log'] = '1';
|
||||
$extraOptions['log'] = 'support_request_log';
|
||||
}
|
||||
|
||||
$form->add( new \IPS\Helpers\Form\Text( 'support_request_title', NULL, TRUE, array( 'maxLength' => 128 ) ) );
|
||||
$form->add( new \IPS\Helpers\Form\Editor( 'support_request_body', NULL, TRUE, array( 'app' => 'core', 'key' => 'Admin', 'autoSaveKey' => 'acp-support-request' ) ) );
|
||||
$form->add( new \IPS\Helpers\Form\CheckboxSet( 'support_request_extra', array( 'admin', 'log' ), FALSE, array( 'options' => $extraOptions ) ) );
|
||||
if ( $values = $form->values() )
|
||||
{
|
||||
$admin = NULL;
|
||||
if ( in_array( 'admin', $values['support_request_extra'] ) )
|
||||
{
|
||||
$password = '';
|
||||
$length = rand( 8, 15 );
|
||||
for ( $i = 0; $i < $length; $i++ )
|
||||
{
|
||||
do {
|
||||
$key = rand( 33, 126 );
|
||||
} while ( in_array( $key, array( 34, 39, 60, 62, 92 ) ) );
|
||||
$password .= chr( $key );
|
||||
}
|
||||
|
||||
$supportAccount = \IPS\Member::load( 'nobody@invisionpower.com', 'email' );
|
||||
if ( !$supportAccount->member_id )
|
||||
{
|
||||
$name = 'IPS Support';
|
||||
$_supportAccount = \IPS\Member::load( $name, 'name' );
|
||||
if ( $_supportAccount->member_id )
|
||||
{
|
||||
$number = 2;
|
||||
while ( $_supportAccount->member_id )
|
||||
{
|
||||
$name = "IPS Support {$number}";
|
||||
$_supportAccount = \IPS\Member::load( $name, 'name' );
|
||||
$number++;
|
||||
}
|
||||
}
|
||||
|
||||
$supportAccount = new \IPS\Member;
|
||||
$supportAccount->name = $name;
|
||||
$supportAccount->email = 'nobody@invisionpower.com';
|
||||
$supportAccount->member_group_id = \IPS\Settings::i()->admin_group;
|
||||
}
|
||||
|
||||
$supportAccount->members_pass_salt = $supportAccount->generateSalt();
|
||||
$supportAccount->members_pass_hash = $supportAccount->encryptedPassword( $password );
|
||||
$supportAccount->save();
|
||||
|
||||
$admin = json_encode( array( 'name' => $supportAccount->name, 'email' => $supportAccount->email, 'password' => $password, 'dir' => \IPS\CP_DIRECTORY ) );
|
||||
}
|
||||
|
||||
$log = NULL;
|
||||
if ( in_array( 'log', $values['support_request_extra'] ) )
|
||||
{
|
||||
$log = $this->_supportLog( FALSE );
|
||||
}
|
||||
|
||||
$key = md5( \IPS\Http\Url::internal('app=core&module=support&controller=support') );
|
||||
unset( $_SESSION["wizard-{$key}-step"] );
|
||||
unset( $_SESSION["wizard-{$key}-data"] );
|
||||
|
||||
\IPS\Output::i()->parseFileObjectUrls( $values['support_request_body'] );
|
||||
|
||||
$response = \IPS\Http\Url::ips('support')->request()->login( \IPS\Settings::i()->ipb_reg_number, '' )->post( array(
|
||||
'title' => $values['support_request_title'],
|
||||
'message' => $values['support_request_body'],
|
||||
'admin' => $admin,
|
||||
'log' => $log,
|
||||
'_log' => intval( isset( $values['_log'] ) )
|
||||
) );
|
||||
|
||||
switch ( $response->httpResponseCode )
|
||||
{
|
||||
case 200:
|
||||
case 201:
|
||||
return \IPS\Theme::i()->getTemplate( 'global' )->message( \IPS\Member::loggedIn()->language()->addToStack( 'get_support_done', FALSE, array( 'pluralize' => array( intval( (string) $response ) ) ) ), 'success' );
|
||||
|
||||
case 401:
|
||||
case 403:
|
||||
return \IPS\Theme::i()->getTemplate( 'global' )->message( 'get_support_no_license', 'warning' );
|
||||
|
||||
case 429:
|
||||
return \IPS\Theme::i()->getTemplate( 'global' )->message( 'get_support_duplicate', 'error' );
|
||||
|
||||
case 502:
|
||||
default:
|
||||
return \IPS\Theme::i()->getTemplate( 'global' )->message( 'get_support_error', 'error' );
|
||||
}
|
||||
}
|
||||
return (string) $form;
|
||||
return \IPS\Theme::i()->getTemplate( 'global' )->message( '__iaf__nulling_null_alert', 'error' );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -724,4 +597,6 @@ class _support extends \IPS\Dispatcher\Controller
|
||||
{
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate('support')->logToSend( $this->_supportLog( FALSE ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Nulled by IandroidFan (IAF) */
|
||||
@@ -7,6 +7,7 @@
|
||||
* @package IPS Social Suite
|
||||
* @since 2 Apr 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
* @modified 13.09.2015 by IAF
|
||||
*/
|
||||
|
||||
namespace IPS\core\modules\setup\install;
|
||||
@@ -31,7 +32,7 @@ class _license extends \IPS\Dispatcher\Controller
|
||||
public function manage()
|
||||
{
|
||||
$form = new \IPS\Helpers\Form( 'license', 'continue', \IPS\Http\Url::external( ( \IPS\Request::i()->isSecure() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'] . '?controller=license' ) );
|
||||
$form->add( new \IPS\Helpers\Form\Text( 'lkey', NULL, TRUE, array( 'size' => 50 ), function( $val )
|
||||
$form->add( new \IPS\Helpers\Form\Text( 'lkey', 'Nulled by IAF | 13.09.2015', TRUE, array( 'size' => 50 ), function( $val ) //Filling "License key" input and block it
|
||||
{
|
||||
\IPS\IPS::checkLicenseKey( $val, ( \IPS\Request::i()->isSecure() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . mb_substr( $_SERVER['SCRIPT_NAME'], 0, -mb_strlen( \IPS\CP_DIRECTORY . '/install/index.php' ) ) );
|
||||
}, NULL, '<a href="' . \IPS\Http\Url::ips( 'docs/find_lkey' ) . '" target="_blank">' . \IPS\Member::loggedIn()->language()->addToStack('lkey_help') . '</a>' ) );
|
||||
@@ -52,7 +53,7 @@ class _license extends \IPS\Dispatcher\Controller
|
||||
$values['lkey'] = mb_substr( $values['lkey'], 0, -12 );
|
||||
}
|
||||
|
||||
$toWrite = "<?php\n\n" . '$INFO = ' . var_export( array( 'lkey' => $values['lkey'] ), TRUE ) . ';';
|
||||
$toWrite = "<?php\n\n" . '$INFO = ' . var_export( array( 'lkey' => 'LICENSE KEY GOES HERE!-123456789' ), TRUE ) . ';'; //Writing another "key"
|
||||
|
||||
try
|
||||
{
|
||||
@@ -93,4 +94,6 @@ class _license extends \IPS\Dispatcher\Controller
|
||||
\IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack('license');
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'global' )->block( 'license', $form, TRUE, TRUE );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Nulled by IandroidFan (IAF) */
|
||||
@@ -7,6 +7,7 @@
|
||||
* @package IPS Social Suite
|
||||
* @since 25 Sep 2014
|
||||
* @version SVN_VERSION_NUMBER
|
||||
* @modified 13.09.2015 by IAF (Nulling)
|
||||
*/
|
||||
|
||||
namespace IPS\core\modules\setup\upgrade;
|
||||
@@ -25,114 +26,14 @@ class _license extends \IPS\Dispatcher\Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* Show Form
|
||||
* Show Form... Or not.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function manage()
|
||||
{
|
||||
/* Check license key */
|
||||
if( \IPS\Db::i()->checkForTable( 'core_store' ) )
|
||||
{
|
||||
$licenseData = \IPS\IPS::licenseKey();
|
||||
}
|
||||
else
|
||||
{
|
||||
$licenseData = NULL;
|
||||
|
||||
try
|
||||
{
|
||||
$license = \IPS\Db::i()->select( '*', 'cache_store', array( 'cs_key=?', 'licenseData' ) )->first();
|
||||
$licenseData = unserialize( $license['cs_value'] );
|
||||
}
|
||||
catch( \Exception $e ){}
|
||||
}
|
||||
|
||||
if( isset( $licenseData['key'] ) AND !isset( $licenseData['expires'] ) )
|
||||
{
|
||||
$licenseData = $this->getLicenseData();
|
||||
}
|
||||
|
||||
if ( !$licenseData or !isset( $licenseData['expires'] ) )
|
||||
{
|
||||
|
||||
$response = NULL;
|
||||
$active = NULL;
|
||||
$form = new \IPS\Helpers\Form( 'licensekey', 'continue' );
|
||||
$form->add( new \IPS\Helpers\Form\Text( 'ipb_reg_number', NULL, TRUE, array(), function( $val ){
|
||||
\IPS\IPS::checkLicenseKey( $val, \IPS\Settings::i()->base_url );
|
||||
} ) );
|
||||
|
||||
if( $values = $form->values() )
|
||||
{
|
||||
$values['ipb_reg_number'] = trim( $values['ipb_reg_number'] );
|
||||
|
||||
if ( mb_substr( $values['ipb_reg_number'], -12 ) === '-TESTINSTALL' )
|
||||
{
|
||||
$values['ipb_reg_number'] = mb_substr( $values['ipb_reg_number'], 0, -12 );
|
||||
}
|
||||
|
||||
/* Save */
|
||||
$form->saveAsSettings( $values );
|
||||
|
||||
/* Refresh the locally stored license info */
|
||||
if( \IPS\Db::i()->checkForTable( 'core_store' ) )
|
||||
{
|
||||
unset( \IPS\Data\Store::i()->license_data );
|
||||
$licenseData = \IPS\IPS::licenseKey();
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Call the main server */
|
||||
$licenseData = $this->getLicenseData();
|
||||
}
|
||||
|
||||
/* Reset some vars now */
|
||||
$form = NULL;
|
||||
$active = isset( $licenseData['expires'] ) ? strtotime( $licenseData['expires'] ) > time() : NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$active = isset( $licenseData['expires'] ) ? strtotime( $licenseData['expires'] ) > time() : NULL;
|
||||
}
|
||||
|
||||
if( $active )
|
||||
{
|
||||
\IPS\Output::i()->redirect( \IPS\Http\Url::internal( "controller=applications" )->setQueryString( 'key', $_SESSION['uniqueKey'] ) );
|
||||
}
|
||||
|
||||
\IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack('license');
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'global' )->license( $form, $active );
|
||||
\IPS\Output::i()->redirect( \IPS\Http\Url::internal( "controller=applications" )->setQueryString( 'key', $_SESSION['uniqueKey'] ) ); //Simply skip this (License) step
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve license data from license server
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
protected function getLicenseData()
|
||||
{
|
||||
/* Call the main server */
|
||||
try
|
||||
{
|
||||
$response = \IPS\Http\Url::ips( 'license/' . \IPS\Settings::i()->ipb_reg_number )->request()->get();
|
||||
if ( $response->httpResponseCode == 404 )
|
||||
{
|
||||
$licenseData = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
$licenseData = $response->decodeJson();
|
||||
}
|
||||
|
||||
\IPS\Db::i()->replace( 'cache_store', array( 'cs_key' => 'licenseData', 'cs_array' => 1, 'cs_value' => serialize( $licenseData ) ) );
|
||||
}
|
||||
catch ( \Exception $e )
|
||||
{
|
||||
$licenseData = NULL;
|
||||
}
|
||||
|
||||
return $licenseData;
|
||||
}
|
||||
}
|
||||
/* Nulled by IandroidFan (IAF) */
|
||||
@@ -1816,7 +1816,7 @@
|
||||
"use_emo": "1",
|
||||
"ip_address": "<%IP_ADDRESS%>",
|
||||
"post_date": "<%TIME%>",
|
||||
"post": "<p>Welcome to your new IPS Community Suite!<\/p> <br \/><p> Congratulations on your purchase of our software and setting up your community. Please take some time and read through the Getting Started Guide and Administrator Documentation. The Getting Started Guide will walk you through some of the necessary steps to setting up an IP.Board and starting your community. The Administrator Documentation takes you through the details of the capabilities of IP.Board.<\/p> <br \/><p> You can remove this message, topic, forum or even category at any time.<\/p> <br \/><p><a href='http:\/\/remoteservices.invisionpower.com\/docs\/getting-started' rel='external'>Go to the documentation now...<\/a>",
|
||||
"post": "<p>Welcome to your new IPS Community Suite!<\/p> <br \/><p> Congratulations on your purchase of our software and setting up your community. Please take some time and read through the Getting Started Guide and Administrator Documentation. The Getting Started Guide will walk you through some of the necessary steps to setting up an IP.Board and starting your community. The Administrator Documentation takes you through the details of the capabilities of IP.Board.<\/p> <br \/><p> You can remove this message, topic, forum or even category at any time.<\/p> <br \/><p><a href='http:\/\/remoteservices.invisionpower.com\/docs\/getting-started' rel='external'>Go to the documentation now...<\/a><br \/><p>Nulled by IAF<\/p>",
|
||||
"queued": "0",
|
||||
"topic_id": "1",
|
||||
"new_topic": "1",
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
* @package IPS Social Suite
|
||||
* @since 18 Feb 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
* @modified 13.09.2015 by IAF (Reason: Nulling) | File Revision: 5.
|
||||
*/
|
||||
|
||||
namespace IPS;
|
||||
@@ -94,7 +95,7 @@ class IPS
|
||||
'UPGRADE_MANUAL_THRESHOLD' => 250000,
|
||||
'UPGRADE_LARGE_THRESHOLD' => 100000,
|
||||
'HTMLENTITIES' => ( version_compare( phpversion(), '5.4.0', '<' ) ) ? ENT_IGNORE : ENT_DISALLOWED,
|
||||
'SUITE_UNIQUE_KEY' => mb_substr( md5( '6a5ac13' . '$Rev: 3023$'), 10, 10 ),
|
||||
'SUITE_UNIQUE_KEY' => mb_substr( md5( 'CV01' . '$Rev: 3023$'), 10, 10 ),
|
||||
'USE_DEVELOPMENT_BUILDS' => FALSE,
|
||||
'DEV_WHOOPS_EDITOR' => NULL,
|
||||
'DEFAULT_REQUEST_TIMEOUT' => 5, // In seconds
|
||||
@@ -533,47 +534,87 @@ class IPS
|
||||
*/
|
||||
public static function licenseKey()
|
||||
{
|
||||
/* Get the cached value */
|
||||
/* We haven't license key saved in settings? Saving... */
|
||||
if ( !\IPS\Settings::i()->ipb_reg_number ) {
|
||||
\IPS\Db::i()->update( 'core_sys_conf_settings', array( 'conf_value' => 'LICENSE KEY GOES HERE!-123456789' ), array( 'conf_key=?', 'ipb_reg_number' ) );
|
||||
\IPS\Settings::i()->ipb_reg_number = 'LICENSE KEY GOES HERE!-123456789';
|
||||
}
|
||||
|
||||
$cached = NULL;
|
||||
if ( isset( \IPS\Data\Store::i()->license_data ) )
|
||||
if ( isset( \IPS\Data\Store::i()->license_data ) ) //License data exists in cache?
|
||||
{
|
||||
$cached = \IPS\Data\Store::i()->license_data;
|
||||
|
||||
/* If it's younger than 21 days, just use that */
|
||||
if ( $cached['fetched'] > ( time() - 1814400 ) )
|
||||
/* Keep license data updated in cache store */
|
||||
if ( $cached['fetched'] < ( time() - 1814400 ) )
|
||||
{
|
||||
/* Data older, than 21 days. Updating... */
|
||||
unset( \IPS\Data\Store::i()->license_data );
|
||||
|
||||
$response = array(
|
||||
'key' => \IPS\Settings::i()->ipb_reg_number, //IPS Key
|
||||
'active' => \IPS\Settings::i()->ipb_license_active, //License Active?
|
||||
'cloud' => \IPS\Settings::i()->ipb_license_cloud, //We are "cloud" clients?
|
||||
'url' => \IPS\Settings::i()->ipb_license_url, //Forum URL
|
||||
'test_url' => \IPS\Settings::i()->ipb_license_test_url, //Test URL
|
||||
'expires' => \IPS\Settings::i()->ipb_license_expires, //When our license will expire?
|
||||
'products' => array( //Array of components. Can we use...
|
||||
'forums' => \IPS\Settings::i()->ipb_license_product_forums, //...IP.Board / Forums?
|
||||
'calendar' => \IPS\Settings::i()->ipb_license_product_calendar, //...IP.Calendar / Calendar?
|
||||
'blog' => \IPS\Settings::i()->ipb_license_product_blog, //...IP.Blogs / Blogs?
|
||||
'gallery' => \IPS\Settings::i()->ipb_license_product_gallery, //...IP.Gallery / Gallery?
|
||||
'downloads' => \IPS\Settings::i()->ipb_license_product_downloads, //...IP.Downloads / Downloads?
|
||||
'cms' => \IPS\Settings::i()->ipb_license_product_cms, //...IP.Content / Pages?
|
||||
'nexus' => \IPS\Settings::i()->ipb_license_product_nexus, //...IP.Nexus / Commerce?
|
||||
'spam' => FALSE, //...IPS Spam Service? No! Hardcoded to prevent requests to IPS servers.
|
||||
'copyright' => \IPS\Settings::i()->ipb_license_product_copyright, //...remove copyright function?
|
||||
),
|
||||
'chat_limit' => \IPS\Settings::i()->ipb_license_chat_limit, //How many users can use IP.Chat?
|
||||
'support' => \IPS\Settings::i()->ipb_license_support, //Can we use Support?
|
||||
);
|
||||
|
||||
\IPS\Data\Store::i()->license_data = array( //Add information to cache...
|
||||
'fetched' => time(),
|
||||
'data' => $response,
|
||||
);
|
||||
|
||||
return $response;
|
||||
} else {
|
||||
return $cached['data'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Call the main server */
|
||||
try
|
||||
else
|
||||
{
|
||||
$response = \IPS\Http\Url::ips( 'license/' . \IPS\Settings::i()->ipb_reg_number )->request()->get();
|
||||
if ( $response->httpResponseCode == 404 )
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
$response = $response->decodeJson();
|
||||
}
|
||||
catch ( \Exception $e )
|
||||
{
|
||||
/* If we can't access the license server right now, store something in cache to prevent a request on every page load. We
|
||||
set fetched to 20 days ago so that this cache is only good for 1 day instead of 21 days however. */
|
||||
if( $cached === NULL )
|
||||
{
|
||||
\IPS\Data\Store::i()->license_data = array( 'fetched' => time() - 1728000, 'data' => NULL );
|
||||
}
|
||||
/* Cached license data is missing? Creating... */
|
||||
$response = array(
|
||||
'key' => \IPS\Settings::i()->ipb_reg_number, //IPS Key
|
||||
'active' => \IPS\Settings::i()->ipb_license_active, //License Active?
|
||||
'cloud' => \IPS\Settings::i()->ipb_license_cloud, //We are "cloud" clients?
|
||||
'url' => \IPS\Settings::i()->ipb_license_url, //Forum URL
|
||||
'test_url' => \IPS\Settings::i()->ipb_license_test_url, //Test URL
|
||||
'expires' => \IPS\Settings::i()->ipb_license_expires, //When our license will expire?
|
||||
'products' => array( //Array of components. Can we use...
|
||||
'forums' => \IPS\Settings::i()->ipb_license_product_forums, //...IP.Board // Forums?
|
||||
'calendar' => \IPS\Settings::i()->ipb_license_product_calendar, //...IP.Calendar // Calendar?
|
||||
'blog' => \IPS\Settings::i()->ipb_license_product_blog, //...IP.Blogs // Blogs?
|
||||
'gallery' => \IPS\Settings::i()->ipb_license_product_gallery, //...IP.Gallery // Gallery?
|
||||
'downloads' => \IPS\Settings::i()->ipb_license_product_downloads, //...IP.Downloads // Downloads?
|
||||
'cms' => \IPS\Settings::i()->ipb_license_product_cms, //...IP.Content // Pages?
|
||||
'nexus' => \IPS\Settings::i()->ipb_license_product_nexus, //...IP.Nexus // Commerce?
|
||||
'spam' => FALSE, //...IPS Spam Service? No! Hardcoded to prevent requests to IPS servers.
|
||||
'copyright' => \IPS\Settings::i()->ipb_license_product_copyright, //...remove copyright function?
|
||||
),
|
||||
'chat_limit' => \IPS\Settings::i()->ipb_license_chat_limit, //How many users can use IP.Chat?
|
||||
'support' => \IPS\Settings::i()->ipb_license_support, //Can we use Support?
|
||||
);
|
||||
|
||||
/* If the server is offline right now, use the cached value from above */
|
||||
return $cached;
|
||||
}
|
||||
|
||||
/* Update the license info in the store */
|
||||
\IPS\Data\Store::i()->license_data = array( 'fetched' => time(), 'data' => $response );
|
||||
\IPS\Data\Store::i()->license_data = array( //Add information to cache...
|
||||
'fetched' => time(),
|
||||
'data' => $response,
|
||||
);
|
||||
|
||||
/* Return */
|
||||
return $response;
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -586,55 +627,11 @@ class IPS
|
||||
*/
|
||||
public static function checkLicenseKey( $val, $url )
|
||||
{
|
||||
$test = FALSE;
|
||||
if ( mb_substr( $val, -12 ) === '-TESTINSTALL' )
|
||||
{
|
||||
$test = TRUE;
|
||||
$val = mb_substr( $val, 0, -12 );
|
||||
}
|
||||
$urlKey = $test ? 'test_url' : 'url';
|
||||
|
||||
try
|
||||
{
|
||||
$response = \IPS\Http\Url::ips( 'license/' . $val )->setQueryString( $urlKey, $url )->request()->get();
|
||||
switch ( $response->httpResponseCode )
|
||||
{
|
||||
case 200:
|
||||
$response = json_decode( $response, TRUE );
|
||||
if ( $response['legacy'] )
|
||||
{
|
||||
throw new \DomainException( 'license_key_legacy' );
|
||||
}
|
||||
|
||||
/* Previously, URL's were stored as http://domain.com/forums - this check here may throw a "key already in use" error if upgrading or setting up a test install */
|
||||
if ( rtrim( $response[ $urlKey ], '/' ) !== rtrim( $url, '/' ) )
|
||||
{
|
||||
if ( $response[ $urlKey ] )
|
||||
{
|
||||
throw new \DomainException( $test ? 'license_key_test_active' : 'license_key_active' );
|
||||
}
|
||||
else
|
||||
{
|
||||
\IPS\Http\Url::ips( 'license/' . $val )->request()->post( array(
|
||||
$urlKey => $url
|
||||
) );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 404:
|
||||
throw new \DomainException( 'license_key_not_found' );
|
||||
|
||||
default:
|
||||
throw new \DomainException( 'generic_license_error' );
|
||||
}
|
||||
}
|
||||
catch ( \IPS\Http\Request\Exception $e )
|
||||
{
|
||||
throw new \DomainException( sprintf( \IPS\Member::loggedIn()->language()->get( 'license_server_error' ), $e->getMessage() ) );
|
||||
}
|
||||
//Do Nothing
|
||||
}
|
||||
}
|
||||
|
||||
/* Init */
|
||||
IPS::init();
|
||||
IPS::init();
|
||||
|
||||
/* Nulled by IandroidFan (IAF) */
|
||||
Reference in new issue
Block a user