#352 use wat.webcraft-media.de api instead of local queries, display errors if they occur
This commit is contained in:
parent
08e8fab663
commit
293551a530
@ -2,34 +2,40 @@
|
||||
namespace SAI;
|
||||
class saimod_webcraft_updates extends \SYSTEM\SAI\SaiModule {
|
||||
public static function sai_mod__SAI_saimod_webcraft_updates($update = null, $project = null){
|
||||
$vars = array('updates' => '', 'projects' => '', 'commits' => '');
|
||||
$vars = array('updates' => '', 'projects' => '', 'commits' => '', 'error' => '');
|
||||
$token = \SYSTEM\CONFIG\config::get(\config_ids::WEBCRAFT_BILLING_TOKEN);
|
||||
|
||||
$res = \SQL\WEBCRAFT_UPDATES_UPDATE::QQ(array('test/mojotrollz/%'));
|
||||
while($row = $res->next()){
|
||||
$row['time'] = \SYSTEM\time::time_ago_string(strtotime($row['time']));
|
||||
$vars['updates'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_webcraft_updates/tpl/saimod_webcraft_updates_update.tpl'))->SERVERPATH(),$row);}
|
||||
|
||||
$project_row = null;
|
||||
if($update){
|
||||
$vars2 = array('project' => '', 'update' => $update);
|
||||
$res = \SQL\WEBCRAFT_UPDATES_PROJECT::QQ(array($update, 'test/mojotrollz/%'));
|
||||
while($row = $res->next()){
|
||||
if($project && $row['path'] == $project){
|
||||
$project_row = $row;}
|
||||
$updates = json_decode(file_get_contents('https://wat.webcraft-media.de/api.php?call=updates&action=updates&token='.$token),true);
|
||||
if($updates['status']){
|
||||
foreach($updates['result'] as $row){
|
||||
$row['time'] = \SYSTEM\time::time_ago_string(strtotime($row['time']));
|
||||
$vars2['project'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_webcraft_updates/tpl/saimod_webcraft_updates_project.tpl'))->SERVERPATH(),$row);}
|
||||
$vars['projects'] = \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_webcraft_updates/tpl/saimod_webcraft_updates_projects.tpl'))->SERVERPATH(),$vars2);
|
||||
$vars['updates'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_webcraft_updates/tpl/saimod_webcraft_updates_update.tpl'))->SERVERPATH(),$row);
|
||||
}
|
||||
} else {
|
||||
$vars['error'] .= 'Error: '.$updates['result']['message'].'<br>';}
|
||||
|
||||
if($update){
|
||||
$projects = json_decode(file_get_contents('https://wat.webcraft-media.de/api.php?call=updates&action=projects'.'&update='.$update.'&token='.$token),true);
|
||||
if($projects['status']){
|
||||
$vars2 = array('project' => '', 'update' => $update);
|
||||
foreach($projects['result'] as $row){
|
||||
$row['time'] = \SYSTEM\time::time_ago_string(strtotime($row['time']));
|
||||
$vars2['project'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_webcraft_updates/tpl/saimod_webcraft_updates_project.tpl'))->SERVERPATH(),$row);}
|
||||
$vars['projects'] = \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_webcraft_updates/tpl/saimod_webcraft_updates_projects.tpl'))->SERVERPATH(),$vars2);
|
||||
} else {
|
||||
$vars['error'] .= 'Error: '.$updates['result']['message'].'<br>';}
|
||||
}
|
||||
|
||||
if($project){
|
||||
$vars3 = array('commit' => '', 'project' => $project);
|
||||
$min = \SQL\WEBCRAFT_UPDATES_COMMIT_SELECT::Q1(array($project_row['git'],$project_row['commit_last']))['id']+1;
|
||||
$max = \SQL\WEBCRAFT_UPDATES_COMMIT_SELECT::Q1(array($project_row['git'],$project_row['commit']))['id'];
|
||||
$res = \SQL\WEBCRAFT_UPDATES_COMMIT::QQ(array($project_row['git'],$min,$max));
|
||||
while($row = $res->next()){
|
||||
$row['time'] = \SYSTEM\time::time_ago_string(strtotime($row['time']));
|
||||
$vars3['commit'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_webcraft_updates/tpl/saimod_webcraft_updates_commit.tpl'))->SERVERPATH(),$row);}
|
||||
$vars['commits'] = \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_webcraft_updates/tpl/saimod_webcraft_updates_commits.tpl'))->SERVERPATH(),$vars3);
|
||||
$commits = json_decode(file_get_contents('https://wat.webcraft-media.de/api.php?call=updates&action=commits'.'&token='.$token.'&update='.$update.'&project='.$project),true);
|
||||
if($commits['status']){
|
||||
$vars3 = array('commit' => '', 'project' => $project);
|
||||
foreach($commits['result'] as $row){
|
||||
$row['time'] = \SYSTEM\time::time_ago_string(strtotime($row['time']));
|
||||
$vars3['commit'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_webcraft_updates/tpl/saimod_webcraft_updates_commit.tpl'))->SERVERPATH(),$row);}
|
||||
$vars['commits'] = \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_webcraft_updates/tpl/saimod_webcraft_updates_commits.tpl'))->SERVERPATH(),$vars3);
|
||||
} else {
|
||||
$vars['error'] .= 'Error: '.$updates['result']['message'].'<br>';}
|
||||
}
|
||||
|
||||
$vars = array_merge($vars, \SYSTEM\PAGE\text::tag('time'));
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
<?php
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'SQL');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq/','SQL');
|
||||
\SYSTEM\SQL\setup::register('SQL\\DATA_SAIMOD_WEBCRAFT_UPDATES');
|
||||
@ -1,10 +0,0 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
class WEBCRAFT_UPDATES_COMMIT extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT `time`, `email`, `author`, `log`, `commit` FROM host_wat.webcraft_update_commit'.
|
||||
' WHERE `git` = ? AND (id BETWEEN ? AND ?)'.
|
||||
' ORDER BY `time` DESC;';
|
||||
}
|
||||
}
|
||||
@ -1,9 +0,0 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
class WEBCRAFT_UPDATES_COMMIT_SELECT extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT id FROM host_wat.webcraft_update_commit'.
|
||||
' WHERE `git` = ? AND `commit` = ?;';
|
||||
}
|
||||
}
|
||||
@ -1,10 +0,0 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
class WEBCRAFT_UPDATES_PROJECT extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT `time`, `path`, `git`, `commit`, `commit_last` FROM host_wat.webcraft_update_project'.
|
||||
' WHERE `update` = ? AND `path` LIKE ?'.
|
||||
' ORDER BY `time` ASC;';
|
||||
}
|
||||
}
|
||||
@ -1,12 +0,0 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
class WEBCRAFT_UPDATES_UPDATE extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT u.`time`, u.`commit`, u.`commit_last`, u.`complete` FROM host_wat.`webcraft_update` as u'.
|
||||
' RIGHT JOIN host_wat.`webcraft_update_project` as p ON u.`commit` = p.`update`'.
|
||||
' WHERE `path` LIKE ?'.
|
||||
' GROUP BY u.`commit`'.
|
||||
' ORDER BY u.`time` DESC;';
|
||||
}
|
||||
}
|
||||
@ -22,5 +22,10 @@
|
||||
</table>
|
||||
${projects}
|
||||
${commits}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row-fluid">
|
||||
<div class="col-md-12">
|
||||
${error}
|
||||
</div>
|
||||
</div>
|
||||
Loading…
x
Reference in New Issue
Block a user