1KA_F2F/admin/survey/classes/class.SurveyConnect.php

163 lines
5.7 KiB
PHP
Raw Normal View History

2020-08-14 13:36:36 +02:00
<?php
/**
* Class, ki se uporablja za povezovanje podatkov iz razlicnih anket
* zaenkrat je opcija, da se povezuje podatke na podlagi identifikatorja (npr. emaila)
*
*/
class SurveyConnect {
var $anketa; // trenutna anketa
var $db_table;
function __construct () {
// polovimo anketa ID
if (isset ($_GET['anketa']))
$this->anketa = $_GET['anketa'];
elseif (isset ($_POST['anketa']))
$this->anketa = $_POST['anketa'];
elseif ($anketa != 0)
$this->anketa = $anketa;
SurveyInfo::getInstance()->SurveyInit($this->anketa);
$this->db_table = SurveyInfo::getInstance()->getSurveyArchiveDBString();
2020-08-14 13:36:36 +02:00
}
function ajax () {
if ( $_GET['a'] == 'display' ) {
$this->ajax_display();
}
}
function ajax_display () {
global $global_user_id;
global $site_url;
global $lang;
$usr_id = $_POST['usr_id'];
$dostop = array();
$sqld = sisplet_query("SELECT ank_id FROM srv_dostop WHERE uid = '$global_user_id' AND dostop LIKE '%data%' ORDER BY ank_id DESC");
while ($rowd = mysqli_fetch_assoc($sqld)) {
$dostop[] = $rowd['ank_id'];
}
unset($sqld, $rowd);
$anydata = false;
// izberemo vse sistemske spremenljivke
$sql = sisplet_query("SELECT s.id, s.tip, s.naslov, s.variable FROM srv_spremenljivka s, srv_grupa g WHERE s.tip IN (1,2,3,21) AND s.sistem='1' AND s.gru_id=g.id AND g.ank_id='$this->anketa' ORDER BY g.vrstni_red, s.vrstni_red");
while ($row = mysqli_fetch_assoc($sql)) {
$hasdata = false;
// besedilo
if ( $row['tip'] == 21 ) {
// poiscemo identifikator za trenutno spremenljivko (glede na userja)
$sql1 = sisplet_query("SELECT text FROM srv_data_text".$this->db_table." WHERE spr_id='$row[id]' AND usr_id='$usr_id'");
while ($row1 = mysqli_fetch_assoc($sql1)) {
$unikat = $row1['text'];
if ($unikat != '') {
$echo = '<p><b>('.$row['variable'].') '.strip_tags($row['naslov']).'</b><br>';
$echo .= '('.$unikat.')<br>';
$echo .= '';
foreach ($dostop AS $anketa) {
$subsql = sisplet_query("SELECT s.id, a.naslov FROM srv_spremenljivka s, srv_grupa g, srv_anketa a WHERE s.tip IN (21) AND s.sistem='1' AND s.variable='$row[variable]' AND s.gru_id=g.id AND g.ank_id='$anketa' AND g.ank_id=a.id AND g.ank_id != '$this->anketa' AND a.active>='0'");
if (!$subsql) echo mysqli_error($GLOBALS['connect_db']);
while ($subrow = mysqli_fetch_assoc($subsql)) {
$subsql1 = sisplet_query("SELECT t.* FROM srv_data_text".$this->db_table." t, srv_user u WHERE t.spr_id='$subrow[id]' AND t.text = '$unikat' AND u.id=t.usr_id AND u.deleted='0'");
while ($subrow1 = mysqli_fetch_assoc($subsql1)) {
$echo .= '<a href="'.$site_url.'admin/survey/index.php?anketa='.$anketa.'&a=data&m=quick_edit&usr_id='.$subrow1['usr_id'].'&quick_view=1">'.strip_tags($subrow['naslov']).'</a><br>';
$hasdata = true;
}
}
}
$echo .= '</p>';
}
}
// radio, checkbox, roleta
} elseif ( $row['tip'] == 1 || $row['tip'] == 2 || $row['tip'] == 3 ) {
// poiscemo identifikator za trenutno spremenljivko (glede na userja)
$sql1 = sisplet_query("SELECT v.variable FROM srv_data_vrednost".$this->db_table." d, srv_vrednost v WHERE d.spr_id='$row[id]' AND d.usr_id='$usr_id' AND d.vre_id=v.id");
while ($row1 = mysqli_fetch_assoc($sql1)) {
$unikat = $row1['variable'];
if ($unikat != '') {
$echo = '<p><b>('.$row['variable'].') '.strip_tags($row['naslov']).'</b><br>';
//$echo .= '('.$unikat.')<br>';
$echo .= '';
foreach ($dostop AS $anketa) {
$subsql = sisplet_query("SELECT s.id, a.naslov, a.db_table FROM srv_spremenljivka s, srv_grupa g, srv_anketa a WHERE s.tip IN (1, 2, 3) AND s.sistem='1' AND s.variable='$row[variable]' AND s.gru_id=g.id AND g.ank_id='$anketa' AND g.ank_id=a.id AND g.ank_id != '$this->anketa' AND a.active>='0'");
if (!$subsql) echo mysqli_error($GLOBALS['connect_db']);
while ($subrow = mysqli_fetch_assoc($subsql)) {
switch($subrow['db_table']){
// Arhivska 1
case '0':
$db_table = '_archive1';
break;
// Arhivska 2
case '2':
$db_table = '_archive2';
break;
// Aktivna anketa
case '1':
default:
$db_table = '_active';
break;
}
2020-08-14 13:36:36 +02:00
$subsql1 = sisplet_query("SELECT d.* FROM srv_data_vrednost".$db_table." d, srv_vrednost v, srv_user u WHERE d.spr_id='$subrow[id]' AND d.vre_id=v.id AND v.variable='$unikat' AND u.id=d.usr_id AND u.deleted='0'");
if (!$subsql1) echo mysqli_error($GLOBALS['connect_db']);
while ($subrow1 = mysqli_fetch_assoc($subsql1)) {
$echo .= '<a href="'.$site_url.'admin/survey/index.php?anketa='.$anketa.'&a=data&m=quick_edit&usr_id='.$subrow1['usr_id'].'&quick_view=1">'.strip_tags($subrow['naslov']).'</a><br>';
$hasdata = true;
}
}
}
$echo .= '</p>';
}
}
}
if ($hasdata) {
echo $echo;
$anydata = true;
}
}
if ( $anydata == false ) {
#echo '<tr><td class="left"></td><td class="right">'.$lang['srv_no_data'].'</td></tr>';
echo ''.$lang['srv_no_data'].'';
}
}
}
?>