basic version of questclass, however not able to integrate into compendium cuz of state sys.

example for questclass is static, visible on the overview, thus can be generated via api already.
fix parameters are embedded in the overviews php file.
embedding though proves a goodie :(.
This commit is contained in:
Tobi 2014-11-22 22:40:06 +01:00
parent 0e0b61c117
commit 016b69780f
18 changed files with 191 additions and 4 deletions

View File

@ -7,3 +7,6 @@ SYSTEM\autoload::registerFolder(dirname(__FILE__).'/database','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/char',''); SYSTEM\autoload::registerFolder(dirname(__FILE__).'/char','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/char/qq','DBD'); SYSTEM\autoload::registerFolder(dirname(__FILE__).'/char/qq','DBD');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/client',''); SYSTEM\autoload::registerFolder(dirname(__FILE__).'/client','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/quest','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/quest/qq','DBD');

View File

@ -0,0 +1,13 @@
<?php
namespace DBD;
class GET_BASE_DATA extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT * FROM quest_template WHERE entry = ?;',
new \DBD\mangos_world()
);}}

View File

@ -0,0 +1,12 @@
<?php
namespace DBD;
class GET_CREATURE_QUESTRELATION extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT * FROM creature_questrelation LEFT JOIN creature_template ON (creature_questrelation.id = creature_template.entry) WHERE quest = ?;',
new \DBD\mangos_world()
);}}

View File

@ -0,0 +1,12 @@
<?php
namespace DBD;
class GET_ITEM_QUESTRELATION extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT * FROM item_template WHERE startquest = ?;',
new \DBD\mangos_world()
);}}

View File

@ -0,0 +1,12 @@
<?php
namespace DBD;
class GET_OBJECT_QUESTRELATION extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT * FROM gameobject_questrelation LEFT JOIN gameobject_template ON (gameobject_questrelation.id = gameobject_template.entry) WHERE quest = ?;',
new \DBD\mangos_world()
);}}

View File

@ -0,0 +1,52 @@
<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of quest
*
* @author Nael
*/
class quest {
public static function test($entry){
$vars = '';
$vars = \DBD\GET_BASE_DATA::Q1(array($entry));
$vars['creature_questrelation'] = quest::get_creature_questrelation($entry);
$vars['item_questrelation'] = quest::get_item_questrelation($entry);
$vars['object_questrelation'] = quest::get_object_questrelation($entry);
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PAPI(),'quest/tpl/quest.tpl'), $vars);
}
public static function get_creature_questrelation($entry){
$result = '';
$questrelation = \DBD\GET_CREATURE_QUESTRELATION::QQ(array($entry));
while ($rel = $questrelation->next()){
$result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PAPI(),'quest/tpl/creature_questrelation.tpl'), $rel);
}
return $result;
}
public static function get_item_questrelation($entry){
$result = '';
$questrelation = \DBD\GET_ITEM_QUESTRELATION::QQ(array($entry));
while ($rel = $questrelation->next()){
$result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PAPI(),'quest/tpl/item_questrelation.tpl'), $rel);
}
return $result;
}
public static function get_object_questrelation($entry){
$result = '';
$questrelation = \DBD\GET_OBJECT_QUESTRELATION::QQ(array($entry));
while ($rel = $questrelation->next()){
$result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PAPI(),'quest/tpl/object_questrelation.tpl'), $rel);
}
return $result;
}
}

View File

@ -0,0 +1 @@
${Name}

View File

@ -0,0 +1 @@
${name}

View File

@ -0,0 +1 @@
${name}

View File

@ -0,0 +1,51 @@
<table>
<tr>
<td>
<p>${Title}<br>
No.${entry}<p>
</td>
<td>
</td>
<td>
<p>
min. Level:&nbsp;&nbsp;${MinLevel}<br>
QuestLevel:&nbsp;${QuestLevel}
</p>
</td>
</tr>
<tr class="spacer"></tr>
<tr>
<td>
<p>
Obtainable from:<br>
<a href="#">${creature_questrelation}</a>
<a href="#">${item_questrelation}</a>
<a href="#">${object_questrelation}</a>
</p>
</td>
<td>
</td>
</tr>
<tr>
<td style="max-width: 400px;">
<p>
Details:<br>
${Details}
</p>
</td>
</tr>
<tr class="spacer"></tr>
<tr>
<td style="max-width: 400px;">
<p>
Objectives:<br>
${Objectives}
</p>
</td>
</tr>
</table>

View File

