saimod mojotrollz beta, structure fixes

This commit is contained in:
Ulf Gebhardt 2015-12-26 00:50:35 +01:00
parent 85947f96a6
commit 6f26b0c4fe
29 changed files with 164 additions and 4 deletions

View File

@ -6,6 +6,7 @@
<meta name="description" content="${meta_description}">
<meta name="author" content="${meta_author}">
<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"/>
<style type="text/css">
@font-face {

View File

@ -1,3 +1,4 @@
<?php
require_once dirname(__FILE__).'/saimod_mojotrollz_servers/autoload.inc';
require_once dirname(__FILE__).'/saimod_mojotrollz_server_handling/autoload.inc';
require_once dirname(__FILE__).'/saimod_mojotrollz_server_handling/autoload.inc';
require_once dirname(__FILE__).'/saimod_mojotrollz_beta/autoload.inc';

View File

@ -0,0 +1,4 @@
<?php
require_once dirname(__FILE__).'/sql/autoload.inc';
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'SAI');
\SYSTEM\SAI\sai::register('\SAI\saimod_mojotrollz_beta');

View File

@ -0,0 +1,20 @@
function init_saimod_mojotrollz_beta(){
/*$('#btn_gen').click(function(){
$('#content-wrapper').load('./sai.php?sai_mod=.SAI.saimod_mojotrollz_beta&generate=1',function(){
init_saimod_mojotrollz_beta();
});
});*/
$('.btn_del').click(function(){
$.ajax({type : 'GET',
url : './sai.php?sai_mod=.SAI.saimod_mojotrollz_beta&action=del'+
'&code='+$(this).attr('_code'),
success : function(data) {
if(data.status){
system.load('mojotrollz_beta');
system.reload();
}else{
alert('Problem: '+data);}
}
});
})
}

View File

@ -0,0 +1,36 @@
<?php
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;}
public static function code_use($code,$user_new){
return \SQL\BETA_USE_CODE::QI(array($user_new,$code));}
public static function sai_mod__SAI_saimod_mojotrollz_beta_action_del($code){
\SQL\BETA_DELETE_CODE::QI(array($code));
return \JsonResult::ok();}
public static function sai_mod__SAI_saimod_mojotrollz_beta($generate = false){
$vars = array();
$vars['entries'] = $vars['beta_code'] = '';
if($generate){
$vars['beta_code'] = \substr(\sha1(\rand(1, 99999)), 1, 6);
if(!\SQL\BETA_INSERT_CODE::QI(array($vars['beta_code'], \SYSTEM\SECURITY\Security::getUser()->id))){
$vars['beta_code'] = 'generate code failed. Retry!';}
}
$res = \SQL\BETA_GET_CODE::QQ();
while($code = $res->next()){
$code['ago_date_generated'] = \SYSTEM\time::time_ago_string(strtotime($code['date_generated']));
$code['ago_date_redeemed'] = $code['date_redeemed'] ? \SYSTEM\time::time_ago_string(strtotime($code['date_redeemed'])) : 'Open';
$vars['entries'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \PSAI(),'saimod_mojotrollz_beta/tpl/beta_entry.tpl'), $code);}
$vars = \array_merge($vars, \SYSTEM\PAGE\text::tag('time'));
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \PSAI(),'saimod_mojotrollz_beta/tpl/beta.tpl'), $vars);}
public static function html_li_menu(){return '<li class=""><a data-toggle="tooltip" data-placement="left" title="Mojotrollz" href="#!mojotrollz_beta"><span class="glyphicon glyphicon-user" aria-hidden="true"></span>&nbsp;&nbsp;Mojotrollz Beta</a></li>';}
public static function right_public(){return false;}
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI);}
public static function js(){return array(\SYSTEM\WEBPATH(new \PSAI(),'saimod_mojotrollz_beta/js/saimod_mojotrollz_beta.js'));}
//public static function css(){return array();}
}

View File

@ -0,0 +1,10 @@
<?php
namespace SQL;
class DATA_SAIMOD_MOJOTROLLZ_BETA extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \PSAI(),'/saimod_mojotrollz_beta/sql/mysql/schema_beta.sql'),
\SYSTEM\SERVERPATH(new \PSAI(),'/saimod_mojotrollz_beta/sql/mysql/system_page.sql'),
\SYSTEM\SERVERPATH(new \PSAI(),'/saimod_mojotrollz_beta/sql/mysql/system_api.sql'));
}
}

View File

@ -0,0 +1,4 @@
<?php
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'SQL');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','SQL');
\SYSTEM\SQL\setup::register('SQL\\DATA_SAIMOD_MOJOTROLLZ_BETA');

View File

