From 293551a530a734aba68cc77615d39eca67d54d75 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Thu, 3 Aug 2017 23:49:52 +0200 Subject: [PATCH] #352 use wat.webcraft-media.de api instead of local queries, display errors if they occur --- saimod_webcraft_updates.php | 52 +++++++++++++---------- sql/autoload.inc | 1 - sql/qq/WEBCRAFT_UPDATES_COMMIT.php | 10 ----- sql/qq/WEBCRAFT_UPDATES_COMMIT_SELECT.php | 9 ---- sql/qq/WEBCRAFT_UPDATES_PROJECT.php | 10 ----- sql/qq/WEBCRAFT_UPDATES_UPDATE.php | 12 ------ tpl/saimod_webcraft_updates.tpl | 7 ++- 7 files changed, 35 insertions(+), 66 deletions(-) delete mode 100644 sql/qq/WEBCRAFT_UPDATES_COMMIT.php delete mode 100644 sql/qq/WEBCRAFT_UPDATES_COMMIT_SELECT.php delete mode 100644 sql/qq/WEBCRAFT_UPDATES_PROJECT.php delete mode 100644 sql/qq/WEBCRAFT_UPDATES_UPDATE.php diff --git a/saimod_webcraft_updates.php b/saimod_webcraft_updates.php index c9345fc..17434c8 100644 --- a/saimod_webcraft_updates.php +++ b/saimod_webcraft_updates.php @@ -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'].'
';} + + 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'].'
';} } 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'].'
';} } $vars = array_merge($vars, \SYSTEM\PAGE\text::tag('time')); diff --git a/sql/autoload.inc b/sql/autoload.inc index ab5b8be..7b6b96c 100644 --- a/sql/autoload.inc +++ b/sql/autoload.inc @@ -1,4 +1,3 @@ ${projects} ${commits} - + +
+
+ ${error} +
+
\ No newline at end of file