1KA_F2F/admin/survey/modules/mod_EVOLI/class.SurveyTeamMeter.php
2020-08-14 13:36:36 +02:00

692 lines
24 KiB
PHP

<?php
include_once 'definition.php';
define("TEMP_FOLDER", "admin/survey/modules/mod_EVOLI/temp", true);
define("SCRIPT_FOLDER", "admin/survey/modules/mod_EVOLI/R", true);
define("RESULTS_FOLDER", "admin/survey/modules/mod_EVOLI/results", true);
define("EXPORT_FOLDER", "admin/survey/SurveyData", true);
class SurveyTeamMeter{
var $anketa; # id ankete
var $db_table = '';
var $submodule = ''; // Ista funkcionalnost za evoli module evoli_teammeter, evoli_quality_climate, evoli_teamship_meter in evoli_organizational_employeeship_meter
var $submodule_name = '';
var $execute_params = array();
var $debug = false;
function __construct($anketa){
global $site_url;
// Ce imamo anketo, smo v status->ul evealvacija
if ((int)$anketa > 0){
$this->anketa = $anketa;
# polovimo vrsto tabel (aktivne / neaktivne)
SurveyInfo :: getInstance()->SurveyInit($this->anketa);
if (SurveyInfo::getInstance()->getSurveyColumn('db_table') == 1) {
$this->db_table = '_active';
}
// Nastavimo se ustrezne parametre za skripto glede na tip izvoza (ime skripte, pdf-ja, csv-ja)
$this->setExecuteParams();
}
// Poskrbimo za datoteko s podatki
$SDF = SurveyDataFile::get_instance();
$SDF->init($this->anketa);
$SDF->prepareFiles();
}
// Nastavimo se ustrezne parametre za skripto glede na tip izvoza (ime skripte, pdf-ja, csv-ja)
private function setExecuteParams(){
$modules = SurveyInfo::getInstance()->getSurveyModules();
// QUALTIY CLIMATE
if(isset($modules['evoli_quality_climate'])){
$this->submodule = 'evoli_quality_climate';
$this->submodule_name = 'Quality climate';
$this->execute_params['csv_name'] = 'quality_climate.csv';
// DANSCINA
if(isset($_GET['lang_id']) && $_GET['lang_id'] == '29'){
$this->execute_params['script_name'] = 'Evoli_quality_clime_dan.R';
$this->execute_params['pdf_name'] = 'Quality-climate-dan';
}
// SLOVENSCINA
elseif(isset($_GET['lang_id']) && $_GET['lang_id'] == '1'){
$this->execute_params['script_name'] = 'Evoli_quality_clime_slo.R';
$this->execute_params['pdf_name'] = 'Klima-kakovosti.pdf';
}
// ANGLESCINA
else{
$this->execute_params['script_name'] = 'Evoli_quality_clime_ang.R';
$this->execute_params['pdf_name'] = 'Quality-climate.pdf';
}
}
// TEAMSHIP METER
elseif(isset($modules['evoli_teamship_meter'])){
$this->submodule = 'evoli_teamship_meter';
$this->submodule_name = 'Teamship meter';
$this->execute_params['csv_name'] = 'evoli_teamship.csv';
// DANSCINA
if(isset($_GET['lang_id']) && $_GET['lang_id'] == '29'){
$this->execute_params['script_name'] = 'Evoli_teamship_meter_dan.R';
$this->execute_params['pdf_name'] = 'Teamship-Meter-dan.pdf';
}
// SLOVENSCINA
elseif(isset($_GET['lang_id']) && $_GET['lang_id'] == '1'){
$this->execute_params['script_name'] = 'Evoli_teamship_meter_slo.R';
$this->execute_params['pdf_name'] = 'Teamship-Meter-slo.pdf';
}
// ANGLESCINA
else{
$this->execute_params['script_name'] = 'Evoli_teamship_meter_ang.R';
$this->execute_params['pdf_name'] = 'Teamship-Meter-ang.pdf';
}
}
// ORGANIZATIONAL EMPLOYEESHIP METER
elseif(isset($modules['evoli_organizational_employeeship_meter'])){
$this->submodule = 'evoli_organizational_employeeship_meter';
$this->submodule_name = 'Organizational employeeship meter';
$this->execute_params['csv_name'] = 'evoli_team.csv';
// DANSCINA
if(isset($_GET['lang_id']) && $_GET['lang_id'] == '29'){
$this->execute_params['script_name'] = 'Evoli_org_employ_meter_dan.R';
$this->execute_params['pdf_name'] = 'Org-Employeeship-Meter-dan.pdf';
}
// SLOVENSCINA
elseif(isset($_GET['lang_id']) && $_GET['lang_id'] == '1'){
$this->execute_params['script_name'] = 'Evoli_org_employ_meter_slo.R';
$this->execute_params['pdf_name'] = 'Org-Employeeship-Meter-slo.pdf';
}
// ANGLESCINA
else{
$this->execute_params['script_name'] = 'Evoli_org_employ_meter_ang.R';
$this->execute_params['pdf_name'] = 'Org-Employeeship-Meter-ang.pdf';
}
}
// TEAM METER
else{
$this->submodule = 'evoli_teammeter';
$this->submodule_name = 'Team meter';
$this->execute_params['csv_name'] = 'evoli_team.csv';
// DANSCINA
if(isset($_GET['lang_id']) && $_GET['lang_id'] == '29'){
$this->execute_params['script_name'] = 'Evoli_team_meter_depart_dan.R';
$this->execute_params['pdf_name'] = 'Team-Energy-Meter-dan.pdf';
}
// SLOVENSCINA
elseif(isset($_GET['lang_id']) && $_GET['lang_id'] == '1'){
$this->execute_params['script_name'] = 'Evoli_team_meter_depart_slo.R';
$this->execute_params['pdf_name'] = 'Team-Energy-Meter-slo.pdf';
}
// ANGLESCINA
else{
$this->execute_params['script_name'] = 'Evoli_team_meter_depart_ang.R';
$this->execute_params['pdf_name'] = 'Team-Energy-Meter-ang.pdf';
}
}
}
public function displaySettings(){
echo '<br />';
// Izpisemo doloceno skupino
if(isset($_GET['skupina']))
$this->displaySettingsSkupina($_GET['skupina']);
else
$this->displaySettingsAll();
}
// Prikazemo tabelo vseh skupin/podjetij
private function displaySettingsAll(){
global $site_path;
global $lang;
global $admin_type;
echo '<fieldset><legend>'.$this->submodule_name.' skupine</legend>';
echo '<table class="styled_table">';
echo '<tr>';
echo '<th>Email</th>';
echo '<th>Skupina</th>';
echo '<th>Jezik</th>';
echo '<th>Maksimalna kvota</th>';
echo '<th>Dosežena kvota</th>';
echo '<th>Začetek</th>';
echo '<th>Konec</th>';
echo '<th>URL</th>';
echo '<th>Poročilo</th>';
echo '<th>Datum pošiljanja</th>';
echo '<th>Urejanje</th>';
echo '</tr>';
// Izpisemo vse skupine z moznostjo izvoza porocil
$sql1 = sisplet_query("SELECT tm.*, v.naslov, v.vrstni_red
FROM srv_evoli_teammeter tm, srv_vrednost v
WHERE tm.ank_id='".$this->anketa."' AND v.id=tm.skupina_id");
while ($row1 = mysqli_fetch_assoc($sql1)) {
echo '<tr>';
//var_dump($row1);
echo '<td>'.$row1['email'].'</td>';
echo '<td>'.$row1['naslov'].'<br />('.$row1['vrstni_red'].' - id '.$row1['skupina_id'].')</td>';
if($row1['lang_id'] == 2)
$language = 'Eng';
elseif($row1['lang_id'] == 29)
$language = 'Den';
else
$language = 'Slo';
echo '<td>'.$language.'<br />(id '.$row1['lang_id'].')</td>';
echo '<td>'.$row1['kvota_max'].'</td>';
echo '<td>'.$row1['kvota_val'].'</td>';
echo '<td>'.$row1['date_from'].'</td>';
echo '<td>'.$row1['date_to'].'</td>';
echo '<td>'.$row1['url'].'</td>';
// PDF porocilo - samo ce imamo vsaj en vnos za skupino
echo '<td>';
if($row1['kvota_val'] > 0)
echo '<a href="izvoz.php?b=export&m=pdf_teammeter&anketa='.$this->anketa.'&skupina='.$row1['vrstni_red'].'&lang_id='.$row1['lang_id'].'" target="_blank" title="Izvozi v PDF"><span class="faicon pdf"></span></a>';
echo '</td>';
// Datum posiljanja porocila
echo '<td>';
if($row1['datum_posiljanja'] != '0000-00-00 00:00:00')
echo date('d.m.Y H:i:s', strtotime($row1['datum_posiljanja']));
else
echo 'Poročilo še ni bilo poslano';
echo '</td>';
echo '<td class="bold"><a href="index.php?anketa='.$this->anketa.'&a='.$this->submodule.'&skupina='.$row1['skupina_id'].'">Uredi</a></td>';
echo '</tr>';
}
echo '</table>';
echo '</fieldset>';
}
// Prikazemo tabelo respnsov za doloceno skupino/podjetje
private function displaySettingsSkupina($skupina_id){
global $site_path;
global $site_url;
global $lang;
global $admin_type;
echo '<a href="index.php?anketa='.$this->anketa.'&a='.$this->submodule.'"><span class="bold" style="font-size:13px;"><< Nazaj na splošne nastavitve</span></a>';
echo '<br /><br />';
// Preberemo vse podatke za skupino
$sql = sisplet_query("SELECT tm.*, v.naslov AS skupina_naslov
FROM srv_evoli_teammeter tm, srv_vrednost v
WHERE tm.ank_id='".$this->anketa."' AND tm.skupina_id='".$skupina_id."' AND v.id=tm.skupina_id");
if (!$sql) echo mysqli_error($GLOBALS['connect_db']);
$row = mysqli_fetch_assoc($sql);
// Urejanje osnovnih podatkov skupine
echo '<fieldset><legend>'.$this->submodule_name.' - skupina "'.$row['skupina_naslov'].'"</legend>';
echo '<p style="margin:3px;"><span class="nastavitveSpan2">URL:</span>'.$row['url'].'</p>';
if($row['lang_id'] == 2)
$language = 'eng';
elseif($row['lang_id'] == 29)
$language = 'den';
else
$language = 'slo';
echo '<p style="margin:3px;"><span class="nastavitveSpan2">Jezik:</span>'.$language.' ('.$row['lang_id'].')</p>';
echo '<p style="margin:3px;"><span class="nastavitveSpan2">Dosežena kvota: </span>'.$row['kvota_val'].'</p>';
echo '<p style="margin:3px;"><span class="nastavitveSpan2">Maksimalna kvota: </span><input type="text" size="7" value="'.$row['kvota_max'].'" onBlur="evoli_tm_edit(\''.$row['id'].'\', \'kvota_max\', this.value);"></input></p>';
echo '<br />';
$date_from = date("d.m.Y", strtotime($row['date_from']));
echo '<p style="margin:3px;"><span class="nastavitveSpan2">Datum začetka: </span>'.$date_from.'<br />';
$date_to = date("d.m.Y", strtotime($row['date_to']));
echo '<p style="margin:3px;"><span class="nastavitveSpan2">Datum konca: </span><input type="text" id="evoliDateTo" size="12" value="'.$date_to.'" onBlur="evoli_tm_edit(\''.$row['id'].'\', \'date_to\', this.value);"></input></p>';
$datum_posiljanja = date("d.m.Y H:i:s", strtotime($row['datum_posiljanja']));
echo '<p style="margin:3px;"><span class="nastavitveSpan2">Datum pošiljanja vabil: </span>'.$datum_posiljanja.'</p>';
echo '<script type="text/javascript">
$(document).ready(function() {
$("#evoliDateTo").datepicker({
showOtherMonths: true,
selectOtherMonths: true,
changeMonth: true,
changeYear: true,
dateFormat: "dd.mm.yy",
showAnim: "slideDown",
showOn: "button",
buttonText: "",
onSelect: function(selected, evnt) {
evoli_tm_edit(\''.$row['id'].'\', \'date_to\', this.value); return false;
}
});
});
</script>';
echo '<br />';
// Preberemo vse oddelke za skupino
$oddelki = array();
$sqlD = sisplet_query("SELECT * FROM srv_evoli_teammeter_department WHERE tm_id='".$row['id']."'");
//echo '<span class="nastavitveSpan2">Oddelki (<a href="">Dodaj oddelek</a>): </span>';
echo '<p style="margin:3px;"><span class="nastavitveSpan2">Oddelki: </span>';
$oddelki_string = '';
while($rowD = mysqli_fetch_assoc($sqlD)) {
$oddelki[$rowD['id']] = $rowD['department'];
$oddelki_string .= $rowD['department'].', ';
}
if($oddelki_string != '')
echo substr($oddelki_string, 0, -2);
else
echo '<br />';
echo '</p>';
// Dodaj nov oddelek
echo '<p style="margin:3px;">';
echo '<span class="nastavitveSpan2">Dodaj nov oddelek: </span><input type="text" id="tm_add_oddelek" size="20" value=""></input>';
echo ' <a href="#" onClick="evoli_tm_settings_add_oddelek(\''.$row['id'].'\'); return false;"><span class="bold">Dodaj</span></a>';
echo ' <span class="red italic spaceLeft">(Naknadno brisanje oddelkov ni mogoče!)</span>';
echo '</p>';
echo '<br />';
// Naknadno posiljanje vabil
// https://tools.evoli.si/admin/survey/modules/mod_EVOLI/team_meter.php?ank_id=SURVEY_ID&amp;email=CLIENT_EMAIL&amp;departments=1&amp;language=slo&amp;pass=GENERATED_PASSWORD
$url = $site_url.'admin/survey/modules/mod_EVOLI/team_meter.php?';
$url .= 'ank_id='.$this->anketa;
$url .= '&language='.$language;
$url .= '&email='.$row['email'];
$url .= '&group_id='.$row['skupina_id'];
$url .= '&pass=evoli99admin';
echo '<span class="floatLeft spaceRight"><div class="buttonwrapper">';
echo '<a href="'.$url.'" class="ovalbutton ovalbutton_green" target="_blank">Naknadno pošiljanje vabil</a>';
echo '</div></span>';
echo '<br /><br />';
echo '</fieldset>';
echo '<br />';
// Urejanje responsov skupine (lahko urejamo oddelke)
echo '<fieldset><legend>'.$this->submodule_name.' - odgovori skupine "'.$row['skupina_naslov'].'"</legend>';
echo '<table class="styled_table">';
echo '<tr>';
echo '<th>Recnum</th>';
echo '<th>Email</th>';
echo '<th>Oddelek</th>';
echo '</tr>';
$sqlDD = sisplet_query("SELECT d.*, dd.usr_id, u.email, u.recnum
FROM srv_evoli_teammeter tm, srv_evoli_teammeter_department d, srv_evoli_teammeter_data_department dd, srv_user u
WHERE tm.ank_id='".$this->anketa."' AND tm.skupina_id='".$skupina_id."'
AND d.tm_id=tm.id AND dd.department_id=d.id AND dd.usr_id=u.id
ORDER BY u.email");
if (!$sqlDD) echo mysqli_error($GLOBALS['connect_db']);
while($rowDD = mysqli_fetch_assoc($sqlDD)) {
echo '<tr>';
echo '<td>'.$rowDD['recnum'].'</td>';
echo '<td>'.$rowDD['email'].'</td>';
echo '<td><select onChange="evoli_tm_change_oddelek(this.value, \''.$rowDD['usr_id'].'\');">';
foreach($oddelki as $key => $val){
echo '<option '.($key == $rowDD['id'] ? ' selected="selected"' : '').' value="'.$key.'">'.$val.'</option>';
}
echo '</select></td>';
echo '</tr>';
}
echo '</table>';
echo '</fieldset>';
// Link nazaj na splosne nastavitve
echo '<br />';
echo '<a href="index.php?anketa='.$this->anketa.'&a='.$this->submodule.'"><span class="bold" style="font-size:13px;"><< Nazaj na splošne nastavitve</span></a>';
echo '<br /><br />';
}
// Zgeneriramo pdf analizo
public function executeExport($skupina){
global $site_path;
global $site_url;
global $lang;
global $admin_type;
// Zgeneriramo zacasne csv datoteke
$this->prepareCSV($skupina);
// Poklicemo R skripto in zgeneriramo pdf
$this->executeR($skupina);
// Pripravimo file za download
if(file_exists($site_path . RESULTS_FOLDER . '/'.$this->execute_params['pdf_name'])){
$file = $site_path . RESULTS_FOLDER . '/'.$this->execute_params['pdf_name'];
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename='.basename($this->execute_params['pdf_name']));
header("Content-type: text/x-csv; charset=utf-8");
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
}
// Na koncu pobrisemo zacasne datoteke
if(!$this->debug)
$this->deleteTemp();
// Ugasnemo skripto:)
die();
}
// Poklicemo r skripto in vrnemo ime pdf-ja
private function executeR($skupina){
global $site_path;
$script = $site_path . SCRIPT_FOLDER . '/'.$this->execute_params['script_name'];
// Parametri za R
$params = $skupina;
// Poklicemo skripto
$out = exec('Rscript '.$script.' '.$params.' 2>&1', $output, $return_var);
// Debugiranje - izpis errorjev
if($this->debug && $admin_type == 0){
echo '<div>';
echo 'Rscript '.$script;
//echo '<br />'.$out.'<br />';
var_dump($output);
echo '</div>';
}
return true;
}
// Pripravimo zacasne datoteke
private function prepareCSV($skupina){
global $site_path;
$temp_folder = $site_path . TEMP_FOLDER.'/';
// Poskrbimo za datoteko s podatki
$SDF = SurveyDataFile::get_instance();
$SDF->init($this->anketa);
$_headFileName = $SDF->getHeaderFileName();
$_dataFileName = $SDF->getDataFileName();
if ($_headFileName != null && $_headFileName != '') {
$_HEADERS = unserialize(file_get_contents($_headFileName));
}
else {
echo 'Error! Empty file name!';
}
// Zaenkrat dopuscamo samo status 6 in brez lurkerjev
define('STATUS_FIELD', '$4', true);
define('LURKER_FIELD', '$5', true);
$status_filter = '('.STATUS_FIELD.' ~ /6|5/)&&('.LURKER_FIELD.'==0)';
//$status_filter = '($4 ~ /6|5/)&&($5==0)';
//$status_filter = '('.STATUS_FIELD.'==6)&&('.LURKER_FIELD.'==0)';
//$start_sequence = $_HEADERS['_settings']['dataSequence'];
$start_sequence = 1;
$end_sequence = $_HEADERS['_settings']['metaSequence']-1;
$field_delimit = ';';
// Filtriramo podatke po statusu in jih zapisemo v temp folder
if (IS_WINDOWS) {
$out = shell_exec('awk -F"|" "BEGIN {{OFS=\",\"} {ORS=\"\n\"}} '.$status_filter.'" '.$_dataFileName.' | cut -d "|" -f '.$start_sequence.'-'.$end_sequence.' >> '.$temp_folder.'/temp_data_'.$this->anketa.'.dat');
}
else {
$out = shell_exec('awk -F"|" \'BEGIN {{OFS=","} {ORS="\n"}} '.$status_filter.'\' '.$_dataFileName.' | cut -d \'|\' -f '.$start_sequence.'-'.$end_sequence.' >> '.$temp_folder.'/temp_data_'.$this->anketa.'.dat');
}
// Ustvarimo koncni CSV
if ($fd = fopen($temp_folder.'/temp_data_'.$this->anketa.'.dat', "r")) {
$fd2 = fopen($temp_folder.'/'.$this->execute_params['csv_name'], "w");
$convertType = 1; // kateri tip konvertiranja uporabimo
$convertTypes[1] = array('charSet' => 'windows-1250',
'delimit' => ';',
'newLine' => "\n",
'BOMchar' => "\xEF\xBB\xBF");
# dodamo boomchar za utf-8
fwrite($fd2, $convertTypes[$convertType]['BOMchar']);
# naredimo header row
$cnt = 0;
foreach ($_HEADERS AS $spid => $spremenljivka) {
if (count($spremenljivka['grids']) > 0) {
foreach ($spremenljivka['grids'] AS $gid => $grid) {
foreach ($grid['variables'] AS $vid => $variable ){
if ($spremenljivka['tip'] !== 'sm' && !($variable['variable'] == 'uid' && $variable['naslov'] == 'User ID')){
$output1 .= strip_tags($variable['variable']).$field_delimit;
$output2 .= '"'.strip_tags($variable['naslov']).'"'.$field_delimit;
if(strip_tags($variable['variable']) == 'skupina')
$skupina_pos = $cnt+1;
$cnt++;
}
}
}
}
}
// Na konec dodamo se naslov skupine (podjetja) in oddelka
$output1 .= 'skupina_ime'.$field_delimit;
$output1 .= 'oddelek_ime'.$field_delimit;
$output2 .= 'Ime podjetja'.$field_delimit;
$output2 .= 'Ime oddelka'.$field_delimit;
fwrite($fd2, $output1."\r\n");
fwrite($fd2, $output2."\r\n");
// Zakesiramo vse skupine za anketo
$skupine = array();
$sqlS = sisplet_query("SELECT tm.*, v.naslov AS naslov, v.vrstni_red AS vrstni_red
FROM srv_evoli_teammeter tm, srv_vrednost v
WHERE tm.ank_id='".$this->anketa."' AND v.id=tm.skupina_id");
while ($rowS = mysqli_fetch_assoc($sqlS)) {
$skupine[$rowS['vrstni_red']] = $rowS;
}
while ($line = fgets($fd)) {
$skupina_name = '';
$department_name = '';
// Pogledamo za katero skupino gre in kateri oddelek
$skupina_name = '';
$oddelek_name = '';
if($skupina_pos > 0){
$temp = array();
$temp = explode('|', $line);
$usr_id = $temp[0];
$skupina = $temp[$skupina_pos];
// Ime skupine za tekoci response
$skupina_name = $skupine[$skupina]['naslov'];
// Ime oddelka za tekoci response
$sqlO = sisplet_query("SELECT d.department
FROM srv_evoli_teammeter_department d, srv_evoli_teammeter_data_department dd, srv_evoli_teammeter e
WHERE dd.department_id=d.id AND dd.usr_id='".$usr_id."' AND e.skupina_id='".$skupine[$skupina]['skupina_id']."' AND e.id=d.tm_id AND e.ank_id='".$this->anketa."'");
if(mysqli_num_rows($sqlO) > 0){
$rowO = mysqli_fetch_assoc($sqlO);
$oddelek_name = $rowO['department'];
}
else{
$oddelek_name = '-1';
}
}
$line = '"' . str_replace(array("\r","\n","\"","|"), array("","","",'";"'), $line) . '"';
// Pocistimo usr_id na zacetku vrstice
$start_line = strpos($line, '"', 1) + 2;
$line = substr($line, $start_line);
// Dodamo na konec skupino in oddelek
$line .= $field_delimit.'"'.$skupina_name.'"';
$line .= $field_delimit.'"'.$oddelek_name.'"';
// Spremenimo encoding v windows-1250
//$line = iconv("UTF-8","Windows-1250//TRANSLIT", $line);
fwrite($fd2, $line);
fwrite($fd2, "\r\n");
}
fclose($fd2);
}
fclose($fd);
// Na koncu pobrisemo temp datoteke
if (file_exists($temp_folder.'/temp_data_'.$this->anketa.'.dat')) {
unlink($temp_folder.'/temp_data_'.$this->anketa.'.dat');
}
}
// Pobrisemo zacasne datoteke
private function deleteTemp(){
global $site_path;
$temp_folder = $site_path . TEMP_FOLDER.'/';
if (file_exists($temp_folder.'/data_'.$this->anketa.'.csv')) {
unlink($temp_folder.'/data_'.$this->anketa.'.csv');
}
// Pobrisemo zacasno CSV datoteko s podatki
if (file_exists($temp_folder.'/evoli_team.csv')) {
unlink($temp_folder.'/evoli_team.csv');
}
// Pobrisemo pdf grafe ki so bili vstavljeni v porocilo
$files = glob($site_path . RESULTS_FOLDER . '/part-predmet-slike/*');
foreach($files as $file){
if(is_file($file))
unlink($file);
}
$files = glob($site_path . RESULTS_FOLDER . '/slike/*');
foreach($files as $file){
if(is_file($file))
unlink($file);
}
// Pobrisemo še vse ostalo v rezultatih - azenkrat ne ker download pdf ne dela
$files = glob($site_path . RESULTS_FOLDER . '/*');
foreach($files as $file){
if(is_file($file))
unlink($file);
}
}
// Ajax klici
public function ajax(){
// Urejanje skupine
if($_GET['a'] == 'teammeter_edit'){
if(isset($_POST['tm_id']) && isset($_POST['what']) && isset($_POST['value'])){
$tm_id = $_POST['tm_id'];
$what = $_POST['what'];
$value = $_POST['value'];
// Datum popravimo v ustrezno obliko
if($what == 'date_to'){
$timestamp = strtotime($value);
$value = date("Y-m-d", $timestamp);
}
$sql = sisplet_query("UPDATE srv_evoli_teammeter SET ".$what."='".$value."' WHERE id='".$tm_id."'");
}
}
// Dodajanje oddelka
elseif($_GET['a'] == 'teammeter_add_oddelek'){
if(isset($_POST['tm_id']) && isset($_POST['oddelek']) && $_POST['oddelek'] != ''){
$tm_id = $_POST['tm_id'];
$oddelek = $_POST['oddelek'];
$sql = sisplet_query("INSERT INTO srv_evoli_teammeter_department (tm_id, department) VALUES ('".$tm_id."', '".$oddelek."')");
}
}
// Spreminjanje oddelka za respondenta
elseif($_GET['a'] == 'teammeter_change_oddelek'){
if(isset($_POST['department_id']) && isset($_POST['usr_id'])){
$department_id = $_POST['department_id'];
$usr_id = $_POST['usr_id'];
// Lahko imamo vec oddelkov za istega userja (napaka ki jo je tesko popravit:)) - zato najprej pobirsemo vse
$sql = sisplet_query("DELETE FROM srv_evoli_teammeter_data_department WHERE usr_id='".$usr_id."'");
// Potem nastavimo drug oddelek za respondenta
$sql = sisplet_query("INSERT INTO srv_evoli_teammeter_data_department (usr_id, department_id) VALUES ('".$usr_id."', '".$department_id."')");
}
}
}
}