177 lines
5.7 KiB
PHP
177 lines
5.7 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
namespace OCA\Agency\Controller;
|
|
|
|
use OCP\IRequest;
|
|
use OCP\AppFramework\Http\TemplateResponse;
|
|
use OCP\AppFramework\Http\RedirectResponse;
|
|
use OCP\AppFramework\Http\DataResponse;
|
|
use OCP\AppFramework\Controller;
|
|
use OCP\Util;
|
|
use OCP\IUserSession;
|
|
|
|
use OCA\Agency\Service\AgencyService;
|
|
|
|
class PageController extends Controller {
|
|
|
|
protected $appName;
|
|
protected $userSession;
|
|
private $service;
|
|
private $nclink = 'https://daprd1.digitale-agentur.com';
|
|
//private $nclink = 'http://host.docker.internal:8000';
|
|
|
|
public function __construct($appName, IRequest $request, AgencyService $service, IUserSession $userSession) {
|
|
parent::__construct($appName, $request);
|
|
$this->appName = $appName;
|
|
$this->userSession = $userSession;
|
|
$this->service = $service;
|
|
}
|
|
|
|
/**
|
|
* @NoAdminRequired
|
|
* @NoCSRFRequired
|
|
*/
|
|
|
|
public function index() {
|
|
Util::addScript($this->appName, 'da_agency-main');
|
|
//Util::addScript($this->appName, 'da_agency-timemanagement');
|
|
//Util::addStyle($this->appName, 'icons');
|
|
|
|
$response = new TemplateResponse('da_agency', 'main');
|
|
return $response;
|
|
}
|
|
|
|
function myUrlEncode($string) {
|
|
$entities = array('%21', '%2A', '%27', '%28', '%29', '%3B', '%3A', '%40', '%26', '%3D', '%2B', '%24', '%2C', '%2F', '%3F', '%25', '%23', '%5B', '%5D');
|
|
$replacements = array('!', '*', "'", "(", ")", ";", ":", "@", "&", "=", "+", "$", ",", "/", "?", "%", "#", "[", "]");
|
|
return str_replace($entities, $replacements, urlencode($string));
|
|
}
|
|
|
|
function removeMail(string $uid){
|
|
$uid = str_replace("@","REPLACEDATAELEMENTVER0000000001",$uid);
|
|
$uid = str_replace(".","POINTPOINTPOINTPOINTPOINTPOINT",$uid);
|
|
|
|
return $uid;
|
|
}
|
|
|
|
/**
|
|
* @NoCSRFRequired
|
|
* @NoAdminRequired
|
|
*
|
|
* Startet einen Arbeitstag
|
|
*/
|
|
public function startWorkDay() {
|
|
$opts = [
|
|
"http" => array(
|
|
"method" => "GET",
|
|
"header" => ""
|
|
),
|
|
"ssl"=> array(
|
|
"verify_peer"=>false,
|
|
"verify_peer_name"=>false,
|
|
),
|
|
];
|
|
$context = stream_context_create($opts);
|
|
|
|
$file = file_get_contents($this->myUrlEncode($this->nclink.'/api/tm/startday/'.$this->removeMail($this->userSession->getUser()->getUId()).'/87zuhjk87GHJ546tzgvhas76aaskbdhr45edfVHAKia87s6gbAVGFGSR3451627gBHAKJBN'), false, $context);
|
|
#$response = new TemplateResponse('da_agency', 'realtimeclock', ['userId' => $this->userSession->getUser()->getUID(), 'data' => "none"]);
|
|
return new DataResponse($file);
|
|
}
|
|
|
|
/**
|
|
* @NoCSRFRequired
|
|
* @NoAdminRequired
|
|
*
|
|
* Beendet einen Arbeitstag
|
|
*/
|
|
public function endWorkDay() {
|
|
$opts = [
|
|
"http" => array(
|
|
"method" => "GET",
|
|
"header" => ""
|
|
),
|
|
"ssl"=> array(
|
|
"verify_peer"=>false,
|
|
"verify_peer_name"=>false,
|
|
),
|
|
];
|
|
$context = stream_context_create($opts);
|
|
|
|
$file = file_get_contents($this->myUrlEncode($this->nclink.'/api/tm/endday/'.$this->removeMail($this->userSession->getUser()->getUId()).'/87zuhjk87GHJ546tzgvhas76aaskbdhr45edfVHAKia87s6gbAVGFGSR3451627gBHAKJBN'), false, $context);
|
|
#$response = new TemplateResponse('da_agency', 'realtimeclock', ['userId' => $this->userSession->getUser()->getUID(), 'data' => "none"]);
|
|
return new DataResponse($file);
|
|
}
|
|
|
|
/**
|
|
* @NoCSRFRequired
|
|
* @NoAdminRequired
|
|
*
|
|
* Beendet einen Arbeitstag
|
|
*/
|
|
public function startBreak() {
|
|
$opts = [
|
|
"http" => array(
|
|
"method" => "GET",
|
|
"header" => ""
|
|
),
|
|
"ssl"=> array(
|
|
"verify_peer"=>false,
|
|
"verify_peer_name"=>false,
|
|
),
|
|
];
|
|
$context = stream_context_create($opts);
|
|
|
|
$file = file_get_contents($this->myUrlEncode($this->nclink.'/api/tm/startbreak/'.$this->removeMail($this->userSession->getUser()->getUId()).'/87zuhjk87GHJ546tzgvhas76aaskbdhr45edfVHAKia87s6gbAVGFGSR3451627gBHAKJBN'), false, $context);
|
|
#$response = new TemplateResponse('da_agency', 'realtimeclock', ['userId' => $this->userSession->getUser()->getUID(), 'data' => "none"]);
|
|
return new DataResponse($file);
|
|
}
|
|
|
|
/**
|
|
* @NoCSRFRequired
|
|
* @NoAdminRequired
|
|
*
|
|
* Beendet einen Arbeitstag
|
|
*/
|
|
public function endBreak() {
|
|
$opts = [
|
|
"http" => array(
|
|
"method" => "GET",
|
|
"header" => ""
|
|
),
|
|
"ssl"=> array(
|
|
"verify_peer"=>false,
|
|
"verify_peer_name"=>false,
|
|
),
|
|
];
|
|
$context = stream_context_create($opts);
|
|
|
|
$file = file_get_contents($this->myUrlEncode($this->nclink.'/api/tm/endbreak/'.$this->removeMail($this->userSession->getUser()->getUId()).'/87zuhjk87GHJ546tzgvhas76aaskbdhr45edfVHAKia87s6gbAVGFGSR3451627gBHAKJBN'), false, $context);
|
|
#$response = new TemplateResponse('da_agency', 'realtimeclock', ['userId' => $this->userSession->getUser()->getUID(), 'data' => "none"]);
|
|
return new DataResponse($file);
|
|
}
|
|
|
|
|
|
/**
|
|
* @NoCSRFRequired
|
|
* @NoAdminRequired
|
|
*
|
|
* Gibt alle notwendigen Daten zurück für die Zeiterfassung
|
|
*/
|
|
public function loadTime() {
|
|
$opts = [
|
|
"http" => array(
|
|
"method" => "GET",
|
|
"header" => ""
|
|
),
|
|
"ssl"=> array(
|
|
"verify_peer"=>false,
|
|
"verify_peer_name"=>false,
|
|
),
|
|
];
|
|
$context = stream_context_create($opts);
|
|
|
|
$file = file_get_contents($this->myUrlEncode($this->nclink.'/api/tm/gettime/'.$this->removeMail($this->userSession->getUser()->getUId()).'/87zuhjk87GHJ546tzgvhas76aaskbdhr45edfVHAKia87s6gbAVGFGSR3451627gBHAKJBN'), false, $context);
|
|
return new DataResponse($file);
|
|
}
|
|
} |