@ -84,6 +84,11 @@ class page_mojotrollz extends \SYSTEM\API\api_default {
throw new ERROR("You need to be logged in to view this ressource.");} throw new ERROR("You need to be logged in to view this ressource.");}
return new user_achievements_content($menu, $filter);} return new user_achievements_content($menu, $filter);}
public static function page_user_achievements_content_quest($entry){
if(!\SYSTEM\SECURITY\Security::isLoggedIn()){
throw new ERROR("You need to be logged in to view this ressource.");}
return quest::test($entry);}
public static function page_user_logout(){ public static function page_user_logout(){
if(!\SYSTEM\SECURITY\Security::isLoggedIn()){ if(!\SYSTEM\SECURITY\Security::isLoggedIn()){
throw new ERROR("You need to be logged in to view this ressource.");} throw new ERROR("You need to be logged in to view this ressource.");}

View File

@ -0,0 +1,7 @@
function init_user_achievements_content(){
alert('init');
console.log('init');
$(".btn_quest_info").click(function(){
$('#achievement_list').load('./?page=user_achievements_content_quest&entry=' + $(this).attr('entry'));
});
}

View File

@ -3,6 +3,7 @@
<a href="http://www.wowhead.com/quest=${entry}/" target="_blank">${Title}</a> <a href="http://www.wowhead.com/quest=${entry}/" target="_blank">${Title}</a>
<p>Min&nbsp;Lvl:&nbsp;${MinLevel}<br> <p>Min&nbsp;Lvl:&nbsp;${MinLevel}<br>
Quest&nbsp;Lvl:&nbsp;${QuestLevel}</p> Quest&nbsp;Lvl:&nbsp;${QuestLevel}</p>
<button class="btn btn_menu_add btn_quest_info" entry="${entry}" href="#">Detail</button>
</td> </td>
<td style="min-width: 170px;"> <td style="min-width: 170px;">

View File

@ -8,7 +8,7 @@ class user_achievements_content extends SYSTEM\PAGE\Page {
$this->filter = $filter; $this->filter = $filter;
} }
public static function js(){ public static function js(){
return array();} return array( \SYSTEM\WEBPATH(new PPAGE(),'user_achievements_content/js/user_achievements_content.js'));}
public static function css (){ public static function css (){
return array();} return array();}
@ -346,6 +346,7 @@ class user_achievements_content extends SYSTEM\PAGE\Page {
} }
public function html(){ public function html(){
switch($this->menu){ switch($this->menu){
case 1: case 1:
return $this->menu_acc(); return $this->menu_acc();

View File

@ -1,6 +1,16 @@
function init_user_achievements_menu_sub(){ function init_user_achievements_menu_sub(){
console.log('init'); console.log('init');
$(".btn_achieve_menu").click(function(){ $(".btn_achieve_menu").click(function(){
btn_info();
$('#achievement_list').load('./?page=user_achievements_content&menu=' + $(this).attr('menu') + '&filter=' + $(this).attr('filter')); $('#achievement_list').load('./?page=user_achievements_content&menu=' + $(this).attr('menu') + '&filter=' + $(this).attr('filter'));
btn_info();
}); });
function btn_info(){
$(".btn_quest_info").click(function(){
alert('test');
$('#achievement_list').load('./?page=user_achievements_content_quest&entry=' + $(this).attr('entry'));
});
}
} }

View File

@ -67,5 +67,9 @@
</div> </div>
</div> </div>
</div> </div>
<div class="window_bg2">
${test}
</div>
</div> </div>

View File

@ -52,6 +52,7 @@ class user_start extends SYSTEM\PAGE\Page {
$vars['guildcount'] = \DBD\COUNT_GUILDS::Q1()['count']; $vars['guildcount'] = \DBD\COUNT_GUILDS::Q1()['count'];
$vars['realm_status'] = realm::status(); $vars['realm_status'] = realm::status();
$vars['world_status'] = world::status(); $vars['world_status'] = world::status();
$vars['test'] = quest::test(248);
$vars['player_online'] = database::player_online(); $vars['player_online'] = database::player_online();
$vars['factionbalance'] = $this->get_faction_balance(); $vars['factionbalance'] = $this->get_faction_balance();
$vars['role_balance'] =$this->get_role_balance(); $vars['role_balance'] =$this->get_role_balance();

2
system

@ -1 +1 @@
Subproject commit 69390d4c59bf3a2a3cd2add9f5b3bc3f571f1287 Subproject commit b3bf40d17d3c707d7af17943b1f6ff147c0e71a6