beta registration finished, updated system reference

This commit is contained in:
Ulf Gebhardt 2015-12-29 01:05:59 +01:00
parent 002dd31ebb
commit dae578de23
18 changed files with 124 additions and 53 deletions

@ -1 +1 @@
Subproject commit 2d9d242a297bab7aa0f16a5e726f37892776d924
Subproject commit d9e385714bbdc868a6f504d9eb3bf76c452d42e9

View File

@ -10,4 +10,23 @@ class api_mojotrollz extends \SYSTEM\API\api_system {
\SYSTEM\LOG\JsonResult::ok() :
\SYSTEM\LOG\JsonResult::fail();
}
public static function call_mojo_action_register($username, $password, $email, $wowpassword, $betakey = null){
if(!$betakey || !\SAI\saimod_mojotrollz_beta::code_check($betakey)){
throw new \SYSTEM\LOG\ERROR('Beta Key invalid.');}
if(!\SYSTEM\SECURITY\Security::available($username) || !self::wow_username_available($username)){
throw new \SYSTEM\LOG\ERROR('Username is not available.');}
if( !\SYSTEM\SECURITY\Security::create($username, $password, $email, \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_DEFAULT_LANG)) ||
!self::wow_account_register($username,$email,$wowpassword)){
throw new ERROR("Account creation failed. Retry later.");}
\SAI\saimod_mojotrollz_beta::code_use($betakey, \SYSTEM\SECURITY\Security::getUser()->id);
return JsonResult::ok();
}
private static function wow_username_available($username){
return \SQL\MOJO_ACCOUNT_AVAILABLE::Q1(array($username), new \SQL\mangos_realm())['count'] == 0;}
private static function wow_account_register($username,$email,$password){
return \SQL\MOJO_ACCOUNT_REGISTER::QI(array($username,$email,$password), new \SQL\mangos_realm());}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SQL;
class MOJO_ACCOUNT_AVAILABLE extends \SYSTEM\DB\QP {
public static function get_class(){return \get_class();}
public static function mysql(){return
'SELECT count(username) as count FROM account WHERE username = UPPER(?);';
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SQL;
class MOJO_ACCOUNT_REGISTER extends \SYSTEM\DB\QP {
public static function get_class(){return \get_class();}
public static function mysql(){return
'INSERT INTO account (username, email, sha_pass_hash) VALUES(UPPER(?),?,?);';
}
}

View File

@ -4,9 +4,12 @@ class default_beta extends \SYSTEM\PAGE\Page {
public function __construct($key=null) {
$this->key=$key;}
public function html(){
if(\SQL\BETA_CHECK_CODE::Q1(array($this->key))['count'] == 0){
if(!\SAI\saimod_mojotrollz_beta::code_check($this->key)){
$vars = \SYSTEM\PAGE\text::tag('mojotrollz');
$vars['invalid_key'] = $this->key ? '<p><font color="red">Your key is invalid or already in use!</font></p>' : '';
$vars['beta_area'] = \SYSTEM\SECURITY\Security::isLoggedIn() ?
\SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PPAGE(),'default_beta/tpl/beta_loggedin.tpl'), array('email' => \SYSTEM\SECURITY\Security::getUser()->email)) :
\SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PPAGE(),'default_beta/tpl/beta_loggedout.tpl'));
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PPAGE(),'default_beta/tpl/beta.tpl'), $vars);
}
$vars = \SYSTEM\PAGE\text::tag('basic');

View File

