2022-02-22 10:27:32 +01:00
< ? php
2022-02-22 12:18:33 +01:00
2022-02-22 10:27:32 +01:00
class LibraryBranching {
2022-02-22 12:18:33 +01:00
var $ank_id ; // Anketa znotraj katere urejamo knjiznico
var $tab = 0 ; // tip pove v bazi srv_library_folder za kater tip gre - 0->vprasanja, 1->ankete (vprasanja iz anket)
2022-02-22 10:27:32 +01:00
2022-02-22 12:18:33 +01:00
public function __construct () {
2022-02-22 10:27:32 +01:00
}
/**
2022-02-22 12:18:33 +01:00
* @ desc prikaze knjiznico znotraj ankete
2022-02-22 10:27:32 +01:00
*/
2022-02-22 12:18:33 +01:00
private function displayLibrary () {
2022-02-22 10:27:32 +01:00
global $admin_type ;
global $global_user_id ;
global $lang ;
2022-02-22 12:18:33 +01:00
// Naslov v oknu
echo '<h2></h2>' ;
// Tabi (vprasanja, ankete)
echo '<div id="lib_tabs" class="tabs">' ;
$this -> displayTabs ();
echo '</div>' ;
2022-02-22 10:27:32 +01:00
2022-02-22 12:18:33 +01:00
// Vsebina
echo '<div class="content">' ;
2022-02-22 10:27:32 +01:00
2022-02-22 12:18:33 +01:00
// Levi seznam folderjev
echo '<div id="lib_folder_list" class="content_left folder_list">' ;
$this -> displayFolderList ();
echo '</div>' ;
// Desna vsebina
echo '<div id="lib_folder_list" class="content_right folder_list">' ;
// Seznam vprasanj
echo '<div id="lib_question_list" class="question_list">' ;
$this -> displayQuestionList ();
echo '</div>' ;
// Gumbi na dnu
echo '<div id="lib_question_list" class="button_holder">' ;
$this -> displayButtons ();
echo '</div>' ;
echo '</div>' ;
echo '</div>' ;
2022-02-22 10:27:32 +01:00
}
2022-02-22 12:18:33 +01:00
// Prikazemo tabe - vprasanja / ankete
private function displayTabs (){
2022-02-22 10:27:32 +01:00
global $lang ;
2022-02-22 12:18:33 +01:00
// Tab vprasanja
echo '<div id="tab_0" class="tab ' . ( $this -> tab == 0 ? 'active' : '' ) . '" onClick="displayLibraryTab(\'0\'); return false;">' ;
echo $lang [ 'srv_vprasanja' ];
echo '</div>' ;
// Tab ankete
echo '<div id="tab_1" class="tab ' . ( $this -> tab == 1 ? 'active' : '' ) . '" onClick="displayLibraryTab(\'1\'); return false;">' ;
echo $lang [ 'srv_ankete' ];
echo '</div>' ;
2022-02-22 10:27:32 +01:00
}
2022-02-22 12:18:33 +01:00
// Prikazemo seznam folderjev na levi
private function displayFolderList (){
2022-02-22 10:27:32 +01:00
global $global_user_id ;
global $lang ;
2022-02-22 12:18:33 +01:00
// Prikazemo seznam mojih folderjev v knjiznci
$this -> displayFolderParent ( $parent = 0 , $uid = $global_user_id );
2022-02-22 10:27:32 +01:00
2022-02-22 12:18:33 +01:00
// Prikazemo seznam javnih folderjev v knjiznci
$this -> displayFolderParent ( $parent = 0 , $uid = 0 );
2022-02-22 10:27:32 +01:00
}
2022-02-22 12:18:33 +01:00
private function displayFolderParent ( $parent , $uid ) {
2022-02-22 10:27:32 +01:00
global $lang ;
global $admin_type ;
global $global_user_id ;
global $site_url ;
2022-02-22 12:18:33 +01:00
// Ce gre za root mapo prikazemo z ustreznim jezikom
if ( $parent == 0 && $uid == 0 ) {
$language = " AND lang=' " . $lang [ 'id' ] . " ' " ;
2022-02-22 10:27:32 +01:00
}
2022-02-22 12:18:33 +01:00
// Dobimo vse folderje za parenta
$sqlFolders = sisplet_query ( " SELECT id, naslov
FROM srv_library_folder
WHERE uid = '".$uid."' AND parent = '".$parent."' AND tip = '".$this->tab."' AND " . $language . "
ORDER BY naslov
" );
if ( ! $sqlFolders )
2022-02-22 10:27:32 +01:00
echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
2022-02-22 12:18:33 +01:00
// Za prvic ko pride user, da mu dodamo folder
if ( mysqli_num_rows ( $sqlFolders ) == 0 && $uid > 0 && $parent == 0 ){
2022-02-22 10:27:32 +01:00
2022-02-22 12:18:33 +01:00
// Nastavimo naslov mape
$naslov = ( $this -> tab == 0 ) ? $lang [ 'srv_moja_vprasanja' ] : $lang [ 'srv_moje_ankete' ];
2022-02-22 10:27:32 +01:00
2022-02-22 12:18:33 +01:00
sisplet_query ( " INSERT INTO srv_library_folder
( uid , tip , naslov , parent , lang )
VALUES
( '".$uid."' , '".$this->tab."' , '".$naslov."' , '0' , '".$lang[' id ']."' )
" );
2022-02-22 10:27:32 +01:00
2022-02-22 12:18:33 +01:00
$sqlFolders = sisplet_query ( " SELECT id, naslov
FROM srv_library_folder
WHERE uid = '".$uid."' AND parent = '".$parent."' AND tip = '".$this->tab."'
ORDER BY naslov
" );
if ( ! $sqlFolders )
2022-02-22 10:27:32 +01:00
echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
}
2022-02-22 12:18:33 +01:00
// Loop po vseh mapah znotraj parenta
while ( $row = mysqli_fetch_array ( $sql )) {
2022-02-22 10:27:32 +01:00
echo ' <li id="li' . $row [ 'id' ] . '" eid="' . $row [ 'id' ] . '" class="folder" name="folder">' ;
if ( $parent != 0 )
echo ' <a href="/" onclick="javascript:library_folders_plusminus(\'' . $row [ 'id' ] . '\',\'' . $this -> tab . '\',\'' . $this -> prva . '\'); return false;" id="f_pm_' . $row [ 'id' ] . '"><span class="faicon icon-blue ' . ( $hidden ? 'plus' : 'minus' ) . '"></span></a>' ;
else
echo ' <span class="sprites spacer12"></span>' ;
echo ' <span class="' . ( $parent != 0 || $uid > 0 || $admin_type == 0 ? ' folderdrop' : '' ) . '" id="sp' . $row [ 'id' ] . '" eid="' . $row [ 'id' ] . '"><span class="faicon folder icon-blue' . ( $parent != 0 ? ' movable' : '' ) . '"></span>' .
' <span ' . ( $admin_type == 0 || $uid > 0 ? 'title="' . $lang [ 'srv_rename_profile' ] . '" onclick="folder_rename(\'' . $row [ 'id' ] . '\'); return false;"' : '' ) . '>' . $row [ 'naslov' ] . '</span>' ;
if ( $admin_type == 0 || $uid > 0 )
echo ' <a href="/" onclick="javascript:library_new_folder(\'' . $row [ 'id' ] . '\',\'' . $uid . '\'); return false;"><span class="faicon add icon-blue-hover-orange small new_folder" id="new_folder_' . $row [ 'id' ] . '" title="' . $lang [ 'srv_newfolder' ] . '"></span></a>' ;
if ( $parent != 0 && ( $admin_type == 0 || $uid > 0 ) )
echo ' <a href="/" onclick="javascript:library_delete_folder(\'' . $row [ 'id' ] . '\',\'' . $this -> tab . '\',\'' . $this -> prva . '\'); return false;"><span class="faicon remove icon-orange small delete_folder" id="delete_folder_' . $row [ 'id' ] . '" title="' . $lang [ 'srv_deletefolder' ] . '"></span></a>' ;
echo ' </span>' . " \n " ;
echo '<ul id="folder_' . $row [ 'id' ] . '"' . ( $hidden ? ' style="display:none"' : '' ) . '>' . " \n " ;
$this -> display_contentfolders ( $row [ 'id' ], $uid );
$this -> display_ifs ( $row [ 'id' ]);
// Izpis spremenljivk v folderju - v root folderju ne izpisujemo vprasanj (ker jih itak ne sme bit)
if ( ! ( $this -> tip == 0 && $parent == 0 && $uid == 0 )){
if ( $this -> tip == 0 )
$sql1 = sisplet_query ( " SELECT * FROM srv_spremenljivka WHERE folder = ' $row[id] ' AND gru_id='-1' ORDER BY naslov ASC " );
else
$sql1 = sisplet_query ( " SELECT * FROM srv_anketa a, srv_library_anketa l WHERE a.id=l.ank_id AND l.folder=' $row[id] ' AND l.uid=' $uid ' ORDER BY naslov ASC " );
if ( ! $sql1 ) echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
if ( mysqli_num_rows ( $sql1 ) > 0 ) {
while ( $row1 = mysqli_fetch_array ( $sql1 )) {
echo '<li class="anketa tip' . $this -> tip . '">' ;
echo ' <div copy="' . $row1 [ 'id' ] . '" eid="' . $row1 [ 'id' ] . '" class="folder_container ' . ( $this -> tip == 0 ? 'new_spr' : '' ) . '" name="library">' ;
echo ' <div class="folder_right">' ;
if ( $this -> tip == 0 ) {
//echo '<a href="/" onclick="javascript:copy_spremenljivka(\''.$row1['id'].'\'); return false;"><img src="img_'.$this->skin.'/copy.png" title="'.$lang['srv_copy_spr'].'" /></a>';
if ( $admin_type == 0 or $uid == $global_user_id )
echo ' <a href="/" onclick="library_brisi_spremenljivko(\'' . $row1 [ 'id' ] . '\', \'' . $lang [ 'srv_brisispremenljivkoconfirm' ] . '\',\'' . $this -> tab . '\',\'' . $this -> prva . '\'); return false;"><span class="faicon delete_circle icon-orange" title="' . $lang [ 'srv_brisispremenljivko' ] . '"></span></a>' ;
}
else {
SurveyInfo :: getInstance () -> SurveyInit ( $row1 [ 'id' ]);
if ( $this -> prva == " 1 " ) {
// Dodaj anketo v javno knjiznico
if ( $admin_type == 0 && $this -> tab == 3 ) {
$sqlPublic = sisplet_query ( " SELECT * FROM srv_library_anketa WHERE ank_id=' " . $row1 [ 'id' ] . " ' AND uid='0' " );
if ( ! $sqlPublic ) echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
// Anketa ze obstaja v javni knjiznici - jo pobrisemo
if ( mysqli_num_rows ( $sqlPublic ) > 0 ) {
echo ' <a href="/" onclick="surveyList_knjiznica_new(\'' . $row1 [ 'id' ] . '\'); return false;" title="' . $lang [ 'srv_ank_lib_off' ] . '">' ;
echo ' <span class="sprites faicon remove icon-orange small"></span> <span class="library_item_setting_text">' . $lang [ 'srv_ank_lib_off' ] . '</span>' ;
echo ' </a>' ;
}
// Anketo dodamo v javno knjiznico
else {
echo ' <a href="/" onclick="surveyList_knjiznica_new(\'' . $row1 [ 'id' ] . '\'); return false;" title="' . $lang [ 'srv_ank_lib_on' ] . '">' ;
echo ' <span class="sprites faicon library"></span> <span class="library_item_setting_text">' . $lang [ 'srv_ank_lib_on' ] . '</span>' ;
echo ' </a>' ;
}
}
// nova anketa kot template iz knjiznice
echo '<a href="/" onclick="anketa_copy(\'' . $row1 [ 'id' ] . '\'); return false;" title="' . $lang [ 'srv_library_use_survey' ] . '"><span class="faicon copy"></span> <span class="library_item_setting_text">' . $lang [ 'srv_anketacopy' ] . '</span></a> ' ;
if ( SurveyInfo :: getInstance () -> checkSurveyModule ( 'uporabnost' ))
echo '<a href="' . $site_url . 'main/survey/uporabnost.php?anketa=' . SurveyInfo :: getInstance () -> getSurveyHash () . '&preview=on" target="_blank" title="' . $lang [ 'srv_poglejanketo' ] . '"><span class="faicon preview"></span> <span class="library_item_setting_text">' . $lang [ 'srv_poglejanketo2' ] . '</span></a> ' ;
else
echo '<a href="' . $site_url . 'main/survey/index.php?anketa=' . SurveyInfo :: getInstance () -> getSurveyHash () . '&preview=on" target="_blank" title="' . $lang [ 'srv_poglejanketo' ] . '"><span class="faicon preview"></span> <span class="library_item_setting_text">' . $lang [ 'srv_poglejanketo2' ] . '</span></a> ' ;
// brisi iz knjiznice
if ( $admin_type == 0 ) {
echo ' <a href="index.php?anketa=' . $row1 [ 'id' ] . '" title="' . $lang [ 'srv_editirajanketo' ] . '"><span class="faicon edit"></span> <span class="library_item_setting_text">' . $lang [ 'edit3' ] . '</span></a>' ;
}
if ( $admin_type == 0 && $this -> tab == 2 ) { // sistemska
echo ' <a href="/" onclick="library_del_anketa(\'' . $row1 [ 'id' ] . '\', \'' . $lang [ 'srv_anketadeletelibrary_4' ] . '\',\'' . $this -> tab . '\',\'' . $this -> prva . '\'); return false;" title="' . $lang [ 'srv_ank_lib_off' ] . '"><span class="sprites faicon remove icon-orange small"></span> <span class="library_item_setting_text">' . $lang [ 'hour_remove' ] . '</span></a>' ;
}
if ( $this -> tab == 3 ){ // moja knjiznica
echo ' <a href="/" onclick="library_del_myanketa(\'' . $row1 [ 'id' ] . '\', \'' . $lang [ 'srv_anketadeletelibrary_3' ] . '\',\'' . $this -> tab . '\',\'' . $this -> prva . '\'); return false;" title="' . $lang [ 'srv_ank_mylib_off' ] . '"><span class="faicon remove icon-orange small"></span> <span class="library_item_setting_text">' . $lang [ 'hour_remove' ] . '</span></a>' ;
}
}
else {
if ( SurveyInfo :: getInstance () -> checkSurveyModule ( 'uporabnost' ))
echo '<a href="' . $site_url . 'main/survey/uporabnost.php?anketa=' . SurveyInfo :: getInstance () -> getSurveyHash () . '&preview=on" target="_blank" title="' . $lang [ 'srv_poglejanketo' ] . '"><span class="faicon preview"></span></a>' ;
else
echo '<a href="' . $site_url . 'main/survey/index.php?anketa=' . SurveyInfo :: getInstance () -> getSurveyHash () . '&preview=on" target="_blank" title="' . $lang [ 'srv_poglejanketo' ] . '"><span class="faicon preview"></span></a>' ;
// moznost da povozi anketo z anketo iz knjiznice
//TEGA NE DOVOLIMO KER NI OK DA SE KAR PREPISE OBSTOJECO ANKETO - anketo iz knjiznice se lahko po novem dodaja samo iz mojih anket oz. pri ustvarjanju
echo ' <a href="/" onclick="alert_copy_anketa(\'' . $row1 [ 'id' ] . '\'); return false;"><span class="sprites copy_small" title="' . $lang [ 'srv_copy_srv' ] . '"></span></a>' ;
}
}
echo '</div>' ;
echo ' <div class="folder_left' . ( $this -> tip == 1 ? ' indent"' : '" onclick="library_spremenljivka_new(\'' . $row1 [ 'id' ] . '\'); return false;"' ) . '>' ;
if ( $this -> tip == 1 && $this -> prva == " 0 " ) {
echo '<a href="/" onclick="javascript:library_anketa_plusminus(\'' . $row1 [ 'id' ] . '\', this); return false;"><span class="faicon icon-blue plus" style="opacity: 0.3"></span></a> ' ;
} else {
if ( $this -> tip != 0 )
echo ' <span class="sprites spacer12"></span>' ;
}
if ( $this -> tip == 0 ) {
if ( $row1 [ 'tip' ] == 1 || $row1 [ 'tip' ] == 2 || $row1 [ 'tip' ] == 3 || $row1 [ 'tip' ] == 21 || $row1 [ 'tip' ] == 7 )
$ikonca = 'osnovna_vprasanja' ;
elseif ( $row1 [ 'tip' ] == 6 || $row1 [ 'tip' ] == 16 || $row1 [ 'tip' ] == 19 || $row1 [ 'tip' ] == 20 )
$ikonca = 'table' ;
else
$ikonca = 'other_vprasanja' ;
} else {
$ikonca = 'anketa' ;
}
echo '<span class="faicon ' . $ikonca . ' mapca icon-blue" style="display:inline-block"></span> ' ;
echo skrajsaj ( strip_tags ( $row1 [ 'naslov' ]), 40 ) . '</a>' . " \n " ;
echo ' </div>' ;
if ( $this -> prva == " 0 " ) {
echo '<div id="anketa_vprasanja_' . $row1 [ 'id' ] . '" class="anketa_vprasanja">' ;
if ( $this -> tip == 1 ) {
$sql2 = sisplet_query ( " SELECT s.id, s.naslov, s.tip FROM srv_spremenljivka s, srv_grupa g WHERE s.gru_id=g.id AND g.ank_id=' $row1[id] ' " );
while ( $row2 = mysqli_fetch_array ( $sql2 )) {
if ( $row2 [ 'tip' ] == 1 || $row2 [ 'tip' ] == 2 || $row2 [ 'tip' ] == 3 || $row2 [ 'tip' ] == 21 || $row2 [ 'tip' ] == 7 )
$ikonca = 'osnovna_vprasanja' ;
elseif ( $row2 [ 'tip' ] == 6 || $row2 [ 'tip' ] == 16 || $row2 [ 'tip' ] == 19 || $row2 [ 'tip' ] == 20 )
$ikonca = 'table' ;
else
$ikonca = 'other_vprasanja' ;
echo '<span class="new_spr" copy="' . $row2 [ 'id' ] . '" onclick="library_spremenljivka_new(\'' . $row2 [ 'id' ] . '\'); return false;"><span class="faicon ' . $ikonca . ' icon-blue" title="' . $lang [ 'srv_copy_spr' ] . '" style="display:inline-block"></span>' ;
echo ' ' . skrajsaj ( strip_tags ( $row2 [ 'naslov' ]), 40 ) . '</span>' ;
}
}
echo '</div>' ;
}
echo '</div></li>' ;
}
}
}
echo ' </ul>' . " \n " ;
echo ' </li>' . " \n " ;
}
2022-02-22 12:18:33 +01:00
}
2022-02-22 10:27:32 +01:00
2022-02-22 12:18:33 +01:00
private function displayFolderItem ( $id , $title , $child_count , $active = false ) {
global $lang ;
2022-02-22 10:27:32 +01:00
2022-02-22 12:18:33 +01:00
echo '<div class="folder_item ' . ( $active ? 'active' : '' ) . '" onClick="toggleLibraryFolder(\'' . $id . '\');">' ;
// Ikoni puscice in mape
echo ' <span class="faicon folder_arrow_icon"></span>' ;
echo ' <span class="faicon folder_icon"></span>' ;
// Naslov folderja
echo ' <span class="folder_item_title">' . $title . '</span>' ;
// Stevilo itemov v folderju
echo ' <span class="folder_item_child_count">' . $child_count . '</span>' ;
// Tri pikice za prikaz urejanja folderja
echo ' <span class="faicon dots_ver"></span>' ;
// Skrit div za urejanje folderja
echo ' <div class="folder_item_settings">' ;
echo ' Test' ;
echo ' </div>' ;
echo '</div>' ;
}
/**
* Popup pri dodajanju itema v knjiznico - potrditev , izbira folderja , urejanje naslova
*
* type
* - 0 -> anketa
* - 1 -> vprasanja
* - 2 -> if / blok
*/
public function displayAddIntoLibrary ( $id , $type ){
global $lang ;
// Naslov v oknu
echo '<h2>' . $lang [ '' ] . '</h2>' ;
// Vsebina
echo '<div class="content">' ;
echo 'Dodajanje...' ;
echo '</div>' ;
2022-02-22 10:27:32 +01:00
}
2022-02-22 12:18:33 +01:00
2022-02-22 10:27:32 +01:00
/**
* @ desc prikaze ife / bloke v knjiznici
*/
function display_ifs ( $folder ) {
global $lang , $admin_type ;
$sql = sisplet_query ( " SELECT * FROM srv_if WHERE folder = ' $folder ' ORDER BY label ASC, id ASC " );
while ( $row = mysqli_fetch_array ( $sql )) {
echo '<li class="anketa tip0">' ;
echo ' <div eid="' . $row [ 'id' ] . '" copy="' . $row [ 'id' ] . '" class="folder_container new_if" name="library_if">' ;
echo ' <div class="folder_right">' ;
if ( $admin_type == 0 or $this -> tab == 1 )
echo ' <a href="/" onclick="library_if_remove(\'' . $row [ 'id' ] . '\', \'' . $lang [ 'srv_brisispremenljivkoconfirm' ] . '\'); return false;"><span class="faicon delete_circle icon-orange" title="' . ( $row [ 'tip' ] == 0 ? $lang [ 'srv_if_rem' ] : $lang [ 'srv_block_rem' ]) . '"></span></a>' ;
echo ' </div>' ;
echo ' <div class="folder_left' . ( $this -> tip == 1 ? ' indent' : '' ) . '" onclick="library_if_new(\'' . $row [ 'id' ] . '\'); return false;">' ;
echo '<span class="faicon ' . ( $row [ 'tip' ] == 0 ? 'if' : 'b' ) . ' mapca icon-blue"></span> ' ;
echo skrajsaj ( strip_tags (( $row [ 'label' ] != '' ? $row [ 'label' ] : ( $row [ 'tip' ] == 0 ? $lang [ 'srv_pogoj' ] : $lang [ 'srv_blok' ]))), 40 ) . '</a>' . " \n " ;
echo ' </div>' ;
echo '</div></li>' ;
}
}
/**
* @ desc prikaze seznam iskanih anket v knjiznici
*/
function display_contentfolders_searchList () {
global $lang ;
global $admin_type ;
global $global_user_id ;
global $site_url ;
$language = " " ;
if ( $this -> tab == 2 )
$uid = 0 ;
else
$uid = $global_user_id ;
if ( $uid == 0 )
$language = " AND lang=' $lang[id] ' " ;
// v skrite html elemente shranimo tab, in prva
echo '<input type="hidden" name="lib_tab" id="lib_tab" value="' . $this -> tab . '">' ;
echo '<input type="hidden" name="lib_tip" id="lib_tip" value="1">' ;
echo '<input type="hidden" name="lib_prva" id="lib_prva" value="1">' ;
echo '<ul title="' . ( $uid == 0 ? $lang [ 'srv_library_left' ] : $lang [ 'srv_library_left_right' ]) . '" style="padding-left:0; margin-left:-12px; margin-top:10px;" class="' . ( $admin_type == 0 || $uid == $global_user_id ? 'can_edit' : '' ) . '">' . " \n " ;
// Sestavimo query za search po knjiznici
$search_query = $this -> getSearchString ();
$sql1 = sisplet_query ( " SELECT sa.*
FROM srv_anketa sa , srv_library_anketa l , srv_grupa sg , srv_spremenljivka ss , srv_vrednost sv
WHERE sa . id = l . ank_id AND sg . ank_id = sa . id AND ss . gru_id = sg . id AND sv . spr_id = ss . id
AND l . uid = '$uid' " . $search_query . "
GROUP BY sa . id
ORDER BY sa . naslov ASC " );
if ( ! $sql1 ) echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
// Loop po najdenih anketah
if ( mysqli_num_rows ( $sql1 ) > 0 ) {
while ( $row1 = mysqli_fetch_array ( $sql1 )) {
echo '<li class="anketa tip1">' ;
echo ' <div copy="' . $row1 [ 'id' ] . '" eid="' . $row1 [ 'id' ] . '" class="folder_container" name="library">' ;
echo ' <div class="folder_right">' ;
SurveyInfo :: getInstance () -> SurveyInit ( $row1 [ 'id' ]);
// nova anketa kot template iz knjiznice
echo '<a href="/" onclick="anketa_copy(\'' . $row1 [ 'id' ] . '\'); return false;" title="' . $lang [ 'srv_library_use_survey' ] . '"><span class="faicon copy"></span> ' . $lang [ 'srv_anketacopy' ] . '</a> ' ;
// Preview
if ( SurveyInfo :: getInstance () -> checkSurveyModule ( 'uporabnost' ))
echo '<a href="' . $site_url . 'main/survey/uporabnost.php?anketa=' . SurveyInfo :: getInstance () -> getSurveyHash () . '&preview=on" target="_blank" title="' . $lang [ 'srv_poglejanketo' ] . '"><span class="faicon preview"></span> ' . $lang [ 'srv_poglejanketo2' ] . '</a> ' ;
else
echo '<a href="' . $site_url . 'main/survey/index.php?anketa=' . SurveyInfo :: getInstance () -> getSurveyHash () . '&preview=on" target="_blank" title="' . $lang [ 'srv_poglejanketo' ] . '"><span class="faicon preview"></span> ' . $lang [ 'srv_poglejanketo2' ] . '</a> ' ;
// Urejanje - admin
if ( $admin_type == 0 )
echo ' <a href="index.php?anketa=' . $row1 [ 'id' ] . '" title="' . $lang [ 'srv_editirajanketo' ] . '"><span class="faicon edit"></span> ' . $lang [ 'edit3' ] . '</a>' ;
// Brisanje - admin iz javne knjiznice
if ( $admin_type == 0 && $this -> tab == 2 )
echo ' <a href="/" onclick="library_del_anketa(\'' . $row1 [ 'id' ] . '\', \'' . $lang [ 'srv_anketadeletelibrary_4' ] . '\',\'' . $this -> tab . '\',\'' . $this -> prva . '\'); return false;" title="' . $lang [ 'srv_ank_lib_off' ] . '"><span class="faicon remove icon-orange small"></span> ' . $lang [ 'hour_remove' ] . '</a>' ;
// Brisanje - uporabnik iz moje knjiznice
if ( $this -> tab == 3 )
echo ' <a href="/" onclick="library_del_myanketa(\'' . $row1 [ 'id' ] . '\', \'' . $lang [ 'srv_anketadeletelibrary_3' ] . '\',\'' . $this -> tab . '\',\'' . $this -> prva . '\'); return false;" title="' . $lang [ 'srv_ank_mylib_off' ] . '"><span class="faicon remove icon-orange small"></span> ' . $lang [ 'hour_remove' ] . '</a>' ;
echo '</div>' ;
echo ' <div class="folder_left' . ( $this -> tip == 1 ? ' indent"' : '" onclick="library_spremenljivka_new(\'' . $row1 [ 'id' ] . '\'); return false;"' ) . '>' ;
echo ' <span class="sprites spacer12"></span>' ;
$ikonca = 'anketa' ;
echo '<span class="faicon ' . $ikonca . ' mapca icon-blue" style="display:inline-block"></span> ' ;
// Ce gre za search moramo ustrezno pobarvati najden del besede
$text_searched = $row1 [ 'naslov' ];
if ( $this -> isSearch == 1 && $this -> searchSettings [ 'stype' ] == '0' ){
foreach ( $this -> searchStringProcessed as $search_word ){
// Pobarvamo najden niz v naslovu ankete
preg_match_all ( " / $search_word +/i " , $text_searched , $matches );
if ( is_array ( $matches [ 0 ]) && count ( $matches [ 0 ]) >= 1 ) {
foreach ( $matches [ 0 ] as $match ) {
$text_searched = str_replace ( $match , '<span class="red">' . $match . '</span>' , $text_searched );
}
}
}
}
echo skrajsaj ( $text_searched , 40 ) . '</a>' . " \n " ;
echo ' </div>' ;
echo '</div></li>' ;
}
}
echo ' </ul>' . " \n " ;
echo ' </li>' . " \n " ;
if ( $parent == 0 ) {
echo '</ul>' . " \n " ;
}
if ( $parent == 0 ) {
?>
< script type = " text/javascript " >
$ ( function () {
library ();
});
</ script >
< ? php
}
}
// Prikazemo nastavitve za napredno iskanje ce iscemo po anketah znotraj knjiznice
private function displaySearchSettings (){
global $lang ;
global $site_url ;
echo '<span class="title">' . $lang [ 's_search_settings_lib' ] . '</span>' ;
echo '<form method="GET" id="1kasf2" action="' . $site_url . 'admin/survey/index.php?a=knjiznica">' ;
// Hidden polja za knjiznico
echo '<input type="hidden" name="a" value="knjiznica">' ;
if ( $this -> tab == '3' )
echo '<input type="hidden" name="t" value="moje_ankete">' ;
// Iskano geslo
echo '<p>' ;
echo ' <span class="bold">' . $lang [ 's_search2' ] . ':</span> <input type="text" name="search" id="searchMySurveyText" value="' . htmlentities ( $this -> searchString ) . '" placeholder="' . $lang [ 's_search' ] . '" />' ;
echo '</p>' ;
// Iskanje po naslovu ali avtorju ali besedilu
echo '<p>' ;
echo ' <span>' . $lang [ 's_thru' ] . ': </span>' ;
echo ' <label for="stype_0"><input type="radio" name="stype" id="stype_0" value="0" ' . ( $this -> searchSettings [ 'stype' ] == '0' ? ' checked="checked"' : '' ) . ' />' . $lang [ 's_title' ] . '</label>' ;
echo ' <label for="stype_1"><input type="radio" name="stype" id="stype_1" value="1" ' . ( $this -> searchSettings [ 'stype' ] == '1' ? ' checked="checked"' : '' ) . ' />' . $lang [ 's_text' ] . '</label>' ;
echo '</p>' ;
// Gumba isci in zapri
echo '<span style="margin-top: 10px;" class="floatRight spaceRight">' ;
echo ' <div class="buttonwrapper floatLeft spaceRight">' ;
echo ' <a class="ovalbutton ovalbutton_gray" href="' . $site_url . 'admin/survey/index.php?a=knjiznica' . ( $this -> tab == '3' ? '&t=moje_ankete' : '' ) . '"><span>' . $lang [ 'srv_zapri' ] . '</span></a>' ;
echo ' </div>' ;
echo ' <div class="buttonwrapper floatRight">' ;
echo ' <a class="ovalbutton ovalbutton_orange" href="#" onclick="$(\'#1kasf2\').submit(); return false;"><span>' . $lang [ 's_search' ] . '</span></a>' ;
echo ' </div>' ;
echo '</span>' ;
// Link na isci po mojih anketah
echo '<span class="link"><a href="' . $site_url . 'admin/survey/index.php?search=' . $this -> searchString . '">' . $lang [ 's_search_mySurvey' ] . '</a></span>' ;
echo '<input style="display: none;" value="Išči" type="submit">' ;
echo '</form>' ;
}
// Prikazemo search okno za iskanje po anketah znotraj knjiznice
private function displaySearch (){
global $lang ;
global $site_url ;
echo '<form method="GET" id="1kasmysurvey" action="' . $site_url . 'admin/survey/index.php">' ;
// Hidden polja za knjiznico
echo '<input type="hidden" name="a" value="knjiznica">' ;
if ( $this -> tab == '3' )
echo '<input type="hidden" name="t" value="moje_ankete">' ;
//echo '<span class="sprites search"></span> ';
echo '<input id="searchMySurvey" class="floatLeft" type="text" value="" placeholder="' . $lang [ 's_search_Library' ] . '" name="search" />' ;
//echo '<input type="submit" value="' . $lang['s_search'] . '" />';
echo ' <div class="buttonwrapper floatLeft">' ;
echo ' <a class="ovalbutton ovalbutton_orange" href="#" onclick="$(\'#1kasmysurvey\').submit(); return false;"><span>' . $lang [ 's_search2' ] . '</span></a>' ;
echo ' </div>' ;
echo '</form>' ;
}
// vrne sql string za search po anketah glede na nastavitve searcha
private function getSearchString (){
$search_text = mysqli_real_escape_string ( $GLOBALS [ 'connect_db' ], $this -> searchString );
// Vse gre v lowerstring
$search_text = strtolower ( $search_text );
// Sklanjamo po search besedi
$search_text = explode ( " " , $search_text );
for ( $a = 0 ; $a < sizeof ( $search_text ); $a ++ ) {
if ( strlen ( $search_text [ $a ]) > 5 )
$search_text [ $a ] = substr ( $search_text [ $a ], 0 , - 2 );
elseif ( strlen ( $search_text [ $a ]) > 2 )
$search_text [ $a ] = substr ( $search_text [ $a ], 0 , - 1 );
else
$search_text [ $a ] = $search_text [ $a ];
$this -> searchStringProcessed [ $a ] = $search_text [ $a ];
$search_text [ $a ] = '%' . $search_text [ $a ] . '%' ;
}
$search_text = implode ( " " , $search_text );
// Search po kljucnih besedah znotraj vprasanj (naslovi vprasanj in vrednosti)
if ( $this -> searchSettings [ 'stype' ] == '1' )
$result = " AND (LOWER(sa.introduction) LIKE LOWER(' " . $search_text . " ')
OR LOWER ( sa . conclusion ) LIKE LOWER ( '".$search_text."' )
OR LOWER ( ss . naslov ) LIKE LOWER ( '".$search_text."' )
OR LOWER ( sv . naslov ) LIKE LOWER ( '".$search_text."' )) " ;
// Search po naslovu
else
$result = " AND (LOWER(sa.naslov) LIKE LOWER(' " . $search_text . " ') OR LOWER(sa.akronim) LIKE LOWER(' " . $search_text . " ')) " ;
return $result ;
}
/**
* @ desc pohendla ajax klice
*/
function ajax () {
if ( isset ( $_POST [ 'tab' ]))
$this -> tab = ( int ) $_POST [ 'tab' ];
else if ( isset ( $_GET [ 'tab' ]))
$this -> tab = ( int ) $_GET [ 'tab' ];
if ( $this -> tab == 'undefined' )
$this -> tab = 0 ;
if ( isset ( $_POST [ 'prva' ]))
$this -> prva = $_POST [ 'prva' ];
else if ( isset ( $_GET [ 'prva' ]))
$this -> prva = $_GET [ 'prva' ];
if ( $this -> prva == 'undefined' )
$this -> prva = 0 ;
if ( $this -> tab <= 1 )
$this -> tip = 0 ;
else
$this -> tip = 1 ;
if ( $_GET [ 'a' ] == 'display_knjiznica' ) {
$this -> ajax_display_knjiznica ();
} elseif ( $_GET [ 'a' ] == 'library_add' ) {
$this -> ajax_library_add ();
} elseif ( $_GET [ 'a' ] == 'spr_dropped' ) {
$this -> ajax_spr_dropped ();
} elseif ( $_GET [ 'a' ] == 'if_dropped' ) {
$this -> ajax_if_dropped ();
} elseif ( $_GET [ 'a' ] == 'folder_dropped' ) {
$this -> ajax_folder_dropped ();
} elseif ( $_GET [ 'a' ] == 'folder_rename' ) {
$this -> ajax_folder_rename ();
} elseif ( $_GET [ 'a' ] == 'folder_newname' ) {
$this -> ajax_folder_newname ();
} elseif ( $_GET [ 'a' ] == 'new_folder' ) {
$this -> ajax_new_folder ();
} elseif ( $_GET [ 'a' ] == 'delete_folder' ) {
$this -> ajax_delete_folder ();
} elseif ( $_GET [ 'a' ] == 'folder_collapsed' ) {
$this -> ajax_folder_collapsed ();
} elseif ( $_GET [ 'a' ] == 'library_del_anketa' ) {
$this -> ajax_library_del_anketa ();
} elseif ( $_GET [ 'a' ] == 'library_del_myanketa' ) {
$this -> ajax_library_del_myanketa ();
} elseif ( $_GET [ 'a' ] == 'library_add_myanketa' ) {
$this -> ajax_library_add_myanketa ();
} elseif ( $_GET [ 'a' ] == 'anketa_copy' ) {
$this -> ajax_anketa_copy ();
} elseif ( $_GET [ 'a' ] == 'anketa_copy_new' ) {
$this -> ajax_anketa_copy_new ();
} elseif ( $_GET [ 'a' ] == 'if_remove' ) {
$this -> ajax_if_remove ();
} elseif ( $_GET [ 'a' ] == 'brisi_spremenljivko' ) {
$this -> ajax_brisi_spremenljivko ();
} elseif ( $_GET [ 'a' ] == 'alert_copy_anketa' ) {
$this -> ajax_alert_copy_anketa ();
} elseif ( $_GET [ 'a' ] == 'anketa_archive_and_copy' ) {
$this -> ajax_anketa_archive_and_copy ();
}
}
function ajax_display_knjiznica () {
$this -> display ();
}
function ajax_library_add () {
global $lang ;
$data = array ();
if ( $this -> tip == 0 ) {
$spremenljivka = substr ( $_POST [ 'spremenljivka' ], 10 ); // odrezemo branching_
$folder = $_POST [ 'folder' ];
// v knjiznico dodamo spremenljivko
if ( $spremenljivka > 0 ) {
$id = $this -> Branching -> nova_spremenljivka ( - 1 , 0 , 0 , $spremenljivka );
sisplet_query ( " UPDATE srv_spremenljivka SET folder = ' $folder ' WHERE id = ' $id ' " );
$data [ 'response' ] = $lang [ 'srv_library_q_added' ];
// v knjiznico dodamo if/blok
} else {
$if = substr ( $_POST [ 'spremenljivka' ], 12 ); // odrezemo branching_if
if ( $if > 0 ) {
$id = $this -> Branching -> if_copy ( 0 , $if , true );
sisplet_query ( " UPDATE srv_if SET folder = ' $folder ' WHERE id = ' $id ' " );
$data [ 'response' ] = $lang [ 'srv_library_b_added' ];
}
}
}
ob_start ();
$this -> display_folders ();
$data [ 'folders' ] = ob_get_clean ();
echo json_encode ( $data );
}
function ajax_spr_dropped () {
global $global_user_id ;
$spremenljivka = $_POST [ 'spremenljivka' ];
$folder = $_POST [ 'folder' ];
if ( $this -> tab == 0 or $this -> tab == 2 )
$uid = 0 ;
elseif ( $this -> tab == 1 or $this -> tab == 3 )
$uid = $global_user_id ;
if ( $this -> tip == 0 ) {
sisplet_query ( " UPDATE srv_spremenljivka SET folder = ' $folder ' WHERE id = ' $spremenljivka ' " );
} else {
sisplet_query ( " UPDATE srv_library_anketa SET folder = ' $folder ' WHERE ank_id = ' $spremenljivka ' AND uid=' $uid ' " );
}
//$this->display();
$this -> display_folders ();
}
function ajax_if_dropped () {
global $global_user_id ;
$if = $_POST [ 'if' ];
$folder = $_POST [ 'folder' ];
sisplet_query ( " UPDATE srv_if SET folder = ' $folder ' WHERE id = ' $if ' " );
//$this->display();
$this -> display_folders ();
}
function ajax_folder_dropped () {
$drop = $_POST [ 'drop' ];
$folder = $_POST [ 'folder' ];
if ( $drop != $folder )
sisplet_query ( " UPDATE srv_library_folder SET parent = ' $folder ' WHERE id = ' $drop ' AND tip=' $this->tip ' " );
//$this->display();
$this -> display_folders ();
}
function ajax_folder_rename () {
$folder = $_POST [ 'folder' ];
$sql = sisplet_query ( " SELECT naslov FROM srv_library_folder WHERE id = ' $folder ' " );
$row = mysqli_fetch_array ( $sql );
echo '<form method="post" onsubmit="javascript:library_folder_newname(\'' . $folder . '\',\'' . $this -> tab . '\',\'' . $this -> prva . '\'); return false;" style="display:inline">' ;
echo '<span class="faicon folder icon-blue"></span> ' .
'<input type="text" name="naslov" id="naslov_' . $folder . '" value="' . $row [ 'naslov' ] . '" onblur="javascript:library_folder_newname(\'' . $folder . '\',\'' . $this -> tab . '\',\'' . $this -> prva . '\'); return false;" />' ;
echo '</form>' ;
}
function ajax_folder_newname () {
$folder = $_POST [ 'folder' ];
$naslov = $_POST [ 'naslov' ];
sisplet_query ( " UPDATE srv_library_folder SET naslov=' $naslov ' WHERE id =' $folder ' " );
//$this->display();
$this -> display_folders ();
}
function ajax_new_folder () {
global $lang ;
global $global_user_id ;
$folder = $_POST [ 'folder' ];
if ( $this -> tab == 0 or $this -> tab == 2 )
$uid = 0 ;
elseif ( $this -> tab == 1 or $this -> tab == 3 )
$uid = $global_user_id ;
$uid = $_POST [ 'uid' ];
$s = sisplet_query ( " INSERT INTO srv_library_folder (uid, tip, naslov, parent) VALUES (' $uid ', ' $this->tip ', ' $lang[srv_newfolder] ', ' $folder ') " );
if ( ! $s ) echo mysqli_error ( $GLOBALS [ 'connect_db' ]);
$insert_id = mysqli_insert_id ( $GLOBALS [ 'connect_db' ]);
$_COOKIE [ 'library_folders' ] .= '-' . $insert_id . '-' ; // $_COOKIE popravimo, da bo sprememba vidna tudi v display_folders()
setcookie ( 'library_folders' , $_COOKIE [ 'library_folders' ], time () + 2500000 );
// $this->display();
$this -> display_folders ();
}
function ajax_delete_folder () {
global $lang ;
$folder = $_POST [ 'folder' ];
$sql = sisplet_query ( " SELECT parent FROM srv_library_folder WHERE id = ' $folder ' " );
$row = mysqli_fetch_array ( $sql );
if ( $this -> tip == 0 ) {
sisplet_query ( " UPDATE srv_spremenljivka SET folder = ' $row[parent] ' WHERE folder = ' $folder ' " );
sisplet_query ( " UPDATE srv_if SET folder = ' $row[parent] ' WHERE folder = ' $folder ' " );
} else {
sisplet_query ( " UPDATE srv_library_anketa SET folder = ' $row[parent] ' WHERE folder = ' $folder ' " );
}
sisplet_query ( " UPDATE srv_library_folder SET parent = ' $row[parent] ' WHERE parent = ' $folder ' " );
sisplet_query ( " DELETE FROM srv_library_folder WHERE id = ' $folder ' " );
//$this->display();
$this -> display_folders ();
}
function ajax_folder_collapsed () {
$folder = $_POST [ 'folder' ];
$collapsed = $_POST [ 'collapsed' ];
$cookie = $_COOKIE [ 'library_folders' ];
if ( $collapsed == 0 ) {
$cookie .= '-' . $folder . '-' ;
} else {
$cookie = str_replace ( '-' . $folder . '-' , '' , $cookie );
}
setcookie ( 'library_folders' , $cookie , time () + 2500000 );
echo '<span class="faicon icon-blue ' . ( $collapsed == 1 ? 'plus' : 'minus' ) . '"></span>' ;
}
function ajax_library_del_anketa () {
$anketa = $_POST [ 'anketa' ];
sisplet_query ( " DELETE FROM srv_library_anketa WHERE ank_id=' $anketa ' AND uid='0' " );
$this -> display_folders ();
}
function ajax_library_del_myanketa () {
global $global_user_id ;
$anketa = $_POST [ 'anketa' ];
sisplet_query ( " DELETE FROM srv_library_anketa WHERE ank_id=' $anketa ' AND uid=' $global_user_id ' " );
$this -> display_folders ();
}
function ajax_library_add_myanketa () {
global $global_user_id ;
$anketa = $_POST [ 'anketa' ];
$sql1 = sisplet_query ( " SELECT id FROM srv_library_folder WHERE uid=' $global_user_id ' AND tip='1' AND parent='0' " );
$row1 = mysqli_fetch_array ( $sql1 );
sisplet_query ( " INSERT INTO srv_library_anketa (ank_id, uid, folder) VALUES (' $anketa ', ' $global_user_id ', ' $row1[id] ') " );
}
/**
* skopira anketo cez neko ze obstojeco anketo
*
*/
function ajax_anketa_copy () {
global $global_user_id ;
global $lang ;
global $site_url ;
$anketa = $_POST [ 'anketa' ]; // nasa anketa (jo povozimo)
$ank_id = $_POST [ 'ank_id' ]; // anketa, ki jo uporabimo za predlogo
$hierarhija = ( empty ( $_POST [ 'hierarhija' ]) ? false : true );
if ( $hierarhija && $ank_id == 'privzeta' ){
$ank_id = AppSettings :: getInstance () -> getSetting ( 'hierarhija-default_id' );
}
if ( $anketa > 0 ) {
// preberemo osnovne podatke obstojece ankete (naslov.....)
$sql = sisplet_query ( " SELECT naslov, dostop FROM srv_anketa WHERE id = ' $anketa ' " );
$row = mysqli_fetch_array ( $sql );
$sql2 = sisplet_query ( " SELECT naslov FROM srv_anketa WHERE id = ' $ank_id ' " );
$row2 = mysqli_fetch_array ( $sql2 );
$sqls = sisplet_query ( " SELECT ank_id, uid FROM srv_dostop WHERE ank_id=' $anketa ' " );
$this -> SurveyAdmin -> anketa_delete ( $anketa );
} else {
$sql = sisplet_query ( " SELECT naslov, dostop FROM srv_anketa WHERE id = ' $ank_id ' " );
$row = mysqli_fetch_array ( $sql );
$sqls = sisplet_query ( " SELECT ank_id, uid FROM srv_dostop WHERE ank_id=' $ank_id ' " );
}
$naslov = " naslov=' " . ( isset ( $_POST [ 'naslov' ]) ? $_POST [ 'naslov' ] : $row [ 'naslov' ]) . " ', " ;
$intro_opomba = " intro_opomba=' " . ( addslashes ( $lang [ 'srv_library_copy_of_note' ] . '<a href="' . $site_url . 'admin/survey/index.php?anketa=' . $ank_id . '">' . $row2 [ 'naslov' ] . '</a>' )) . " ', " ;
//$new_id = $this->SurveyAdmin->anketa_copy($ank_id);
$sas = new SurveyAdminSettings ();
$new_id = $sas -> anketa_copy ( $ank_id );
// popravimo naslov, opombo, dostop, in novega avtorja
sisplet_query ( " UPDATE srv_anketa SET $naslov $intro_opomba dostop=' $row[dostop] ', insert_uid=' $global_user_id ', edit_uid=' $global_user_id ' WHERE id=' $new_id ' " );
// vsilimo refresh podatkov
SurveyInfo :: getInstance () -> resetSurveyData ();
// dostop uporabimo od stare ankete in ne od skopirane (trnutno ne kopira pravic od prej, če ustvarjamo novo anketo)
// TODO: po kakšni logiki ohranimo dostop od stare ankete?? Če jo jaz ustvarim je prav, v kolikor kopirma iz knjižnice pa tole ni ok!
if ( ! empty ( $anketa )) {
sisplet_query ( " DELETE FROM srv_dostop WHERE ank_id = ' $new_id ' " );
while ( $rows = mysqli_fetch_array ( $sqls )) {
sisplet_query ( " INSERT INTO srv_dostop (ank_id, uid) VALUES (' $new_id ', ' $rows[uid] ') " );
}
}
// Vrnemo samo ID ankete
if ( $hierarhija ) {
sisplet_query ( " INSERT INTO srv_anketa_module (ank_id, modul) VALUES (' " . $new_id . " ', 'hierarhija') " );
sisplet_query ( " INSERT INTO srv_hierarhija_users (user_id, anketa_id, type) VALUES (' " . $global_user_id . " ', ' " . $new_id . " ', 1) " );
// Določimo vlogo
( new \Hierarhija\Hierarhija ( $new_id )) -> izrisisSistemskoVprsanjeVloga ();
echo $new_id ;
} else {
echo 'index.php?anketa=' . $new_id . '&a=branching' ;
}
}
/**
* ustvari novo kopijo ankete
* @ param ank_id samo za API - prekrije tudi vse echo
*/
function ajax_anketa_copy_new ( $ank_id = null ) {
global $global_user_id , $lang , $site_url ;
$API_call = false ;
if ( $ank_id == null ) {
$ank_id = $_POST [ 'ank_id' ]; // anketa, ki jo uporabimo za predlogo
// Če imamo hierarhijo in je privzeta anketa potem preverimo v settings_optional.php
if ( ! empty ( $_POST [ 'hierarhija' ]) && $ank_id == 'privzeta' ){
$ank_id = AppSettings :: getInstance () -> getSetting ( 'hierarhija-default_id' );
}
}
else {
$API_call = true ;
}
$sql = sisplet_query ( " SELECT naslov, dostop FROM srv_anketa WHERE id = ' $ank_id ' " );
$row = mysqli_fetch_array ( $sql );
// Nastavimo naslov
if ( isset ( $_POST [ 'naslov' ]) && $_POST [ 'naslov' ] != '' && $_POST [ 'naslov' ] != $lang [ 'srv_naslov' ] && $_POST [ 'naslov' ] != $lang [ 'srv_novaanketa_polnoime' ] && trim ( $_POST [ 'naslov' ]) != " " )
$naslov = " naslov=' " . $_POST [ 'naslov' ] . " ', " ;
else
$naslov = " naslov=' " . addslashes ( $lang [ 'srv_library_copy_of' ] . $row [ 'naslov' ]) . " ', " ;
// Nastavimo akronim, ce ga imamo
$akronim = " " ;
if ( isset ( $_POST [ 'akronim' ]) && $_POST [ 'akronim' ] != '' && $_POST [ 'akronim' ] != $lang [ 'srv_naslov' ] && $_POST [ 'akronim' ] != $lang [ 'srv_novaanketa_ime_respondenti' ] && trim ( $_POST [ 'akronim' ]) != " " )
$akronim = " akronim=' " . $_POST [ 'akronim' ] . " ', " ;
$intro_opomba = " intro_opomba=' " . ( addslashes ( $lang [ 'srv_library_copy_of_note' ] . '<a href="' . $site_url . 'admin/survey/index.php?anketa=' . $ank_id . '">' . $row [ 'naslov' ] . '</a>' )) . " ', " ;
//$new_id = $this->SurveyAdmin->anketa_copy($ank_id);
$sas = new SurveyAdminSettings ();
$new_id = $sas -> anketa_copy ( $ank_id );
// popravimo naslov, opombo, dostop, in novega avtorja in ugasnemo email vabila
sisplet_query ( " UPDATE srv_anketa
SET $naslov $akronim $intro_opomba dostop = '$row[dostop]' , insert_uid = '$global_user_id' , edit_uid = '$global_user_id' , user_base = '0'
WHERE id = '$new_id' " );
// vsilimo refresh podatkov
SurveyInfo :: getInstance () -> resetSurveyData ();
// dostop od stare ankete odstranimo
sisplet_query ( " DELETE FROM srv_dostop WHERE ank_id = ' $new_id ' " );
//dostop dodamo uporabniku, ki si kopira anketo
sisplet_query ( " INSERT INTO srv_dostop (ank_id, uid) VALUES (' $new_id ', ' $global_user_id ') " );
// Ce imamo pri ustvarjanju doloceno tudi mapo, anketo vstavimo v njo
if ( isset ( $_POST [ 'folder' ]) && $_POST [ 'folder' ] > 0 ){
// Razpremo folder v akterega uvrscamo anketo
$sql = sisplet_query ( " UPDATE srv_mysurvey_folder SET open='1' WHERE id=' " . $_POST [ 'folder' ] . " ' AND usr_id=' " . $global_user_id . " ' " );
// Vstavimo anketo
$sql = sisplet_query ( " INSERT INTO srv_mysurvey_anketa (ank_id, usr_id, folder) VALUES (' " . $new_id . " ', ' " . $global_user_id . " ', ' " . $_POST [ 'folder' ] . " ') " );
}
// popravimo branching, ce kopiramo staro anketo, ki ima lahko pokvarjenega
$b = new Branching ( $new_id );
$b -> repare_branching ();
// v kolikor je vkloplje modul evalvacija v šolah - hierarhija potem modul vključimo tudi v izbrani anketi
if ( SurveyInfo :: checkSurveyModule ( 'hierarhija' , $ank_id ) || ! empty ( $_POST [ 'novaHierarhjia' ])){
sisplet_query ( " INSERT INTO srv_anketa_module (ank_id, modul) VALUES (' " . $new_id . " ', 'hierarhija') " );
sisplet_query ( " INSERT INTO srv_hierarhija_users (user_id, anketa_id, type) VALUES (' " . $global_user_id . " ', ' " . $new_id . " ', 1) " );
// Določimo vlogo
( new \Hierarhija\Hierarhija ( $new_id )) -> izrisisSistemskoVprsanjeVloga ();
// Omenjeno funkcijo kopije strukture in preusmeritev uporabimo, kadar kopiramo obstoječe anketo skupaj s strukturo
if ( $_POST [ 'hierarhija' ] == 1 && empty ( $_POST [ 'novaHierarhjia' ])){
// $new_id je ID nove ankete, ki je bila skopirana
// $ank_id pa je ID naše trenutne ankete
\Hierarhija\HierarhijaKopiranjeClass :: getInstance ( $new_id ) -> kopirajCelotroStrukturoKNoviAnketi ( $ank_id );
}
if ( empty ( $_POST [ 'novaHierarhjia' ])){
echo 'index.php?anketa=' . $new_id . '&a=' . A_HIERARHIJA_SUPERADMIN . '&m=' . M_ADMIN_UREDI_SIFRANTE ;
} else {
echo $new_id ;
}
} else {
if ( ! $API_call )
echo 'index.php?anketa=' . $new_id ;
}
//vrrni id nove ankete za API
return $new_id ;
}
function ajax_if_remove () {
$if = $_POST [ 'if' ];
$this -> anketa = $_POST [ 'anketa' ];
$BranchingAjax = new BranchingAjax ( $this -> anketa );
// ne bomo izpisal kar izpisuje ta funkcija
ob_start ();
$BranchingAjax -> ajax_if_remove ( $if );
ob_end_clean ();
//$this->display();
$this -> display_folders ();
}
function ajax_brisi_spremenljivko () {
$spremenljivka = $_POST [ 'spremenljivka' ];
$this -> SurveyAdmin -> brisi_spremenljivko ( $spremenljivka );
//$this->display();
$this -> display_folders ();
}
function ajax_alert_copy_anketa () {
global $lang ;
// preverimo stevilo trenutno dodanih vprasanj ce jih ni, ni potrebno arhivirat
$sql = sisplet_query ( " SELECT s.id FROM srv_spremenljivka s, srv_grupa g WHERE s.gru_id=g.id AND g.ank_id=' " . $_POST [ 'anketa' ] . " ' " );
if ( mysqli_num_rows ( $sql ) > 0 )
{
?>
< div id = " copy_library_alert " >< ? = $lang [ 'srv_alert_copy_anketa' ]; ?>
< br />
< div class = " floatRight spaceRight " title = " <?= $lang['srv_alert_copy_anketa_archive'] ;?> " >< div class = " buttonwrapper " >< a class = " ovalbutton ovalbutton_orange " href = " # " onclick = " anketa_archive_and_copy('<?= $_POST['anketa'] ;?>','<?= $_POST['ank_id'] ;?>'); return false; " >< span >< ? = $lang [ 'srv_alert_copy_anketa_archive' ]; ?> </span></a></div></div>
< div class = " floatRight spaceRight " title = " <?= $lang['srv_alert_copy_anketa_copy'] ;?> " >< div class = " buttonwrapper " >< a class = " ovalbutton ovalbutton_gray " href = " # " onclick = " anketa_copy_no_archive('<?= $_POST['anketa'] ;?>','<?= $_POST['ank_id'] ;?>'); return false; " >< span >< ? = $lang [ 'srv_alert_copy_anketa_copy' ]; ?> </span></a></div></div>
< div class = " floatRight spaceRight " title = " <?= $lang['srv_close_profile'] ;?> " >< div class = " buttonwrapper " >< a class = " ovalbutton ovalbutton_gray " href = " # " onclick = " alert_copy_anketa_cancle(); return false; " >< span >< ? = $lang [ 'srv_close_profile' ]; ?> </span></a></div></div>
< div class = " clr " ></ div >
</ div >
< ? php
} else {
?>
< div id = " copy_library_alert " >< ? = $lang [ 'srv_alert_copy_anketa1' ]; ?>
< br />
< div class = " floatRight spaceRight " title = " <?= $lang['srv_alert_copy_anketa_copy1'] ;?> " >< div class = " buttonwrapper " >< a class = " ovalbutton ovalbutton_orange " href = " # " onclick = " anketa_copy_no_archive('<?= $_POST['anketa'] ;?>','<?= $_POST['ank_id'] ;?>'); return false; " >< span >< ? = $lang [ 'srv_alert_copy_anketa_copy1' ]; ?> </span></a></div></div>
< div class = " floatRight spaceRight " >< div class = " buttonwrapper " >< a class = " ovalbutton ovalbutton_gray " href = " # " onclick = " alert_copy_anketa_cancle(); return false; " >< span >< ? = $lang [ 'srv_close_profile' ]; ?> </span></a></div></div>
< div class = " clr " ></ div >
</ div >
< ? php
}
}
function ajax_anketa_archive_and_copy () {
global $global_user_id ;
global $lang ;
global $site_url ;
$anketa = $_POST [ 'anketa' ]; // obstoječa anketa
$ank_id = $_POST [ 'ank_id' ]; // id ankete iz katere kopiramo
// preberemo osnovne podatke obstojece ankete (naslov.....)
$sql = sisplet_query ( " SELECT naslov, dostop FROM srv_anketa WHERE id = ' $anketa ' " );
$row = mysqli_fetch_array ( $sql );
$sql2 = sisplet_query ( " SELECT naslov FROM srv_anketa WHERE id = ' $ank_id ' " );
$row2 = mysqli_fetch_array ( $sql2 );
$sqls = sisplet_query ( " SELECT uid FROM srv_dostop WHERE ank_id=' $anketa ' " );
// kreiramo novo anketo tako da jo skopiramo iz knjižnice
//$new_id = $this->SurveyAdmin->anketa_copy($ank_id);
$sas = new SurveyAdminSettings ();
$new_id = $sas -> anketa_copy ( $ank_id );
$intro_opomba = addslashes ( $lang [ 'srv_library_copy_of_note' ] . '<a href="' . $site_url . 'admin/survey/index.php?anketa=' . $ank_id . '">' . $row2 [ 'naslov' ] . '</a>' );
// popravimo polja
sisplet_query ( " UPDATE srv_anketa SET naslov=' $row[naslov] ', intro_opomba=' $intro_opomba ', dostop=' $row[dostop] ', insert_uid=' $global_user_id ', insert_time=NOW(), edit_uid=' $global_user_id ', edit_time=NOW() WHERE id=' $new_id ' " );
// dostop uporabimo od stare ankete in ne od skopirane
sisplet_query ( " DELETE FROM srv_dostop WHERE ank_id = ' $new_id ' " );
while ( $rows = mysqli_fetch_array ( $sqls )) {
sisplet_query ( " INSERT INTO srv_dostop (ank_id, uid) VALUES (' $new_id ', ' $rows[uid] ') " );
}
// staro anketo razglasimo kot backup(arhiv) nove
sisplet_query ( " UPDATE srv_anketa SET backup=' $new_id ', active=0, edit_uid=' $global_user_id ', edit_time=NOW(), naslov = CONCAT( naslov, ' ', DAY(NOW()), '.', MONTH(NOW()), '.', YEAR(NOW()) ) WHERE id=' $anketa ' " );
// vsilimo refresh podatkov
SurveyInfo :: getInstance () -> resetSurveyData ();
// redirektamo na novo anketo
echo 'index.php?anketa=' . $new_id ;
}
function repareTabs () {
if ( $this -> tab >= 2 )
$this -> tip = 1 ;
else
$this -> tip = 0 ;
// popravimo tabe če smo v glasovanju ali formi
if ( $this -> mode < 2 ) {
// uredimo tabe
if ( $this -> tab == 0 || $this -> tab == 1 ) {
$this -> tip = 1 ;
$this -> tab = 2 ;
}
}
}
}
?>