@ -0,0 +1,11 @@
CREATE TABLE `mojotrollz_beta` (
`code` CHAR(6) NOT NULL,
`user` INT(11) NOT NULL,
`user_new` INT(11) NULL DEFAULT NULL,
`date_generated` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`date_redeemed` TIMESTAMP NULL DEFAULT NULL,
PRIMARY KEY (`code`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;

View File

@ -0,0 +1,3 @@
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5200, 42, 0, 0, '_SAI_saimod_mojotrollz_beta', 'action', NULL);
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5201, 42, 3, 0, '_SAI_saimod_mojotrollz_beta', 'generate', 'INT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5210, 42, 2, 5200, 'del', 'code', 'STRING');

View File

@ -0,0 +1 @@
INSERT INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (520, 42, 'mojotrollz_beta', 'mojotrollz_beta', -1, 0, 0, '#content', './sai.php?sai_mod=.SAI.saimod_mojotrollz_beta&generate=${generate}', 'init_saimod_mojotrollz_beta', '\\SAI\\saimod_mojotrollz_beta');

View File

@ -0,0 +1,8 @@
<?php
namespace SQL;
class BETA_CHECK_CODE extends \SYSTEM\DB\QP {
public static function get_class(){return \get_class();}
public static function mysql(){return
'SELECT COUNT(*) as count FROM mojotrollz_beta WHERE code = ? AND user_new IS NULL';
}
}

View File

@ -0,0 +1,9 @@
<?php
namespace SQL;
class BETA_DELETE_CODE extends \SYSTEM\DB\QP {
public static function get_class(){return \get_class();}
public static function mysql(){return
'DELETE FROM `mojotrollz_beta`'.
' WHERE code = ?;';
}
}

View File

@ -0,0 +1,10 @@
<?php
namespace SQL;
class BETA_GET_CODE extends \SYSTEM\DB\QQ {
public static function get_class(){return \get_class();}
public static function mysql(){return
'SELECT mojotrollz_beta.*, su1.username as name_user, su2.username as name_user_new FROM mojotrollz_beta '.
'LEFT JOIN system_user as su1 ON su1.id = mojotrollz_beta.user '.
'LEFT JOIN system_user as su2 ON su2.id = mojotrollz_beta.user_new;';
}
}

View File

@ -0,0 +1,9 @@
<?php
namespace SQL;
class BETA_INSERT_CODE extends \SYSTEM\DB\QP {
public static function get_class(){return \get_class();}
public static function mysql(){return
'INSERT INTO `mojotrollz_beta` (`code`, `user`, `user_new`)'.
' VALUES (?, ?, NULL);';
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SQL;
class BETA_USE_CODE extends \SYSTEM\DB\QP {
public static function get_class(){return \get_class();}
public static function mysql(){return
'UPDATE mojotrollz_beta SET user_new = ? WHERE code = ?;';
}
}

View File

@ -0,0 +1,17 @@
<div id="new_container">
${beta_code}
<a onclick="system.load('mojotrollz_beta;generate.1')">Generate</a>
</div>
<hr/>
<table class="sai_table" style="width: 100%;">
<tr>
<th>Code</th>
<th>url</th>
<th>user</th>
<th>generated</th>
<th>user_new</th>
<th>redeemed</th>
<th>Action</th>
</tr>
${entries}
</table>

View File

@ -0,0 +1,9 @@
<tr>
<td>${code}</td>
<td><a href="http://www.mojotrollz.eu/#!beta;key.${code}" target="_blank">http://www.mojotrollz.eu/#!beta;key.${code}</a>
<td>${name_user}</td>
<td>${ago_date_generated}</td>
<td>${name_user_new}</td>
<td>${ago_date_redeemed}</td>
<td><button class="btn btn-danger btn_del" _code="${code}">Del</button></td>
</tr>

View File

@ -1,5 +1,4 @@
<?php
require_once dirname(__FILE__).'/sql/autoload.inc';
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'SAI');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq/','SQL');
\SYSTEM\SAI\sai::register('\SAI\saimod_mojotrollz_server_handling');

View File

@ -1,3 +1,4 @@
<?php
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'SQL');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq/','SQL');
\SYSTEM\SQL\setup::register('SQL\\DATA_SAIMOD_MOJOTROLLZ_SERVER_HANDLING');

View File

@ -1,5 +1,4 @@
<?php
require_once dirname(__FILE__).'/sql/autoload.inc';
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'SAI');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq/','SQL');
\SYSTEM\SAI\sai::register('\SAI\saimod_mojotrollz_servers');

View File

@ -1,4 +1,4 @@
<?php
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'SQL');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq/','SQL');
\SYSTEM\SQL\setup::register('SQL\\DATA_SAIMOD_MOJOTROLLZ_SERVERS');