'Palatino Linotype, Book Antiqua, Palatino, serif',
2 => 'Times New Roman, Times, serif',
3 => 'Arial, Helvetica, sans-serif',
4 => 'Arial Black, Gadget, sans-serif',
5 => 'Comic Sans MS, cursive, sans-serif',
6 => 'Impact, Charcoal, sans-serif',
7 => 'Lucida Sans Unicode, Lucida Grande, sans-serif',
8 => 'Tahoma, Geneva, sans-serif',
9 => 'Trebuchet MS, Helvetica, sans-serif',
10 => 'Verdana, Geneva, sans-serif',
11 => 'Courier New, Courier, monospace',
12 => 'Lucida Console, Monaco, monospace',
13 => 'Georgia, serif',
);
function __construct ($anketa, $ajax=false) {
global $site_path, $global_user_id;
$this->anketa = $anketa;
SurveyInfo::getInstance()->SurveyInit($anketa);
$row = SurveyInfo::getSurveyRow();
$this->profile = (int)$_GET['profile'];
$this->mobile = (isset($_GET['mobile']) && $_GET['mobile'] == '1') ? '_mobile' : '';
if ($ajax) return;
if ( ! $this->profile > 0 ) die();
}
function display () {
global $lang;
global $global_user_id;
SurveyInfo::getInstance()->SurveyInit($this->anketa);
$row = SurveyInfo::getInstance()->getSurveyRow();
$sqla = sisplet_query("SELECT id, name, logo FROM srv_theme_profiles".$this->mobile." WHERE id='$this->profile'");
$rowa = mysqli_fetch_array($sqla);
$skin_name = SurveyTheme::strip_name($rowa['name']);
self::new_theme_alert($skin_name);
echo '
';
echo '
';
echo '
'.$lang['srv_themes_mod2'].': '.$skin_name.' ';
echo '
';
$mobile = (isset($_GET['mobile']) && $_GET['mobile'] == '1') ? 1 : 0;
echo '
';
echo '
';
echo '
'.$lang['srv_skinname'].' ';
echo '
';
// Mobilni skin nima logotipa
if($mobile != 1){
echo '
'.$lang['srv_upload_logo'].' ';
echo '
';
echo '
';
if ($rowa['logo'] != '') {
echo '
'.$rowa['logo'];
echo ' ';
echo '
';
}
echo '';
}
// Mobilni skin nima progressbara
if($mobile != 1){
$sqlg = sisplet_query("SELECT id FROM srv_grupa WHERE ank_id = '$this->anketa'");
if (mysqli_num_rows($sqlg) > 1) {
$sqlAnketa = sisplet_query("SELECT progressbar FROM srv_anketa WHERE id='$this->anketa'");
$rowAnketa = mysqli_fetch_array($sqlAnketa);
echo '
'.$lang['srv_te_progressbar'].' ';
echo '
';
echo '
' . $lang['srv_te_progressbar_show'] . ' ';
echo '
';
echo ' ';
echo '' . $lang['yes'] . ' ';
echo '
';
echo '
';
echo ' ';
echo '' . $lang['no1'] . ' ';
echo '
';
echo '
';
}
}
echo '
'.$lang['srv_te_survey_h_text'].' ';
echo '
';
$this->displayOption(1, 1);
$this->displayOption(1, 4);
$this->displayOption(1, 2);
$this->displayOption(1, 3);
echo '
';
echo '
'.$lang['srv_te_background_color'].' ';
echo '
';
$this->displayOption(6, 3);
echo '
';
echo '
'.$lang['srv_te_question_text'].' ';
echo '
';
$this->displayOption(2, 1);
$this->displayOption(2, 4);
$this->displayOption(2, 2);
echo '
';
echo '
';
$this->displayOption(5, 3);
$this->displayOption(5, 5);
echo '
';
echo '
'.$lang['srv_te_answers_text'].' ';
echo '
';
$this->displayOption(3, 1);
$this->displayOption(3, 4);
echo '
';
echo '
';$this->displayOption(3, 2);
$this->displayOption(4, 3);
echo '
';
// Custom checkbox/radio (stars, smilies, thumbs)
// Radio/checkboxi za pc
if($mobile != 1){
echo '
'.$lang['srv_te_custom_checkbox_radio'].' ';
echo '
';
$this->displayOption(7, 7);
$this->displayOption(7, 15);
echo '
';
//$this->displayOption(10, 17);
}
// Radio/checkboxi za mobitel
else{
echo '
'.$lang['srv_te_custom_mobile_checkbox_radio'].' ';
echo '
';
$this->displayOption(7, 8);
$this->displayOption(7, 16);
echo '
';
// Za mobitel ne rabimo accessibility ikon
//$this->displayOption(10, 17);
}
// Tooltipster/slovar/glossary
echo '
'.$lang['srv_te_custom_glossary_popup'].Help::display('srv_oblika_slovarSlovar').' ';
echo '
';
$this->displayOption(8, 9);
$this->displayOption(8, 11);
$this->displayOption(8, 10);
$this->displayOption(8, 12);
echo '
';
echo '
'.$lang['srv_te_custom_glossary_keywords'].Help::display('srv_oblika_slovarIKljucna').' ';
echo '
';
$this->displayOption(9, 9);
$this->displayOption(9, 13);
$this->displayOption(9, 14);
echo '
';
echo '
';
echo ''.$lang['edit1338'].' ';
echo ''.$lang['edit1337'].' ';
echo '
';
echo '
';
$this->preview();
echo '
';
?>
}
static function new_theme_alert ($name, $css=false) {
global $lang;
return;
if ($_GET['newalert'] != '1') return;
echo '';
echo '
';
printf($lang['srv_new_theme_alert'.($css?'_css':'')], $name);
echo '
';
echo '
';
?>
}
/**
* poskrbi za razlicne opcije nastavitev teme
*
* za prikaz v anketi skrbi funkcija themeEditor(); v main/Survey.php
*
* @param mixed $id
* @param mixed $type
*/
function displayOption ($id, $type) {
global $lang;
$sql = sisplet_query("SELECT value FROM srv_theme_editor".$this->mobile." WHERE profile_id='$this->profile' AND id='$id' AND type='$type'");
$row = mysqli_fetch_array($sql);
$row['value'] = isset($row['value']) ? $row['value'] : '';
// pisava
if ($type == 1) {
echo '';
echo ''.$lang['srv_te_font_family'].':
';
echo ''.$lang['srv_te_default'].' ';
foreach (self::$fonts AS $key => $val) {
echo ''.substr($val, 0, strpos($val, ',')).' ';
}
echo ' ';
if ($row['value'] != '')
echo '
';
echo '
';
// barva pisave, barva ozadja
} elseif (($type == 3 && $id != 1) || in_array($type, [2, 9, 10, 13, 15, 16])) {
if ($row['value'] == '')
$value = '#000000';
else
$value = $row['value'];
echo '';
if ($type == 2 || $type == 9)
echo ''.$lang['srv_te_font_color'].': ';
elseif($type == 3)
echo ''.$lang['srv_te_background_color'].': ';
elseif($type == 10)
echo ''.$lang['srv_te_custom_border_color'].': ';
elseif($type == 13)
echo ''.$lang['srv_te_custom_background_keywords'].': ';
elseif($type == 15)
echo ''.$lang['srv_te_custom_icon_pc_color'].': ';
elseif($type == 16)
echo ''.$lang['srv_te_custom_icon_mobile_color'].': ';
if ($row['value'] == '') echo '
';
echo '
';
echo ' ';
echo '
';
if ($row['value'] != '')
echo '
';
echo '
';
// velikost pisave
} elseif ($type == 4) {
echo '';
echo ''.$lang['srv_te_font_size'].':
';
echo ''.$lang['srv_te_default'].' ';
for ($i=50; $i<=200; $i+=10) {
echo ''.$i.'% ';
}
echo ' ';
if ($row['value'] != '')
echo '
';
echo '
';
// border vprasanja
} elseif ($type == 5) {
if ($row['value'] == '') $value = '1'; else $value = $row['value'];
echo '';
echo $lang['srv_te_question_border'].':';
echo ''.$lang['srv_te_default'].' ';
echo ''.$lang['srv_te_question_border_0'].' ';
echo ''.$lang['srv_te_question_border_1'].' ';
echo ''.$lang['srv_te_question_border_2'].' ';
echo ' ';
echo '
';
// izbira custom checkbox/radio gumbov
} elseif($type == 7 ) {
echo '';
echo $lang['srv_te_custom_icon_pc'] . ': ';
echo '
'.$lang['srv_te_default'].'
18 px
21 px
25 px
30 px
35 px
40 px
45 px
50 px
55 px
';
} elseif($type == 8) {
echo '';
echo $lang['srv_te_custom_icon_mobile'] . ': ';
echo '
'.$lang['srv_te_default'].'
20 px
25 px
30 px
35 px
40 px
45 px
50 px
55 px
';
// Izpišemo border opcije
} elseif($type == 11) {
echo '';
echo $lang['srv_te_custom_border_size'].': ';
echo '';
echo ''.$lang['srv_te_default'].' ';
for ($i=1; $i<=6; $i++) {
echo ''.$i.'px ';
}
echo ' ';
echo '
';
} elseif($type == 12) {
echo '';
echo $lang['srv_te_custom_border_radius'].': ';
echo '';
echo ''.$lang['srv_te_default'].' ';
for ($i=5; $i<=30; $i+=5) {
echo ''.$i.'px ';
}
echo ' ';
echo '
';
// Stil pisave bold, italic, underline
} elseif($type == 14) {
echo '';
echo $lang['srv_te_custom_font_style_keywords'].': ';
echo '';
echo ''.$lang['srv_te_default'].' ';
echo ''.$lang['srv_te_custom_font_style_keywords_bold'].' ';
echo ''.$lang['srv_te_custom_font_style_keywords_italic'].' ';
echo ''.$lang['srv_te_custom_font_style_keywords_underline'].' ';
echo ' ';
echo '
';
// Accessibility checkbox (radio/checkboxi niso obarvani)
} elseif($type == 17) {
echo '';
echo ''.$lang['srv_te_custom_icon_accessibility'].': ';
echo ' ';
echo '
';
}
}
function preview () {
$sql = sisplet_query("SELECT id FROM srv_grupa WHERE ank_id='$this->anketa' ORDER BY vrstni_red ASC LIMIT 1");
$row = mysqli_fetch_array($sql);
$grupa = $row['id'];
$mobile = (isset($_GET['mobile']) && $_GET['mobile'] == '1') ? '&mobile=1' : '';
echo '';
}
static function getFont ($font) {
return self::$fonts[$font];
}
function ajax() {
if ($_GET['a'] == 'auto_save') {
$this->ajax_auto_save();
} elseif ($_GET['a'] == 'change_profile') {
$this->ajax_change_profile();
} elseif ($_GET['a'] == 'change_profile_oldskin') {
$this->ajax_change_profile_oldskin();
} elseif ($_GET['a'] == 'delete_profile') {
$this->ajax_delete_profile();
} elseif ($_GET['a'] == 'add_theme') {
$this->ajax_add_theme();
} elseif ($_GET['a'] == 'change_name') {
$this->ajax_change_name();
}
}
function ajax_auto_save() {
$id = $_POST['id'];
$type = $_POST['type'];
$value = $_POST['value'];
if ($value == '') {
$s = sisplet_query("DELETE FROM srv_theme_editor".$this->mobile." WHERE profile_id='$this->profile' AND id='$id' AND type='$type'");
if (!$s) echo mysqli_error($GLOBALS['connect_db']);
} else {
$s = sisplet_query("REPLACE INTO srv_theme_editor".$this->mobile." (profile_id, id, type, value) VALUES ('$this->profile', '$id', '$type', '$value')");
if (!$s) echo mysqli_error($GLOBALS['connect_db']);
}
}
function ajax_change_profile () {
$sql = sisplet_query("SELECT skin FROM srv_theme_profiles".$this->mobile." WHERE id = '$this->profile'");
$row = mysqli_fetch_array($sql);
if($this->mobile == '_mobile')
$s = sisplet_query("UPDATE srv_anketa SET mobile_skin='".$row['skin']."', skin_profile_mobile='".$this->profile."' WHERE id = '".$this->anketa."'");
else
$s = sisplet_query("UPDATE srv_anketa SET skin='".$row['skin']."', skin_profile='".$this->profile."' WHERE id = '".$this->anketa."'");
if (!$s) echo mysqli_error($GLOBALS['connect_db']);
}
function ajax_change_profile_oldskin () {
global $global_user_id;
$skin = $_POST['skin'].'';
$name = str_replace($global_user_id.'_', '', $skin);
$sql = sisplet_query("INSERT INTO srv_theme_profiles".$this->mobile." (id, usr_id, skin, name) VALUES ('', '$global_user_id', '$skin', '$name')");
$profile = mysqli_insert_id($GLOBALS['connect_db']);
$s = sisplet_query("UPDATE srv_anketa SET skin='".$skin."', skin_profile='".$profile."' WHERE id = '".$this->anketa."'");
if (!$s) echo mysqli_error($GLOBALS['connect_db']);
echo 'index.php?anketa='.$this->anketa.'&a=theme-editor&profile='.$profile.'&newalert=1';
}
function ajax_delete_profile () {
global $site_path;
global $global_user_id;
$row = SurveyInfo::getSurveyRow();
if($this->mobile == '_mobile'){
if ($row['skin_profile_mobile'] == $this->profile) {
$s = sisplet_query("UPDATE srv_anketa SET skin_profile_mobile='0', mobile_skin='MobileBlue' WHERE id = '".$this->anketa."'");
if (!$s) echo mysqli_error($GLOBALS['connect_db']);
}
$sql = sisplet_query("SELECT skin FROM srv_theme_profiles_mobile WHERE id = '$this->profile'");
$row = mysqli_fetch_array($sql);
// ce ima svojo temo, jo zbrisemo
if ( strpos($row['skin'], $global_user_id.'_') !== false ) {
$dir = $site_path . 'main/survey/skins/';
unlink($dir.$row['skin'].'.css');
}
$s = sisplet_query("DELETE FROM srv_theme_profiles_mobile WHERE id = '$this->profile'");
if (!$s) echo mysqli_error($GLOBALS['connect_db']);
}
else{
if ($row['skin_profile'] == $this->profile) {
$s = sisplet_query("UPDATE srv_anketa SET skin_profile='0', skin='1kaBlue' WHERE id = '".$this->anketa."'");
if (!$s) echo mysqli_error($GLOBALS['connect_db']);
}
$sql = sisplet_query("SELECT skin FROM srv_theme_profiles WHERE id = '$this->profile'");
$row = mysqli_fetch_array($sql);
// ce ima svojo temo, jo zbrisemo
if ( strpos($row['skin'], $global_user_id.'_') !== false ) {
$dir = $site_path . 'main/survey/skins/';
unlink($dir.$row['skin'].'.css');
}
$s = sisplet_query("DELETE FROM srv_theme_profiles WHERE id = '$this->profile'");
if (!$s) echo mysqli_error($GLOBALS['connect_db']);
}
}
function ajax_add_theme() {
global $lang;
global $site_url;
ob_clean();
$row = SurveyInfo::getSurveyRow();
$st = new SurveyTheme($this->anketa, true);
$groups = $st->getGroups();
$default = 'Default';
echo ''.$lang['srv_add_theme'].' ';
echo ''.$lang['srv_select_base_theme'].': ';
foreach ($groups[0]['skins'] AS $key => $val) {
$skin = str_replace('.css', '', $val);
echo ''.$skin.' ';
}
echo ' '.$lang['srv_select_base_theme_2'].'
';
echo ''.$lang['srv_skinname'].':
';
echo '
';
echo ''.$lang['srv_zapri'].' ';
}
function ajax_change_name() {
$s = sisplet_query("UPDATE srv_theme_profiles".$this->mobile." SET name='".$_POST['name']."' WHERE id = '".$_GET['profile']."'");
}
}
?>