Version 3.4.6
This commit is contained in:
1 parent
e4478369d8
commit
b45ea0dffb
1568 files changed
+155104
-161665
No files matched your search
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -61,7 +61,7 @@ class core_upgradeCheck
|
||||
$appName = ipsRegistry::$applications[ $k ]['app_title'];
|
||||
$allVersions = IPSSetUp::fetchXmlAppVersions( $k );
|
||||
|
||||
return "Установленная версия {$appName} не будет работать с этой версией IP.Board. Вы должны обновить {$appName} версии {$allVersions[ $v ]} или выше, или отключить приложение в админцентре для продолжения.";
|
||||
return "The version of {$appName} you have installed will not work with this version of IP.Board. You must upgrade {$appName} to {$allVersions[ $v ]} or higher, or disable it in the Admin CP in order continue.";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -48,24 +48,24 @@ $INSERT[] = "INSERT INTO emoticons (id, typed, image, clickable, emo_set, emo_po
|
||||
$INSERT[] = "INSERT INTO pfields_data (pf_id, pf_title, pf_desc, pf_content, pf_type, pf_not_null, pf_member_hide, pf_max_input, pf_member_edit, pf_position, pf_show_on_reg, pf_input_format, pf_admin_only, pf_topic_format, pf_group_id, pf_icon, pf_key) VALUES
|
||||
(1, 'AIM', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '', 1, 'style_extra/cprofile_icons/profile_aim.gif', 'aim'),
|
||||
(2, 'MSN', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '', 1, 'style_extra/cprofile_icons/profile_msn.gif', 'msn'),
|
||||
(3, 'Сайт', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '', 1, 'style_extra/cprofile_icons/profile_website.gif', 'website'),
|
||||
(3, 'Website URL', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '', 1, 'style_extra/cprofile_icons/profile_website.gif', 'website'),
|
||||
(4, 'ICQ', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '', 1, 'style_extra/cprofile_icons/profile_icq.gif', 'icq'),
|
||||
(5, 'Пол', '', 'u=Не определился|m=Мужчина|f=Женщина', 'drop', 0, 0, 0, 1, 0, 0, '', 0, '', 2, '', 'gender'),
|
||||
(6, 'Город', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '<span class=\'ft\'>{title}</span><span class=\'fc\'>{content}</span>', 2, '', 'location'),
|
||||
(7, 'Интересы', '', '', 'textarea', 0, 0, 0, 1, 0, 0, '', 0, '', 2, '', 'interests'),
|
||||
(5, 'Gender', '', 'u=Not Telling|m=Male|f=Female', 'drop', 0, 0, 0, 1, 0, 0, '', 0, '', 2, '', 'gender'),
|
||||
(6, 'Location', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '<span class=\'ft\'>{title}</span><span class=\'fc\'>{content}</span>', 2, '', 'location'),
|
||||
(7, 'Interests', '', '', 'textarea', 0, 0, 0, 1, 0, 0, '', 0, '', 2, '', 'interests'),
|
||||
(8, 'Yahoo', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '', 1, 'style_extra/cprofile_icons/profile_yahoo.gif', 'yahoo'),
|
||||
(9, 'Jabber', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '', 1, 'style_extra/cprofile_icons/profile_jabber.gif', 'jabber'),
|
||||
(10, 'Skype', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '', 1, 'style_extra/cprofile_icons/profile_skype.gif', 'skype')";
|
||||
|
||||
$INSERT[] = "INSERT INTO pfields_groups (pf_group_id, pf_group_name, pf_group_key) VALUES
|
||||
(1, 'Контакты', 'contact'),
|
||||
(2, 'Информация', 'profile_info')";
|
||||
(1, 'Contact Methods', 'contact'),
|
||||
(2, 'Profile Information', 'profile_info')";
|
||||
|
||||
$INSERT[] = "INSERT INTO core_sys_lang VALUES(1, 'ru_RU.UTF-8', 'Русский (RU)', 1, 0, 1)";
|
||||
$INSERT[] = "INSERT INTO core_sys_lang VALUES(1, 'en_US', 'English (USA)', 1, 0, 1)";
|
||||
|
||||
$INSERT[] = "INSERT INTO titles (id, posts, title, pips) VALUES (1, 0, 'Новичок', '1');";
|
||||
$INSERT[] = "INSERT INTO titles (id, posts, title, pips) VALUES (2, 10, 'Пользователь', '2');";
|
||||
$INSERT[] = "INSERT INTO titles (id, posts, title, pips) VALUES (4, 30, 'Продвинутый пользователь', '3');";
|
||||
$INSERT[] = "INSERT INTO titles (id, posts, title, pips) VALUES (1, 0, 'Newbie', '1');";
|
||||
$INSERT[] = "INSERT INTO titles (id, posts, title, pips) VALUES (2, 10, 'Member', '2');";
|
||||
$INSERT[] = "INSERT INTO titles (id, posts, title, pips) VALUES (4, 30, 'Advanced Member', '3');";
|
||||
|
||||
$INSERT[] ="INSERT INTO permission_index VALUES(1, 'members', 'profile_view', 1, '*', '', '', '', '', '', '', 0, 0, NULL)";
|
||||
$INSERT[] ="INSERT INTO permission_index VALUES(2, 'core', 'help', 1, '*', '', '', '', '', '', '', 0, 0, NULL)";
|
||||
@@ -74,25 +74,25 @@ $INSERT[] ="INSERT INTO permission_index VALUES(2, 'core', 'help', 1, '*', '', '
|
||||
|
||||
$INSERT[] = <<<EOF
|
||||
INSERT INTO rc_classes (onoff, class_title, class_desc, author, author_url, pversion, my_class, group_can_report, mod_group_perm, extra_data, lockd, app)
|
||||
VALUES(1, 'Пример плагина', 'Плагин, не требующий написания кода, но требующий настройки.', 'Invision Power Services, Inc', 'http://invisionpower.com', 'v1.0', 'default', ',3,4,6,', ',4,6,', 'a:5:{s:14:"required_input";a:1:{s:8:"video_id";s:13:"[^A-Za-z0-9_]";}s:10:"string_url";s:41:"http://www.youtube.com/watch?v={video_id}";s:12:"string_title";s:25:"#PAGE_TITLE# ({video_id})";s:13:"section_title";s:7:"YouTube";s:11:"section_url";s:22:"http://www.youtube.com";}', 1, 'core');
|
||||
VALUES(1, 'Simple Plugin Example', 'Plugin that does not require any programming, but does need to be configured.', 'Invision Power Services, Inc', '', 'v1.0', 'default', ',3,4,6,', ',4,6,', 'a:5:{s:14:"required_input";a:1:{s:8:"video_id";s:13:"[^A-Za-z0-9_]";}s:10:"string_url";s:41:"http://www.youtube.com/watch?v={video_id}";s:12:"string_title";s:25:"#PAGE_TITLE# ({video_id})";s:13:"section_title";s:7:"YouTube";s:11:"section_url";s:22:"http://www.youtube.com";}', 1, 'core');
|
||||
EOF;
|
||||
$INSERT[] = <<<EOF
|
||||
INSERT INTO rc_classes (onoff, class_title, class_desc, author, author_url, pversion, my_class, group_can_report, mod_group_perm, extra_data, lockd, app)
|
||||
VALUES(1, 'Плагин форума', 'Плагин жалоб на сообщения и темы в форумах.', 'Invision Power Services, Inc', 'http://invisionpower.com', 'v1.0', 'post', ',1,2,3,4,6,', ',4,6,', 'a:1:{s:15:"report_supermod";i:1;}', 1, 'forums');
|
||||
VALUES(1, 'Forum Plugin', 'This is the plugin used for reporting posts on the forum.', 'Invision Power Services, Inc', '', 'v1.0', 'post', ',1,2,3,4,6,', ',4,6,', 'a:1:{s:15:"report_supermod";i:1;}', 1, 'forums');
|
||||
EOF;
|
||||
$INSERT[] = <<<EOF
|
||||
INSERT INTO rc_classes (onoff, class_title, class_desc, author, author_url, pversion, my_class, group_can_report, mod_group_perm, extra_data, lockd, app)
|
||||
VALUES(1, 'Плагин личных сообщений', 'Плагин жалоб на личные сообщения', 'Invision Power Services, Inc', 'http://invisionpower.com', 'v1.0', 'messages', ',1,2,3,4,6,', ',4,6,', 'a:1:{s:18:"plugi_messages_add";s:5:"4";}', 1, 'members');
|
||||
VALUES(1, 'Private Messages Plugin', 'This plugin allows private messages to be reported', 'Invision Power Services, Inc', '', 'v1.0', 'messages', ',1,2,3,4,6,', ',4,6,', 'a:1:{s:18:"plugi_messages_add";s:5:"4";}', 1, 'members');
|
||||
EOF;
|
||||
$INSERT[] = <<<EOF
|
||||
INSERT INTO rc_classes (onoff, class_title, class_desc, author, author_url, pversion, my_class, group_can_report, mod_group_perm, extra_data, lockd, app)
|
||||
VALUES(1, 'Плагин пользовательских профилей', 'Плагин жалоб на профили пользователей', 'Invision Power Services, Inc', 'http://invisionpower.com', 'v1.0', 'profiles', ',1,2,3,4,6,', ',4,6,', 'N;', 1, 'members');
|
||||
VALUES(1, 'Member Profiles', 'Allows you to report member profiles', 'Invision Power Services, Inc', '', 'v1.0', 'profiles', ',1,2,3,4,6,', ',4,6,', 'N;', 1, 'members');
|
||||
EOF;
|
||||
|
||||
|
||||
$INSERT[] = "INSERT INTO rc_status VALUES(1, 'Новая', 1, 5, 1, 0, 1, 1);";
|
||||
$INSERT[] = "INSERT INTO rc_status VALUES(2, 'Рассматривается', 1, 5, 0, 0, 1, 2);";
|
||||
$INSERT[] = "INSERT INTO rc_status VALUES(3, 'Завершена', 0, 0, 0, 1, 0, 3);";
|
||||
$INSERT[] = "INSERT INTO rc_status VALUES(1, 'New Report', 1, 5, 1, 0, 1, 1);";
|
||||
$INSERT[] = "INSERT INTO rc_status VALUES(2, 'Under Review', 1, 5, 0, 0, 1, 2);";
|
||||
$INSERT[] = "INSERT INTO rc_status VALUES(3, 'Complete', 0, 0, 0, 1, 0, 3);";
|
||||
|
||||
$INSERT[] = <<<EOF
|
||||
INSERT INTO rc_status_sev (id, status, points, img, is_png, width, height) VALUES
|
||||
@@ -109,30 +109,29 @@ INSERT INTO rc_status_sev (id, status, points, img, is_png, width, height) VALUE
|
||||
(11, 2, 12, 'style_extra/report_icons/flag_red_review.png', 1, 16, 16);
|
||||
EOF;
|
||||
|
||||
$INSERT[] = "INSERT INTO reputation_levels VALUES(1, -20, 'Очень плохой', '');";
|
||||
$INSERT[] = "INSERT INTO reputation_levels VALUES(2, -10, 'Плохой', '');";
|
||||
$INSERT[] = "INSERT INTO reputation_levels VALUES(3, 0, 'Обычный', '');";
|
||||
$INSERT[] = "INSERT INTO reputation_levels VALUES(4, 10, 'Хороший', '');";
|
||||
$INSERT[] = "INSERT INTO reputation_levels VALUES(5, 20, 'Очень хороший', '');";
|
||||
$INSERT[] = "INSERT INTO reputation_levels VALUES(1, -20, 'Bad', '');";
|
||||
$INSERT[] = "INSERT INTO reputation_levels VALUES(2, -10, 'Poor', '');";
|
||||
$INSERT[] = "INSERT INTO reputation_levels VALUES(3, 0, 'Neutral', '');";
|
||||
$INSERT[] = "INSERT INTO reputation_levels VALUES(4, 10, 'Good', '');";
|
||||
$INSERT[] = "INSERT INTO reputation_levels VALUES(5, 20, 'Excellent', '');";
|
||||
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(1, 'Twitter', 'twitter', 1, 1, 1, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(2, 'Facebook', 'facebook', 1, 2, 1, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(3, 'Digg', 'digg', 1, 3, 1, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(4, 'Del.icio.us', 'delicious', 1, 4, 1, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(5, 'Вконтакте', 'vkontakte', 1, 5, 1, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(6, 'Мемори', 'memori', 1, 6, 1, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(7, 'БобрДобр', 'bobrdobr', 1, 7, 1, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(8, 'Email', 'email', 1, 7, 1, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(9, 'Google+', 'googleplusone', 1, 3, 1, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(10, 'Печать', 'print', 1, 10, 0, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(11, 'Скачать', 'download', 1, 11, 0, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(3, 'Google Plus One', 'googleplusone', 1, 3, 1, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(4, 'Digg', 'digg', 1, 4, 1, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(5, 'Del.icio.us', 'delicious', 1, 6, 1, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(6, 'Reddit', 'reddit', 1, 7, 1, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(7, 'StumbleUpon', 'stumble', 1, 8, 1, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(8, 'Email', 'email', 1, 9, 1, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(10, 'Print', 'print', 1, 10, 0, '*');";
|
||||
$INSERT[] = "INSERT INTO core_share_links (share_id, share_title, share_key, share_enabled, share_position, share_canonical, share_groups) VALUES(11, 'Download', 'download', 1, 11, 0, '*');";
|
||||
|
||||
$INSERT[] = "INSERT INTO members_warn_reasons (wr_id, wr_name, wr_points, wr_points_override, wr_remove, wr_remove_unit, wr_remove_override, wr_order)
|
||||
VALUES
|
||||
(1, 'Спам', 1, 0, 0, 'h', 0, 1),
|
||||
(2, 'Нецензурные выражения', 1, 0, 0, 'h', 0, 2),
|
||||
(3, 'Злоупотребление подписью', 1, 0, 0, 'h', 0, 3),
|
||||
(4, 'Асоциальное поведение', 1, 0, 0, 'h', 0, 4),
|
||||
(5, 'Черезмерный подъем тем', 1, 0, 0, 'h', 0, 5);";
|
||||
(1, 'Spamming', 1, 0, 0, 'h', 0, 1),
|
||||
(2, 'Inappropriate Language', 1, 0, 0, 'h', 0, 2),
|
||||
(3, 'Signature Violation', 1, 0, 0, 'h', 0, 3),
|
||||
(4, 'Abusive Behaviour', 1, 0, 0, 'h', 0, 4),
|
||||
(5, 'Topic Bumping', 1, 0, 0, 'h', 0, 5);";
|
||||
|
||||
|
||||
@@ -248,7 +248,7 @@ $TABLE[] = "CREATE TABLE core_tags (
|
||||
tag_id BIGINT(20) NOT NULL auto_increment,
|
||||
tag_aai_lookup CHAR(32) NOT NULL DEFAULT '',
|
||||
tag_aap_lookup CHAR(32) NOT NULL DEFAULT '',
|
||||
tag_meta_app VARCHAR(200) NOT NULL default '',
|
||||
tag_meta_app VARCHAR(200) NOT NULL default '',
|
||||
tag_meta_area VARCHAR(200) NOT NULL default '',
|
||||
tag_meta_id INT(10) NOT NULL DEFAULT 0,
|
||||
tag_meta_parent_id INT(10) NOT NULL DEFAULT 0,
|
||||
@@ -268,17 +268,17 @@ $TABLE[] = "CREATE TABLE core_tags_perms (
|
||||
tag_perm_aai_lookup CHAR(32) NOT NULL DEFAULT '',
|
||||
tag_perm_aap_lookup CHAR(32) NOT NULL DEFAULT '',
|
||||
tag_perm_text VARCHAR(255) NOT NULL DEFAULT '',
|
||||
tag_perm_visible INT(1) NOT NULL DEFAULT 1,
|
||||
tag_perm_visible INT(1) NOT NULL DEFAULT 1,
|
||||
UNIQUE KEY tag_perm_aai_lookup (tag_perm_aai_lookup),
|
||||
KEY tag_perm_aap_lookup( tag_perm_aap_lookup ),
|
||||
KEY tag_lookup (tag_perm_text, tag_perm_visible)
|
||||
KEY tag_lookup (tag_perm_text, tag_perm_visible)
|
||||
);";
|
||||
|
||||
$TABLE[] = "CREATE TABLE core_tags_cache (
|
||||
tag_cache_key CHAR(32) NOT NULL DEFAULT '',
|
||||
tag_cache_text text,
|
||||
tag_cache_date INT(10) NOT NULL DEFAULT 0,
|
||||
UNIQUE KEY (tag_cache_key )
|
||||
UNIQUE KEY (tag_cache_key )
|
||||
);";
|
||||
|
||||
$TABLE[] = "CREATE TABLE cache_store (
|
||||
@@ -895,8 +895,6 @@ $TABLE[] = "CREATE TABLE members (
|
||||
fb_emailhash varchar(60) NOT NULL default '',
|
||||
fb_lastsync int(10) NOT NULL default 0,
|
||||
members_day_posts VARCHAR(32) NOT NULL default '0,0',
|
||||
vk_uid bigint(20) unsigned NOT NULL default '0',
|
||||
vk_token TEXT NULL,
|
||||
live_id VARCHAR( 32 ) NULL,
|
||||
twitter_id VARCHAR(255) NOT NULL DEFAULT '',
|
||||
twitter_token VARCHAR(255) NOT NULL DEFAULT '',
|
||||
@@ -904,7 +902,7 @@ $TABLE[] = "CREATE TABLE members (
|
||||
notification_cnt MEDIUMINT NOT NULL DEFAULT 0,
|
||||
tc_lastsync INT(10) NOT NULL default 0,
|
||||
fb_session VARCHAR(200) NOT NULL default '',
|
||||
fb_token TEXT NULL,
|
||||
fb_token TEXT NULL,
|
||||
ips_mobile_token VARCHAR( 64 ) NULL,
|
||||
unacknowledged_warnings TINYINT(1) DEFAULT NULL,
|
||||
ipsconnect_id INT(10) NOT NULL DEFAULT 0,
|
||||
@@ -1163,8 +1161,6 @@ $TABLE[] = "CREATE TABLE profile_portal (
|
||||
tc_last_sid_import VARCHAR(50) NULL DEFAULT '0',
|
||||
tc_photo text,
|
||||
tc_bwoptions int(10) unsigned NOT NULL default 0,
|
||||
vc_photo text,
|
||||
vk_bwoptions int(10) unsigned NOT NULL default 0,
|
||||
pp_customization mediumtext,
|
||||
pp_profile_update INT(10) UNSIGNED NOT NULL default '0',
|
||||
PRIMARY KEY (pp_member_id)
|
||||
@@ -1205,7 +1201,7 @@ $TABLE[] = "CREATE TABLE rc_classes (
|
||||
lockd tinyint(1) NOT NULL default 0,
|
||||
app VARCHAR( 32 ) NOT NULL,
|
||||
PRIMARY KEY (com_id),
|
||||
KEY onoff (onoff, mod_group_perm(255))
|
||||
KEY onoff (onoff, mod_group_perm(255))
|
||||
);";
|
||||
$TABLE[] = "CREATE TABLE rc_comments (
|
||||
id int(10) NOT NULL auto_increment,
|
||||
@@ -1319,7 +1315,8 @@ $TABLE[] = "CREATE TABLE reputation_totals (
|
||||
rt_total INT(10) NOT NULL DEFAULT 0,
|
||||
rt_type_id INT(10) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (rt_key),
|
||||
INDEX rt_app_type (rt_app_type, rt_total)
|
||||
KEY rt_app_type (rt_app_type, rt_total),
|
||||
KEY rt_type_id (rt_type_id)
|
||||
);";
|
||||
|
||||
$TABLE[] = "CREATE TABLE rss_export (
|
||||
@@ -1445,7 +1442,7 @@ $TABLE[] = "CREATE TABLE sessions (
|
||||
KEY location3 (location_3_type,location_3_id),
|
||||
KEY running_time (running_time),
|
||||
KEY member_id (member_id),
|
||||
KEY ip_address (ip_address)
|
||||
KEY ip_address (ip_address)
|
||||
);";
|
||||
|
||||
$TABLE[] = "CREATE TABLE skin_cache (
|
||||
@@ -1828,7 +1825,7 @@ $TABLE[] = "CREATE TABLE mobile_notifications (
|
||||
notify_sent tinyint(3) unsigned NOT NULL DEFAULT 0,
|
||||
notify_url text null,
|
||||
PRIMARY KEY (id),
|
||||
KEY (notify_sent,notify_date)
|
||||
KEY notify_sent_notify_date (notify_sent,notify_date)
|
||||
);";
|
||||
$TABLE[] = "CREATE TABLE mobile_device_map (
|
||||
token varchar(64) NOT NULL DEFAULT '',
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
@@ -1918,8 +1918,8 @@ class version_upgrade
|
||||
$SQL[] = "INSERT INTO ".ipsRegistry::dbFunctions()->getPrefix()."cache_store (cs_key, cs_value, cs_extra, cs_array) VALUES ('calendar', 'a:0:{}', '', 1);";
|
||||
|
||||
$SQL[] = "INSERT INTO ".ipsRegistry::dbFunctions()->getPrefix()."skin_sets (set_skin_set_id, set_name, set_image_dir, set_hidden, set_default, set_css_method, set_skin_set_parent, set_author_email, set_author_name, set_author_url, set_css, set_cache_macro, set_wrapper, set_css_updated, set_cache_css, set_cache_wrapper, set_emoticon_folder) VALUES (1, 'IPB Master Skin Set', '1', 0, 0, '0', -1, '', '', '', '', '', '', 1079109298, '', '', 'default');";
|
||||
//$SQL[] = "INSERT INTO ".ipsRegistry::dbFunctions()->getPrefix()."skin_sets (set_skin_set_id, set_name, set_image_dir, set_hidden, set_default, set_css_method, set_skin_set_parent, set_author_email, set_author_name, set_author_url, set_css, set_cache_macro, set_wrapper, set_css_updated, set_cache_css, set_cache_wrapper, set_emoticon_folder) VALUES (2, 'IPB Default Skin', '1', 0, 1, '0', -1, 'ipbauto@invisionboard.com', 'Invision Power Services', 'www.invisionboard.com', '', '', '', 1074679074, '', '', 'default');";
|
||||
$SQL[] = "INSERT INTO ".ipsRegistry::dbFunctions()->getPrefix()."skin_sets (set_skin_set_id, set_name, set_image_dir, set_hidden, set_default, set_css_method, set_skin_set_parent, set_author_email, set_author_name, set_author_url, set_css, set_cache_macro, set_wrapper, set_css_updated, set_cache_css, set_cache_wrapper, set_emoticon_folder) VALUES (3, 'IPB Pre-2.0 Skins', '1', 0, 0, '0', -1, 'ipbauto@invisionboard.com', 'Invision Power Services', 'www.invisionboard.com', '', '', '', 1074679074, '', '', 'default');";
|
||||
//$SQL[] = "INSERT INTO ".ipsRegistry::dbFunctions()->getPrefix()."skin_sets (set_skin_set_id, set_name, set_image_dir, set_hidden, set_default, set_css_method, set_skin_set_parent, set_author_email, set_author_name, set_author_url, set_css, set_cache_macro, set_wrapper, set_css_updated, set_cache_css, set_cache_wrapper, set_emoticon_folder) VALUES (2, 'IPB Default Skin', '1', 0, 1, '0', -1, '', 'Invision Power Services', '', '', '', '', 1074679074, '', '', 'default');";
|
||||
$SQL[] = "INSERT INTO ".ipsRegistry::dbFunctions()->getPrefix()."skin_sets (set_skin_set_id, set_name, set_image_dir, set_hidden, set_default, set_css_method, set_skin_set_parent, set_author_email, set_author_name, set_author_url, set_css, set_cache_macro, set_wrapper, set_css_updated, set_cache_css, set_cache_wrapper, set_emoticon_folder) VALUES (3, 'IPB Pre-2.0 Skins', '1', 0, 0, '0', -1, '', 'Invision Power Services', '', '', '', '', 1074679074, '', '', 'default');";
|
||||
|
||||
|
||||
$SQL[] = "INSERT INTO ".ipsRegistry::dbFunctions()->getPrefix()."conf_settings_titles (conf_title_id, conf_title_title, conf_title_desc, conf_title_count) VALUES (1, 'General Configuration', 'These settings control the basics of the board such as URLs and paths.', 17);";
|
||||
@@ -1950,7 +1950,7 @@ class version_upgrade
|
||||
|
||||
|
||||
$SQL[] = "REPLACE INTO ".ipsRegistry::dbFunctions()->getPrefix()."faq VALUES (1, 'Registration benefits', 'To be able to use all the features on this board, the administrator will probably require that you register for a member account. Registration is free and only takes a moment to complete.\r<br>\r<br>During registration, the administrator requires that you supply a valid email address. This is important as the administrator may require that you validate your registration via an email. If this is the case, you will be notified when registering. If your e-mail does not arrive, then on the member bar at the top of the page, there will be a link that will allow you to re-send the validation e-mail. \r<br>\r<br>In some cases, the administrator will need to approve your registration before you can use your member account fully. If this is the case you will be notified during registration.\r<br>\r<br>Once you have registered and logged in, you will have access to your personal messenger and your control panel.\r<br>\r<br>For more information on these items, please see the relevant sections in this documentation.', 'How to register and the added benefits of being a registered member.');";
|
||||
$SQL[] = "REPLACE INTO ".ipsRegistry::dbFunctions()->getPrefix()."faq VALUES (2, 'Cookies and cookie usage', 'Using cookies is optional, but strongly recommended. Cookies are used to track topics, showing you which topics have new replies since your last visit and to automatically log you in when you return.\r<br>\r<br>If your computer is unable to use the cookie system to browse the board correctly, then the board will automatically add in a session ID to each link to track you around the board.\r<br>\r<br><b>Clearing Cookies</b>\r<br>\r<br>You can clear the cookies at any time by clicking on the link found at the bottom of the main board page (the first page you see when returning to the board). If this does not work for you, you may need to remove the cookies manually.\r<br>\r<br><u>Removing Cookies in Internet Explorer for Windows</u>\r<br>\r<br><ul>\r<br><li> Close all open Internet Explorer Windows\r<br><li> Click on the \'start\' button\r<br><li> Move up to \'Find\' and click on \'Files and Folders\'\r<br><li> When the new window appears, type in the domain name of the board you are using into the \'containing text\' field. (If the boards address was \'http://www.invisionboard.com/forums/index.php\' you would enter \'invisionboard.com\' without the quotes)\r<br><li> In the \'look in\' box, type in <b>C:WindowsCookies</b> and press \'Find Now\'\r<br><li> After it has finished searching, highlight all files (click on a file then press CTRL+A) and delete them.\r<br></ul>\r<br>\r<br><u>Removing Cookies in Internet Explorer for Macintosh</u>\r<br>\r<br><ul>\r<br><li> With Internet Explorer active, choose \'Edit\' and then \'Preferences\' from the Macintosh menu bar at the top of the screen\r<br><li> When the preferences panel opens, choose \'Cookies\' found in the \'Receiving Files\' section.\r<br><li> When the cookie pane loads, look for the domain name of the board (If the boards address was \'http://www.invisionboard.com/forums/index.php\' look for \'invisionboard.com\' or \'www.invisionboard.com\'\r<br><li> For each cookie, click on the entry and press the delete button.\r<br></ul>\r<br>\r<br>Your cookies should now be removed. In some cases you may need to restart your computer for the changes to take effect.', 'The benefits of using cookies and how to remove cookies set by this board.');";
|
||||
$SQL[] = "REPLACE INTO ".ipsRegistry::dbFunctions()->getPrefix()."faq VALUES (2, 'Cookies and cookie usage', 'Using cookies is optional, but strongly recommended. Cookies are used to track topics, showing you which topics have new replies since your last visit and to automatically log you in when you return.\r<br>\r<br>If your computer is unable to use the cookie system to browse the board correctly, then the board will automatically add in a session ID to each link to track you around the board.\r<br>\r<br><b>Clearing Cookies</b>\r<br>\r<br>You can clear the cookies at any time by clicking on the link found at the bottom of the main board page (the first page you see when returning to the board). If this does not work for you, you may need to remove the cookies manually.\r<br>\r<br><u>Removing Cookies in Internet Explorer for Windows</u>\r<br>\r<br><ul>\r<br><li> Close all open Internet Explorer Windows\r<br><li> Click on the \'start\' button\r<br><li> Move up to \'Find\' and click on \'Files and Folders\'\r<br><li> When the new window appears, type in the domain name of the board you are using into the \'containing text\' field. (If the boards address was \'http://www.example.com/forums/index.php\' you would enter \'example.com\' without the quotes)\r<br><li> In the \'look in\' box, type in <b>C:WindowsCookies</b> and press \'Find Now\'\r<br><li> After it has finished searching, highlight all files (click on a file then press CTRL+A) and delete them.\r<br></ul>\r<br>\r<br><u>Removing Cookies in Internet Explorer for Macintosh</u>\r<br>\r<br><ul>\r<br><li> With Internet Explorer active, choose \'Edit\' and then \'Preferences\' from the Macintosh menu bar at the top of the screen\r<br><li> When the preferences panel opens, choose \'Cookies\' found in the \'Receiving Files\' section.\r<br><li> When the cookie pane loads, look for the domain name of the board (If the boards address was \'http://www.example.com/forums/index.php\' look for \'example.com\' or \'www.example.com\'\r<br><li> For each cookie, click on the entry and press the delete button.\r<br></ul>\r<br>\r<br>Your cookies should now be removed. In some cases you may need to restart your computer for the changes to take effect.', 'The benefits of using cookies and how to remove cookies set by this board.');";
|
||||
$SQL[] = "REPLACE INTO ".ipsRegistry::dbFunctions()->getPrefix()."faq VALUES (3, 'Recovering lost or forgotten passwords', 'Security is a big feature on this board, and to that end, all passwords are encrypted when you register.\r<br>This means that we cannot email your password to you as we hold no record of your \'uncrypted\' password. You can however, apply to have your password reset.\r<br>\r<br>To do this, click on the <a href=\'index.php?act=Reg&do=10\'>Lost Password link</a> found on the log in page.\r<br>\r<br>Further instruction is available from there.', 'How to reset your password if you\'ve forgotton it.');";
|
||||
$SQL[] = "REPLACE INTO ".ipsRegistry::dbFunctions()->getPrefix()."faq VALUES (4, 'Your Control Panel (My Controls)', 'Your control panel is your own private board console. You can change how the board looks and feels as well as your own information from here.\r<br>\r<br><b>Subscriptions</b>\r<br>\r<br>This is where you manage your topic and forums subscriptions. Please see the help file \'Email Notification of new messages\' for more information on how to subscribe to topics.\r<br>\r<br><b>Edit Profile Info</b>\r<br>\r<br>This section allows you to add or edit your contact information and enter some personal information if you choose.\r<br>\r<br><b>Edit Signature</b>\r<br>\r<br>A board \'signature\' is very similar to an email signature. This signature is attached to the foot of every message you post unless you choose to check the box that allows you to ommit the signature in the message you are posting. You may use BB Code if available and in some cases, pure HTML (if the board administrator allows it).\r<br>\r<br><b>Edit Avatar Settings</b>\r<br>\r<br>An avatar is a little image that appears under your username when you view a topic or post you authored. If the administrator allows, you may either choose from the board gallery, enter a URL to an avatar stored on your server or upload an avatar to use. You may also set the width of the avatar to ensure that it\'s sized in proportion.\r<br>\r<br><b>Change Personal Photo</b>\r<br>\r<br>This section will allow you to add a photograph to your profile. This will be displayed when a user clicks to view your profile, on the mini-profile screen and will also be linked to from the member list.\r<br>\r<br><b>Email Settings</b>\r<br>\r<br><u>Hide my email address</u> allows you to deny the ability for other users to send you an email from the board.\r<br><u>Send me updates sent by the board administrator</u> will allow the administrator to include your email address in any mailings they send out - this is used mostly for important updates and community information.\r<br><u>Include a copy of the post when emailing me from a subscribed topic</u>, this allows you to have the new post included in any reply to topic notifications.\r<br><u>Send a confirmation email when I receive a new private message</u>, this will send you an e-mail notification to your registered e-mail address each time you receive a private message on the board.\r<br><u>Enable \'Email Notification\' by default?</u>, this will automatically subscribe you to any topic that you make a reply to. You may unsubscribe from the \'Subscriptions\' section of My Controls if you wish.\r<br>\r<br><b>Board Settings</b>\r<br>\r<br>From this section, you can set your time zone, choose to not see users signatures, avatars and posted images.\r<br>You can choose to get a pop up window informing you when you have a new message and choose to show or hide the \'Fast Reply\' box where it is enabled.\r<br>You are also able to choose display preferences for the number of topics/posts shown per page on the board.\r<br>\r<br><b>Skins and Languages</b>\r<br>\r<br>If available, you can choose a skin style and language choice. This affects how the board is displayed so you may wish to preview the skin before submitting the form.\r<br>\r<br><b>Change Email Address</b>\r<br>\r<br>At any time, you can change the email address that is registered to your account. In some cases, you will need to revalidate your account after changing your email address. If this is the case, you will be notified before your email address change is processed.\r<br>\r<br><b>Change Password</b>\r<br>\r<br>You may change your password from this section. Please note that you will need to know your current password before you can change your password.', 'Editing contact information, personal information, avatars, signatures, board settings, languages and style choices.');";
|
||||
$SQL[] = "REPLACE INTO ".ipsRegistry::dbFunctions()->getPrefix()."faq VALUES (5, 'Email Notification of new messages', 'This board can notify you when a new reply is added to a topic. Many users find this useful to keep up to date on topics without the need to view the board to check for new messages.\r<br>\r<br>There are three ways to subscribe to a topic:\r<br>\r<br><li>Click the \'Track This Topic\' link at the top of the topic that you wish to track\r<br><li> On the posting screen when replying to or creating a topic, check the \'Enable email notification of replies?\' checkbox\r<br><li> From the E-Mail settings section of your User CP (My Controls) check the \'Enable Email Notification by default?\' option, this will automatically subscribe you to any topic that you make a reply to\r<br>\r<br>Please note that to avoid multiple emails being sent to your email address, you will only get one e-mail for each topic you are subscribed to until the next time you visit the board.\r<br>\r<br>You are also able to subscribe to each individual forum on the board, to be notified when a new topic is created in that particular forum. To enable this, click the \'Subscribe to this forum\' link at the bottom of the forum that you wish to subscribe to.\r<br>\r<br>To unsubscribe from any forums or topics that you are subscribed to - just go to the \'Subscriptions\' section of \'My Controls\' and you can do this from there.', 'How to get emailed when a new reply is added to a topic.');";
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
@@ -1703,8 +1703,8 @@ class version_upgrade
|
||||
$SQL[] = "INSERT INTO ".ipsRegistry::dbFunctions()->getPrefix()."cache_store (cs_key, cs_value, cs_extra, cs_array) VALUES ('calendar', 'a:0:{}', '', 1);";
|
||||
|
||||
$SQL[] = "INSERT INTO ".ipsRegistry::dbFunctions()->getPrefix()."skin_sets (set_skin_set_id, set_name, set_image_dir, set_hidden, set_default, set_css_method, set_skin_set_parent, set_author_email, set_author_name, set_author_url, set_css, set_cache_macro, set_wrapper, set_css_updated, set_cache_css, set_cache_wrapper, set_emoticon_folder) VALUES (1, 'IPB Master Skin Set', '1', 0, 0, '0', -1, '', '', '', '', '', '', 1079109298, '', '', 'default');";
|
||||
//$SQL[] = "INSERT INTO ".ipsRegistry::dbFunctions()->getPrefix()."skin_sets (set_skin_set_id, set_name, set_image_dir, set_hidden, set_default, set_css_method, set_skin_set_parent, set_author_email, set_author_name, set_author_url, set_css, set_cache_macro, set_wrapper, set_css_updated, set_cache_css, set_cache_wrapper, set_emoticon_folder) VALUES (2, 'IPB Default Skin', '1', 0, 1, '0', -1, 'ipbauto@invisionboard.com', 'Invision Power Services', 'www.invisionboard.com', '', '', '', 1074679074, '', '', 'default');";
|
||||
$SQL[] = "INSERT INTO ".ipsRegistry::dbFunctions()->getPrefix()."skin_sets (set_skin_set_id, set_name, set_image_dir, set_hidden, set_default, set_css_method, set_skin_set_parent, set_author_email, set_author_name, set_author_url, set_css, set_cache_macro, set_wrapper, set_css_updated, set_cache_css, set_cache_wrapper, set_emoticon_folder) VALUES (3, 'IPB Pre-2.0 Skins', '1', 0, 0, '0', -1, 'ipbauto@invisionboard.com', 'Invision Power Services', 'www.invisionboard.com', '', '', '', 1074679074, '', '', 'default');";
|
||||
//$SQL[] = "INSERT INTO ".ipsRegistry::dbFunctions()->getPrefix()."skin_sets (set_skin_set_id, set_name, set_image_dir, set_hidden, set_default, set_css_method, set_skin_set_parent, set_author_email, set_author_name, set_author_url, set_css, set_cache_macro, set_wrapper, set_css_updated, set_cache_css, set_cache_wrapper, set_emoticon_folder) VALUES (2, 'IPB Default Skin', '1', 0, 1, '0', -1, '', 'Invision Power Services', '', '', '', '', 1074679074, '', '', 'default');";
|
||||
$SQL[] = "INSERT INTO ".ipsRegistry::dbFunctions()->getPrefix()."skin_sets (set_skin_set_id, set_name, set_image_dir, set_hidden, set_default, set_css_method, set_skin_set_parent, set_author_email, set_author_name, set_author_url, set_css, set_cache_macro, set_wrapper, set_css_updated, set_cache_css, set_cache_wrapper, set_emoticon_folder) VALUES (3, 'IPB Pre-2.0 Skins', '1', 0, 0, '0', -1, '', 'Invision Power Services', '', '', '', '', 1074679074, '', '', 'default');";
|
||||
|
||||
|
||||
$SQL[] = "INSERT INTO ".ipsRegistry::dbFunctions()->getPrefix()."conf_settings_titles (conf_title_id, conf_title_title, conf_title_desc, conf_title_count) VALUES (1, 'General Configuration', 'These settings control the basics of the board such as URLs and paths.', 17);";
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
@@ -30,10 +30,10 @@ $SQL[] = "INSERT INTO task_manager (task_title, task_file, task_next_run, task_w
|
||||
$SQL[] = "INSERT INTO task_manager (task_title, task_file, task_next_run, task_week_day, task_month_day, task_hour, task_minute, task_cronkey, task_log, task_description, task_enabled, task_key, task_safemode) VALUES ('Expire Paid Subscriptions', 'doexpiresubs.php', 1121212800, -1, -1, 0, 0, 'bb57399ea05eb9240b42d5d5f53575fb', 1, 'Unsubscribes members from their subscribed packages', 1, 'doexpiresubs', 1)";
|
||||
|
||||
|
||||
$SQL[] = "INSERT INTO components (com_id, com_title, com_author, com_url, com_version, com_date_added, com_menu_data, com_enabled, com_safemode, com_section, com_filename, com_description, com_url_title, com_url_uri, com_position) VALUES (1, 'Invision Gallery', 'Invision Power Services', 'http://www.invisiongallery.com', '1.3.0', 1113309894, 'a:1:{i:1;a:5:{s:9:\"menu_text\";s:24:\"Purchase and Information\";s:8:\"menu_url\";s:9:\"code=show\";s:13:\"menu_redirect\";i:0;s:12:\"menu_permbit\";s:0:\"\";s:13:\"menu_permlang\";s:0:\"\";}}', 0, 1, 'gallery', 'gallery', 'Complete gallery system for your members', '{ipb.lang[\'gallery\']}', '{ipb.base_url}act=module&module=gallery', 1);";
|
||||
$SQL[] = "INSERT INTO components (com_id, com_title, com_author, com_url, com_version, com_date_added, com_menu_data, com_enabled, com_safemode, com_section, com_filename, com_description, com_url_title, com_url_uri, com_position) VALUES (2, 'Invision Community Blog', 'Invision Power Services', 'http://www.invisionblog.com', '1.1.2', 1113310263, 'a:1:{i:1;a:5:{s:9:\"menu_text\";s:24:\"Purchase and Information\";s:8:\"menu_url\";s:9:\"code=show\";s:13:\"menu_redirect\";i:0;s:12:\"menu_permbit\";s:0:\"\";s:13:\"menu_permlang\";s:0:\"\";}}', 0, 1, 'blog', 'blog', 'Blogging addition for your members', '{ipb.lang[\'blog\']}', '{ipb.base_url}automodule=blog', -1);";
|
||||
$SQL[] = "INSERT INTO components (com_id, com_title, com_author, com_url, com_version, com_date_added, com_menu_data, com_enabled, com_safemode, com_section, com_filename, com_description, com_url_title, com_url_uri, com_position) VALUES (3, 'Invision Chat (ParaChat)', 'Invision Power Services', 'http://chat.invisionsitetools.com', '2.1', 1113313895, 'a:1:{i:1;a:5:{s:9:\"menu_text\";s:24:\"Purchase and Information\";s:8:\"menu_url\";s:9:\"code=show\";s:13:\"menu_redirect\";i:0;s:12:\"menu_permbit\";s:0:\"\";s:13:\"menu_permlang\";s:0:\"\";}}', 0, 1, 'chatpara', 'chatpara', 'Full real-time chat system for your members', '{ipb.lang[\'live_chat\']}', '{ipb.base_url}autocom=chatpara', 2);";
|
||||
$SQL[] = "INSERT INTO components (com_id, com_title, com_author, com_url, com_version, com_date_added, com_menu_data, com_enabled, com_safemode, com_section, com_filename, com_description, com_url_title, com_url_uri, com_position) VALUES (4, 'Invision Copyright Removal', 'Invision Power Services', 'http://www.invisionboard.com', '2.1', 1113314009, 'a:1:{i:1;a:5:{s:9:\"menu_text\";s:24:\"Purchase and Information\";s:8:\"menu_url\";s:9:\"code=show\";s:13:\"menu_redirect\";i:0;s:12:\"menu_permbit\";s:0:\"\";s:13:\"menu_permlang\";s:0:\"\";}}', 1, 1, 'copyright', 'copyright', 'Allows the copyright notices to be removed from the board\'s output', '', '', 3);";
|
||||
$SQL[] = "INSERT INTO components (com_id, com_title, com_author, com_url, com_version, com_date_added, com_menu_data, com_enabled, com_safemode, com_section, com_filename, com_description, com_url_title, com_url_uri, com_position) VALUES (1, 'Invision Gallery', 'Invision Power Services', '', '1.3.0', 1113309894, 'a:1:{i:1;a:5:{s:9:\"menu_text\";s:24:\"Purchase and Information\";s:8:\"menu_url\";s:9:\"code=show\";s:13:\"menu_redirect\";i:0;s:12:\"menu_permbit\";s:0:\"\";s:13:\"menu_permlang\";s:0:\"\";}}', 0, 1, 'gallery', 'gallery', 'Complete gallery system for your members', '{ipb.lang[\'gallery\']}', '{ipb.base_url}act=module&module=gallery', 1);";
|
||||
$SQL[] = "INSERT INTO components (com_id, com_title, com_author, com_url, com_version, com_date_added, com_menu_data, com_enabled, com_safemode, com_section, com_filename, com_description, com_url_title, com_url_uri, com_position) VALUES (2, 'Invision Community Blog', 'Invision Power Services', '', '1.1.2', 1113310263, 'a:1:{i:1;a:5:{s:9:\"menu_text\";s:24:\"Purchase and Information\";s:8:\"menu_url\";s:9:\"code=show\";s:13:\"menu_redirect\";i:0;s:12:\"menu_permbit\";s:0:\"\";s:13:\"menu_permlang\";s:0:\"\";}}', 0, 1, 'blog', 'blog', 'Blogging addition for your members', '{ipb.lang[\'blog\']}', '{ipb.base_url}automodule=blog', -1);";
|
||||
$SQL[] = "INSERT INTO components (com_id, com_title, com_author, com_url, com_version, com_date_added, com_menu_data, com_enabled, com_safemode, com_section, com_filename, com_description, com_url_title, com_url_uri, com_position) VALUES (3, 'Invision Chat (ParaChat)', 'Invision Power Services', '', '2.1', 1113313895, 'a:1:{i:1;a:5:{s:9:\"menu_text\";s:24:\"Purchase and Information\";s:8:\"menu_url\";s:9:\"code=show\";s:13:\"menu_redirect\";i:0;s:12:\"menu_permbit\";s:0:\"\";s:13:\"menu_permlang\";s:0:\"\";}}', 0, 1, 'chatpara', 'chatpara', 'Full real-time chat system for your members', '{ipb.lang[\'live_chat\']}', '{ipb.base_url}autocom=chatpara', 2);";
|
||||
$SQL[] = "INSERT INTO components (com_id, com_title, com_author, com_url, com_version, com_date_added, com_menu_data, com_enabled, com_safemode, com_section, com_filename, com_description, com_url_title, com_url_uri, com_position) VALUES (4, 'Invision Copyright Removal', 'Invision Power Services', '', '2.1', 1113314009, 'a:1:{i:1;a:5:{s:9:\"menu_text\";s:24:\"Purchase and Information\";s:8:\"menu_url\";s:9:\"code=show\";s:13:\"menu_redirect\";i:0;s:12:\"menu_permbit\";s:0:\"\";s:13:\"menu_permlang\";s:0:\"\";}}', 1, 1, 'copyright', 'copyright', 'Allows the copyright notices to be removed from the board\'s output', '', '', 3);";
|
||||
|
||||
$SQL[] = "DELETE FROM conf_settings WHERE conf_key IN ( 'csite_article_forum' , 'csite_article_max', 'csite_article_recent_on',
|
||||
'csite_article_recent_max', 'csite_article_len', 'csite_discuss_on',
|
||||
|
||||
@@ -1,465 +1,465 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
| http://www.invisionpower.com
|
||||
| ========================================
|
||||
| Web: http://www.invisionboard.com
|
||||
| Email: matt@invisionpower.com
|
||||
| Licence Info: http://www.invisionboard.com/?license
|
||||
+---------------------------------------------------------------------------
|
||||
|
|
||||
| > IPB UPGRADE MODULE:: IPB 2.0.2 -> IPB 2.0.3
|
||||
| > Script written by Matt Mecham
|
||||
| > Date started: 23rd April 2004
|
||||
| > "So what, pop is dead - it's no great loss.
|
||||
So many facelifts, it's face flew off"
|
||||
+--------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_IPB' ) )
|
||||
{
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
|
||||
exit();
|
||||
}
|
||||
|
||||
class version_upgrade
|
||||
{
|
||||
/**
|
||||
* Custom HTML to show
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $_output = '';
|
||||
|
||||
/**
|
||||
* fetchs output
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function fetchOutput()
|
||||
{
|
||||
return $this->_output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Make object */
|
||||
$this->registry = $registry;
|
||||
$this->DB = $this->registry->DB();
|
||||
$this->settings =& $this->registry->fetchSettings();
|
||||
$this->request =& $this->registry->fetchRequest();
|
||||
$this->cache = $this->registry->cache();
|
||||
$this->caches =& $this->registry->cache()->fetchCaches();
|
||||
|
||||
//--------------------------------
|
||||
// What are we doing?
|
||||
//--------------------------------
|
||||
|
||||
switch( $this->request['workact'] )
|
||||
{
|
||||
case 'sql':
|
||||
$this->upgrade_sql(1);
|
||||
break;
|
||||
case 'sql1':
|
||||
$this->upgrade_sql(1);
|
||||
break;
|
||||
case 'sql2':
|
||||
$this->upgrade_sql(2);
|
||||
break;
|
||||
case 'sql3':
|
||||
$this->upgrade_sql(3);
|
||||
break;
|
||||
case 'sql4':
|
||||
$this->upgrade_sql(4);
|
||||
break;
|
||||
case 'polls':
|
||||
$this->convert_polls();
|
||||
break;
|
||||
case 'calevents':
|
||||
$this->convert_calevents();
|
||||
break;
|
||||
case 'skin':
|
||||
$this->add_skin();
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->upgrade_sql(1);
|
||||
break;
|
||||
}
|
||||
|
||||
if ( $this->request['workact'] )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// SQL: 0
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function upgrade_sql( $id=1 )
|
||||
{
|
||||
$man = 0; // Manual upgrade ? intval( $this->request['man'] );
|
||||
$cnt = 0;
|
||||
$SQL = array();
|
||||
$file = '_updates_'.$id.'.php';
|
||||
$output = "";
|
||||
$path = IPSLib::getAppDir( 'core' ) . '/setup/versions/upg_21003/' . strtolower( $this->registry->dbFunctions()->getDriverType() ) . $file;
|
||||
$prefix = $this->registry->dbFunctions()->getPrefix();
|
||||
|
||||
if ( is_file( $path ) )
|
||||
{
|
||||
require( $path );/*noLibHook*/
|
||||
|
||||
$this->error = array();
|
||||
$this->sqlcount = 0;
|
||||
$output = "";
|
||||
|
||||
$this->DB->return_die = 1;
|
||||
|
||||
foreach( $SQL as $query )
|
||||
{
|
||||
$this->DB->allow_sub_select = 1;
|
||||
$this->DB->error = '';
|
||||
|
||||
$query = str_replace( "<%time%>", time(), $query );
|
||||
|
||||
/* Need to tack on a prefix? */
|
||||
if ( $prefix )
|
||||
{
|
||||
$query = IPSSetUp::addPrefixToQuery( $query, $prefix );
|
||||
}
|
||||
|
||||
if ( IPSSetUp::getSavedData('man') )
|
||||
{
|
||||
$output .= preg_replace( "/\s{1,}/", " ", $query ) . "\n\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
if( ! $query )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$this->DB->query( $query );
|
||||
|
||||
if ( $this->DB->error )
|
||||
{
|
||||
$this->registry->output->addError( $query."<br /><br />".$this->DB->error );
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->sqlcount++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->registry->output->addMessage("{$this->sqlcount} запросов выполнено....");
|
||||
}
|
||||
|
||||
//--------------------------------
|
||||
// Next page...
|
||||
//--------------------------------
|
||||
|
||||
$this->request['st'] = 0;
|
||||
|
||||
if ( $id != 4 )
|
||||
{
|
||||
$nextid = $id + 1;
|
||||
$this->request['workact'] = 'sql'.$nextid;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->request['workact'] = 'polls';
|
||||
}
|
||||
|
||||
if ( IPSSetUp::getSavedData('man') AND $output )
|
||||
{
|
||||
/* Create source file */
|
||||
if ( $this->registry->dbFunctions()->getDriverType() == 'mysql' )
|
||||
{
|
||||
$sourceFile = IPSSetUp::createSqlSourceFile( $output, '21003', $id );
|
||||
}
|
||||
|
||||
$this->_output = $this->registry->output->template()->upgrade_manual_queries( $output, $sourceFile );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// POLLS
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function convert_polls()
|
||||
{
|
||||
$start = intval($this->request['st']) > 0 ? intval($this->request['st']) : 0;
|
||||
$lend = 50;
|
||||
$end = $start + $lend;
|
||||
$max = intval(IPSSetUp::getSavedData('max'));
|
||||
$converted = intval(IPSSetUp::getSavedData('conv'));
|
||||
|
||||
//-----------------------------------------
|
||||
// First off.. grab number of polls to convert
|
||||
//-----------------------------------------
|
||||
|
||||
if ( ! $max )
|
||||
{
|
||||
$total = $this->DB->buildAndFetch( array( 'select' => 'COUNT(*) as max',
|
||||
'from' => 'topics',
|
||||
'where' => "poll_state IN ('open', 'close', 'closed')" ) );
|
||||
|
||||
$max = $total['max'];
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// In steps...
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->build( array( 'select' => '*',
|
||||
'from' => 'topics',
|
||||
'where' => "poll_state IN ('open', 'close', 'closed' )",
|
||||
'limit' => array( 0, $lend ) ) );
|
||||
$o = $this->DB->execute();
|
||||
|
||||
//-----------------------------------------
|
||||
// Do it...
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $this->DB->getTotalRows($o) )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Got some to convert!
|
||||
//-----------------------------------------
|
||||
|
||||
while ( $r = $this->DB->fetch($o) )
|
||||
{
|
||||
$converted++;
|
||||
|
||||
//-----------------------------------------
|
||||
// All done?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $converted >= $max )
|
||||
{
|
||||
$done = 1;
|
||||
}
|
||||
|
||||
$new_poll = array( 1 => array() );
|
||||
|
||||
$poll_data = $this->DB->buildAndFetch( array( 'select' => '*',
|
||||
'from' => 'polls',
|
||||
'where' => "tid=".$r['tid']
|
||||
) );
|
||||
if ( ! $poll_data['pid'] )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( ! $poll_data['poll_question'] )
|
||||
{
|
||||
$poll_data['poll_question'] = $r['title'];
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Kick start new poll
|
||||
//-----------------------------------------
|
||||
|
||||
$new_poll[1]['question'] = $poll_data['poll_question'];
|
||||
|
||||
//-----------------------------------------
|
||||
// Get OLD polls
|
||||
//-----------------------------------------
|
||||
|
||||
$poll_answers = unserialize( stripslashes( $poll_data['choices'] ) );
|
||||
|
||||
reset($poll_answers);
|
||||
|
||||
foreach ( $poll_answers as $entry )
|
||||
{
|
||||
$id = $entry[0];
|
||||
$choice = $entry[1];
|
||||
$votes = $entry[2];
|
||||
|
||||
$total_votes += $votes;
|
||||
|
||||
if ( strlen($choice) < 1 )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$new_poll[ 1 ]['choice'][ $id ] = $choice;
|
||||
$new_poll[ 1 ]['votes'][ $id ] = $votes;
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Got something?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( count( $new_poll[1]['choice'] ) )
|
||||
{
|
||||
$this->DB->update( 'polls' , array( 'choices' => serialize( $new_poll ) ), 'tid='.$r['tid'] );
|
||||
$this->DB->update( 'topics', array( 'poll_state' => 1 ), 'tid='.$r['tid'] );
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$done = 1;
|
||||
}
|
||||
|
||||
|
||||
if ( ! $done )
|
||||
{
|
||||
$this->registry->output->addMessage("Polls: $start to $end completed....");
|
||||
$this->request['workact'] = 'polls';
|
||||
$this->request['st'] = $end;
|
||||
IPSSetUp::setSavedData('max', $max);
|
||||
IPSSetUp::setSavedData('conv', $converted);
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->registry->output->addMessage("Polls converted, proceeding to calendar events...");
|
||||
$this->request['workact'] = 'calevents';
|
||||
$this->request['st'] = '0';
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// CALENDAR EVENTS
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function convert_calevents()
|
||||
{
|
||||
$start = intval($this->request['st']) > 0 ? intval($this->request['st']) : 0;
|
||||
$lend = 50;
|
||||
$end = $start + $lend;
|
||||
|
||||
//-----------------------------------------
|
||||
// In steps...
|
||||
//-----------------------------------------
|
||||
|
||||
if( !$this->DB->checkForTable('calendar_events') )
|
||||
{
|
||||
$this->registry->output->addMessage("События календаря не найдены, Создается новый стиль внешнего вида IPB 2.1...");
|
||||
$this->request['workact'] = 'skin';
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
$this->DB->build( array( 'select' => '*',
|
||||
'from' => 'calendar_events',
|
||||
'limit' => array( $start, $lend ) ) );
|
||||
$o = $this->DB->execute();
|
||||
|
||||
//-----------------------------------------
|
||||
// Do it...
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $this->DB->getTotalRows($o) )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Got some to convert!
|
||||
//-----------------------------------------
|
||||
|
||||
while ( $r = $this->DB->fetch($o) )
|
||||
{
|
||||
$recur_remap = array( 'w' => 1,
|
||||
'm' => 2,
|
||||
'y' => 3 );
|
||||
|
||||
$begin_date = IPSTime::date_getgmdate( $r['unix_stamp'] );
|
||||
$end_date = IPSTime::date_getgmdate( $r['end_unix_stamp'] );
|
||||
|
||||
if ( ! $begin_date OR ! $end_date )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$day = $begin_date['mday'];
|
||||
$month = $begin_date['mon'];
|
||||
$year = $begin_date['year'];
|
||||
|
||||
$end_day = $end_date['mday'];
|
||||
$end_month = $end_date['mon'];
|
||||
$end_year = $end_date['year'];
|
||||
|
||||
$_final_unix_from = gmmktime(0, 0, 0, $month, $day, $year );
|
||||
|
||||
//-----------------------------------------
|
||||
// Recur or ranged...
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $r['event_repeat'] OR $r['event_ranged'] )
|
||||
{
|
||||
$_final_unix_to = gmmktime(11, 59, 59, $end_month, $end_day, $end_year);
|
||||
}
|
||||
else
|
||||
{
|
||||
$_final_unix_to = 0;
|
||||
}
|
||||
|
||||
$new_event = array( 'event_calendar_id' => 1,
|
||||
'event_member_id' => $r['userid'],
|
||||
'event_content' => $r['event_text'],
|
||||
'event_title' => $r['title'],
|
||||
'event_smilies' => $r['show_emoticons'],
|
||||
'event_perms' => $r['read_perms'],
|
||||
'event_private' => $r['priv_event'],
|
||||
'event_approved' => 1,
|
||||
'event_unixstamp' => $r['unix_stamp'],
|
||||
'event_recurring' => ( $r['event_repeat'] && $recur_remap[ $r['repeat_unit'] ] ) ? $recur_remap[ $r['repeat_unit'] ] : 0,
|
||||
'event_tz' => 0,
|
||||
'event_unix_from' => $_final_unix_from,
|
||||
'event_unix_to' => $_final_unix_to );
|
||||
|
||||
//-----------------------------------------
|
||||
// INSERT
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->insert( 'cal_events', $new_event );
|
||||
}
|
||||
|
||||
$this->registry->output->addMessage("Calendar events: $start to $end completed....");
|
||||
$this->request['workact'] = 'calevents';
|
||||
$this->request['st'] = $end;
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->registry->output->addMessage("Calendar events converted, Creating new IPB 2.1 skin...");
|
||||
$this->request['workact'] = 'skin';
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// CALENDAR EVENTS
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function add_skin()
|
||||
{
|
||||
$this->registry->output->addMessage("Skipping 2.1 skin creation (latest skin will be inserted later)...");
|
||||
unset($this->request['workact']);
|
||||
return TRUE;
|
||||
}
|
||||
<?php
|
||||
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
| http://www.invisionpower.com
|
||||
| ========================================
|
||||
| Web: http://www.invisionboard.com
|
||||
| Email: matt@invisionpower.com
|
||||
| Licence Info: http://www.invisionboard.com/?license
|
||||
+---------------------------------------------------------------------------
|
||||
|
|
||||
| > IPB UPGRADE MODULE:: IPB 2.0.2 -> IPB 2.0.3
|
||||
| > Script written by Matt Mecham
|
||||
| > Date started: 23rd April 2004
|
||||
| > "So what, pop is dead - it's no great loss.
|
||||
So many facelifts, it's face flew off"
|
||||
+--------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_IPB' ) )
|
||||
{
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
|
||||
exit();
|
||||
}
|
||||
|
||||
class version_upgrade
|
||||
{
|
||||
/**
|
||||
* Custom HTML to show
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $_output = '';
|
||||
|
||||
/**
|
||||
* fetchs output
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function fetchOutput()
|
||||
{
|
||||
return $this->_output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Make object */
|
||||
$this->registry = $registry;
|
||||
$this->DB = $this->registry->DB();
|
||||
$this->settings =& $this->registry->fetchSettings();
|
||||
$this->request =& $this->registry->fetchRequest();
|
||||
$this->cache = $this->registry->cache();
|
||||
$this->caches =& $this->registry->cache()->fetchCaches();
|
||||
|
||||
//--------------------------------
|
||||
// What are we doing?
|
||||
//--------------------------------
|
||||
|
||||
switch( $this->request['workact'] )
|
||||
{
|
||||
case 'sql':
|
||||
$this->upgrade_sql(1);
|
||||
break;
|
||||
case 'sql1':
|
||||
$this->upgrade_sql(1);
|
||||
break;
|
||||
case 'sql2':
|
||||
$this->upgrade_sql(2);
|
||||
break;
|
||||
case 'sql3':
|
||||
$this->upgrade_sql(3);
|
||||
break;
|
||||
case 'sql4':
|
||||
$this->upgrade_sql(4);
|
||||
break;
|
||||
case 'polls':
|
||||
$this->convert_polls();
|
||||
break;
|
||||
case 'calevents':
|
||||
$this->convert_calevents();
|
||||
break;
|
||||
case 'skin':
|
||||
$this->add_skin();
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->upgrade_sql(1);
|
||||
break;
|
||||
}
|
||||
|
||||
if ( $this->request['workact'] )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// SQL: 0
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function upgrade_sql( $id=1 )
|
||||
{
|
||||
$man = 0; // Manual upgrade ? intval( $this->request['man'] );
|
||||
$cnt = 0;
|
||||
$SQL = array();
|
||||
$file = '_updates_'.$id.'.php';
|
||||
$output = "";
|
||||
$path = IPSLib::getAppDir( 'core' ) . '/setup/versions/upg_21003/' . strtolower( $this->registry->dbFunctions()->getDriverType() ) . $file;
|
||||
$prefix = $this->registry->dbFunctions()->getPrefix();
|
||||
|
||||
if ( is_file( $path ) )
|
||||
{
|
||||
require( $path );/*noLibHook*/
|
||||
|
||||
$this->error = array();
|
||||
$this->sqlcount = 0;
|
||||
$output = "";
|
||||
|
||||
$this->DB->return_die = 1;
|
||||
|
||||
foreach( $SQL as $query )
|
||||
{
|
||||
$this->DB->allow_sub_select = 1;
|
||||
$this->DB->error = '';
|
||||
|
||||
$query = str_replace( "<%time%>", time(), $query );
|
||||
|
||||
/* Need to tack on a prefix? */
|
||||
if ( $prefix )
|
||||
{
|
||||
$query = IPSSetUp::addPrefixToQuery( $query, $prefix );
|
||||
}
|
||||
|
||||
if ( IPSSetUp::getSavedData('man') )
|
||||
{
|
||||
$output .= preg_replace( "/\s{1,}/", " ", $query ) . "\n\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
if( ! $query )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$this->DB->query( $query );
|
||||
|
||||
if ( $this->DB->error )
|
||||
{
|
||||
$this->registry->output->addError( $query."<br /><br />".$this->DB->error );
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->sqlcount++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->registry->output->addMessage("{$this->sqlcount} queries ran....");
|
||||
}
|
||||
|
||||
//--------------------------------
|
||||
// Next page...
|
||||
//--------------------------------
|
||||
|
||||
$this->request['st'] = 0;
|
||||
|
||||
if ( $id != 4 )
|
||||
{
|
||||
$nextid = $id + 1;
|
||||
$this->request['workact'] = 'sql'.$nextid;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->request['workact'] = 'polls';
|
||||
}
|
||||
|
||||
if ( IPSSetUp::getSavedData('man') AND $output )
|
||||
{
|
||||
/* Create source file */
|
||||
if ( $this->registry->dbFunctions()->getDriverType() == 'mysql' )
|
||||
{
|
||||
$sourceFile = IPSSetUp::createSqlSourceFile( $output, '21003', $id );
|
||||
}
|
||||
|
||||
$this->_output = $this->registry->output->template()->upgrade_manual_queries( $output, $sourceFile );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// POLLS
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function convert_polls()
|
||||
{
|
||||
$start = intval($this->request['st']) > 0 ? intval($this->request['st']) : 0;
|
||||
$lend = 50;
|
||||
$end = $start + $lend;
|
||||
$max = intval(IPSSetUp::getSavedData('max'));
|
||||
$converted = intval(IPSSetUp::getSavedData('conv'));
|
||||
|
||||
//-----------------------------------------
|
||||
// First off.. grab number of polls to convert
|
||||
//-----------------------------------------
|
||||
|
||||
if ( ! $max )
|
||||
{
|
||||
$total = $this->DB->buildAndFetch( array( 'select' => 'COUNT(*) as max',
|
||||
'from' => 'topics',
|
||||
'where' => "poll_state IN ('open', 'close', 'closed')" ) );
|
||||
|
||||
$max = $total['max'];
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// In steps...
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->build( array( 'select' => '*',
|
||||
'from' => 'topics',
|
||||
'where' => "poll_state IN ('open', 'close', 'closed' )",
|
||||
'limit' => array( 0, $lend ) ) );
|
||||
$o = $this->DB->execute();
|
||||
|
||||
//-----------------------------------------
|
||||
// Do it...
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $this->DB->getTotalRows($o) )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Got some to convert!
|
||||
//-----------------------------------------
|
||||
|
||||
while ( $r = $this->DB->fetch($o) )
|
||||
{
|
||||
$converted++;
|
||||
|
||||
//-----------------------------------------
|
||||
// All done?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $converted >= $max )
|
||||
{
|
||||
$done = 1;
|
||||
}
|
||||
|
||||
$new_poll = array( 1 => array() );
|
||||
|
||||
$poll_data = $this->DB->buildAndFetch( array( 'select' => '*',
|
||||
'from' => 'polls',
|
||||
'where' => "tid=".$r['tid']
|
||||
) );
|
||||
if ( ! $poll_data['pid'] )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( ! $poll_data['poll_question'] )
|
||||
{
|
||||
$poll_data['poll_question'] = $r['title'];
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Kick start new poll
|
||||
//-----------------------------------------
|
||||
|
||||
$new_poll[1]['question'] = $poll_data['poll_question'];
|
||||
|
||||
//-----------------------------------------
|
||||
// Get OLD polls
|
||||
//-----------------------------------------
|
||||
|
||||
$poll_answers = unserialize( stripslashes( $poll_data['choices'] ) );
|
||||
|
||||
reset($poll_answers);
|
||||
|
||||
foreach ( $poll_answers as $entry )
|
||||
{
|
||||
$id = $entry[0];
|
||||
$choice = $entry[1];
|
||||
$votes = $entry[2];
|
||||
|
||||
$total_votes += $votes;
|
||||
|
||||
if ( strlen($choice) < 1 )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$new_poll[ 1 ]['choice'][ $id ] = $choice;
|
||||
$new_poll[ 1 ]['votes'][ $id ] = $votes;
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Got something?
|
||||
//-----------------------------------------
|
||||
|
||||
if ( count( $new_poll[1]['choice'] ) )
|
||||
{
|
||||
$this->DB->update( 'polls' , array( 'choices' => serialize( $new_poll ) ), 'tid='.$r['tid'] );
|
||||
$this->DB->update( 'topics', array( 'poll_state' => 1 ), 'tid='.$r['tid'] );
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$done = 1;
|
||||
}
|
||||
|
||||
|
||||
if ( ! $done )
|
||||
{
|
||||
$this->registry->output->addMessage("Polls: $start to $end completed....");
|
||||
$this->request['workact'] = 'polls';
|
||||
$this->request['st'] = $end;
|
||||
IPSSetUp::setSavedData('max', $max);
|
||||
IPSSetUp::setSavedData('conv', $converted);
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->registry->output->addMessage("Polls converted, proceeding to calendar events...");
|
||||
$this->request['workact'] = 'calevents';
|
||||
$this->request['st'] = '0';
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// CALENDAR EVENTS
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function convert_calevents()
|
||||
{
|
||||
$start = intval($this->request['st']) > 0 ? intval($this->request['st']) : 0;
|
||||
$lend = 50;
|
||||
$end = $start + $lend;
|
||||
|
||||
//-----------------------------------------
|
||||
// In steps...
|
||||
//-----------------------------------------
|
||||
|
||||
if( !$this->DB->checkForTable('calendar_events') )
|
||||
{
|
||||
$this->registry->output->addMessage("No calendar events found, Creating new IPB 2.1 skin...");
|
||||
$this->request['workact'] = 'skin';
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
$this->DB->build( array( 'select' => '*',
|
||||
'from' => 'calendar_events',
|
||||
'limit' => array( $start, $lend ) ) );
|
||||
$o = $this->DB->execute();
|
||||
|
||||
//-----------------------------------------
|
||||
// Do it...
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $this->DB->getTotalRows($o) )
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Got some to convert!
|
||||
//-----------------------------------------
|
||||
|
||||
while ( $r = $this->DB->fetch($o) )
|
||||
{
|
||||
$recur_remap = array( 'w' => 1,
|
||||
'm' => 2,
|
||||
'y' => 3 );
|
||||
|
||||
$begin_date = IPSTime::date_getgmdate( $r['unix_stamp'] );
|
||||
$end_date = IPSTime::date_getgmdate( $r['end_unix_stamp'] );
|
||||
|
||||
if ( ! $begin_date OR ! $end_date )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$day = $begin_date['mday'];
|
||||
$month = $begin_date['mon'];
|
||||
$year = $begin_date['year'];
|
||||
|
||||
$end_day = $end_date['mday'];
|
||||
$end_month = $end_date['mon'];
|
||||
$end_year = $end_date['year'];
|
||||
|
||||
$_final_unix_from = gmmktime(0, 0, 0, $month, $day, $year );
|
||||
|
||||
//-----------------------------------------
|
||||
// Recur or ranged...
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $r['event_repeat'] OR $r['event_ranged'] )
|
||||
{
|
||||
$_final_unix_to = gmmktime(11, 59, 59, $end_month, $end_day, $end_year);
|
||||
}
|
||||
else
|
||||
{
|
||||
$_final_unix_to = 0;
|
||||
}
|
||||
|
||||
$new_event = array( 'event_calendar_id' => 1,
|
||||
'event_member_id' => $r['userid'],
|
||||
'event_content' => $r['event_text'],
|
||||
'event_title' => $r['title'],
|
||||
'event_smilies' => $r['show_emoticons'],
|
||||
'event_perms' => $r['read_perms'],
|
||||
'event_private' => $r['priv_event'],
|
||||
'event_approved' => 1,
|
||||
'event_unixstamp' => $r['unix_stamp'],
|
||||
'event_recurring' => ( $r['event_repeat'] && $recur_remap[ $r['repeat_unit'] ] ) ? $recur_remap[ $r['repeat_unit'] ] : 0,
|
||||
'event_tz' => 0,
|
||||
'event_unix_from' => $_final_unix_from,
|
||||
'event_unix_to' => $_final_unix_to );
|
||||
|
||||
//-----------------------------------------
|
||||
// INSERT
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->insert( 'cal_events', $new_event );
|
||||
}
|
||||
|
||||
$this->registry->output->addMessage("Calendar events: $start to $end completed....");
|
||||
$this->request['workact'] = 'calevents';
|
||||
$this->request['st'] = $end;
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->registry->output->addMessage("Calendar events converted, Creating new IPB 2.1 skin...");
|
||||
$this->request['workact'] = 'skin';
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// CALENDAR EVENTS
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function add_skin()
|
||||
{
|
||||
$this->registry->output->addMessage("Skipping 2.1 skin creation (latest skin will be inserted later)...");
|
||||
unset($this->request['workact']);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,93 +1,93 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
| http://www.invisionpower.com
|
||||
| ========================================
|
||||
| Web: http://www.invisionboard.com
|
||||
| Email: matt@invisionpower.com
|
||||
| Licence Info: http://www.invisionboard.com/?license
|
||||
+---------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_IPB' ) )
|
||||
{
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
|
||||
exit();
|
||||
}
|
||||
|
||||
class version_upgrade
|
||||
{
|
||||
/**
|
||||
* Custom HTML to show
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $_output = '';
|
||||
|
||||
/**
|
||||
* fetchs output
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function fetchOutput()
|
||||
{
|
||||
return $this->_output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Make object */
|
||||
$this->registry = $registry;
|
||||
$this->DB = $this->registry->DB();
|
||||
$this->settings =& $this->registry->fetchSettings();
|
||||
$this->request =& $this->registry->fetchRequest();
|
||||
$this->cache = $this->registry->cache();
|
||||
$this->caches =& $this->registry->cache()->fetchCaches();
|
||||
|
||||
//-----------------------------------------
|
||||
// Remove dupe categories
|
||||
//-----------------------------------------
|
||||
|
||||
$title_id_to_keep = array();
|
||||
$title_id_to_delete = array();
|
||||
$title_deleted_count = 0;
|
||||
$msg = '';
|
||||
|
||||
$this->DB->build( array( 'select' => '*', 'from' => 'conf_settings_titles', 'order' => 'conf_title_id DESC' ) );
|
||||
$this->DB->execute();
|
||||
|
||||
while ( $r = $this->DB->fetch() )
|
||||
{
|
||||
if ( $title_id_to_keep[ $r['conf_title_title'] ] )
|
||||
{
|
||||
$title_id_to_delete[ $r['conf_title_id'] ] = $r['conf_title_id'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$title_id_to_keep[ $r['conf_title_title'] ] = $r['conf_title_id'];
|
||||
}
|
||||
}
|
||||
|
||||
if ( count( $title_id_to_delete ) )
|
||||
{
|
||||
$this->DB->delete( 'conf_settings_titles', 'conf_title_id IN ('.implode( ',', $title_id_to_delete ).')' );
|
||||
}
|
||||
|
||||
$title_deleted_count = intval( count($title_id_to_delete) );
|
||||
|
||||
$this->registry->output->addMessage("$title_deleted_count дубликатов настроек удалено");
|
||||
|
||||
return true;
|
||||
}
|
||||
<?php
|
||||
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
| http://www.invisionpower.com
|
||||
| ========================================
|
||||
| Web: http://www.invisionboard.com
|
||||
| Email: matt@invisionpower.com
|
||||
| Licence Info: http://www.invisionboard.com/?license
|
||||
+---------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_IPB' ) )
|
||||
{
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
|
||||
exit();
|
||||
}
|
||||
|
||||
class version_upgrade
|
||||
{
|
||||
/**
|
||||
* Custom HTML to show
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $_output = '';
|
||||
|
||||
/**
|
||||
* fetchs output
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function fetchOutput()
|
||||
{
|
||||
return $this->_output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Make object */
|
||||
$this->registry = $registry;
|
||||
$this->DB = $this->registry->DB();
|
||||
$this->settings =& $this->registry->fetchSettings();
|
||||
$this->request =& $this->registry->fetchRequest();
|
||||
$this->cache = $this->registry->cache();
|
||||
$this->caches =& $this->registry->cache()->fetchCaches();
|
||||
|
||||
//-----------------------------------------
|
||||
// Remove dupe categories
|
||||
//-----------------------------------------
|
||||
|
||||
$title_id_to_keep = array();
|
||||
$title_id_to_delete = array();
|
||||
$title_deleted_count = 0;
|
||||
$msg = '';
|
||||
|
||||
$this->DB->build( array( 'select' => '*', 'from' => 'conf_settings_titles', 'order' => 'conf_title_id DESC' ) );
|
||||
$this->DB->execute();
|
||||
|
||||
while ( $r = $this->DB->fetch() )
|
||||
{
|
||||
if ( $title_id_to_keep[ $r['conf_title_title'] ] )
|
||||
{
|
||||
$title_id_to_delete[ $r['conf_title_id'] ] = $r['conf_title_id'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$title_id_to_keep[ $r['conf_title_title'] ] = $r['conf_title_id'];
|
||||
}
|
||||
}
|
||||
|
||||
if ( count( $title_id_to_delete ) )
|
||||
{
|
||||
$this->DB->delete( 'conf_settings_titles', 'conf_title_id IN ('.implode( ',', $title_id_to_delete ).')' );
|
||||
}
|
||||
|
||||
$title_deleted_count = intval( count($title_id_to_delete) );
|
||||
|
||||
$this->registry->output->addMessage("$title_deleted_count duplicate settings deleted");
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
@@ -21,5 +21,5 @@ $SQL[] = "UPDATE conf_settings SET conf_value='self' WHERE conf_key='chat04_disp
|
||||
$SQL[] = "UPDATE conf_settings SET conf_title='Number of times per day moderators can warn a single member' WHERE conf_key='warn_mod_day'";
|
||||
|
||||
$SQL[] = "DELETE FROM components WHERE com_filename='chatsigma'";
|
||||
$SQL[] = "INSERT INTO components (com_title, com_author, com_url, com_version, com_date_added, com_menu_data, com_enabled, com_safemode, com_section, com_filename, com_description, com_url_title, com_url_uri, com_position) VALUES ('SigmaChat', 'Invision Power Services', 'http://www.invisionpower.com', '2.1', 1113313895, 'a:1:{i:1;a:5:{s:9:\"menu_text\";s:24:\"Purchase and Information\";s:8:\"menu_url\";s:9:\"code=show\";s:13:\"menu_redirect\";i:0;s:12:\"menu_permbit\";s:0:\"\";s:13:\"menu_permlang\";s:0:\"\";}}', 0, 1, 'chatsigma', 'chatsigma', 'Full real-time chat system for your members', '{ipb.lang[\'live_chat\']}', '{ipb.base_url}autocom=chatsigma', 5);";
|
||||
$SQL[] = "INSERT INTO components (com_title, com_author, com_url, com_version, com_date_added, com_menu_data, com_enabled, com_safemode, com_section, com_filename, com_description, com_url_title, com_url_uri, com_position) VALUES ('SigmaChat', 'Invision Power Services', '', '2.1', 1113313895, 'a:1:{i:1;a:5:{s:9:\"menu_text\";s:24:\"Purchase and Information\";s:8:\"menu_url\";s:9:\"code=show\";s:13:\"menu_redirect\";i:0;s:12:\"menu_permbit\";s:0:\"\";s:13:\"menu_permlang\";s:0:\"\";}}', 0, 1, 'chatsigma', 'chatsigma', 'Full real-time chat system for your members', '{ipb.lang[\'live_chat\']}', '{ipb.base_url}autocom=chatsigma', 5);";
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
@@ -29,7 +29,7 @@ $SQL[] = "ALTER TABLE rss_import ADD rss_import_auth TINYINT( 1 ) DEFAULT '0' NO
|
||||
|
||||
|
||||
$UPDATES[] = "UPDATE faq SET title='Registration benefits', text='To be able to use all the features on this board, the administrator will probably require that you register for a member account. Registration is free and only takes a moment to complete.\r<br />\r<br />During registration, the administrator requires that you supply a valid email address. This is important as the administrator may require that you validate your registration via an email. If this is the case, you will be notified when registering. If your e-mail does not arrive, then on the member bar at the top of the page, there will be a link that will allow you to re-send the validation e-mail. \r<br />\r<br />In some cases, the administrator will need to approve your registration before you can use your member account fully. If this is the case you will be notified during registration.\r<br />\r<br />Once you have registered and logged in, you will have access to your personal messenger and your control panel.\r<br />\r<br />For more information on these items, please see the relevant sections in this documentation.', description='How to register and the added benefits of being a registered member.' WHERE id=1";/*noLibHook*/
|
||||
$UPDATES[] = "UPDATE faq SET title='Cookies and cookie usage', text='Using cookies is optional, but strongly recommended. Cookies are used to track topics, showing you which topics have new replies since your last visit and to automatically log you in when you return.\r<br />\r<br />If your computer is unable to use the cookie system to browse the board correctly, then the board will automatically add in a session ID to each link to track you around the board.\r<br />\r<br /><b>Clearing Cookies</b>\r<br />\r<br />You can clear the cookies at any time by clicking on the link found at the bottom of the main board page (the first page you see when returning to the board). If this does not work for you, you may need to remove the cookies manually.\r<br />\r<br /><u>Removing Cookies in Internet Explorer for Windows</u>\r<br />\r<br /><ul>\r<br /><li> Close all open Internet Explorer Windows\r<br /><li> Click on the \'start\' button\r<br /><li> Move up to \'Find\' and click on \'Files and Folders\'\r<br /><li> When the new window appears, type in the domain name of the board you are using into the \'containing text\' field. (If the boards address was \'http://www.invisionboard.com/forums/index.php\' you would enter \'invisionboard.com\' without the quotes)\r<br /><li> In the \'look in\' box, type in <b>C:WindowsCookies</b> and press \'Find Now\'\r<br /><li> After it has finished searching, highlight all files (click on a file then press CTRL+A) and delete them.\r<br /></ul>\r<br />\r<br /><u>Removing Cookies in Internet Explorer for Macintosh</u>\r<br />\r<br /><ul>\r<br /><li> With Internet Explorer active, choose \'Edit\' and then \'Preferences\' from the Macintosh menu bar at the top of the screen\r<br /><li> When the preferences panel opens, choose \'Cookies\' found in the \'Receiving Files\' section.\r<br /><li> When the cookie pane loads, look for the domain name of the board (If the boards address was \'http://www.invisionboard.com/forums/index.php\' look for \'invisionboard.com\' or \'www.invisionboard.com\'\r<br /><li> For each cookie, click on the entry and press the delete button.\r<br /></ul>\r<br />\r<br />Your cookies should now be removed. In some cases you may need to restart your computer for the changes to take effect.', description='The benefits of using cookies and how to remove cookies set by this board.' WHERE id=2";
|
||||
$UPDATES[] = "UPDATE faq SET title='Cookies and cookie usage', text='Using cookies is optional, but strongly recommended. Cookies are used to track topics, showing you which topics have new replies since your last visit and to automatically log you in when you return.\r<br />\r<br />If your computer is unable to use the cookie system to browse the board correctly, then the board will automatically add in a session ID to each link to track you around the board.\r<br />\r<br /><b>Clearing Cookies</b>\r<br />\r<br />You can clear the cookies at any time by clicking on the link found at the bottom of the main board page (the first page you see when returning to the board). If this does not work for you, you may need to remove the cookies manually.\r<br />\r<br /><u>Removing Cookies in Internet Explorer for Windows</u>\r<br />\r<br /><ul>\r<br /><li> Close all open Internet Explorer Windows\r<br /><li> Click on the \'start\' button\r<br /><li> Move up to \'Find\' and click on \'Files and Folders\'\r<br /><li> When the new window appears, type in the domain name of the board you are using into the \'containing text\' field. (If the boards address was \'http://www.example.com/forums/index.php\' you would enter \'example.com\' without the quotes)\r<br /><li> In the \'look in\' box, type in <b>C:WindowsCookies</b> and press \'Find Now\'\r<br /><li> After it has finished searching, highlight all files (click on a file then press CTRL+A) and delete them.\r<br /></ul>\r<br />\r<br /><u>Removing Cookies in Internet Explorer for Macintosh</u>\r<br />\r<br /><ul>\r<br /><li> With Internet Explorer active, choose \'Edit\' and then \'Preferences\' from the Macintosh menu bar at the top of the screen\r<br /><li> When the preferences panel opens, choose \'Cookies\' found in the \'Receiving Files\' section.\r<br /><li> When the cookie pane loads, look for the domain name of the board (If the boards address was \'http://www.example.com/forums/index.php\' look for \'example.com\' or \'www.example.com\'\r<br /><li> For each cookie, click on the entry and press the delete button.\r<br /></ul>\r<br />\r<br />Your cookies should now be removed. In some cases you may need to restart your computer for the changes to take effect.', description='The benefits of using cookies and how to remove cookies set by this board.' WHERE id=2";
|
||||
$UPDATES[] = "UPDATE faq SET title='Recovering lost or forgotten passwords', text='Security is a big feature on this board, and to that end, all passwords are encrypted when you register.\r<br />This means that we cannot email your password to you as we hold no record of your \'uncrypted\' password. You can however, apply to have your password reset.\r<br />\r<br />To do this, click on the <a href=\'index.php?act=Reg&do=10\'>Lost Password link</a> found on the log in page.\r<br />\r<br />Further instruction is available from there.', description='How to reset your password if you\'ve forgotten it.' WHERE id=3";
|
||||
$UPDATES[] = "UPDATE faq SET title='Your Control Panel (My Controls)', text='Your control panel is your own private board console. You can change how the board looks and feels as well as your own information from here.\r<br />\r<br /><b>Subscriptions</b>\r<br />\r<br />This is where you manage your topic and forums subscriptions. Please see the help file \'Email Notification of new messages\' for more information on how to subscribe to topics.\r<br />\r<br /><b>Edit Profile Info</b>\r<br />\r<br />This section allows you to add or edit your contact information and enter some personal information if you choose.\r<br />\r<br /><b>Edit Signature</b>\r<br />\r<br />A board \'signature\' is very similar to an email signature. This signature is attached to the foot of every message you post unless you choose to check the box that allows you to ommit the signature in the message you are posting. You may use BB Code if available and in some cases, pure HTML (if the board administrator allows it).\r<br />\r<br /><b>Edit Avatar Settings</b>\r<br />\r<br />An avatar is a little image that appears under your username when you view a topic or post you authored. If the administrator allows, you may either choose from the board gallery, enter a URL to an avatar stored on your server or upload an avatar to use. You may also set the width of the avatar to ensure that it\'s sized in proportion.\r<br />\r<br /><b>Change Personal Photo</b>\r<br />\r<br />This section will allow you to add a photograph to your profile. This will be displayed when a user clicks to view your profile, on the mini-profile screen and will also be linked to from the member list.\r<br />\r<br /><b>Email Settings</b>\r<br />\r<br /><u>Hide my email address</u> allows you to deny the ability for other users to send you an email from the board.\r<br /><u>Send me updates sent by the board administrator</u> will allow the administrator to include your email address in any mailings they send out - this is used mostly for important updates and community information.\r<br /><u>Include a copy of the post when emailing me from a subscribed topic</u>, this allows you to have the new post included in any reply to topic notifications.\r<br /><u>Send a confirmation email when I receive a new private message</u>, this will send you an e-mail notification to your registered e-mail address each time you receive a private message on the board.\r<br /><u>Enable \'Email Notification\' by default?</u>, this will automatically subscribe you to any topic that you make a reply to. You may unsubscribe from the \'Subscriptions\' section of My Controls if you wish.\r<br />\r<br /><b>Board Settings</b>\r<br />\r<br />From this section, you can set your time zone, choose to not see users signatures, avatars and posted images.\r<br />You can choose to get a pop up window informing you when you have a new message and choose to show or hide the \'Fast Reply\' box where it is enabled.\r<br />You are also able to choose display preferences for the number of topics/posts shown per page on the board.\r<br />\r<br /><b>Change Email Address</b>\r<br />\r<br />At any time, you can change the email address that is registered to your account. In some cases, you will need to revalidate your account after changing your email address. If this is the case, you will be notified before your email address change is processed.\r<br />\r<br /><b>Change Password</b>\r<br />\r<br />You may change your password from this section. Please note that you will need to know your current password before you can change your password.', description='Editing contact information, personal information, avatars, signatures, board settings, languages and style choices.' WHERE id=4";/*noLibHook*/
|
||||
$UPDATES[] = "UPDATE faq SET title='Email Notification of new messages', text='This board can notify you when a new reply is added to a topic. Many users find this useful to keep up to date on topics without the need to view the board to check for new messages.\r<br />\r<br />There are three ways to subscribe to a topic:\r<br /><ul>\r<br /><li>Click the \'Track This Topic\' link at the top of the topic that you wish to track</li>\r<br /><li> On the posting screen when replying to or creating a topic, check the \'Enable email notification of replies?\' checkbox</li>\r<br /><li> From the E-Mail settings section of your User CP (My Controls) check the \'Enable Email Notification by default?\' option, this will automatically subscribe you to any topic that you make a reply to</li>\r<br /></ul>Please note that to avoid multiple emails being sent to your email address, you will only get one e-mail for each topic you are subscribed to until the next time you visit the board.\r<br />\r<br />You are also able to subscribe to each individual forum on the board, to be notified when a new topic is created in that particular forum. To enable this, click the \'Subscribe to this forum\' link at the bottom of the forum that you wish to subscribe to.\r<br />\r<br />To unsubscribe from any forums or topics that you are subscribed to - just go to the \'Subscriptions\' section of \'My Controls\' and you can do thi from there.', description='How to get emailed when a new reply is added to a topic.' WHERE id=5";
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,386 +1,386 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
| http://www.invisionpower.com
|
||||
| ========================================
|
||||
| Web: http://www.invisionboard.com
|
||||
| Email: matt@invisionpower.com
|
||||
| Licence Info: http://www.invisionboard.com/?license
|
||||
+---------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_IPB' ) )
|
||||
{
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
|
||||
exit();
|
||||
}
|
||||
|
||||
class version_upgrade
|
||||
{
|
||||
/**
|
||||
* Custom HTML to show
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $_output = '';
|
||||
|
||||
/**
|
||||
* fetchs output
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function fetchOutput()
|
||||
{
|
||||
return $this->_output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Make object */
|
||||
$this->registry = $registry;
|
||||
$this->DB = $this->registry->DB();
|
||||
$this->settings =& $this->registry->fetchSettings();
|
||||
$this->request =& $this->registry->fetchRequest();
|
||||
$this->cache = $this->registry->cache();
|
||||
$this->caches =& $this->registry->cache()->fetchCaches();
|
||||
|
||||
/* Set DB driver to return any errors */
|
||||
$this->DB->return_die = 1;
|
||||
|
||||
//--------------------------------
|
||||
// What are we doing?
|
||||
//--------------------------------
|
||||
|
||||
switch( $this->request['workact'] )
|
||||
{
|
||||
case 'sql':
|
||||
$this->upgrade_sql(1);
|
||||
break;
|
||||
case 'sql1':
|
||||
$this->upgrade_sql(1);
|
||||
break;
|
||||
case 'sql2':
|
||||
$this->upgrade_sql(2);
|
||||
break;
|
||||
case 'sql3':
|
||||
$this->upgrade_sql(3);
|
||||
break;
|
||||
case 'sql4':
|
||||
$this->upgrade_sql(4);
|
||||
break;
|
||||
case 'forums':
|
||||
$this->update_forums();
|
||||
break;
|
||||
case 'finish':
|
||||
$this->finish_up();
|
||||
break;
|
||||
case 'skin':
|
||||
$this->add_skin();
|
||||
break;
|
||||
case 'update_template_bits':
|
||||
$this->update_template_bits();
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->upgrade_sql(1);
|
||||
break;
|
||||
}
|
||||
|
||||
if ( $this->request['workact'] )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// SQL: 0
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function upgrade_sql( $id=1 )
|
||||
{
|
||||
$man = 0; // Manual upgrade ? intval( $this->request['man'] );
|
||||
$cnt = 0;
|
||||
$SQL = array();
|
||||
$file = '_updates_'.$id.'.php';
|
||||
$output = "";
|
||||
$path = IPSLib::getAppDir( 'core' ) . '/setup/versions/upg_22005/' . strtolower( $this->registry->dbFunctions()->getDriverType() ) . $file;
|
||||
$prefix = $this->registry->dbFunctions()->getPrefix();
|
||||
|
||||
if ( is_file( $path ) )
|
||||
{
|
||||
require_once( $path );/*noLibHook*/
|
||||
|
||||
$this->sqlcount = 0;
|
||||
$output = "";
|
||||
|
||||
$this->DB->return_die = 1;
|
||||
|
||||
foreach( $SQL as $query )
|
||||
{
|
||||
$this->DB->allow_sub_select = 1;
|
||||
$this->DB->error = '';
|
||||
|
||||
$query = str_replace( "<%time%>", time(), $query );
|
||||
|
||||
if( $this->settings['mysql_tbl_type'] )
|
||||
{
|
||||
if( preg_match( "/^create table(.+?)/i", $query ) )
|
||||
{
|
||||
$query = preg_replace( "/^(.+?)\);$/is", "\\1) ENGINE={$this->settings['mysql_tbl_type']};", $query );
|
||||
}
|
||||
}
|
||||
|
||||
/* Need to tack on a prefix? */
|
||||
if ( $prefix )
|
||||
{
|
||||
$query = IPSSetUp::addPrefixToQuery( $query, $prefix );
|
||||
}
|
||||
|
||||
if ( IPSSetUp::getSavedData('man') )
|
||||
{
|
||||
$output .= preg_replace( "/\s{1,}/", " ", $query ) ."\n\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->DB->query( $query );
|
||||
|
||||
if ( $this->DB->error )
|
||||
{
|
||||
$this->registry->output->addError( $query."<br /><br />".$this->DB->error );
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->sqlcount++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->registry->output->addMessage("$this->sqlcount запросов выполнено....");
|
||||
}
|
||||
|
||||
//--------------------------------
|
||||
// Next page...
|
||||
//--------------------------------
|
||||
|
||||
$this->request['st'] = 0;
|
||||
|
||||
if ( $id != 4 )
|
||||
{
|
||||
$nextid = $id + 1;
|
||||
$this->request['workact'] = 'sql'.$nextid;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->request['workact'] = 'forums';
|
||||
}
|
||||
|
||||
if ( IPSSetUp::getSavedData('man') AND $output )
|
||||
{
|
||||
/* Create source file */
|
||||
if ( $this->registry->dbFunctions()->getDriverType() == 'mysql' )
|
||||
{
|
||||
$sourceFile = IPSSetUp::createSqlSourceFile( $output, '22005', $id );
|
||||
}
|
||||
|
||||
$this->_output = $this->registry->output->template()->upgrade_manual_queries( $output, $sourceFile );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Update forums
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function update_forums()
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Update latest news...
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->update( "forums", "newest_title=last_title, newest_id=last_id", 'last_title IS NOT NULL AND last_id IS NOT NULL', false, true );
|
||||
$this->DB->execute();
|
||||
|
||||
//-----------------------------------------
|
||||
// INIT
|
||||
//-----------------------------------------
|
||||
|
||||
$ignore_me = array( 'redirect_url', 'redirect_loc', 'rules_text', 'permission_custom_error', 'notify_modq_emails' );
|
||||
|
||||
if ( !empty($this->settings['forum_cache_minimum']) )
|
||||
{
|
||||
$ignore_me[] = 'description';
|
||||
$ignore_me[] = 'rules_title';
|
||||
}
|
||||
|
||||
$this->caches['forum_cache'] = array();
|
||||
|
||||
$this->DB->build( array( 'select' => '*',
|
||||
'from' => 'forums',
|
||||
'order' => 'parent_id, position'
|
||||
) );
|
||||
$o = $this->DB->execute();
|
||||
|
||||
while( $f = $this->DB->fetch( $o ) )
|
||||
{
|
||||
$fr = array();
|
||||
|
||||
$perms = unserialize(stripslashes($f['permission_array']));
|
||||
|
||||
//-----------------------------------------
|
||||
// Stuff we don't need...
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $f['parent_id'] == -1 )
|
||||
{
|
||||
$fr['id'] = $f['id'];
|
||||
$fr['sub_can_post'] = $f['sub_can_post'];
|
||||
$fr['name'] = $f['name'];
|
||||
$fr['parent_id'] = $f['parent_id'];
|
||||
$fr['show_perms'] = $perms['show_perms'];
|
||||
$fr['skin_id'] = $f['skin_id'];
|
||||
$fr['permission_showtopic'] = $f['permission_showtopic'];
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach( $f as $k => $v )
|
||||
{
|
||||
if ( in_array( $k, $ignore_me ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( $v != "" )
|
||||
{
|
||||
$fr[ $k ] = $v;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$fr['read_perms'] = isset($perms['read_perms']) ? $perms['read_perms'] : '';
|
||||
$fr['reply_perms'] = isset($perms['reply_perms']) ? $perms['reply_perms'] : '';
|
||||
$fr['start_perms'] = isset($perms['start_perms']) ? $perms['start_perms'] : '';
|
||||
$fr['upload_perms'] = isset($perms['upload_perms']) ? $perms['upload_perms'] : '';
|
||||
$fr['download_perms'] = $perms['upload_perms'];
|
||||
$fr['show_perms'] = isset($perms['show_perms']) ? $perms['show_perms'] : '';
|
||||
|
||||
unset($fr['permission_array']);
|
||||
}
|
||||
|
||||
$this->caches['forum_cache'][ $fr['id'] ] = $fr;
|
||||
|
||||
$perm_array = addslashes(serialize(array(
|
||||
'start_perms' => $fr['start_perms'],
|
||||
'reply_perms' => $fr['reply_perms'],
|
||||
'read_perms' => $fr['read_perms'],
|
||||
'upload_perms' => $fr['upload_perms'],
|
||||
'download_perms' => $fr['download_perms'],
|
||||
'show_perms' => $fr['show_perms']
|
||||
) ) );
|
||||
|
||||
//-----------------------------------------
|
||||
// Add to save array
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->update( 'forums', array( 'permission_array' => $perm_array ), 'id='.$fr['id'] );
|
||||
|
||||
}
|
||||
|
||||
$this->cache->setCache( 'forum_cache', $this->caches['forum_cache'], array( 'array' => 1 ) );
|
||||
|
||||
$this->registry->output->addMessage("Download permissions added, Converting template bit HTML logic...");
|
||||
$this->request['workact'] = 'update_template_bits';
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Update template bits
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function update_template_bits()
|
||||
{
|
||||
$this->registry->output->addMessage("Template bits skipped, finishing up...");
|
||||
$this->request['workact'] = 'finish';
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Update forums
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function finish_up()
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Has gallery?
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->return_die = 1;
|
||||
$this->DB->error = '';
|
||||
|
||||
$table = 'members';
|
||||
|
||||
if ( ! $this->DB->checkForField( 'has_gallery', $table ) )
|
||||
{
|
||||
$this->DB->addField( 'members', 'has_gallery', 'INT(1)', '0' );
|
||||
|
||||
if ( $this->DB->error )
|
||||
{
|
||||
$this->registry->output->addError( "ALTER TABLE {$this->DB->obj['sql_tbl_prefix']}members ADD has_gallery INT(1) default 0<br /><br />".$this->DB->error );
|
||||
}
|
||||
}
|
||||
|
||||
if( $this->settings['conv_configured'] != 1 OR $this->settings['conv_chosen'] == "" )
|
||||
{
|
||||
if( $this->DB->checkForField( "legacy_password", "members" ) )
|
||||
{
|
||||
$this->DB->dropField( 'members', 'legacy_password' );
|
||||
|
||||
if ( $this->DB->error )
|
||||
{
|
||||
$this->registry->output->addError( "ALTER TABLE {$this->DB->obj['sql_tbl_prefix']}members DROP legacy_password<br /><br />".$this->DB->error );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$test = $this->DB->buildAndFetch( array( 'select' => 'count(*) as numrows',
|
||||
'from' => 'cache_store',
|
||||
'where' => "cs_key='calendars'"
|
||||
) );
|
||||
|
||||
if ( ! $test['numrows'] )
|
||||
{
|
||||
$this->DB->insert( 'cache_store', array( 'cs_key' => 'calendars' ) );
|
||||
}
|
||||
|
||||
$this->registry->output->addMessage("Clean up performed, Creating new IPB 2.2.0 skin...");
|
||||
$this->request['workact'] = 'skin';
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Add new skin
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function add_skin()
|
||||
{
|
||||
$this->registry->output->addMessage("2.2.0 skin skipped...");
|
||||
unset($this->request['workact']);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
<?php
|
||||
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
| http://www.invisionpower.com
|
||||
| ========================================
|
||||
| Web: http://www.invisionboard.com
|
||||
| Email: matt@invisionpower.com
|
||||
| Licence Info: http://www.invisionboard.com/?license
|
||||
+---------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_IPB' ) )
|
||||
{
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
|
||||
exit();
|
||||
}
|
||||
|
||||
class version_upgrade
|
||||
{
|
||||
/**
|
||||
* Custom HTML to show
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $_output = '';
|
||||
|
||||
/**
|
||||
* fetchs output
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function fetchOutput()
|
||||
{
|
||||
return $this->_output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Make object */
|
||||
$this->registry = $registry;
|
||||
$this->DB = $this->registry->DB();
|
||||
$this->settings =& $this->registry->fetchSettings();
|
||||
$this->request =& $this->registry->fetchRequest();
|
||||
$this->cache = $this->registry->cache();
|
||||
$this->caches =& $this->registry->cache()->fetchCaches();
|
||||
|
||||
/* Set DB driver to return any errors */
|
||||
$this->DB->return_die = 1;
|
||||
|
||||
//--------------------------------
|
||||
// What are we doing?
|
||||
//--------------------------------
|
||||
|
||||
switch( $this->request['workact'] )
|
||||
{
|
||||
case 'sql':
|
||||
$this->upgrade_sql(1);
|
||||
break;
|
||||
case 'sql1':
|
||||
$this->upgrade_sql(1);
|
||||
break;
|
||||
case 'sql2':
|
||||
$this->upgrade_sql(2);
|
||||
break;
|
||||
case 'sql3':
|
||||
$this->upgrade_sql(3);
|
||||
break;
|
||||
case 'sql4':
|
||||
$this->upgrade_sql(4);
|
||||
break;
|
||||
case 'forums':
|
||||
$this->update_forums();
|
||||
break;
|
||||
case 'finish':
|
||||
$this->finish_up();
|
||||
break;
|
||||
case 'skin':
|
||||
$this->add_skin();
|
||||
break;
|
||||
case 'update_template_bits':
|
||||
$this->update_template_bits();
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->upgrade_sql(1);
|
||||
break;
|
||||
}
|
||||
|
||||
if ( $this->request['workact'] )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// SQL: 0
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function upgrade_sql( $id=1 )
|
||||
{
|
||||
$man = 0; // Manual upgrade ? intval( $this->request['man'] );
|
||||
$cnt = 0;
|
||||
$SQL = array();
|
||||
$file = '_updates_'.$id.'.php';
|
||||
$output = "";
|
||||
$path = IPSLib::getAppDir( 'core' ) . '/setup/versions/upg_22005/' . strtolower( $this->registry->dbFunctions()->getDriverType() ) . $file;
|
||||
$prefix = $this->registry->dbFunctions()->getPrefix();
|
||||
|
||||
if ( is_file( $path ) )
|
||||
{
|
||||
require_once( $path );/*noLibHook*/
|
||||
|
||||
$this->sqlcount = 0;
|
||||
$output = "";
|
||||
|
||||
$this->DB->return_die = 1;
|
||||
|
||||
foreach( $SQL as $query )
|
||||
{
|
||||
$this->DB->allow_sub_select = 1;
|
||||
$this->DB->error = '';
|
||||
|
||||
$query = str_replace( "<%time%>", time(), $query );
|
||||
|
||||
if( $this->settings['mysql_tbl_type'] )
|
||||
{
|
||||
if( preg_match( "/^create table(.+?)/i", $query ) )
|
||||
{
|
||||
$query = preg_replace( "/^(.+?)\);$/is", "\\1) ENGINE={$this->settings['mysql_tbl_type']};", $query );
|
||||
}
|
||||
}
|
||||
|
||||
/* Need to tack on a prefix? */
|
||||
if ( $prefix )
|
||||
{
|
||||
$query = IPSSetUp::addPrefixToQuery( $query, $prefix );
|
||||
}
|
||||
|
||||
if ( IPSSetUp::getSavedData('man') )
|
||||
{
|
||||
$output .= preg_replace( "/\s{1,}/", " ", $query ) ."\n\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->DB->query( $query );
|
||||
|
||||
if ( $this->DB->error )
|
||||
{
|
||||
$this->registry->output->addError( $query."<br /><br />".$this->DB->error );
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->sqlcount++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->registry->output->addMessage("$this->sqlcount queries ran....");
|
||||
}
|
||||
|
||||
//--------------------------------
|
||||
// Next page...
|
||||
//--------------------------------
|
||||
|
||||
$this->request['st'] = 0;
|
||||
|
||||
if ( $id != 4 )
|
||||
{
|
||||
$nextid = $id + 1;
|
||||
$this->request['workact'] = 'sql'.$nextid;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->request['workact'] = 'forums';
|
||||
}
|
||||
|
||||
if ( IPSSetUp::getSavedData('man') AND $output )
|
||||
{
|
||||
/* Create source file */
|
||||
if ( $this->registry->dbFunctions()->getDriverType() == 'mysql' )
|
||||
{
|
||||
$sourceFile = IPSSetUp::createSqlSourceFile( $output, '22005', $id );
|
||||
}
|
||||
|
||||
$this->_output = $this->registry->output->template()->upgrade_manual_queries( $output, $sourceFile );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Update forums
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function update_forums()
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Update latest news...
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->update( "forums", "newest_title=last_title, newest_id=last_id", 'last_title IS NOT NULL AND last_id IS NOT NULL', false, true );
|
||||
$this->DB->execute();
|
||||
|
||||
//-----------------------------------------
|
||||
// INIT
|
||||
//-----------------------------------------
|
||||
|
||||
$ignore_me = array( 'redirect_url', 'redirect_loc', 'rules_text', 'permission_custom_error', 'notify_modq_emails' );
|
||||
|
||||
if ( !empty($this->settings['forum_cache_minimum']) )
|
||||
{
|
||||
$ignore_me[] = 'description';
|
||||
$ignore_me[] = 'rules_title';
|
||||
}
|
||||
|
||||
$this->caches['forum_cache'] = array();
|
||||
|
||||
$this->DB->build( array( 'select' => '*',
|
||||
'from' => 'forums',
|
||||
'order' => 'parent_id, position'
|
||||
) );
|
||||
$o = $this->DB->execute();
|
||||
|
||||
while( $f = $this->DB->fetch( $o ) )
|
||||
{
|
||||
$fr = array();
|
||||
|
||||
$perms = unserialize(stripslashes($f['permission_array']));
|
||||
|
||||
//-----------------------------------------
|
||||
// Stuff we don't need...
|
||||
//-----------------------------------------
|
||||
|
||||
if ( $f['parent_id'] == -1 )
|
||||
{
|
||||
$fr['id'] = $f['id'];
|
||||
$fr['sub_can_post'] = $f['sub_can_post'];
|
||||
$fr['name'] = $f['name'];
|
||||
$fr['parent_id'] = $f['parent_id'];
|
||||
$fr['show_perms'] = $perms['show_perms'];
|
||||
$fr['skin_id'] = $f['skin_id'];
|
||||
$fr['permission_showtopic'] = $f['permission_showtopic'];
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach( $f as $k => $v )
|
||||
{
|
||||
if ( in_array( $k, $ignore_me ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( $v != "" )
|
||||
{
|
||||
$fr[ $k ] = $v;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$fr['read_perms'] = isset($perms['read_perms']) ? $perms['read_perms'] : '';
|
||||
$fr['reply_perms'] = isset($perms['reply_perms']) ? $perms['reply_perms'] : '';
|
||||
$fr['start_perms'] = isset($perms['start_perms']) ? $perms['start_perms'] : '';
|
||||
$fr['upload_perms'] = isset($perms['upload_perms']) ? $perms['upload_perms'] : '';
|
||||
$fr['download_perms'] = $perms['upload_perms'];
|
||||
$fr['show_perms'] = isset($perms['show_perms']) ? $perms['show_perms'] : '';
|
||||
|
||||
unset($fr['permission_array']);
|
||||
}
|
||||
|
||||
$this->caches['forum_cache'][ $fr['id'] ] = $fr;
|
||||
|
||||
$perm_array = addslashes(serialize(array(
|
||||
'start_perms' => $fr['start_perms'],
|
||||
'reply_perms' => $fr['reply_perms'],
|
||||
'read_perms' => $fr['read_perms'],
|
||||
'upload_perms' => $fr['upload_perms'],
|
||||
'download_perms' => $fr['download_perms'],
|
||||
'show_perms' => $fr['show_perms']
|
||||
) ) );
|
||||
|
||||
//-----------------------------------------
|
||||
// Add to save array
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->update( 'forums', array( 'permission_array' => $perm_array ), 'id='.$fr['id'] );
|
||||
|
||||
}
|
||||
|
||||
$this->cache->setCache( 'forum_cache', $this->caches['forum_cache'], array( 'array' => 1 ) );
|
||||
|
||||
$this->registry->output->addMessage("Download permissions added, Converting template bit HTML logic...");
|
||||
$this->request['workact'] = 'update_template_bits';
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Update template bits
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function update_template_bits()
|
||||
{
|
||||
$this->registry->output->addMessage("Template bits skipped, finishing up...");
|
||||
$this->request['workact'] = 'finish';
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Update forums
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function finish_up()
|
||||
{
|
||||
//-----------------------------------------
|
||||
// Has gallery?
|
||||
//-----------------------------------------
|
||||
|
||||
$this->DB->return_die = 1;
|
||||
$this->DB->error = '';
|
||||
|
||||
$table = 'members';
|
||||
|
||||
if ( ! $this->DB->checkForField( 'has_gallery', $table ) )
|
||||
{
|
||||
$this->DB->addField( 'members', 'has_gallery', 'INT(1)', '0' );
|
||||
|
||||
if ( $this->DB->error )
|
||||
{
|
||||
$this->registry->output->addError( "ALTER TABLE {$this->DB->obj['sql_tbl_prefix']}members ADD has_gallery INT(1) default 0<br /><br />".$this->DB->error );
|
||||
}
|
||||
}
|
||||
|
||||
if( $this->settings['conv_configured'] != 1 OR $this->settings['conv_chosen'] == "" )
|
||||
{
|
||||
if( $this->DB->checkForField( "legacy_password", "members" ) )
|
||||
{
|
||||
$this->DB->dropField( 'members', 'legacy_password' );
|
||||
|
||||
if ( $this->DB->error )
|
||||
{
|
||||
$this->registry->output->addError( "ALTER TABLE {$this->DB->obj['sql_tbl_prefix']}members DROP legacy_password<br /><br />".$this->DB->error );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$test = $this->DB->buildAndFetch( array( 'select' => 'count(*) as numrows',
|
||||
'from' => 'cache_store',
|
||||
'where' => "cs_key='calendars'"
|
||||
) );
|
||||
|
||||
if ( ! $test['numrows'] )
|
||||
{
|
||||
$this->DB->insert( 'cache_store', array( 'cs_key' => 'calendars' ) );
|
||||
}
|
||||
|
||||
$this->registry->output->addMessage("Clean up performed, Creating new IPB 2.2.0 skin...");
|
||||
$this->request['workact'] = 'skin';
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// Add new skin
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function add_skin()
|
||||
{
|
||||
$this->registry->output->addMessage("2.2.0 skin skipped...");
|
||||
unset($this->request['workact']);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
# INSERTS AND UPDATES
|
||||
$SQL[] = <<<EOF
|
||||
INSERT INTO core_sys_lang VALUES(1, 'ru_RU.UTF-8', 'Русский (RU)', 'USD', '$', '.', ',', 1, 0);
|
||||
INSERT INTO core_sys_lang VALUES (1, 'en_US', 'English (USA)', 'USD', '$', '.', ',', 1, 0);
|
||||
EOF;
|
||||
|
||||
$SQL[] = <<<EOF
|
||||
@@ -24,27 +24,27 @@ INSERT INTO cache_store ( cs_key , cs_value , cs_extra , cs_array , cs_updated )
|
||||
EOF;
|
||||
|
||||
$SQL[] = <<<EOF
|
||||
INSERT INTO rc_classes (onoff, class_title, class_desc, author, author_url, pversion, my_class, group_can_report, mod_group_perm, extra_data, lockd) VALUES(1, 'Пример плагина', 'Плагин, не требующий написания кода, но требующий настройки.', 'Invision Power Services, Inc', 'http://invisionpower.com', 'v1.0', 'default', ',1,2,3,4,6,', ',4,6,', 'a:5:{s:14:"required_input";a:1:{s:8:"video_id";s:13:"[^A-Za-z0-9_]";}s:10:"string_url";s:41:"http://www.youtube.com/watch?v={video_id}";s:12:"string_title";s:25:"#PAGE_TITLE# ({video_id})";s:13:"section_title";s:7:"YouTube";s:11:"section_url";s:22:"http://www.youtube.com";}', 1);
|
||||
INSERT INTO rc_classes (onoff, class_title, class_desc, author, author_url, pversion, my_class, group_can_report, mod_group_perm, extra_data, lockd) VALUES(1, 'Simple Plugin Example', 'Plugin that does not require any programming, but does need to be configured.', 'Invision Power Services, Inc', '', 'v1.0', 'default', ',1,2,3,4,6,', ',4,6,', 'a:5:{s:14:"required_input";a:1:{s:8:"video_id";s:13:"[^A-Za-z0-9_]";}s:10:"string_url";s:41:"http://www.youtube.com/watch?v={video_id}";s:12:"string_title";s:25:"#PAGE_TITLE# ({video_id})";s:13:"section_title";s:7:"YouTube";s:11:"section_url";s:22:"http://www.youtube.com";}', 1);
|
||||
EOF;
|
||||
$SQL[] = <<<EOF
|
||||
INSERT INTO rc_classes (onoff, class_title, class_desc, author, author_url, pversion, my_class, group_can_report, mod_group_perm, extra_data, lockd) VALUES(1, 'Плагин форума', 'Плагин жалоб на сообщения и темы в форумах.', 'Invision Power Services, Inc', 'http://invisionpower.com', 'v1.0', 'post', ',1,2,3,4,6,', ',4,6,', 'a:1:{s:15:"report_supermod";i:1;}', 1);
|
||||
INSERT INTO rc_classes (onoff, class_title, class_desc, author, author_url, pversion, my_class, group_can_report, mod_group_perm, extra_data, lockd) VALUES(1, 'Forum Plugin', 'This is the plugin used for reporting posts on the forum.', 'Invision Power Services, Inc', '', 'v1.0', 'post', ',1,2,3,4,6,', ',4,6,', 'a:1:{s:15:"report_supermod";i:1;}', 1);
|
||||
EOF;
|
||||
$SQL[] = <<<EOF
|
||||
INSERT INTO rc_classes (onoff, class_title, class_desc, author, author_url, pversion, my_class, group_can_report, mod_group_perm, extra_data, lockd) VALUES(1, 'Плагин личных сообщений', 'Плагин жалоб на личные сообщения', 'Invision Power Services, Inc', 'http://invisionpower.com', 'v1.0', 'messages', ',1,2,3,4,6,', ',4,6,', 'a:1:{s:18:"plugi_messages_add";s:5:"4,6,8";}', 1);
|
||||
INSERT INTO rc_classes (onoff, class_title, class_desc, author, author_url, pversion, my_class, group_can_report, mod_group_perm, extra_data, lockd) VALUES(1, 'Private Messages Plugin', 'This plugin allows private messages to be reported', 'Invision Power Services, Inc', '', 'v1.0', 'messages', ',1,2,3,4,6,', ',4,6,', 'a:1:{s:18:"plugi_messages_add";s:5:"4,6,8";}', 1);
|
||||
EOF;
|
||||
$SQL[] = <<<EOF
|
||||
INSERT INTO rc_classes (onoff, class_title, class_desc, author, author_url, pversion, my_class, group_can_report, mod_group_perm, extra_data, lockd) VALUES(1, 'Плагин пользовательских профилей', 'Плагин жалоб на профили пользователей', 'Invision Power Services, Inc', 'http://invisionpower.com', 'v1.0', 'profiles', ',1,2,3,4,6,', ',4,6,', 'N;', 1);
|
||||
INSERT INTO rc_classes (onoff, class_title, class_desc, author, author_url, pversion, my_class, group_can_report, mod_group_perm, extra_data, lockd) VALUES(1, 'Member Profiles', 'Allows you to report member profiles', 'Invision Power Services, Inc', '', 'v1.0', 'profiles', ',1,2,3,4,6,', ',4,6,', 'N;', 1);
|
||||
EOF;
|
||||
|
||||
|
||||
$SQL[] = <<<EOF
|
||||
INSERT INTO rc_status VALUES (1, 'Новая', 1, 5, 1, 0, 1, 1);
|
||||
INSERT INTO rc_status VALUES (1, 'New Report', 1, 5, 1, 0, 1, 1);
|
||||
EOF;
|
||||
$SQL[] = <<<EOF
|
||||
INSERT INTO rc_status VALUES (2, 'Рассматривается', 1, 5, 0, 0, 1, 2);
|
||||
INSERT INTO rc_status VALUES (2, 'Under Review', 1, 5, 0, 0, 1, 2);
|
||||
EOF;
|
||||
$SQL[] = <<<EOF
|
||||
INSERT INTO rc_status VALUES (3, 'Завершена', 0, 0, 0, 1, 0, 3);
|
||||
INSERT INTO rc_status VALUES (3, 'Complete', 0, 0, 0, 1, 0, 3);
|
||||
EOF;
|
||||
|
||||
$SQL[] = <<<EOF
|
||||
@@ -64,20 +64,20 @@ EOF;
|
||||
|
||||
$SQL[] = <<<EOF
|
||||
INSERT INTO pfields_groups (pf_group_id, pf_group_name, pf_group_key) VALUES
|
||||
(1, 'Контакты', 'contact'),
|
||||
(2, 'Информация', 'profile_info'),
|
||||
(3, 'Старые поля', 'previous' );
|
||||
(1, 'Contact Methods', 'contact'),
|
||||
(2, 'Profile Information', 'profile_info'),
|
||||
(3, 'Previous Fields', 'previous' );
|
||||
EOF;
|
||||
|
||||
$SQL[] = <<<EOF
|
||||
INSERT INTO pfields_data (pf_id, pf_title, pf_desc, pf_content, pf_type, pf_not_null, pf_member_hide, pf_max_input, pf_member_edit, pf_position, pf_show_on_reg, pf_input_format, pf_admin_only, pf_topic_format, pf_group_id, pf_icon, pf_key) VALUES
|
||||
(NULL, 'AIM', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '', 1, 'style_extra/cprofile_icons/profile_aim.gif', 'aim'),
|
||||
(NULL, 'MSN', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '', 1, 'style_extra/cprofile_icons/profile_msn.gif', 'msn'),
|
||||
(NULL, 'Сайт', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '', 1, 'style_extra/cprofile_icons/profile_website.gif', 'website'),
|
||||
(NULL, 'Website URL', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '', 1, 'style_extra/cprofile_icons/profile_website.gif', 'website'),
|
||||
(NULL, 'ICQ', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '', 1, 'style_extra/cprofile_icons/profile_icq.gif', 'icq'),
|
||||
(NULL, 'Пол', '', 'm=Мужчина|f=Женщина|u=Не определился', 'drop', 0, 0, 0, 1, 0, 0, '', 0, '<dt>{title}:</dt><dd>{content}</dd>', 2, '', 'gender'),
|
||||
(NULL, 'Город', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '<dt>{title}:</dt><dd>{content}</dd>', 2, '', 'location'),
|
||||
(NULL, 'Интересы', '', '', 'textarea', 0, 0, 0, 1, 0, 0, '', 0, '<dt>{title}:</dt><dd>{content}</dd>', 2, '', 'interests'),
|
||||
(NULL, 'Gender', '', 'm=Male|f=Female|u=Not Telling', 'drop', 0, 0, 0, 1, 0, 0, '', 0, '<dt>{title}:</dt><dd>{content}</dd>', 2, '', 'gender'),
|
||||
(NULL, 'Location', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '<dt>{title}:</dt><dd>{content}</dd>', 2, '', 'location'),
|
||||
(NULL, 'Interests', '', '', 'textarea', 0, 0, 0, 1, 0, 0, '', 0, '<dt>{title}:</dt><dd>{content}</dd>', 2, '', 'interests'),
|
||||
(NULL, 'Yahoo', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '', 1, 'style_extra/cprofile_icons/profile_yahoo.gif', 'yahoo'),
|
||||
(NULL, 'Jabber', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '', 1, 'style_extra/cprofile_icons/profile_jabber.gif', 'jabber'),
|
||||
(NULL, 'Skype', '', '', 'input', 0, 0, 0, 1, 0, 0, '', 0, '', 1, 'style_extra/cprofile_icons/profile_skype.gif', 'skype');
|
||||
@@ -100,10 +100,10 @@ $SQL[] = "TRUNCATE TABLE task_manager;";
|
||||
$SQL[] = "DELETE FROM cache_store WHERE cs_key='skin_id_cache';";
|
||||
$SQL[] = "DELETE FROM cache_store WHERE cs_key='forum_cache';";
|
||||
|
||||
$SQL[] = "INSERT INTO reputation_levels VALUES(1, -20, 'Очень плохой', '');";
|
||||
$SQL[] = "INSERT INTO reputation_levels VALUES(2, -10, 'Плохой', '');";
|
||||
$SQL[] = "INSERT INTO reputation_levels VALUES(3, 0, 'Обычный', '');";
|
||||
$SQL[] = "INSERT INTO reputation_levels VALUES(4, 10, 'Хороший', '');";
|
||||
$SQL[] = "INSERT INTO reputation_levels VALUES(5, 20, 'Очень хороший', '');";
|
||||
$SQL[] = "INSERT INTO reputation_levels VALUES(1, -20, 'Bad', '');";
|
||||
$SQL[] = "INSERT INTO reputation_levels VALUES(2, -10, 'Poor', '');";
|
||||
$SQL[] = "INSERT INTO reputation_levels VALUES(3, 0, 'Neutral', '');";
|
||||
$SQL[] = "INSERT INTO reputation_levels VALUES(4, 10, 'Good', '');";
|
||||
$SQL[] = "INSERT INTO reputation_levels VALUES(5, 20, 'Excellent', '');";
|
||||
|
||||
?>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -1,161 +1,161 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.5
|
||||
* Upgrade Class
|
||||
*
|
||||
* Class to add options and notices for IP.Board upgrade
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author Matt Mecham <matt@invisionpower.com>
|
||||
* @version $Rev: 10721 $
|
||||
* @since 3.0
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @link http://www.invisionpower.com
|
||||
* @package IP.Board
|
||||
*/
|
||||
|
||||
class version_class_core_30001
|
||||
{
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param object $registry Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function __construct( ipsRegistry $registry )
|
||||
{
|
||||
/* Make object */
|
||||
$this->registry = $registry;
|
||||
$this->DB = $this->registry->DB();
|
||||
$this->settings =& $this->registry->fetchSettings();
|
||||
$this->request =& $this->registry->fetchRequest();
|
||||
$this->cache = $this->registry->cache();
|
||||
$this->caches =& $this->registry->cache()->fetchCaches();
|
||||
}
|
||||
|
||||
/**
|
||||
* Add pre-upgrade options: Form
|
||||
*
|
||||
* @return string HTML block
|
||||
*/
|
||||
public function preInstallOptionsForm()
|
||||
{
|
||||
return <<<EOF
|
||||
<ul>
|
||||
<li>
|
||||
<input type='checkbox' name='exportSkins' value='1' />
|
||||
Экспортировать текущие шаблоны и CSS? (Будут сохранены в директории /cache/previousSkinFiles)
|
||||
</li>
|
||||
<li>
|
||||
<input type='checkbox' name='exportLangs' value='1' />
|
||||
Скопировать старые директории языков в /cache/previousLangFiles ?
|
||||
</li>
|
||||
<li>
|
||||
<input type='checkbox' name='skipPms' value='1' />
|
||||
<strong>Пропустить</strong> конвертацию личных сообщений? Старые сообщения будут оставлены, вы в любой момент сможете сконвертировать ЛС при помощи shell или утилиты в админцентре.
|
||||
</li>
|
||||
<li>
|
||||
<input type='checkbox' name='rootAdmins' value='1' />
|
||||
<strong>Запретить доступ в АЦ для неглавных администраторов?</strong> В систему распеределния прав в IP.Board 3 внесены изменения, поэтому больше нет необходимости разделять администраторов и главных администраторов на разные группы.
|
||||
Вы можете сохранить доступ в АЦ только для главных администраторов и вручную выставить права доступа. Если опция отключена, то
|
||||
все администраторы получат доступ в АЦ независимо от типа.
|
||||
</li>
|
||||
</ul>
|
||||
EOF;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Add pre-upgrade options: Save
|
||||
*
|
||||
* Data will be saved in saved data array as: appOptions[ app ][ versionLong ] = ( key => value );
|
||||
*
|
||||
* @return array Key / value pairs to save
|
||||
*/
|
||||
public function preInstallOptionsSave()
|
||||
{
|
||||
/* Return */
|
||||
return array( 'exportSkins' => intval( $_REQUEST['exportSkins'] ),
|
||||
'exportLangs' => intval( $_REQUEST['exportLangs'] ),
|
||||
'skipPms' => intval( $_REQUEST['skipPms'] )
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Return any post-installation notices
|
||||
*
|
||||
* @return array Array of notices
|
||||
*/
|
||||
public function postInstallNotices()
|
||||
{
|
||||
$options = IPSSetUp::getSavedData('custom_options');
|
||||
$_doSkin = $options['core'][30001]['exportSkins'];
|
||||
$_doLang = $options['core'][30001]['exportLangs'];
|
||||
$rootAdmins = $options['core'][30001]['rootAdmins'];
|
||||
$skipPms = $options['core'][30001]['skipPms'];
|
||||
|
||||
$notices = array();
|
||||
|
||||
if ( $_doSkin )
|
||||
{
|
||||
$notices[] = "Все старые стили сохранены в 'cache/previousSkinFiles'";
|
||||
}
|
||||
|
||||
if ( $_doLang )
|
||||
{
|
||||
$notices[] = "Все старые языки сохранены в 'cache/previousLangFiles'";
|
||||
}
|
||||
|
||||
if ( $skipPms )
|
||||
{
|
||||
$notices[] = "Конвертация личных сообщений пропущена. Для конвертации личных сообщений в будущем воспользуйтесь shell-скриптом из директории 'tools' дистрибутива";
|
||||
}
|
||||
|
||||
/* Notice about post content */
|
||||
$notices[] = "Теперь вам необходимо обновить содержимое всех сообщений через админцентр (Система > Пересчет и обновление). <br />";
|
||||
|
||||
/* Notice about admin restrictions */
|
||||
$notices[] = "Из-за изменений в системе прав доступа. Все администраторы, имевшие ограничения, будут лишены доступа ко всем модулям, пока вы не измените права.";
|
||||
|
||||
/* Notice about admin restrictions */
|
||||
if ( $rootAdmins )
|
||||
{
|
||||
$notices[] = "Были сброшены все ограничения для доступа в админцентр Вы можете восстановить их через АЦ.<br />";
|
||||
}
|
||||
else
|
||||
{
|
||||
$notices[] = "Все администраторы получили полный доступ к админцентру. Вы можете ограничить их доступ через АЦ.<br />";
|
||||
}
|
||||
|
||||
/* Notice about custom time settings */
|
||||
$notices[] = "Формат показа времени изменен в настройках.<br />";
|
||||
|
||||
/* Notice about FURLs */
|
||||
$notices[] = "Для использования Friendly URLs (ЧПУ), добавьте в ваш conf_global.php строчку: \$INFO['use_friendly_urls'] = '1';.";
|
||||
|
||||
return $notices;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return any pre-installation notices
|
||||
*
|
||||
* @return array Array of notices
|
||||
*/
|
||||
public function preInstallNotices()
|
||||
{
|
||||
$notices = array();
|
||||
|
||||
$notices[] = "Стили внешнего вида более ранних версий будут несовместимы с этой версией форума. Будет восстановлен стиль по-умолчанию.";
|
||||
|
||||
return $notices;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
<?php
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Invision Power Services
|
||||
* IP.Board v3.4.6
|
||||
* Upgrade Class
|
||||
*
|
||||
* Class to add options and notices for IP.Board upgrade
|
||||
* Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
|
||||
* </pre>
|
||||
*
|
||||
* @author Matt Mecham <matt@invisionpower.com>
|
||||
* @version $Rev: 10721 $
|
||||
* @since 3.0
|
||||
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/company/standards.php#license
|
||||
* @link http://www.invisionpower.com
|
||||
* @package IP.Board
|
||||
*/
|
||||
|
||||
class version_class_core_30001
|
||||
{
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param object $registry Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function __construct( ipsRegistry $registry )
|
||||
{
|
||||
/* Make object */
|
||||
$this->registry = $registry;
|
||||
$this->DB = $this->registry->DB();
|
||||
$this->settings =& $this->registry->fetchSettings();
|
||||
$this->request =& $this->registry->fetchRequest();
|
||||
$this->cache = $this->registry->cache();
|
||||
$this->caches =& $this->registry->cache()->fetchCaches();
|
||||
}
|
||||
|
||||
/**
|
||||
* Add pre-upgrade options: Form
|
||||
*
|
||||
* @return string HTML block
|
||||
*/
|
||||
public function preInstallOptionsForm()
|
||||
{
|
||||
return <<<EOF
|
||||
<ul>
|
||||
<li>
|
||||
<input type='checkbox' name='exportSkins' value='1' />
|
||||
Export current skin's modified template bits and CSS? (This will be saved in /cache/previousSkinFiles)
|
||||
</li>
|
||||
<li>
|
||||
<input type='checkbox' name='exportLangs' value='1' />
|
||||
Copy language PHP files into /cache/previousLangFiles before upgrading?
|
||||
</li>
|
||||
<li>
|
||||
<input type='checkbox' name='skipPms' value='1' />
|
||||
<strong>Skip</strong> PM Conversion? If so, old tables will not be removed and you can use the provided shell tool post-upgrade
|
||||
</li>
|
||||
<li>
|
||||
<input type='checkbox' name='rootAdmins' value='1' />
|
||||
<strong>Remove all "non-root" admin ACP permissions?</strong> Due to the change in permission models, root admins and admins have the same default permissions.
|
||||
You have the option to restrict all non-root admins and then manually set up their permissions after the upgrade. Not ticking this box will effectively give all
|
||||
administrators full access regardless of administrator type.
|
||||
</li>
|
||||
</ul>
|
||||
EOF;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Add pre-upgrade options: Save
|
||||
*
|
||||
* Data will be saved in saved data array as: appOptions[ app ][ versionLong ] = ( key => value );
|
||||
*
|
||||
* @return array Key / value pairs to save
|
||||
*/
|
||||
public function preInstallOptionsSave()
|
||||
{
|
||||
/* Return */
|
||||
return array( 'exportSkins' => intval( $_REQUEST['exportSkins'] ),
|
||||
'exportLangs' => intval( $_REQUEST['exportLangs'] ),
|
||||
'skipPms' => intval( $_REQUEST['skipPms'] )
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Return any post-installation notices
|
||||
*
|
||||
* @return array Array of notices
|
||||
*/
|
||||
public function postInstallNotices()
|
||||
{
|
||||
$options = IPSSetUp::getSavedData('custom_options');
|
||||
$_doSkin = $options['core'][30001]['exportSkins'];
|
||||
$_doLang = $options['core'][30001]['exportLangs'];
|
||||
$rootAdmins = $options['core'][30001]['rootAdmins'];
|
||||
$skipPms = $options['core'][30001]['skipPms'];
|
||||
|
||||
$notices = array();
|
||||
|
||||
if ( $_doSkin )
|
||||
{
|
||||
$notices[] = "All previous skins have been exported into 'cache/previousSkinFiles'";
|
||||
}
|
||||
|
||||
if ( $_doLang )
|
||||
{
|
||||
$notices[] = "All previous language files have been exported into 'cache/previousLangFiles'";
|
||||
}
|
||||
|
||||
if ( $skipPms )
|
||||
{
|
||||
$notices[] = "PM Conversion was skipped. If you want to convert PMs, please use the provided shell tool found in your 'tools' directory of the download";
|
||||
}
|
||||
|
||||
/* Notice about post content */
|
||||
$notices[] = "You should now log into your Admin CP and rebuild post content (System > Recount & Rebuild)";
|
||||
|
||||
/* Notice about admin restrictions */
|
||||
$notices[] = "Due to the change in permission systems, any admins that had restrictions have been updated to have no access to any module until you edit them.";
|
||||
|
||||
/* Notice about admin restrictions */
|
||||
if ( $rootAdmins )
|
||||
{
|
||||
$notices[] = "Due to the change in permission systems, 'Root Admins' and 'Administrators' both have full access to the ACP including SQL toolbox, etc. You chose to remove all ACP permissions on upgrade. You can restore selective permissions via the ACP.";
|
||||
}
|
||||
else
|
||||
{
|
||||
$notices[] = "Due to the change in permission systems, 'Root Admins' and 'Administrators' both have full access to the ACP including SQL toolbox, etc. You can restrict individual admins using the ACP permission system.";
|
||||
}
|
||||
|
||||
/* Notice about custom time settings */
|
||||
$notices[] = "Due to the change in how times are shown, all custom time/clock formats have been reset.";
|
||||
|
||||
/* Notice about FURLs */
|
||||
$notices[] = "If you wish to use Friendly URLs, you will need to edit your conf_global.php file and add: \$INFO['use_friendly_urls'] = '1';. Once this is done run also the tool in \"ACP -> System TAB -> Recount & Rebuild -> Resynchronize Forums\".";
|
||||
|
||||
return $notices;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return any pre-installation notices
|
||||
*
|
||||
* @return array Array of notices
|
||||
*/
|
||||
public function preInstallNotices()
|
||||
{
|
||||
$notices = array();
|
||||
|
||||
$notices[] = "Skins made for prior versions will not be compatible with this version. The default skin will be restored.";
|
||||
|
||||
return $notices;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2009 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2009 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2009 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2009 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2009 Invision Power Services
|
||||
|
||||
@@ -1,84 +1,84 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
| http://www.invisionpower.com
|
||||
| ========================================
|
||||
| Web: http://www.invisionboard.com
|
||||
| Email: matt@invisionpower.com
|
||||
| Licence Info: http://www.invisionboard.com/?license
|
||||
+---------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_IPB' ) )
|
||||
{
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
|
||||
exit();
|
||||
}
|
||||
|
||||
class version_upgrade
|
||||
{
|
||||
/**
|
||||
* Custom HTML to show
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $_output = '';
|
||||
|
||||
/**
|
||||
* fetchs output
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function fetchOutput()
|
||||
{
|
||||
return $this->_output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Make object */
|
||||
$this->registry = $registry;
|
||||
$this->DB = $this->registry->DB();
|
||||
$this->settings =& $this->registry->fetchSettings();
|
||||
$this->request =& $this->registry->fetchRequest();
|
||||
$this->cache = $this->registry->cache();
|
||||
$this->caches =& $this->registry->cache()->fetchCaches();
|
||||
|
||||
|
||||
/* Now make add a key */
|
||||
$this->DB->build( array( 'select' => '*',
|
||||
'from' => 'pfields_data' ) );
|
||||
|
||||
$o = $this->DB->execute();
|
||||
|
||||
while( $row = $this->DB->fetch( $o ) )
|
||||
{
|
||||
/* Attempt conversion of dd / dt microformats */
|
||||
if ( stristr( $row['pf_topic_format'], '<dt>' ) OR stristr( $row['pf_topic_format'], '<dd>' ) )
|
||||
{
|
||||
$row['pf_topic_format'] = str_replace( '<dt>', "<span class='ft'>", $row['pf_topic_format'] );
|
||||
$row['pf_topic_format'] = str_replace( '<dd>', "<span class='fc'>", $row['pf_topic_format'] );
|
||||
$row['pf_topic_format'] = str_replace( array( '</dt>', '</dd>' ), "</span>", $row['pf_topic_format'] );
|
||||
|
||||
$this->DB->update( 'pfields_data', array( 'pf_topic_format' => $row['pf_topic_format'] ), 'pf_id=' . $row['pf_id'] );
|
||||
}
|
||||
}
|
||||
|
||||
$this->registry->output->addMessage( "Обновление пользовательских полей профиля");
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
<?php
|
||||
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services
|
||||
| http://www.invisionpower.com
|
||||
| ========================================
|
||||
| Web: http://www.invisionboard.com
|
||||
| Email: matt@invisionpower.com
|
||||
| Licence Info: http://www.invisionboard.com/?license
|
||||
+---------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
if ( ! defined( 'IN_IPB' ) )
|
||||
{
|
||||
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
|
||||
exit();
|
||||
}
|
||||
|
||||
class version_upgrade
|
||||
{
|
||||
/**
|
||||
* Custom HTML to show
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $_output = '';
|
||||
|
||||
/**
|
||||
* fetchs output
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function fetchOutput()
|
||||
{
|
||||
return $this->_output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute selected method
|
||||
*
|
||||
* @param object Registry object
|
||||
* @return @e void
|
||||
*/
|
||||
public function doExecute( ipsRegistry $registry )
|
||||
{
|
||||
/* Make object */
|
||||
$this->registry = $registry;
|
||||
$this->DB = $this->registry->DB();
|
||||
$this->settings =& $this->registry->fetchSettings();
|
||||
$this->request =& $this->registry->fetchRequest();
|
||||
$this->cache = $this->registry->cache();
|
||||
$this->caches =& $this->registry->cache()->fetchCaches();
|
||||
|
||||
|
||||
/* Now make add a key */
|
||||
$this->DB->build( array( 'select' => '*',
|
||||
'from' => 'pfields_data' ) );
|
||||
|
||||
$o = $this->DB->execute();
|
||||
|
||||
while( $row = $this->DB->fetch( $o ) )
|
||||
{
|
||||
/* Attempt conversion of dd / dt microformats */
|
||||
if ( stristr( $row['pf_topic_format'], '<dt>' ) OR stristr( $row['pf_topic_format'], '<dd>' ) )
|
||||
{
|
||||
$row['pf_topic_format'] = str_replace( '<dt>', "<span class='ft'>", $row['pf_topic_format'] );
|
||||
$row['pf_topic_format'] = str_replace( '<dd>', "<span class='fc'>", $row['pf_topic_format'] );
|
||||
$row['pf_topic_format'] = str_replace( array( '</dt>', '</dd>' ), "</span>", $row['pf_topic_format'] );
|
||||
|
||||
$this->DB->update( 'pfields_data', array( 'pf_topic_format' => $row['pf_topic_format'] ), 'pf_id=' . $row['pf_id'] );
|
||||
}
|
||||
}
|
||||
|
||||
$this->registry->output->addMessage( "Updated custom profile fields");
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2009 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2009 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2009 Invision Power Services
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<hr>
|
||||
You have reached this page in error, please use your back button to return to the forum.
|
||||
<hr>
|
||||
<a href="http://www.invisionpower.com">IP.Board</a>
|
||||
IP.Board
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| IP.Board v3.4.5
|
||||
| IP.Board v3.4.6
|
||||
| ========================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2009 Invision Power Services
|
||||
|
||||
Loaded 100 of 1568 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user