diff --git a/admin/survey/Branching.php b/admin/survey/Branching.php index 4d685465e..a6a5da0f4 100644 --- a/admin/survey/Branching.php +++ b/admin/survey/Branching.php @@ -347,10 +347,8 @@ class Branching { // Pobrisana vprasanja $vd = new VprasanjeDeleted($this->anketa); $deleted_vrasanja_count = $vd->countDeletedVprasanja(); - if($deleted_vrasanja_count > 0){ - echo '
'; - echo '
'.$lang['srv_deleted_vprasanja'].' ('.$deleted_vrasanja_count.')
'; - } + echo '
'; + echo '
'.$lang['srv_deleted_vprasanja'].' ('.$deleted_vrasanja_count.')
'; } else { @@ -403,10 +401,8 @@ class Branching { // Pobrisana vprasanja $vd = new VprasanjeDeleted($this->anketa); $deleted_vrasanja_count = $vd->countDeletedVprasanja(); - if($deleted_vrasanja_count > 0){ - echo '
'; - echo '
'.$lang['srv_deleted_vprasanja'].' ('.$deleted_vrasanja_count.')
'; - } + echo '
'; + echo '
'.$lang['srv_deleted_vprasanja'].' ('.$deleted_vrasanja_count.')
'; } echo ''; diff --git a/admin/survey/classes/class.VprasanjeDeleted.php b/admin/survey/classes/class.VprasanjeDeleted.php index b50cfb1a8..f93170176 100644 --- a/admin/survey/classes/class.VprasanjeDeleted.php +++ b/admin/survey/classes/class.VprasanjeDeleted.php @@ -56,9 +56,13 @@ class VprasanjeDeleted { echo '
'; - echo ' '; - echo ' '.substr(strip_tags($row['naslov']), 0, 40).''; - echo ' ('.date("G:i d.m.Y", strtotime($row['delete_time'])).')'; + echo '
'; + echo ' '; + echo ' '.substr(strip_tags($row['naslov']), 0, 40).''; + echo ' ('.date("G:i d.m.Y", strtotime($row['delete_time'])).')'; + echo '
'; + + echo ' '; echo '
'; @@ -105,6 +109,27 @@ class VprasanjeDeleted { } + // Dokoncno brisanje vprasanja + public static function permanentDeleteVprasanje($spremenljivka){ + + if ($spremenljivka > 0) { + + $rowg = Cache::srv_spremenljivka($spremenljivka); + + // pri brisanju multiple grid vprasanja, moramo pobrisate tudi vse child spremenljivke (ker kljuci niso nastavljeni) + if ($rowg['tip'] == 24) { + $sqld = sisplet_query("SELECT spr_id FROM srv_grid_multiple WHERE parent='$spremenljivka'"); + while ($rowd = mysqli_fetch_array($sqld)) { + sisplet_query("DELETE FROM srv_spremenljivka WHERE id='$rowd[spr_id]'"); + } + } + + $sql = sisplet_query("DELETE FROM srv_vrednost WHERE spr_id='$spremenljivka'"); + $sql = sisplet_query("DELETE FROM srv_grid WHERE spr_id='$spremenljivka'"); + $sql = sisplet_query("DELETE FROM srv_spremenljivka WHERE id='$spremenljivka'"); + } + } + /** * @desc pohendla ajax klice diff --git a/admin/survey/script/script.js b/admin/survey/script/script.js index 65faa9537..b65f14ad3 100644 --- a/admin/survey/script/script.js +++ b/admin/survey/script/script.js @@ -1014,6 +1014,11 @@ function brisi_spremenljivko (spremenljivka, text, confirmed) { //refreshLeft(); $('#branching').html(data.output); refreshRight(); + + // Prikazemo gumb za pobrisana vprasanja (toolbox na levi) in povecamo counter + $('#vprasanje_deleted_border, #vprasanje_deleted_toolbox').removeClass('displayNone'); + var vprasanje_deleted_count = parseInt($('#vprasanje_deleted_count').html()) + 1; + $('#vprasanje_deleted_count').html(vprasanje_deleted_count); } else if (data.error == 1) { $('#fade').fadeIn('slow'); @@ -1026,7 +1031,6 @@ function brisi_spremenljivko (spremenljivka, text, confirmed) { $('#fade').fadeIn('slow'); $('#dropped_alert').html(data.output).fadeIn('slow').css('width', '600px'); } - } }, 'json' ); diff --git a/admin/survey/script/vprasanjeDeleted.js b/admin/survey/script/vprasanjeDeleted.js index ca7a2ffa9..525808d26 100644 --- a/admin/survey/script/vprasanjeDeleted.js +++ b/admin/survey/script/vprasanjeDeleted.js @@ -42,6 +42,7 @@ function deleteVprasanjeDeleted(item_id, item_type){ event.stopPropagation(); } +// Restavriramo pobrisano vprasanje nazaj v anketo na konec function insertVprasanjeDeletedItemsIntoSurvey(){ var items = []; @@ -68,4 +69,13 @@ function insertVprasanjeDeletedItemsIntoSurvey(){ popupClose(); actionNotePopup('lib_add_to_survey_'+note, 'success'); }); -} \ No newline at end of file +} + + +// Predogled pobrisanega vprasanja +function previewVprasanjeDeleted(spr_id){ + + preview_spremenljivka(spr_id); + + event.stopPropagation(); +} diff --git a/public/css/admin_new.css b/public/css/admin_new.css index 40b10a6c3..89be30245 100644 --- a/public/css/admin_new.css +++ b/public/css/admin_new.css @@ -20659,6 +20659,7 @@ img.mapster_el { .vprasanje_deleted_popup .content .question_list .question_item_holder .question_item_info { display: flex; align-items: center; + justify-content: space-between; position: relative; box-sizing: border-box; height: 36px; @@ -20732,6 +20733,9 @@ img.mapster_el { .vprasanje_deleted_popup .content .question_list .question_item_holder .question_item_info .item_settings ul li:hover { color: #0059ab; } +.vprasanje_deleted_popup .content .question_list .question_item_holder .question_item_info .monitor { + margin-right: 0; +} .vprasanje_deleted_popup .content .selected_items { align-self: flex-end; margin: 16px 16px 8px 0; diff --git a/resources/sass/admin_new/pages/survey_edit/vprasanje_deleted.scss b/resources/sass/admin_new/pages/survey_edit/vprasanje_deleted.scss index c977f9dce..20251693e 100644 --- a/resources/sass/admin_new/pages/survey_edit/vprasanje_deleted.scss +++ b/resources/sass/admin_new/pages/survey_edit/vprasanje_deleted.scss @@ -63,6 +63,8 @@ .question_item_info{ display: flex; align-items: center; + justify-content: space-between; + position: relative; box-sizing: border-box; @@ -120,6 +122,10 @@ } } } + + .monitor{ + margin-right: 0; + } } } } diff --git a/utils/1kaCron/class.CronJobs.php b/utils/1kaCron/class.CronJobs.php index 74c0770ad..148398284 100644 --- a/utils/1kaCron/class.CronJobs.php +++ b/utils/1kaCron/class.CronJobs.php @@ -42,6 +42,20 @@ class CronJobs { $s->anketa_delete_from_db($row['id']); } } + + // Brisanje pobrisanih vprasanj (vprasanja, ki so bila pobrisana vec kot 3 mesece nazaj) + private function vprasanjeDeleteFromDB(){ + + // Loop po pobrisanih anketah, ki so bile nazadnje urejane vec kot 1 mesec nazaj + $sql = sisplet_query("SELECT * FROM srv_spremenljivka_deleted WHERE delete_time < NOW() - INTERVAL 3 MONTH"); + if (!$sql) echo mysqli_error($GLOBALS['connect_db']); + + $s = new SurveyAdmin(); + + while ($row = mysqli_fetch_array($sql)) { + VprasanjeDeleted::permanentDeleteVprasanje($row['spr_id']); + } + } // Brisanje pobrisanih podatkov anket (podatki, ki so bili pobrisani pred vec kot 3 meseci) diff --git a/utils/crontab3am.php b/utils/crontab3am.php index e0a5ba4c3..c4e977f7b 100644 --- a/utils/crontab3am.php +++ b/utils/crontab3am.php @@ -24,6 +24,9 @@ $SL->addMessage(SurveyLog::INFO, "CRONJOB 3am - brisanje pobrisanih anket (starejsih od 1 meseca)"); $cj->executeAction('surveyDeleteFromDB'); + $SL->addMessage(SurveyLog::INFO, "CRONJOB 3am - brisanje pobrisanih vprasanj (starejsih od 3 mesecev)"); + $cj->executeAction('vprasanjeDeleteFromDB'); + // Brisanje pobrisanih podatkov anket (starejsi od 3 mesecev) $SL->addMessage(SurveyLog::INFO, "CRONJOB 3am - brisanje pobrisanih podatkov anket (starejsi od 3 mesecev)"); $cj->executeAction('userDeleteFromDB');