Version 4.1.19.4

This commit is contained in:
Neo committed 2025-12-19 05:42:01 -08:00
1 parent 2bd5025018
commit 0dc2aee5ed
312 files changed
+53730 -32118

No files matched your search

+16
View File
@@ -0,0 +1,16 @@
{
"manage": {
"manage_start": {
"tab": "core",
"controller": "create",
"do": "&_new=1",
"restriction": "manage_create"
},
"manage": {
"tab": "core",
"controller": "manage",
"do": "",
"restriction": "manage_manage"
}
}
}
@@ -0,0 +1,14 @@
{
"start": [],
"manage": {
"manage": {
"manage_manage": "manage_manage"
},
"convert": {
"convert_manage": "convert_manage"
},
"create": {
"create_manage": "create_manage"
}
}
}
+1
View File
@@ -0,0 +1 @@
{}
@@ -0,0 +1,8 @@
{
"application_title": "Converter",
"app_author": "Invision Power Services, Inc.",
"app_directory": "convert",
"app_protected": 0,
"app_website": null,
"app_update_check": null
}
@@ -0,0 +1,62 @@
<?php
/**
* @brief Converter Library <#CLASS#> Class
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
* @package IPS Community Suite
* @subpackage Converter
* @since 21 Jan 2015
*/
namespace IPS\convert\Library;
/* 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;
}
class _<#CLASS#> extends \IPS\convert\Library
{
/**
* @brief Application
*/
public $app = '<#CLASS_LOWER#>';
/**
* Returns an array of items that we can convert, including the amount of rows stored in the Community Suite as well as the recommend value of rows to convert per cycle
*
* @return array
*/
public function menuRows()
{
return array();
}
/**
* Returns an array of tables that need to be truncated when Empty Local Data is used
*
* @param string The method to truncate.
* @return array
*/
protected function truncate( $method )
{
return array();
}
/**
* This is how the insert methods will work - basically like 3.x, but we should be using the actual classes to insert the data unless there is a real world reason not too.
* Using the actual routines to insert data will help to avoid having to resynchronize and rebuild things later on, thus resulting in less conversion time being needed overall.
* Anything that parses content, for example, may need to simply insert directly then rebuild via a task over time, as HTML Purifier is slow when mass inserting content.
*/
/**
* A note on logging -
* If the data is missing and it is unlikely that any source software would be able to provide this, we do not need to log anything and can use default data (for example, group_layout in convertLeaderGroups).
* If the data is missing and it is likely that a majority of the source software can provide this, we should log a NOTICE and use default data (for example, a_casesensitive in convertAcronyms).
* If the data is missing and it is required to convert the item, we should log a WARNING and return FALSE.
* If the conversion absolutely cannot proceed at all (filestorage locations not writable, for example), then we should log an ERROR and throw an \IPS\convert\Exception to completely halt the process and redirect to an error screen showing the last logged error.
*/
}
@@ -0,0 +1,151 @@
<?php
/**
* @brief Converter <#CLASS#> Class
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
* @package IPS Community Suite
* @subpackage Converter
* @since 21 Jan 2015
*/
namespace IPS\convert\Software\<#APP#>;
/* 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;
}
class _<#CLASS#> extends \IPS\convert\Software
{
/**
* Software Name
*
* @return string
*/
public static function softwareName()
{
/* Child classes must override this method */
return "<#CLASS#>";
}
/**
* Software Key
*
* @return string
*/
public static function softwareKey()
{
/* Child classes must override this method */
return "<#CLASS_LOWER#>";
}
/**
* Content we can convert from this software.
*
* @return array|NULL
* @note NULL indicates this converter cannot be used yet, useful to move redirect scripts into the 4.x framework
*/
public static function canConvert()
{
return array(
);
}
/**
* Can we convert passwords from this software.
*
* @return boolean
*/
public static function loginEnabled()
{
return FALSE;
}
/**
* Can we convert settings?
*
* @return boolean
*/
public static function canConvertSettings()
{
return FALSE;
}
/**
* Settings Map
*
* @return array
*/
public function settingsMap()
{
return array();
}
/**
* Settings Map Listing
*
* @return array
*/
public function settingsMapList()
{
return array();
}
/**
* Returns a block of text, or a language string, that explains what the admin must do to start this conversion
*
* @return string|NULL
*/
public static function getPreConversionInformation()
{
return NULL;
}
/**
* List of conversion methods that require additional information
*
* @return array
*/
public static function checkConf()
{
return array();
}
/**
* Get More Information
*
* @param string $method Conversion method
* @return array
*/
public function getMoreInfo( $method )
{
return array();
}
/**
* Finish - Adds everything it needs to the queues and clears data store
*
* @return array Messages to display
*/
public function finish()
{
return array();
}
/**
* Fix post data
*
* @param string raw post data
* @return string parsed post data
*/
public static function fixPostData( $post )
{
return $post;
}
// Insert convertX methods here
}
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<emails/>
+10
View File
@@ -0,0 +1,10 @@
{
"Db": {
"type": "C",
"class": "\\IPS\\Db"
},
"FrontDispatcher": {
"type": "C",
"class": "\\IPS\\Dispatcher\\Front"
}
}
Whitespace-only changes.
+63
View File
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<javascript app="convert">
<file javascript_app="convert" javascript_location="admin" javascript_path="controllers/convert" javascript_name="ips.convert.menu.js" javascript_type="controller" javascript_version="101099" javascript_position="1000050">/**
* IPS Community Suite 4
* (c) 2016 Invision Power Services - http://www.invisionpower.com
*
* ips.convert.menu.js -
*
* Author: Ryan Ashbrook
*/
;( function($, _, undefined){
&quot;use strict&quot;;
ips.controller.register('convert.admin.convert.menu', {
initialize: function () {
this.on( 'click', &quot;[data-action='reConvert']&quot;, this.areYouSure );
this.on( 'click', &quot;[data-action='remove_converted_data']&quot;, this.removeConverted );
},
areYouSure: function(e) {
var self = this;
e.preventDefault();
ips.ui.alert.show( {
type: 'confirm',
icon: 'warning',
message: 'Are you sure you wish to reconvert this?',
subText: 'Reconverting can cause data inconsistency. If you reconvert this step, you must also reconvert each step below it.',
} );
},
removeConverted: function(e) {
var self = this;
e.preventDefault();
ips.ui.alert.show( {
type: 'confirm',
icon: 'warning',
message: 'Are you sure you wish to remove all converted data for this step?',
subText: 'Removing all converted data will remove all data that has been converted for this step. This action cannot be undone.',
} );
}
} );
}(jQuery, _));</file>
<order app="global" path="/dev/js//framework/">templates
common/ips.loader.js
common/ui
common/utils
common
controllers</order>
<order app="global" path="/dev/js//library/">underscore
jquery
mustache
jstz
Debug.js
app.js</order>
<order app="global" path="/dev/js//library//jquery">jquery.js
jquery.history.js
jquery.transform.js</order>
</javascript>
+288
View File
@@ -0,0 +1,288 @@
<?xml version="1.0" encoding="UTF-8"?>
<language>
<app key="convert" version="101099">
<word key="__app_convert" js="0">Converter</word>
<word key="menu__convert_manage" js="0">Conversions</word>
<word key="menu__convert_manage_manage_start" js="0">Start New Conversion</word>
<word key="menu__convert_manage_manage" js="0">Manage Conversions</word>
<word key="convert_sw" js="0">Suite Application</word>
<word key="convert_app_key" js="0">Source Software</word>
<word key="convert_name" js="0">Identifier</word>
<word key="convert_parent" js="0">Parent Conversion</word>
<word key="convert_no_parent" js="0"><![CDATA[<em>No Parent</em>]]></word>
<word key="convert_start" js="0">Start New Conversion</word>
<word key="conversion_deleted" js="0">Conversion Deleted</word>
<word key="conversion_app_has_children" js="0">This conversion has `child` conversions assigned to it, these must be deleted first</word>
<word key="conversion_app_already_exists" js="0">A conversion has already been configured for this software. We have taken you to that conversion now.</word>
<word key="conversion_app_not_found" js="0">The conversion you were managing could not be found</word>
<word key="convert_start_application" js="0">What do you want to convert?</word>
<word key="core_node_select" js="0">Member and System Information</word>
<word key="forums_node_select" js="0">Forum and Topic Data</word>
<word key="blog_node_select" js="0">Blog Data</word>
<word key="calendar_node_select" js="0">Calendar and Event Data</word>
<word key="downloads_node_select" js="0">Downloads Data</word>
<word key="gallery_node_select" js="0">Gallery and Images Data</word>
<word key="cms_node_select" js="0">Pages and Record Data</word>
<word key="nexus_node_select" js="0">Commerce, Support, and Purchase Data</word>
<word key="convert_start_source_software" js="0">What software are you converting from?</word>
<word key="convert_no_applicable_parent" js="0">This converter requires that a parent conversion exists first.</word>
<word key="convert_start_database_details" js="0">Database Details</word>
<word key="convert_start_select_parent" js="0">If this is from the same source as a previous conversion, select it here.</word>
<word key="convert_start_parent" js="0">Parent Conversion</word>
<word key="convert_start_or_database" js="0">If this conversion requires different database details then the parent, then enter them here - otherwise leave blank to use the parent details.</word>
<word key="convert_start_database_host" js="0">Database Host</word>
<word key="convert_start_database_port" js="0">Database Port</word>
<word key="convert_start_database_name" js="0">Database Name</word>
<word key="convert_start_database_user" js="0">Database User</word>
<word key="convert_start_database_pass" js="0">Database Password</word>
<word key="convert_start_database_prefix" js="0">Database Table Prefix</word>
<word key="convert_start_database_charset" js="0">Database Character Set</word>
<word key="select_source" js="0">Select Source Software</word>
<word key="enter_database_details" js="0">Enter Database Details</word>
<word key="start_conversion" js="0">Start Conversion</word>
<word key="edit_conversion" js="0">Edit Conversion</word>
<word key="db_host" js="0">Database Host</word>
<word key="db_port" js="0">Database Port</word>
<word key="db_db" js="0">Database Name</word>
<word key="db_user" js="0">Database User</word>
<word key="db_pass" js="0">Database Password</word>
<word key="db_prefix" js="0">Database Table Prefix</word>
<word key="db_charset" js="0">Database Character Set</word>
<word key="could_not_count_rows" js="0">Failed to count rows in table '%s' - is your table prefix set correctly?</word>
<word key="file_location" js="0">Location of files</word>
<word key="new_software" js="0">Create New Converter</word>
<word key="new_library" js="0">Create New Library</word>
<word key="classname" js="0">Class Name</word>
<word key="library" js="0">Library</word>
<word key="new_software_not_in_dev" js="0">You can only create new converters while IN_DEV.</word>
<word key="new_library_not_in_dev" js="0">You can only create new libraries while IN_DEV.</word>
<word key="source_path" js="0">Path to %s installation.</word>
<word key="path_invalid" js="0">The path entered appears to be invalid.</word>
<word key="convert_finish_confirm" js="0">Finishing the conversion should only be done once all parts of your conversion is completed</word>
<word key="convert_finish_confirm_title" js="0">Finish Conversion</word>
<word key="convert_cant_connect_db" js="0">The details provided are not correct or the database is unavailable.</word>
<word key="convert_cant_connect_db_charset" js="0">The database character set you supplied is not a valid database character set.</word>
<word key="convert_cant_connect_db_prefix" js="0">The database table prefix you supplied appears to be incorrect.</word>
<word key="convert_again" js="0">Convert Again</word>
<word key="begin_conversion" js="0">Begin Conversion</word>
<word key="confirm_reconvert" js="0">Are you sure you wish to convert again? If you reconvert this step, then you MUST also reconvert the following steps.</word>
<word key="reconvert_button" js="0">Reconvert</word>
<word key="conversion_info_message" js="0"><![CDATA[Once all steps have been completed, you can <a href='%s'>begin another conversion</a> or <a href='%s' data-confirm data-confirmSubMessage='Finishing the conversion should only be done once all parts of your conversion is completed'>finish</a> to rebuild data.]]></word>
<word key="convert_cms_info_message" js="0"><![CDATA[<br><br><strong>Note:</strong> Items that contain customized HTML, such as pages and blocks, may not work properly when converted into the IPS Community Suite. It is recommended that you review these items, once the conversion has completed, and update them accordingly.]]></word>
<word key="convert_wp_typical_path" js="0">This is typically: /path/to/wordpress/wp-content/uploads</word>
<word key="convert_ee_sig_attach_path" js="0">This is typically: /path/to/expressionengine/images/signature_attachments/</word>
<word key="convert_ee_avatar_path" js="0">This is typically: /path/to/expressionengine/images/avatars/</word>
<word key="convert_ee_pm_attach_path" js="0">This is typically: /path/to/expressionengine/images/pm_attachments/</word>
<word key="convert_ee_forum_at_path" js="0">This is typically: /path/to/expressionengine/images/forum_attachments</word>
<word key="convert_groupicon_hint" js="0">(Optional) Location where group images or icons are stored</word>
<word key="convert_phpbb_emoticons" js="0">This is typically: /path/to/phpbb/images/smilies</word>
<word key="convert_phpbb_randstring" js="0">This is the string of characters that precedes the filename of all uploaded avatars - if you are not sure what this is, you can typically find it by referencing the files located at /path/to/phpbb/images/avatars/upload</word>
<word key="convert_phpbb_avatars" js="0">This is typically: /path/to/phpbb/images/avatars/upload</word>
<word key="convert_phpbb_avatargallery" js="0">This is typically: /path/to/phpbb/images/avatars/gallery - leave blank to skip converting avatars from the avatar gallery</word>
<word key="convert_phpbb_ranks_path" js="0">This is typically: /path/to/phpbb/images/ranks</word>
<word key="convert_phpbb_attach_path" js="0">This is typically: /path/to/phpbb/files</word>
<word key="convert_vanilla_photopath" js="0">This is typically: /path/to/vanilla/uploads</word>
<word key="convert_vb_smilie_path" js="0">This is typically: /path/to/vb/images/smilies</word>
<word key="convert_vb5_smilie_path" js="0">This is typically: /path/to/vb5/core/images/smilies</word>
<word key="convert_xf_attach_path" js="0">This is typically: /path/to/xenforo/internal_data/attachments</word>
<word key="convert_xf_gal_path" js="0">This is typically: /path/to/xenforo/data/xengallery</word>
<word key="convert_xf_avatar_path" js="0">This is typically: /path/to/xenforo/data/avatars</word>
<word key="convert_mybb_attach_path" js="0">This is typically: /path/to/mybb/uploads</word>
<word key="convert_smf_attach_path" js="0">This is typically: /path/to/smf/attachments</word>
<word key="convert_ubb_attach_path" js="0">This is typically: /path/to/ubb/uploads/attachments</word>
<word key="convert_vb_preconvert" js="0">If you are also converting from vBulletin Forums, it is highly recommended that you convert from that application first so article to topic synchronization can occur correctly.</word>
<word key="convert_phpbb_preconvert" js="0">You can typically obtain these details from the file located at /path/to/phpbb/config.php</word>
<word key="convert_vanilla_preconvert" js="0">You can typically obtain these details from the file located at /path/to/vanilla/conf/config.php</word>
<word key="convert_vb4_preconvert" js="0">You can typically obtain these details from the file located at /path/to/vb4/includes/config.php</word>
<word key="convert_vb5_preconvert" js="0">You can typically obtain these details from the file located at /path/to/vb5/core/includes/config.php</word>
<word key="convert_wordpress_preconvert" js="0">You can typically obtain these details from the file called wp-config.php</word>
<word key="convert_xf_preconvert" js="0">You can typically obtain these details from the file located at /path/to/xenforo/library/config.php</word>
<word key="convert_coppermine_filehint" js="0">This is typically: /path/to/coppermine/albums</word>
<word key="convert_photoplog_hint" js="0">This is typically: /path/to/photoplog/images</word>
<word key="convert_mod_rewrite_urls" js="0"><![CDATA[You have not enabled the setting <a href='{internal.app=core&module=promotion&controller=seo}'>Rewrite Urls</a> in the Community Suite. If you do not enable this option, URLs from your previous software installation may not correctly redirect to the new locations in the Community Suite.]]></word>
<word key="converter_supports_settings" js="0"><![CDATA[This converter supports translating your old settings into their IPS Community Suite equivalents. If you would like to do that, please <a href='%s'>click here</a> before beginning.]]></word>
<word key="converting_settings" js="0">Converting Settings</word>
<word key="converting_settings_desc" js="0">The following settings will converted to their IPS Community Suite equivalents.</word>
<word key="convert_setting_x_to_x" js="0"><![CDATA[<em>%s</em> to <em>%s</em>: %s]]></word>
<word key="converting_x_to_x" js="0">Converting from %s to %s</word>
<word key="step_title" js="0">Step</word>
<word key="ips_rows" js="0">Current Count</word>
<word key="source_rows" js="0">Source Count</word>
<word key="per_cycle" js="0">Amount to Process Per Cycle</word>
<word key="empty_local_data" js="0">Empty Local Data</word>
<word key="remove_converted_data" js="0">Remove Converted Data</word>
<word key="step_method" js="0"></word>
<word key="more_info_needed" js="0">More Information Needed</word>
<word key="converting" js="0">Converting...</word>
<word key="converted_x_of_x" js="0">Converted %s %s out of %s</word>
<word key="removed_x_of_x" js="0">Removed %s %s out of %s</word>
<word key="finish" js="0">Finish</word>
<word key="reconfigure" js="0">Reconfigure</word>
<word key="cannot_convert" js="0">Cannot Convert Yet</word>
<word key="cannot_convert_desc" js="0">This step cannot be run until the steps before this one have been run.</word>
<word key="no_conversion_app" js="0">The conversion you attempted to run could not be found.</word>
<word key="convert_custom_bbcode" js="0">Custom BBCode</word>
<word key="convert_emoticons" js="0">Emoticons</word>
<word key="emoticon_path" js="0">Path to emoticons</word>
<word key="keep_existing_emoticons" js="0">Keep Existing?</word>
<word key="keep_existing_emoticons_desc" js="0">If checked, then any emoticons that are inserted that have the same typed code as an existing emoticon will be merged into the already existing one.</word>
<word key="emoticon_missing_ids" js="0">Emoticon missing ID</word>
<word key="emoticon_missing_code" js="0">Emoticon missing code</word>
<word key="emoticon_no_file" js="0">No emoticon file provided</word>
<word key="emoticon_no_filename" js="0">No emoticon filename provided</word>
<word key="follow_failed_insert" js="0">Follow failed to insert</word>
<word key="convert_profile_field_groups" js="0">Profile Field Groups</word>
<word key="profile_field_group_missing_ids" js="0">Profile Field Group missing ID</word>
<word key="profile_field_group_missing_name" js="0">Profile Field Group missing name</word>
<word key="map_pfgroup_desc" js="0">Select the profile field group to merge this one with, or select 'None' to create new.</word>
<word key="convert_profile_fields" js="0">Profile Fields</word>
<word key="map_pfield_desc" js="0">Select the profile field to merge this one with, or select 'None' to create new.</word>
<word key="convert_groups" js="0">Member Groups</word>
<word key="map_group_desc" js="0">Select the group to merge this one with, or select 'None' to create new.</word>
<word key="convert_members" js="0">Members</word>
<word key="convert_members_followers" js="0">Member followers</word>
<word key="photo_type" js="0">Photos to Retain</word>
<word key="photo_type_desc" js="0">This software supports multiple types of images to represent an account. Only one of these can be retained, however. If a photo of the selected type does not exist for a member, than the other will attempt to be used instead.</word>
<word key="photo_location" js="0">Location of Photos</word>
<word key="photo_location_desc" js="0">If member photos are presently stored in the database, then select 'Database', otherwise select 'File System' and then enter the path to profile photos in the textbox provided.</word>
<word key="photo_location_nodb_desc" js="0">The path to profile photos.</word>
<word key="photo_hash" js="0">Avatar Hash</word>
<word key="gallery_location" js="0">Gallery Location</word>
<word key="pseudo_field" js="0">Field: %s</word>
<word key="pseudo_field_desc" js="0">This field is stored directly in the database, rather than as a custom profile field. You can choose to either convert it into a new profile field, or not convert it at all. If creating a new field, then you may enter the name of the field into the textbox.</word>
<word key="avatars" js="0">Avatars</word>
<word key="profile_photos" js="0">Profile Photos</word>
<word key="database" js="0">Database</word>
<word key="file_system" js="0">File System</word>
<word key="no_convert" js="0">Do not convert</word>
<word key="create_field" js="0">Create New Field</word>
<word key="member_exists" js="0">Member %s exists as %s.</word>
<word key="member_email_invalid" js="0">Member email invalid (%s) using %s instead.</word>
<word key="member_name_in_use" js="0">Name '%s' is currently in use, member renamed to '%s'</word>
<word key="member_name_too_long" js="0">Name '%s' is too long, member renamed to '%s'</word>
<word key="member_name_invalid_chars" js="0">Name '%s' contained invalid characters, member renamed to '%s'</word>
<word key="username_or_display_name" js="0">Name to keep</word>
<word key="user_name" js="0">User Name</word>
<word key="display_name" js="0">Display Name</word>
<word key="username_hint" js="0">You can only convert one name, do you want to keep usernames or display names?</word>
<word key="convert_statuses" js="0">Status Updates / Profile Comments</word>
<word key="convert_status_replies" js="0">Status Comments</word>
<word key="status_update_missing_ids" js="0">Status Update Missing ID</word>
<word key="status_update_no_member" js="0">No Member ID provided.</word>
<word key="status_update_no_author" js="0">No Author ID provided</word>
<word key="status_update_no_content" js="0">No comment text</word>
<word key="convert_ignored_users" js="0">Ignored Users</word>
<word key="ignored_user_missing_ids" js="0">Missing Ignore ID</word>
<word key="ignored_user_missing_owner" js="0">No Member ID provided</word>
<word key="ignored_user_missing_ignore" js="0">No Ignored Member ID provided</word>
<word key="convert_announcements" js="0">Announcements</word>
<word key="announcement_missing_id" js="0">Announcement Missing ID</word>
<word key="announcement_missing_title" js="0">Announcement Missing Title</word>
<word key="announcement_missing_content" js="0">Announcement Missing Content</word>
<word key="announcement_missing_member_id" js="0">Announcement Missing Member ID</word>
<word key="convert_private_messages" js="0">Private Messages</word>
<word key="private_message_topic_ids_missing" js="0">PM missing topic ID</word>
<word key="private_message_topic_no_posts" js="0">PM does not have any posts</word>
<word key="private_message_topic_no_users" js="0">PM does not have any users</word>
<word key="private_message_topic_title_missing" js="0">PM title is missing.</word>
<word key="private_message_topic_starter_missing" js="0">PM starter missing.</word>
<word key="private_message_post_missing_ids" js="0">PM post missing ID</word>
<word key="private_message_post_no_content" js="0">PM post missing content</word>
<word key="private_message_map_missing_user" js="0">PM map missing user</word>
<word key="private_message_topic_missing_maps" js="0">No member maps inserted.</word>
<word key="convert_private_message_replies" js="0">Private Message Replies</word>
<word key="convert_dname_changes" js="0">Display Name Change Logs</word>
<word key="convert_ranks" js="0">Member Ranks</word>
<word key="rank_missing_ids" js="0">Rank ID Missing</word>
<word key="rank_missing_title" js="0">Rank Missing Title</word>
<word key="rank_location" js="0">Rank Image Location</word>
<word key="core_rating_duplicate" js="0">Duplicate Rating</word>
<word key="convert_profanity_filters" js="0">Profanity Filters</word>
<word key="convert_banfilters" js="0">Ban Filters</word>
<word key="convert_banfilters2" js="0">Ban Filters</word>
<word key="convert_question_and_answers" js="0">Question and Answer Verification</word>
<word key="convert_warn_actions" js="0">Warning Actions</word>
<word key="convert_warn_reasons" js="0">Warning Reasons</word>
<word key="convert_forums_forums" js="0">Forums</word>
<word key="convert_forums_forums_followers" js="0">Forum followers</word>
<word key="forum_password" js="0">Password for %s</word>
<word key="forum_password_desc" js="0"><![CDATA[This forum has a password set, however we are unable to decrypt the password for conversion into IPS4. Please enter the password you wish to use for this forum. <strong>Note:</strong> Not entering a password here will result in no password being set for the forum.]]></word>
<word key="convert_forums_topics" js="0">Topics</word>
<word key="convert_forums_topics_followers" js="0">Topic followers</word>
<word key="convert_forums_posts" js="0">Posts</word>
<word key="convert_forums_archive_posts" js="0">Archived Posts</word>
<word key="convert_attachments" js="0">Attachments</word>
<word key="convert_forums_attachments" js="0">Post Attachments</word>
<word key="attach_location" js="0">Path to attachments</word>
<word key="convert_blogs" js="0">Blogs</word>
<word key="convert_blog_entries" js="0">Blog Entries</word>
<word key="convert_blog_comments" js="0">Entry Comments</word>
<word key="convert_blog_attachments" js="0">Entry Attachments</word>
<word key="convert_calendar_calendars" js="0">Calendars</word>
<word key="convert_calendar_events" js="0">Calendar Events</word>
<word key="convert_calendar_comments" js="0">Event Comments</word>
<word key="convert_calendar_reviews" js="0">Event Reviews</word>
<word key="convert_calendar_attachments" js="0">Event Attachments</word>
<word key="convert_gallery_categories" js="0">Categories</word>
<word key="convert_gallery_albums" js="0">Albums</word>
<word key="convert_gallery_images" js="0">Images</word>
<word key="convert_gallery_comments" js="0">Image Comments</word>
<word key="convert_gallery_reviews" js="0">Image Reviews</word>
<word key="convert_gallery_attachments" js="0">Image Attachments</word>
<word key="members_gallery_category" js="0">Members Gallery Category</word>
<word key="members_gallery_category_desc" js="0">IPS Community Suite 4 requires all albums belong to a category. Please select the category to place albums with no category into, or select None to create one automatically.</word>
<word key="media_thumb_location" js="0">Media Thumbnail Location</word>
<word key="convert_author_replies_to_comments" js="0">Convert author replies to comments?</word>
<word key="convert_author_replies_to_comments_desc" js="0">If Yes, then replies by the author to reviews will be converted into normal comments, with the review in quotes. If No, replies will not be converted.</word>
<word key="convert_downloads_cfields" js="0">File Custom Fields</word>
<word key="convert_downloads_categories" js="0">File Categories</word>
<word key="convert_downloads_files" js="0">Files</word>
<word key="convert_downloads_reviews" js="0">File Reviews</word>
<word key="convert_downloads_comments" js="0">File Comments</word>
<word key="convert_cms_pages" js="0">Pages</word>
<word key="convert_cms_databases" js="0">Databases</word>
<word key="convert_cms_database_categories" js="0">Database Categories</word>
<word key="convert_cms_database_records" js="0">Database Records</word>
<word key="convert_cms_database_comments" js="0">Database Comments</word>
<word key="convert_cms_media" js="0">Media</word>
<word key="convert_cms_blocks" js="0">Blocks</word>
<word key="queue_deleting_empty_topics" js="0">Deleting empty topics</word>
<word key="queue_rebuilding_gallery_images" js="0">Rebuilding Gallery Images</word>
<word key="queue_rebuilding_conversation_first_id" js="0">Rebuilding Personal Conversation first post ids</word>
<word key="queue_rebuilding_tag_cache" js="0">Rebuilding %s tags</word>
<word key="queue_recounting_question_ratings" js="0">Rebuilding Question Ratings</word>
<word key="queue_recounting_answer_ratings" js="0">Rebuilding Answer Ratings</word>
<word key="continue_conversion" js="0">Continue Conversion</word>
<word key="convert_nexus_customers" js="0">Customers</word>
<word key="convert_nexus_package_groups" js="0">Package Groups</word>
<word key="convert_nexus_packages" js="0">Packages</word>
<word key="convert_nexus_invoices" js="0">Invoices</word>
<word key="convert_nexus_transactions" js="0">Transactions</word>
<word key="convert_nexus_purchases" js="0">Purchases</word>
<word key="f_blog_entries_rebuilding" js="0">Rebuilding blog entries</word>
<word key="f_entry_comments_rebuilding" js="0">Rebuilding entry comments</word>
<word key="f_blogs_recounting" js="0">Resyncing blog counts</word>
<word key="f_entry_tags_cache" js="0">Rebuilding blog entry tags</word>
<word key="f_gallery_images_rebuild" js="0">Rebuilding gallery images</word>
<word key="f_gallery_cat_recount" js="0">Resyncing gallery category counts</word>
<word key="f_gallery_album_recount" js="0">Resyncing gallery album counts</word>
<word key="f_gallery_image_recount" js="0">Resyncing gallery image counts</word>
<word key="f_image_tags_recount" js="0">Rebuilding gallery image tags</word>
<word key="f_forum_last_post_data" js="0">Resyncing forum last post information</word>
<word key="f_rebuild_posts" js="0">Rebuilding posts</word>
<word key="f_recounting_forums" js="0">Resyncing forum counts</word>
<word key="f_recounting_topics" js="0">Resyncing topic counts</word>
<word key="f_topic_tags_recount" js="0">Rebuilding topic tags</word>
<word key="f_search_index_rebuild" js="0">Rebuilding search index</word>
<word key="f_clear_caches" js="0">Clearing caches</word>
<word key="f_rebuild_pms" js="0">Rebuilding private messages</word>
<word key="f_signatures_rebuild" js="0">Rebuilding signatures</word>
<word key="f_announce_rebuild" js="0">Rebuilding announcements</word>
<word key="f_rebuild_attachments" js="0">Rebuilding attachment thumbnails</word>
<word key="f_recount_cms_categories" js="0">Resyncing database category counts</word>
<word key="f_rebuild_cms_tags" js="0">Rebuilding database tags</word>
<word key="f_rebuild_events" js="0">Rebuilding calendar events</word>
<word key="f_recount_calendar" js="0">Resyncing calendar and event counts</word>
<word key="__api_convert_converters" js="0">Converters</word>
</app>
</language>
+8
View File
@@ -0,0 +1,8 @@
{
"admin": {
"manage": {
"default_controller": "manage",
"protected": 0
}
}
}
File diff suppressed because it is too large. Load diff
+1
View File
@@ -0,0 +1 @@
[]
+1
View File
@@ -0,0 +1 @@
[]
+74
View File
@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<theme name="Default" author_name="Invision Power Services, Inc" author_url="http://www.invisionpower.com">
<template template_group="forms" template_name="settingsToConvert" template_data="$settingsToConvert" template_location="admin" template_app="convert"><![CDATA[
<div class='ipsMessage ipsMessage_info'>{lang="converting_settings_desc"}</div>
<ul class='ipsPad'>
{{foreach $settingsToConvert AS $setting}}
<li><em>{$setting['title']}</em> {lang="to"} <em>{$setting['our_title']}</em>: {$setting['value']}</li>
{{endforeach}}
</ul>]]></template>
<template template_group="table" template_name="convertMenuRow" template_data="$table, $headers, $rows" template_location="admin" template_app="convert"><![CDATA[{{$softwareClass = $table->extra['softwareClass'];}}
{{foreach $rows as $r}}
<form action='{url="app=convert&module=manage&controller=convert&do=runStep&id={$table->extra['appClass']->app_id}&method={$r['step_method']}"}' method='post' data-controller='convert.admin.convert.menu'>
<tr class='ipsClearfix' data-keyNavBlock>
{{foreach $r as $k => $v}}
{{if $k === 'per_cycle'}}
<td>
<input type='text' name='per_cycle' value='{$v|raw}' size='5' style='width:25%'><br>
</td>
{{elseif $k === 'empty_local_data'}}
<td>
<input type='checkbox' name='empty_local_data' id='empty_local_data_{$r['step_method']}' value='1' /> <label for='empty_local_data_{$r['step_method']}'>{lang="empty_local_data"}</label>
</td>
{{elseif $k === 'step_method'}}
<td>
{{if in_array( $r['step_method'], $table->extra['sessionData']['completed'] )}}
<input class='ipsButton ipsButton_normal ipsButton_verySmall' type='submit' name='submit' value='{lang="convert_again"}' />
{{if \IPS\IN_DEV == TRUE}}
<a href='{url="app=convert&module=manage&controller=convert&do=emptyData&id={$table->extra['appClass']->app_id}&method={$r['step_method']}"}' class='ipsButton ipsButton_normal ipsButton_verySmall ipsButton_alternate' data-action='remove_converted_data'>{lang="remove_converted_data"}</a>
{{endif}}
{{if in_array( $r['step_method'], $softwareClass::checkConf() )}}
<br><input type='checkbox' name='reconfigure' id='reconfigure_{$r['step_method']}' value='1' /> <label for='reconfigure_{$r['step_method']}'>{lang="reconfigure"}</label>
{{endif}}
{{elseif count( array_filter( $table->extra['menuRows'][$r['step_method']]['dependencies'], array( $table->extra['appClass'], 'dependencies' ) ) )}}
<a href='#' class='ipsButton ipsButton_normal ipsButton_disabled ipsButton_verySmall' data-ipsTooltip title='{lang="cannot_convert_desc"}'>{lang="cannot_convert"}</a>
{{elseif array_key_exists( $r['step_method'], $table->extra['sessionData']['working'] )}}
<input type='hidden' name='continue' value='1' />
<input type='submit' class='ipsButton ipsButton_normal ipsButton_verySmall' name='submit' value='{lang="continue_conversion"}' />
{{else}}
<input class='ipsButton ipsButton_normal ipsButton_verySmall' type='submit' name='submit' value='{lang="begin_conversion"}' />
{{endif}}
<div id='elReconvertForm_{$v}' class='ipsPad ipsHide'>
{lang="confirm_reconvert"}<br>
<ul>
{{foreach $table->extra['menuRows'] AS $step}}
{{if in_array( $r['step_method'], $step['dependencies'] )}}
<li>{lang="$step['step_method']"}</li>
{{endif}}
{{endforeach}}
</ul><br>
<input type='submit' class='ipsButton' name='submit' value='{lang="reconvert_button"}' />
</div>
</td>
{{else}}
<td class='{{if $k === 'photo'}}ipsTable_icon{{endif}} {{if $k === $table->mainColumn}}ipsTable_primary ipsType_break{{endif}} {{if $k === '_buttons'}}ipsTable_controls{{endif}}' {{if $k !== $table->mainColumn && $k !== '_buttons' && $k !== 'photo'}}data-title="{lang="{$table->langPrefix}{$k}"}"{{endif}}>
{{if $k === '_buttons'}}
{template="controlStrip" params="$v" group="global" app="core"}
{{else}}
{$v|raw}
{{endif}}
</td>
{{endif}}
{{endforeach}}
</tr>
</form>
{{endforeach}}]]></template>
<template template_group="table" template_name="postConversionInformation" template_data="$info" template_location="admin" template_app="convert"><![CDATA[
<div class='ipsMessage ipsMessage_info'>
{$info|raw}
</div>]]></template>
<template template_group="table" template_name="settingsMessage" template_data="$app" template_location="admin" template_app="convert"><![CDATA[{{$url = \IPS\Http\Url::internal( "app=convert&module=manage&controller=convert&do=settings&id={$app->app_id}" );}}
<div class='ipsMessage ipsMessage_info'>
{lang="converter_supports_settings" sprintf="$url"}
</div>]]></template>
</theme>
@@ -0,0 +1 @@
[]
+56
View File
@@ -0,0 +1,56 @@
{
"32001": "1.2.2",
"33001": "1.2.3",
"34000": "1.2.4",
"34100": "1.2.5",
"34200": "1.2.6",
"34300": "1.2.7",
"34400": "1.2.8",
"34500": "1.2.9",
"34600": "1.2.10",
"34700": "1.2.11",
"34800": "1.2.12",
"34900": "1.2.13",
"34901": "1.2.14",
"34902": "1.2.15",
"100000": "4.0.0",
"101000": "4.1.0 Beta 1",
"101001": "4.1.0 Beta 2",
"101002": "4.1.0 Beta 3",
"101003": "4.1.0",
"101004": "4.1.1",
"101005": "4.1.2",
"101006": "4.1.3",
"101007": "4.1.4",
"101008": "4.1.5",
"101009": "4.1.6",
"101010": "4.1.7",
"101011": "4.1.8",
"101012": "4.1.9",
"101070": "4.1.16.1",
"101071": "4.1.17 Beta 1",
"101072": "4.1.17 Beta 1a",
"101073": "4.1.17 Beta 1b",
"101074": "4.1.17 Beta 2",
"101075": "4.1.17 Beta 3",
"101076": "4.1.17 Beta 3",
"101077": "4.1.17",
"101078": "4.1.17.1",
"101079": "4.1.18 Beta 1",
"101082": "4.1.18 Beta 1b",
"101083": "4.1.18 Beta 2",
"101084": "4.1.18 Beta 3",
"101085": "4.1.18",
"101088": "4.1.18.1",
"101089": "4.1.18.2",
"101090": "4.1.19 Beta 1",
"101091": "4.1.19 Beta 2",
"101092": "4.1.19 Beta 3",
"101093": "4.1.19",
"101094": "4.1.19.1",
"101095": "4.1.19.2 Beta 1",
"101096": "4.1.19.2",
"101097": "4.1.19.2",
"101098": "4.1.19.3",
"101099": "4.1.19.4"
}
+1
View File
@@ -0,0 +1 @@
[]