da_agency/lib/Controller/PageController.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);
}
}