saimod_webcraft_updates/saimod_webcraft_updates.php

51 lines
3.5 KiB
PHP

<?php
namespace SAI;
class saimod_webcraft_updates extends \SYSTEM\SAI\sai_module {
public static function sai_mod__SAI_saimod_webcraft_updates($update = null, $project = null){
$vars = array('updates' => '', 'projects' => '', 'commits' => '', 'error' => '');
$token = \SYSTEM\CONFIG\config::get(\config_ids::WEBCRAFT_BILLING_TOKEN);
$updates = json_decode(file_get_contents('http://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']));
$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('http://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){
$commits = json_decode(file_get_contents('http://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'));
return \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_webcraft_updates/tpl/saimod_webcraft_updates.tpl'))->SERVERPATH(),$vars);}
public static function menu(){
return new \SYSTEM\SAI\sai_module_menu( 10, \SYSTEM\SAI\sai_module_menu::POISITION_RIGHT, \SYSTEM\SAI\sai_module_menu::DIVIDER_RIGHT,
\SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_webcraft_updates/tpl/menu.tpl'))->SERVERPATH()));}
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(new \PSAI('saimod_webcraft_updates/js/saimod_webcraft_updates.js'));}
}