@ -8,19 +8,26 @@ function init_beta(){
preventSubmit: true,
submitError: function (form, event, errors) {},
submitSuccess: function($form, event){
var username = document.getElementById('register_username').value;
var email = document.getElementById('register_email').value;
var password = document.getElementById('user_register_password2').value;
var username = $('#register_username').val();
var password = $('#user_register_password2').val();
var register_data = {
call: 'mojo',
action: 'register',
username: username,
password: $.sha1(password),
email: $('#register_email').val(),
wowpassword: $.sha1(username.toUpperCase()+':'+password.toUpperCase()),
betakey: $('#beta_key').val()
}
$.ajax({
dataType: "json",
url: './api.php?call=beta&action=register&username='+username+'&password='+$.sha1(password)+'&email='+email,
data: null,
success: function (dataCreate) {
if(dataCreate === 1){ // reload -> user will be loged in
url: './api.php',
data: register_data,
success: function (data) {
if(data.status){ // reload -> user will be loged in
location.reload();
}else{ // show errors
alert('Not successfull: '+dataCreate);
$('.help-block').html(data.result.message);
}
}
});

View File

@ -13,11 +13,7 @@
<br>
<b>You require a Beta-Key to register.</b>
</div>
<div class="col-md-3">
<input id="input_beta_key" type="text" maxlength="6" placeholder="Enter Your Beta Key" style="width: 95%;"/>
<br><br>
<button id="btn_beta" class="btn btn-success btn-lg" style="width: 95%;">Join the Mojotribe</button>
</div>
${beta_area}
</div>
<hr>

View File

@ -0,0 +1,3 @@
<div class="col-md-3">
You are logged in as ${email}
</div>

View File

@ -0,0 +1,5 @@
<div class="col-md-3">
<input id="input_beta_key" type="text" maxlength="6" placeholder="Enter Your Beta Key" style="width: 95%;"/>
<br><br>
<button id="btn_beta" class="btn btn-success btn-lg" style="width: 95%;">Join the Mojotribe</button>
</div>

View File

@ -17,7 +17,7 @@
id="register_username"
placeholder="peter"
minlength="3" data-validation-minlength-message="${sai_error_username_short}"
required data-validation-required-message="${sai_error_username_miss}"/>
required data-validation-required-message="Username required"/>
<br/>
</div>
</td>
@ -32,7 +32,7 @@
id="register_email"
placeholder="${basic_placeholder_email}"
data-validation-email-message="${sai_error_email_wrong}"
required data-validation-required-message="${sai_error_email_miss}"/>
required data-validation-required-message="EMail required"/>
<br/>
</div>
</td>
@ -49,7 +49,7 @@
name="user_register_password1"
placeholder="${basic_placeholder_password}"
minlength="5" data-validation-minlength-message="${sai_error_password_short}"
required data-validation-required-message="${sai_error_password_miss}"/>
required data-validation-required-message="Password required"/>
<br/>
</div>
<div class="control-group controls" style="clear: both">
@ -60,7 +60,7 @@
name="user_register_password2"
placeholder="${basic_placeholder_password}"
data-validation-matches-match="user_register_password1"
data-validation-matches-message="${sai_error_password_match}"/>
data-validation-matches-message="Password missmatch"/>
<br/>
</div>
</div>
@ -68,8 +68,9 @@
</tr>
</tbody>
</table>
<button class="btn-sm btn-primary" type="submit"><i class="icon-ok icon-white"></i> ${basic_register}</button>
<input type="hidden" name="beta_key" id="beta_key" value="${key}">
<p class="help-block" style="float: left; margin-top: 3px;"></p>
<button class="btn-sm btn-primary" type="submit"><i class="icon-ok icon-white"></i> ${basic_register}</button>
</div>
</form>
</div>

View File

@ -77,4 +77,8 @@ mojotrollz_download_first{
padding-left: 50px;
padding-right: 50px;
padding-bottom: 15px;
}
.ontop{
z-index: 3;
}

View File

@ -5,6 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="${meta_description}">
<meta name="author" content="${meta_author}">
<meta name="keywords" content="${meta_keywords}">
<title>${meta_title}</title>
<meta name="fragment" content="!">
<link rel="icon" href="./api.php?call=files&amp;cat=content&amp;id=favicon.ico" type="image/x-icon"/>
@ -46,33 +47,29 @@
</div>
<div class="collapse navbar-collapse anchor">
<ul class="nav navbar-nav navbar-left">
<li class="active" style="z-index: 3;"><a href="#content_home">${mojotrollz_mojotrollz}</a></li>
<li style="z-index: 3;"><a href="#content_servers">${mojotrollz_servers}</a></li>
<li style="z-index: 3;"><a href="#!beta">${mojotrollz_beta}</a></li>
<li class="active ontop"><a href="#content_home">${mojotrollz_mojotrollz}</a></li>
<li class="ontop"><a href="#content_servers">${mojotrollz_servers}</a></li>
<li class="ontop"><a href="#!beta">BETA !</a></li>
<!--<li><a href="#content_tshirts" onClick="">${mojotrollz_tshirts}</a></li>-->
<!--<li><a href="#content_addons">${mojotrollz_addons}</a></li>-->
</ul>
<ul class="nav navbar-nav navbar-right">
<li style="z-index: 3;"><a href="${link_facebook}" target="_blank"><i class="fa fa-facebook fa-lg"></i></a></li>
<li style="z-index: 3;"><a href="${link_youtube}" target="_blank"><i class="fa fa-youtube fa-lg"></i></a></li>
<li style="z-index: 3;"><a href="#!login"><i class="glyphicon glyphicon-user"></i></a></li>
<li class="ontop"><a href="${link_facebook}" target="_blank"><i class="fa fa-facebook fa-lg"></i></a></li>
<li class="ontop"><a href="${link_youtube}" target="_blank"><i class="fa fa-youtube fa-lg"></i></a></li>
<li class="ontop"><a href="#!login"><i class="glyphicon glyphicon-user"></i></a></li>
</ul>
</div>
</div>
<!-- Flexslider -->
<div class="row-fluid">
<div class="col-md-12 mojotrollz_col">
<h1 class="fadeInDown animated lead mojotrollz_heading"><img alt="${mojotrollz_heading}" src="./api.php?call=files&amp;cat=content&amp;id=mojotrollz_logo.png" width="650"></h1>
<h1 class="fadeInDown animated lead mojotrollz_heading"><img title="mojotrollz.eu logo" alt="${mojotrollz_heading}" src="./api.php?call=files&amp;cat=content&amp;id=mojotrollz_logo.png" width="650"></h1>
<div class="flexslider mojotrollz_flexslider">
<ul class="slides">
<li><img alt="slider_image_01.jpg" src="./api.php?call=files&amp;cat=content&amp;id=banner_mojotrollz_1.gif" width="100%"></li>
<li style="display: none"><img alt="slider_image_02.jpg" src="./api.php?call=files&amp;cat=content&amp;id=banner_mojotrollz_2.gif" width="100%"></li>
<!--<li style="display: none"><img alt="slider_image_03.jpg" src="./api.php?call=files&amp;cat=content&amp;id=slider_image_03.jpg" width="100%"></li>-->
<li style="display: none"><img alt="slider_image_03.jpg" src="./api.php?call=files&amp;cat=content&amp;id=banner_mojotrollz_3.gif" width="100%"></li>
<li style="display: none"><img alt="slider_image_03.jpg" src="./api.php?call=files&amp;cat=content&amp;id=banner_mojotrollz_4.gif" width="100%"></li>
<!--<li style="display: none"><img alt="slider_image_03.jpg" src="./api.php?call=files&amp;cat=content&amp;id=slider_image_06.jpg" width="100%"></li>
<li style="display: none"><img alt="slider_image_03.jpg" src="./api.php?call=files&amp;cat=content&amp;id=slider_image_07.jpg" width="100%"></li>
<li style="display: none"><img alt="slider_image_03.jpg" src="./api.php?call=files&amp;cat=content&amp;id=slider_image_08.png" width="100%"></li>-->
<li><img alt="WoW Classic Vanilla Banner" src="./api.php?call=files&amp;cat=content&amp;id=banner_mojotrollz_1.gif" width="100%"></li>
<li style="display: none"><img alt="WoW The Burning Crusade Banner" src="./api.php?call=files&amp;cat=content&amp;id=banner_mojotrollz_2.gif" width="100%"></li>
<li style="display: none"><img alt="World of Warcraft Pandaria Banner" src="./api.php?call=files&amp;cat=content&amp;id=banner_mojotrollz_3.gif" width="100%"></li>
<li style="display: none"><img alt="The Struggle of our Community Banner" src="./api.php?call=files&amp;cat=content&amp;id=banner_mojotrollz_4.gif" width="100%"></li>
</ul>
</div>
</div>

View File

@ -2,7 +2,7 @@
namespace SAI;
class saimod_mojotrollz_beta extends \SYSTEM\SAI\SaiModule {
public static function code_check($code){
return \SQL\BETA_CHECK_CODE::Q1(array($code))['count'] >= 0 ? true : false;}
return \SQL\BETA_CHECK_CODE::Q1(array($code))['count'] > 0;}
public static function code_use($code,$user_new){
return \SQL\BETA_USE_CODE::QI(array($user_new,$code));}

View File

@ -0,0 +1,8 @@
<?php
namespace SQL;
class mangos_realm extends \SYSTEM\DB\DBInfoMYS {
public function __construct() {
parent::__construct('mangos_one_realm', 'mojotrolls_dev', 'dsjgfasudzfsvad', '127.0.0.1');}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SQL;
class mangos_zero_chars_test extends \SYSTEM\DB\DBInfoMYS {
public function __construct() {
parent::__construct('mangos_zero_chars_test', 'mojotrolls_dev', 'dsjgfasudzfsvad', '127.0.0.1');}
}

View File

@ -1,8 +0,0 @@
<?php
namespace SQL;
class mangos_zero_chars extends \SYSTEM\DB\DBInfoMYS {
public function __construct() {
parent::__construct('mangos_zero_chars', 'mojotrolls_dev', 'dsjgfasudzfsvad', '127.0.0.1');}
}

View File

@ -1,4 +1,10 @@
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (200, 0, 2, 11, 'newserver', 'address', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (205, 0, 2, 11, 'vote', 'server', 'INT');
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (200, 0, 2, 11, 'newserver', 'address', 'STRING');
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (205, 0, 2, 11, 'vote', 'server', 'INT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (210, 1, 3, 1, 'beta', 'key', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (210, 0, 2, 11, 'register', 'username', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (211, 0, 2, 11, 'register', 'password', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (212, 0, 2, 11, 'register', 'email', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (213, 0, 2, 11, 'register', 'wowpassword', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (214, 0, 3, 11, 'register', 'betakey', 'STRING');
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (210, 1, 3, 1, 'beta', 'key', 'STRING');

View File

@ -10,12 +10,13 @@ REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('link_ts3', 'enUS', 'http://www.teamspeak.com/downloads', 10, 10, '2015-09-18 00:05:31', '2015-09-18 00:05:31');
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('link_webcraft', 'enUS', 'http://www.webcraft-media.de', 10, 10, '2015-09-17 23:18:06', '2015-09-17 23:18:06');
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('link_wow_1_12_1', 'enUS', 'magnet:?xt=urn:btih:m5dkc7lnrryhleqpugzspoyurwsaykyg&amp;dn=WoW%201.12.1&amp;xl=5387778663&amp;fc=38', 10, 10, '2015-09-17 23:40:18', '2015-09-17 23:40:18');
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('link_wow_2_4_3', 'enUS', 'magnet:?xt=urn:btih:akirevdngf3djcti35gnk4l2z6ffoyw2&amp;dn=WoW%202.4.3&amp;xl=9537364669&amp;fc=305', 10, 10, '2015-09-17 23:40:55', '2015-09-17 23:40:55');
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('link_wow_3_3_5a', 'enUS', 'magnet:?xt=urn:btih:3u442mbojtl46ywlspou2d4ai5qo2i7r&amp;dn=WoW%203.3.5a&amp;xl=17897255192&amp;fc=172', 10, 10, '2015-09-17 23:41:22', '2015-09-17 23:41:22');
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('link_wow_2_4_3', 'enUS', 'magnet:?xt=urn:btih:f9499fb1525f0dd23a19c4548805243632d420d1&amp;dn=Excalibur+WoW+Burning+Crusade+2.4.3+-+With+Basic+AddOns&amp;tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&amp;tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&amp;tr=udp%3A%2F%2Ftracker.istole.it%3A6969&amp;tr=udp%3A%2F%2Ftracker.ccc.de%3A80&amp;tr=udp%3A%2F%2Fopen.demonii.com%3A1337', 10, 10, '2015-12-26 07:52:34', '2015-12-26 07:52:34');
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('link_wow_3_3_5a', 'enUS', 'magnet:?xt=urn:btih:08388f74cb683ef25d31b5d9c34a0411e4555c2c&amp;dn=WOW+Wotlk+3.3.5a&amp;tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&amp;tr=udp%3A%2F%2Fopen.demonii.com%3A1337&amp;tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&amp;tr=udp%3A%2F%2Fexodus.desync.com%3A6969', 10, 10, '2015-12-26 08:07:36', '2015-12-26 08:07:36');
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('link_youtube', 'enUS', 'https://www.youtube.com/user/Mojotrolltribe/videos', 10, 10, '2015-09-17 23:16:41', '2015-09-17 23:16:41');
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('meta_author', 'enUS', 'www.webcraft-media.de', 10, 10, '2015-09-17 23:14:32', '2015-09-17 23:14:32');
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('meta_description', 'enUS', 'Mojotrollz.eu - Online Gaming Community. Join the Teamspeak, Download WoW 1.12.1 Classic, WoW 2.4.3 TBC, WoW 3.3.5a WOTLK, Vote vor Private Servers, Download Addons', 10, 10, '2015-09-17 23:14:41', '2015-09-17 23:14:41');
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('meta_title', 'enUS', 'MojotrollZ', 10, 10, '2015-09-17 23:14:49', '2015-09-17 23:14:49');
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('meta_description', 'enUS', 'Mojotrollz.eu - Your Online Gaming Community. Teamspeak 3 (ts3), Download WoW 1.12.1 Classic, WoW 2.4.3 TBC, WoW 3.3.5a WOTLK, Vote vor Private Servers', 10, 10, '2015-12-26 08:14:22', '2015-12-26 08:14:22');
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('meta_keywords', 'enUS', 'World of Warcraft, Private Server, Download WoW, Addons, Gaming Community, Online Games', 10, 10, '2015-12-26 08:30:34', '2015-12-26 08:30:34');
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('meta_title', 'enUS', 'MojotrollZ - Your Online Gaming Community', 10, 10, '2015-12-26 08:11:42', '2015-12-26 08:11:42');
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('mojotrollz_address_server', 'enUS', 'Address of your Server', 10, 10, '2015-09-18 00:50:04', '2015-09-18 00:50:04');
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('mojotrollz_connect_ts', 'enUS', 'Connect to <a href="ts3server://mojotrollz.eu" data-mce-href="ts3server://mojotrollz.eu">ts3:mojotrollz.eu</a>', 10, 10, '2015-09-18 00:05:21', '2015-09-18 00:05:21');
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('mojotrollz_download_qbittorrent', 'enUS', 'Download this file with <a href="http://www.qbittorrent.org/download.php" target="blank" data-mce-href="http://www.qbittorrent.org/download.php">qBittorrent</a>', 10, 10, '2015-09-17 23:57:31', '2015-09-17 23:57:31');
@ -90,4 +91,9 @@ REPLACE INTO `system_text_tag` (`id`, `tag`) VALUES ('webcraft_impressum', 'webc
REPLACE INTO `system_text_tag` (`id`, `tag`) VALUES ('basic_login', 'mojotrollz');
REPLACE INTO `system_text_tag` (`id`, `tag`) VALUES ('basic_placeholder_username', 'mojotrollz');
REPLACE INTO `system_text_tag` (`id`, `tag`) VALUES ('basic_placeholder_password', 'mojotrollz');
REPLACE INTO `system_text_tag` (`id`, `tag`) VALUES ('basic_placeholder_password', 'mojotrollz');
REPLACE INTO `system_text` (`id`, `lang`, `text`, `author`, `author_edit`, `time_create`, `time_edit`) VALUES ('mojotrollz_progressive', 'enUS', '<h3>Patch&nbsp;0 - Beta<br></h3><ul><li>Kara 10 Key</li><li>Heroic Key\'s require Revered</li><li>s1<br></li><br></ul><hr><br><h3>Patch 1 - Skettis</h3><ul><li>opening Skettis</li><li>s2</li></ul><ul><li>remove skettis quests :-)</li><li>Vendortemplates Arenaseason - :(</li></ul><br><hr><br><h3>Patch 2 - Big Boy</h3><br><ul><li>heroics need no revered rep anymore</li><li>opening the eye and ssc by including the pre-quests for them</li><li>opening ogri\'la</li><li>s3</li></ul><br><ul><li>Rep patch for the heroic keys :-)</li><li>ssc pre :-)</li><li>Block eye pre :-)</li><li>Ogre Quest Chain - :)</li><li>Apexissplitter - :)</li><li>Vendortemplates Arenaseason - :(</li></ul><br><hr><br><h3>Patch 3 - kara pre relief</h3><br><ul><li>including netherwing faction</li><li>open kara to 1 key raids</li><li>s4</li></ul><br><ul><li>Start Questgiver - :-)</li><li>Kara dungeon key requirement (backdoor?) - :-)</li><li>Vendortemplates Arenaseason - :(</li></ul><br><hr><br><h3>Patch 4 - zul\'aman</h3><br><ul><li>opening zul\'aman and respawning npcs with quests in the world (zul\'aman, shat etc.)(*)</li><li>s5</li></ul><br><ul><li>NPC in Shattrath - :)</li><li>NPCs in Ghostlands - :)</li><li>Close Dungeon - :(</li><li>cenarion_hyppogryph :)</li><li>Vendortemplates Arenaseason - :(</li></ul><br><hr><br><h3>Patch 5 - the island</h3><ul><li>the island event and opening sunwell at the last stage of it.</li><li>s6</li></ul><br><ul><li>NPCs in Shattrath - :)</li><li>Portal in Shattrath - :)</li><li>FP on island - :(</li><li>Island Event - :(</li><li>Vendortemplates Arenaseason - :(</li></ul><br><hr><h3>Content Not Available from Start</h3><ul><li>SSC</li><li>BT</li><li>Skettis</li><li>Ogrilla</li></ul><br>', 10, 10, '2015-12-26 04:36:14', '2015-12-26 04:36:14');
REPLACE INTO `system_text_tag` (`id`, `tag`) VALUES ('meta_keywords', 'meta');
REPLACE INTO `system_text_tag` (`id`, `tag`) VALUES ('meta_keywords', 'mojotrollz');
REPLACE INTO `system_text_tag` (`id`, `tag`) VALUES ('mojotrollz_progressive', 'mojotrollz');