summaryrefslogblamecommitdiffstats
path: root/admin/survey/classes/class.SurveyConnect.php
blob: c945305401bed4af9be2fee791a4b89ddff93821 (plain) (tree)

























                                                                                      
                                                                                         




















































































                                                                                                                                                                                                                                                                                                                                                                 






















                                                                                      
































                                                                                                                                                                                                                                                                                      
<?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();
	}
	
	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;
									
									// Arhivska 3
                                    case '3':
                                        $db_table = '_archive3';
                                        break;
                                    
                                    // Aktivna anketa
                                    case '1':
                                    default:
                                        $db_table = '_active';
                                        break;
                                }
								
								$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'].'';
		}
	}
	
}

?>