Redesign - vabila - tabela prejemnikov

This commit is contained in:
pero1203 2022-04-11 12:29:18 +02:00
parent d364a68143
commit f558d3001c
6 changed files with 641 additions and 218 deletions

View File

@ -517,7 +517,7 @@ class SurveyInvitationsNew {
echo '<div class="invitations_top_settings">';
// Text s podatki o nastavitvah posiljanja
$settings_text = '<span class="bold spaceRight">'.$lang['srv_inv_message_type'].':</span>';
$settings_text = '<span>'.$lang['srv_inv_message_type'].': </span>';
$individual = (int)$this->surveySettings['individual_invitation'];
if($individual == 0){
@ -553,7 +553,7 @@ class SurveyInvitationsNew {
}
}
$settings_text .= '<span class="spaceLeft"> <a href="'.$site_url . 'admin/survey/index.php?anketa='.$this->sid.'&a=invitations&m=inv_settings">'.$lang['edit4'].'</a></span>';
$settings_text .= ' <a href="'.$site_url . 'admin/survey/index.php?anketa='.$this->sid.'&a=invitations&m=inv_settings"><span class="faicon edit"></span></a>';
echo $settings_text;
@ -760,10 +760,21 @@ class SurveyInvitationsNew {
echo '</div>';
// Checkbox dodaj seznam v anketo
echo '<div class="setting_line">';
echo ' <input type="checkbox" id="inv_recipients_add" value="1" checked="checked"><label for="inv_recipients_add">'.$lang['srv_invitation_recipients_add_type4'].'</label>';
echo '</div>';
echo '<div id="div_inv_recipients_rename_list_type" class="displayNone setting_line">';
$this->saveRecipientListName();
echo '</div>';
# podatki o profilu
$ppid = isset($_POST['pid']) ? (int)$_POST['pid'] : -1;
echo '<span class="floatLeft" style="min-width:200px;">';
echo '<div class="setting_line">';
if ((int)$ppid > 0) {
# polovimo podatke profila
$sql_string = "SELECT rp.*, u.name, u.surname FROM srv_invitations_recipients_profiles AS rp LEFT JOIN users AS u ON rp.uid = u.id WHERE rp.pid = '".(int)$ppid."'";
@ -788,19 +799,8 @@ class SurveyInvitationsNew {
} else {
echo '<div class="gray">'.$lang['srv_inv_recipiens_temporary_list'].'</div>';
}
echo '</span>';
echo '<div class="floatLeft spaceLeft">';
echo '<div>';
echo '<label class="spaceRight"><input type="checkbox" id="inv_recipients_add" value="1" checked="checked">'.$lang['srv_invitation_recipients_add_type4'].'</label>';
echo '</div>';
echo '<div id="div_inv_recipients_rename_list_type" class="displayNone">';
$this->saveRecipientListName();
echo '</div>';
echo '</div>';
# če že imamo prejemnike v bazi ponudimo gumb naprej
echo '<div class="button_holder below float-right">';
@ -1405,9 +1405,10 @@ class SurveyInvitationsNew {
$row = $this->surveySettings;
echo '<h2 style="margin-left: 15px; color:#333 !important;">';
echo '<div class="invitations_top_settings">';
// Text s podatki o nastavitvah posiljanja
$settings_text = '<span class="bold spaceRight">'.$lang['srv_inv_message_type'].':</span>';
$settings_text = '<span>'.$lang['srv_inv_message_type'].': </span>';
$individual = (int)$this->surveySettings['individual_invitation'];
if($individual == 0){
@ -1443,10 +1444,12 @@ class SurveyInvitationsNew {
}
}
$settings_text .= '<span class="spaceLeft"> <a href="'.$site_url . 'admin/survey/index.php?anketa='.$this->sid.'&a=invitations&m=inv_settings">'.$lang['edit4'].'</a></span>';
$settings_text .= ' <a href="'.$site_url . 'admin/survey/index.php?anketa='.$this->sid.'&a=invitations&m=inv_settings"><span class="faicon edit"></span></a>';
echo $settings_text;
echo '</h2>';
echo '</div>';
#polovimo prejemnike ki ne želijo prejemati obvestil
@ -1528,7 +1531,7 @@ class SurveyInvitationsNew {
// Volitve nimajo nekaterih polj
if(!SurveyInfo::getInstance()->checkSurveyModule('voting')){
$default_fields['responded'] = 1;
//$default_fields['responded'] = 1;
$default_fields['unsubscribed'] = 1;
$default_fields['password'] = 1;
}
@ -1666,135 +1669,138 @@ class SurveyInvitationsNew {
echo '</span>';
}
if ($count_all > 0 ) {
# dodamo filtriranje
if ($count_all > 0 ) {
echo '<div id="inv_rec_filter">';
echo '<label>'.$lang['srv_invitation_recipients_filter'].'</label> <input id="inv_rec_filter_value" type="text" onchange="inv_filter_recipients(); return false;" value="'.$_SESSION['inv_filter']['value'].'">';
echo '&nbsp;&nbsp;&nbsp;<label><input id="inv_rec_filter_on" type="checkbox" onchange="inv_filter_recipients(); return false;"'.(isset($_SESSION['inv_filter_on']) && $_SESSION['inv_filter_on'] == true ? ' checked="true"' : '').'>';
echo $lang['srv_invitation_recipients_filter_advanced'].'</label>';
echo '<div class="setting">';
echo ' <label for="inv_rec_filter_value">'.$lang['srv_invitation_recipients_filter'].':</label><input id="inv_rec_filter_value" class="small" type="text" onchange="inv_filter_recipients(); return false;" value="'.$_SESSION['inv_filter']['value'].'">';
echo '</div>';
echo '<div class="setting">';
echo ' <input id="inv_rec_filter_on" type="checkbox" onchange="inv_filter_recipients(); return false;"'.(isset($_SESSION['inv_filter_on']) && $_SESSION['inv_filter_on'] == true ? ' checked="true"' : '').'>';
echo ' <label for="inv_rec_filter_on">'.$lang['srv_invitation_recipients_filter_advanced'].'</label>';
echo '</div>';
if (isset($_SESSION['inv_filter_on']) && $_SESSION['inv_filter_on'] == true ) {
echo '&nbsp;';
echo '&nbsp;';
echo '<label>'.$lang['srv_invitation_recipients_filter_sent'];
echo '<div class="setting">';
echo ' <label for="inv_rec_filter_send">'.$lang['srv_invitation_recipients_filter_sent'].'</label>';
$selected = (int)(isset($_SESSION['inv_filter']['send']) ? (int)$_SESSION['inv_filter']['send'] : 0);
echo ' <select id="inv_rec_filter_send" onchange="inv_filter_recipients();">';
echo ' <select id="inv_rec_filter_send" class="dropdown small" onchange="inv_filter_recipients();">';
echo ' <option value="0"'.((int)$selected == 0 ? ' selected="selected"' : '').'>'.$lang['srv_invitation_filter0'].'</option>';
echo ' <option value="1"'.((int)$selected == 1 ? ' selected="selected"' : '').'>'.$lang['srv_invitation_filter1'].'</option>';
echo ' <option value="2"'.((int)$selected == 2 ? ' selected="selected"' : '').'>'.$lang['srv_invitation_filter2'].'</option>';
echo '</select></label>';
echo ' </select>';
echo '</div>';
echo '&nbsp;';
echo '<label>'.$lang['srv_invitation_recipients_filter_answered'];
echo '<div class="setting">';
echo ' <label for="inv_rec_filter_respondet">'.$lang['srv_invitation_recipients_filter_answered'].'</label>';
$selected = (int)(isset($_SESSION['inv_filter']['respondet']) ? (int)$_SESSION['inv_filter']['respondet'] : 0);
echo ' <select id="inv_rec_filter_respondet" onchange="inv_filter_recipients();">';
echo ' <select id="inv_rec_filter_respondet" class="dropdown small" onchange="inv_filter_recipients();">';
echo ' <option value="0"'.((int)$selected == 0 ? ' selected="selected"' : '').'>'.$lang['srv_invitation_filter0'].'</option>';
echo ' <option value="1"'.((int)$selected == 1 ? ' selected="selected"' : '').'>'.$lang['srv_invitation_filter1'].'</option>';
echo ' <option value="2"'.((int)$selected == 2 ? ' selected="selected"' : '').'>'.$lang['srv_invitation_filter2'].'</option>';
echo '</select></label>';
echo ' </select>';
echo '</div>';
echo '&nbsp;';
echo '<label>'.$lang['srv_invitation_recipients_filter_unsubscribed'];
echo '<div class="setting">';
echo ' <label for="inv_rec_filter_unsubscribed">'.$lang['srv_invitation_recipients_filter_unsubscribed'].'</label>';
$selected = (int)(isset($_SESSION['inv_filter']['unsubscribed']) ? (int)$_SESSION['inv_filter']['unsubscribed'] : 0);
echo ' <select id="inv_rec_filter_unsubscribed" onchange="inv_filter_recipients();">';
echo ' <select id="inv_rec_filter_unsubscribed" class="dropdown small" onchange="inv_filter_recipients();">';
echo ' <option value="0"'.((int)$selected == 0 ? ' selected="selected"' : '').'>'.$lang['srv_invitation_filter0'].'</option>';
echo ' <option value="1"'.((int)$selected == 1 ? ' selected="selected"' : '').'>'.$lang['srv_invitation_filter1'].'</option>';
echo ' <option value="2"'.((int)$selected == 2 ? ' selected="selected"' : '').'>'.$lang['srv_invitation_filter2'].'</option>';
echo '</select></label>';
echo ' </select>';
echo '</div>';
$this->listCondition();
$this->advancedCondition();
}
echo '</div>';
echo '<form id="frm_inv_rec_export" name="resp_uploader" method="post" autocomplete="off">';
echo '<input type="hidden" name="anketa" id="anketa" value="'.$this->sid.'">';
echo '<input type="hidden" name="noNavi" id="noNavi" value="true">';
echo '<br class="clr"/>';
if ($filter != '') {
echo '<span class="red strong">';
echo '<div class="filter_note">';
printf($lang['srv_inv_list_no_recipients_filter'], $filter);
#Podatki so filtrirani: "'.$filter.'"<br/>';
echo '</span>';
echo '</div>';
}
echo '<div id="srv_invitation_note">';
if ($count_all > 0 && mysqli_num_rows($sql_query_filterd) != $count_all ) {
echo '<div id="srv_invitation_note" class="floatLeft spaceRight">';
echo $lang['srv_invitation_num_respondents_filtred'].(int)mysqli_num_rows($sql_query_filterd);
echo '</div>';
} else {
echo '<div id="srv_invitation_note" class="floatLeft spaceRight">';
echo $lang['srv_invitation_num_respondents'].(int)$this->count_all;
echo '</div>';
echo '<span>'.$lang['srv_invitation_num_respondents_filtred'].(int)mysqli_num_rows($sql_query_filterd).'</span>';
}
else {
echo '<span>'.$lang['srv_invitation_num_respondents'].(int)$this->count_all.'</span>';
}
# duplicated
echo '<label><input type="checkbox" id="inv_rec_filter_duplicates" onchange="inv_filter_recipients(); return false" '. ($filter_duplicated ?' checked="checked"':'') .'>' . $lang['srv_inv_recipient_show_only_duplicates'] .'</label><br class="clr"/>';
echo '<input type="checkbox" id="inv_rec_filter_duplicates" onchange="inv_filter_recipients(); return false" '. ($filter_duplicated ?' checked="checked"':'') .'><label for="inv_rec_filter_duplicates">'.$lang['srv_inv_recipient_show_only_duplicates'] .'</label>';
echo '</div>';
if (mysqli_num_rows($sql_query_filterd) > 0 && $count_all > 0) {
echo '<br class="clr"/>';
$this->displayPagination($filtred_all);
echo '<br class="clr"/>';
echo '<div style="display:inline-block; margin-right: 20px;">';
# če že imamo prejemnike v bazi več kot 20 ponudimo gumb naprej tudi zgoraj
if ($this->count_all > 20) {
echo '<span class="buttonwrapper floatRight spaceLeft" style="margin-bottom:10px;"><a class="ovalbutton ovalbutton_orange" href="'.$this->addUrl('view_message').'"><span>'.$lang['srv_invitation_forward'].'</span></a></span>';
}
// Izvoz vseh v excel
echo '<span class="floatLeft" style="line-height:45px; padding-left:10px;">';
echo '<a onclick="inv_recipients_form_action(\'export_all\');" href="#">';
echo '<span class="faicon xls" title="'.$lang['srv_invitation_recipients_export_all'].'" style="height:14px; width:16px;"></span>';
echo ' '.$lang['srv_invitation_recipients_export_all'];
echo '<div class="excel_export">';
echo ' <a href="#" class="noline" title="'.$lang['srv_invitation_recipients_export_all'].'" onclick="inv_recipients_form_action(\'export_all\');">';
echo ' <span class="faicon xls"></span>'.$lang['srv_invitation_recipients_export_all'];
echo ' </a>';
echo '</span>';
echo '</div>';
echo '<div class="table_holder">';
echo '<table id="tbl_recipients_list">';
echo '<tr>';
# checkbox
echo '<th class="tbl_icon" colspan="'.($this->surveySettings['show_email']==1?'4':'3').'" >&nbsp;</th>';
echo '<th class="tbl_icon" colspan="'.($this->surveySettings['show_email'] == 1 ? '4' : '3').'">';
echo ' <input type="checkbox" id="inv_switch" onClick="inv_selectAll(this);"><label for="inv_switch"></label>';
echo '</th>';
foreach ($fields AS $fkey =>$field) {
if ($field == 1) {
if ($fkey == 'sent' || $fkey == 'responded' || $fkey == 'unsubscribed' ) {
#echo '<th class="anl_ac tbl_icon_'.$fkey.' inv_'.$fkey.'_1" title="'.$lang['srv_inv_recipients_'.$fkey].'">&nbsp;</th>';
echo '<th'.$this->addSortField($fkey).' class="anl_ac pointer tbl_icon_'.$fkey.'" title="'.$lang['srv_inv_recipients_'.$fkey].'">'.$lang['srv_inv_recipients_'.$fkey].$this->addSortIcon($fkey).'</th>';
} else if ($fkey == 'last_status' ) {
}
else if ($fkey == 'last_status' ) {
echo '<th'.$this->addSortField($fkey).' class="anl_ac pointer" title="'.$lang['srv_inv_recipients_'.$fkey].'">'.$lang['srv_inv_recipients_'.$fkey].$this->addSortIcon($fkey).'</th>';
} else {
}
else {
echo '<th'.$this->addSortField($fkey).' class="pointer" title="'.$lang['srv_inv_recipients_'.$fkey].'">'.$lang['srv_inv_recipients_'.$fkey].$this->addSortIcon($fkey).'</th>';
}
}
}
echo '</tr>';
while ($sql_row = mysqli_fetch_assoc($sql_query_filterd)) {
echo '<tr>';
# checkbox
echo '<td><input type="checkbox" name="inv_rids[]" value="'.$sql_row['id'].'"></td>';
# checkbox
echo '<td><input type="checkbox" id="inv_rids'.$sql_row['id'].'" name="inv_rids[]" value="'.$sql_row['id'].'"><label for="inv_rids'.$sql_row['id'].'"></label></td>';
#izbriši
#echo '<td class="tbl_inv_left"><span class="as_link rec_delete_confirm" inv_rid="'.$sql_row['id'].'">'.$lang['srv_inv_list_profiles_delete'].'</span></td>';
echo '<td class="tbl_inv_left"><span class="faicon delete_circle icon-orange_link" onclick="deleteRecipient_confirm(\''.$sql_row['id'].'\'); return false;" title="'.$lang['srv_inv_list_profiles_delete'].'"></span></td>';
#uredi
#echo '<td class="tbl_inv_left"><span class="as_link rec_edit" inv_rid="'.$sql_row['id'].'">'.$lang['srv_inv_list_profiles_edit'].'</span></td>';
echo '<td class="tbl_inv_left"><span class="faicon edit smaller icon-as_link" onclick="editRecipient(\''.$sql_row['id'].'\'); return false;" title="'.$lang['srv_inv_list_profiles_edit'].'"></span></td>';
// Skoci na urejanje odgovorov - ce imamo identifikatorje povezane s podatki
@ -1805,18 +1811,18 @@ class SurveyInvitationsNew {
if ($field == 1) {
switch ($fkey) {
case 'sent':
echo '<td class="anl_ac pointer" onclick="showRecipientTracking(\''.$sql_row['id'].'\'); return false;">';
echo '<span class="faicon '.((int)$sql_row['sent'] == 1 ? ('inv_sent_1') : 'inv_sent_0').' icon-as_link" title="'.((int)$sql_row['sent'] == 1 ? $lang['sent'] : $lang['not_sent']).'"></span>';
echo '<td class="pointer" onclick="showRecipientTracking(\''.$sql_row['id'].'\'); return false;">';
echo ((int)$sql_row['sent'] == 1 ? $lang['sent'] : $lang['not_sent']);
echo '</td>';
break;
case 'responded':
echo '<td class="anl_ac">';
echo '<td class="">';
echo '<span class="faicon '.((int)$sql_row['responded'] == 1 ? ('inv_responded_1') : 'inv_responded_0').' icon-orange"></span>';
echo '</td>';
break;
case 'unsubscribed':
echo '<td class="anl_ac ">';
echo '<span class="faicon '.((int)$sql_row['unsubscribed'] == 1 ? ('inv_unsubscribed_1') : 'inv_unsubscribed_0').'"></span>';
echo '<td class="">';
echo ((int)$sql_row['unsubscribed'] == 1 ? $lang['unsubscribed'] : $lang['not_unsubscribed']);
echo '</td>';
break;
case 'last_status':
@ -1861,37 +1867,48 @@ class SurveyInvitationsNew {
}
}
echo '</tr>';
@ob_flush();
}
echo '</table>';
echo '</div>';
echo '<div id="inv_bottom_edit">';
echo '<span class="faicon arrow_up"></span> ';
echo '<span id="inv_switch_on"><a href="javascript:inv_selectAll(true);">'.$lang['srv_select_all'].'</a></span>';
echo '<span id="inv_switch_off" style="display:none;"><a href="javascript:inv_selectAll(false);">'.$lang['srv_deselect_all'].'</a></span>';
echo '&nbsp;&nbsp;<a href="#" onClick="inv_recipients_form_action(\'delete\');"><span class="faicon delete_circle icon-orange" title="'.$lang['srv_invitation_recipients_delete_selected'].'"></span>&nbsp;'.$lang['srv_invitation_recipients_delete_selected'].'</a>';
echo '&nbsp;&nbsp;<a href="#" onClick="inv_recipients_form_action(\'export\');"><span class="faicon xls delete" style="height:14px; width:16px;" title="'.$lang['srv_invitation_recipients_export_selected'].'"></span>&nbsp;'.$lang['srv_invitation_recipients_export_selected'].'</a>';
echo '&nbsp;&nbsp;<a href="#" onClick="inv_recipients_form_action(\'add\');">&nbsp;'.$lang['srv_invitation_recipients_activate3'].'</a>';
echo '<div class="bottom_actions">';
echo ' <a href="#" class="noline" class="noline" onClick="inv_recipients_form_action(\'delete\');"><span class="faicon delete" title="'.$lang['srv_invitation_recipients_delete_selected'].'"></span>'.$lang['srv_invitation_recipients_delete_selected'].'</a>';
echo ' <a href="#" class="noline" onClick="inv_recipients_form_action(\'export\');"><span class="faicon xls" title="'.$lang['srv_invitation_recipients_export_selected'].'"></span>'.$lang['srv_invitation_recipients_export_selected'].'</a>';
echo ' <a href="#" class="noline" onClick="inv_recipients_form_action(\'add\');">'.$lang['srv_invitation_recipients_activate3'].'</a>';
echo '</div>';
// Aktivira vse v seznamu (jih doda v podatke, kot da so poslani)
echo '<br /><span style="line-height:40px;"><a href="#" onclick="inv_add_rec_to_db(); return false;" target="_blank">'.$lang['srv_invitation_recipients_activate2'].'</a></span>';
echo '<div class="bottom_activate">';
echo ' <a href="#" class="noline" onclick="inv_add_rec_to_db(); return false;" target="_blank">'.$lang['srv_invitation_recipients_activate2'].'</a>';
echo '</div>';
echo '</div>';
# če že imamo prejemnike v bazi ponudimo gumb naprej
if ($count_all > 0) {
echo '<div class="buttonwrapper floatRight spaceLeft" style="margin-top:-30px;"><a class="ovalbutton ovalbutton_orange" href="'.$this->addUrl('view_message').'"><span>'.$lang['srv_invitation_forward'].'</span></a></div>';
echo '<br class="clr"/><br>';
}
echo '<div class="button_holder below float-right">';
echo ' <a href="'.$this->addUrl('view_message').'"><button type="button" class="medium blue">'.$lang['srv_invitation_forward'].'</div></a>';
echo '</div>';
} else {
echo $lang['srv_inv_list_no_recipients_filtred'].'<br class="clr">';
}
}
else {
echo '<span>'.$lang['srv_inv_list_no_recipients_filtred'].'</span>';
}
echo '</form>';
} else {
echo $lang['srv_inv_list_no_recipients'].'<br class="clr">';
}
else {
echo '<span>'.$lang['srv_inv_list_no_recipients'].'</span>';
}
}
@ -4030,6 +4047,7 @@ class SurveyInvitationsNew {
private function sendMailToUsers($sql_recipients_query, $sending_data){
global $global_user_id;
global $site_url;
global $lang;
// Preverimo ce je vklopljen modul za volitve
@ -4988,34 +5006,37 @@ class SurveyInvitationsNew {
while ($sql_row = mysqli_fetch_assoc($sql_query)) {
$array_profiles[$sql_row['pid']] = array('name' => $sql_row['name']);
}
echo '<div id="inv_import_list_profiles">';
echo '<ol>';
foreach ($array_profiles AS $_pid => $profile) {
echo '<li pid="'.$_pid.'" class="'
# .($_pid['isdefault'] == 1 ? ' strong' : '')
.($ppid === $_pid ? ' active' : '')
.'">';
echo $profile['name'];
echo '<li pid="'.$_pid.'" class="'.($ppid === $_pid ? ' active' : '').'">';
echo '<span>'.$profile['name'].'</span>';
if ((int)$ppid > 0 && $ppid === $_pid) {
# polovimo še ostale porfile
$sql_query = sisplet_query("SELECT * FROM srv_invitations_recipients_profiles WHERE pid='".(int)$ppid."' AND from_survey ='".$this->sid."' ");
if (mysqli_num_rows($sql_query) > 0) {
echo '<div class="icons">';
# če je iz iste ankete, potem lahko urejamo
echo '<a href="#" onclick="inv_del_rec_profile();" title="'.$lang['srv_inv_recipients_delete_profile'].'"><span class="faicon delete_circle"></span></a>';
echo '<a href="#" onclick="inv_edit_rec_profile();" title="'.$lang['srv_inv_recipients_edit_profile'].'"><span class="faicon edit"></span></a>';
echo '</div>';
}
}
echo '</li>';
}
echo '</ol>';
echo '</div>';
echo '<br class="clr" />';
if ((int)$ppid > 0) {
# polovimo še ostale porfile
$sql_string = "SELECT * FROM srv_invitations_recipients_profiles WHERE pid='".(int)$ppid."' AND from_survey ='".$this->sid."' ";
$sql_query = sisplet_query($sql_string);
if (mysqli_num_rows($sql_query) > 0) {
# če je iz iste ankete, potem lahko urejamo
echo '<a href="#" onclick="inv_del_rec_profile();" title="'.$lang['srv_inv_recipients_delete_profile'].'">'.$lang['srv_inv_recipients_delete_profile'].'</a><br/>';
echo '<a href="#" onclick="inv_edit_rec_profile();" title="'.$lang['srv_inv_recipients_edit_profile'].'">'.$lang['srv_inv_recipients_edit_profile'].'</a><br/>';
echo '<br class="clr"/>';
}
}
echo '<br class="clr" />';
}
function getRecipientsProfile($pid) {
@ -6369,68 +6390,58 @@ class SurveyInvitationsNew {
# current nastavimo na zadnji element
if ( $all > 1) {
echo '<div id="pagination">';
$baseUrl = $site_url.'admin/survey/index.php?anketa='.$this->sid.'&a='.A_INVITATIONS.'&m=view_recipients&page=';
echo '<div class="pagination_holder">';
# povezava -10
if ($all > 10) {
if ($current - 10 >= 0) {
echo('<div><a href="'.$baseUrl.($current - 10).'">-10</a></div>');
} else {
# brez href povezave
echo('<div class="disabledPage">-10</div>');
}
}
echo '<div id="pagination">';
$baseUrl = $site_url.'admin/survey/index.php?anketa='.$this->sid.'&a='.A_INVITATIONS.'&m=view_recipients&page=';
# povezava na prejšnjo stran
$prev_page = $current - 1 ? $current - 1 :$current;
if( ($current - 1) >= 1) {
echo('<div><a href="'.$baseUrl.$prev_page.'">'.$lang['previous_page_short'].'</a></div>');
} else {
echo '<a href="'.$baseUrl.$prev_page.'" title="'.$lang['previous_page_short'].'"><div class="arrow left"><span class="faicon pagination_left"></span></div></a>';
}
else {
# brez href povezave
echo('<div class="disabledPage">'.$lang['previous_page_short'].'</div>');
echo '<div class="arrow left disabledPage"><span class="faicon pagination_left"></span></div>';
}
# povezave za vmesne strani
$middle = $all / 2;
$skipped = false;
for($a = 1; $a <= $all; $a++) {
if ($all < ((GROUP_PAGINATE+1) * 2) || $a <= GROUP_PAGINATE || $a > ($all-GROUP_PAGINATE)
|| ( abs($a-$current) < GROUP_PAGINATE)) {
if ($all < ((GROUP_PAGINATE+1) * 2) || $a <= GROUP_PAGINATE || $a > ($all-GROUP_PAGINATE) || ( abs($a-$current) < GROUP_PAGINATE)){
if ($skipped == true) {
echo '<div class="spacePage">.&nbsp;.&nbsp;.</div>';
echo '<div class="page_space">...</div>';
$skipped = false;
}
if($a == $current) {
# brez href povezave
echo('<div class="currentPage">'.($a).'</div>');
} else {
echo('<div><a href="'.$baseUrl.$a.'">'.($a).'</a></div>');
echo '<div class="page_number currentPage">'.$a.'</div>';
}
} else {
else {
echo '<a href="'.$baseUrl.$a.'"><div class="page_number">'.$a.'</div></a>';
}
}
else {
$skipped = true;
}
}
# povezava na naslednjo stran
$next_page = ($current + 1) ? ($current + 1) : $current;
if(($current ) < $all) {
echo('<div><a href="'.$baseUrl.$next_page.'">'.$lang['next_page_short'].'</a></div>');
} else {
# brez href povezave
echo('<div class="disabledPage">'.$lang['next_page_short'].'</div>');
echo '<a href="'.$baseUrl.$next_page.'" title="'.$lang['next_page_short'].'"><div class="arrow right"><span class="faicon pagination_right"></span></div></a>';
}
if ($all > 10) {
if ($current + 10 < $all) {
echo('<div><a href="'.$baseUrl.($current + 10).'">+10</a></div>');
} else {
else {
# brez href povezave
echo('<div class="disabledPage">+10</div>');
}
echo '<div class="arrow right disabledPage"><span class="faicon pagination_right"></span></div>';
}
$rec_on_page = $all != $current ? REC_ON_PAGE : ( $all_records - ($all-1)*REC_ON_PAGE);
echo '<div class="justtext">'.$lang['srv_inv_pagination_shown'].$rec_on_page.$lang['srv_inv_pagination_shown_records'].'</div>';
echo '</div>';
echo '</div>';
}
}
@ -9880,14 +9891,14 @@ class SurveyInvitationsNew {
return array();
}
function advancedCondition()
{
function advancedCondition(){
global $lang;
echo '<span id="conditionProfileNote" class="simple">';
echo '<div id="conditionProfileNote" class="setting">';
echo $lang['srv_inv_condition_filter'].' ';
if ((int)$this->invitationAdvancedConditionId > 0)
{
if ((int)$this->invitationAdvancedConditionId > 0){
$scp = new SurveyCondition($this->sid);
echo ' <strong>'.$scp->getConditionName((int)$this->invitationAdvancedConditionId).'</strong> ';
$this->user_inv_ids = $this->getConditionUserIds($this->invitationAdvancedConditionId);
@ -9902,29 +9913,32 @@ class SurveyInvitationsNew {
echo '<span class="as_link spaceLeft" onclick="showInvitationAdvancedConditions(\''.(int)$this->invitationAdvancedConditionId.'\'); return false;">'.$lang['srv_profile_edit'].'</span>';
echo '<span class="as_link spaceLeft" onclick="invitationSetCondition(\'0\'); return false;">'.$lang['srv_profile_remove'].'</span>';
}
else
{
echo '<strong>'.$lang['srv_inv_condition_no_filter'].'</strong>';
echo '<a href="#" class="faicon if_add" onclick="showInvitationAdvancedConditions(); return false;" data-cid="'.(int)$this->invitationAdvancedConditionId.'">&nbsp;</a>';
}
echo '</span>';
else{
echo '<span>'.$lang['srv_inv_condition_no_filter'].'</span>';
echo '<a href="#" class="faicon if_add" onclick="showInvitationAdvancedConditions(); return false;" data-cid="'.(int)$this->invitationAdvancedConditionId.'"></a>';
}
function listCondition()
{
echo '</div>';
}
function listCondition(){
global $lang;
# get all lists
$lists = $this->getSurveyInvitationLists(true);
$selected = (int)(isset($_SESSION['inv_filter']['list']) ? (int)$_SESSION['inv_filter']['list'] : -2);
echo '&nbsp;';
echo '<label>'.$lang['srv_invitation_recipients_filter_list'];
echo '<select id="inv_rec_filter_list" onchange="inv_filter_recipients();">';
foreach ($lists AS $list_id => $list)
{
echo '<div class="setting">';
echo '<label>'.$lang['srv_invitation_recipients_filter_list'].'</label>';
echo '<select id="inv_rec_filter_list" class="dropdown small" onchange="inv_filter_recipients();">';
foreach ($lists AS $list_id => $list){
echo '<option value="'.$list_id.'"'.((int)$selected == $list_id ? ' selected="selected"' : '').'>'.$list['name'].'</option>';
}
echo '</select></label>';
echo '</select>';
echo '</div>';
}
function getSurveyInvitationLists($add_all = false)

View File

@ -471,8 +471,7 @@ function invitations_init() {
// izbira obstoječega profila prejemnikov
$("#inv_import_list_profiles ol li").live('click', function(event) {
var target = $(event.target);
var pid = $(target).attr('pid');
var pid = $(this).attr('pid');
if (pid != 'undefined') {
$("#anketa_edit").load('ajax.php?t=invitations&a=use_recipients_list', {anketa:srv_meta_anketa_id, pid:pid });
}
@ -972,7 +971,10 @@ function invTogleSend(what) {
}
}
function inv_selectAll(val){
function inv_selectAll(checkbox){
val = $(checkbox).is(':checked');
// oznacimo vse checkboxe
$('#tbl_recipients_list tr td input[type="checkbox"]').each(function() {
$(this).attr("checked", val);
@ -981,7 +983,8 @@ function inv_selectAll(val){
if(val == true){
$("#inv_switch_on").hide();
$("#inv_switch_off").show();
} else{
}
else{
$("#inv_switch_off").hide();
$("#inv_switch_on").show();
}
@ -1559,6 +1562,8 @@ function invRecipientsForward() {
{
// shranimo seznam ali dodamo respondente ali oboje
$("#anketa_edit").load('ajax.php?t=invitations&a=recipientsAddForward', {anketa:srv_meta_anketa_id, doAdd:doAdd, doSave:doSave, recipients_list:recipients_list, fields:fields, profile_name:profile_name, profile_comment:profile_comment, profile_id:profile_id, recipientsDelimiter: recipientsDelimiter});
/*$.post('ajax.php?t=invitations&a=recipientsAddForward', {anketa:srv_meta_anketa_id, doAdd:doAdd, doSave:doSave, recipients_list:recipients_list, fields:fields, profile_name:profile_name, profile_comment:profile_comment, profile_id:profile_id, recipientsDelimiter: recipientsDelimiter});
window.location = 'index.php?anketa='+srv_meta_anketa_id+'&a=invitations&m=view_recipients';*/
}
else
{

View File

@ -117,6 +117,8 @@ $lang = array (
"app_aai_installation_text" => "<b>Z orodjem 1KA lahko na enostaven način izdelate spletni vprašalnik, izvedete spletno anketo, urejate in analizirate podatke, s kar najmanjšim številom klikov.</b><br /><br />Za uporabo orodja 1KA se lahko registrirate oziroma prijavite z vašim Arnes AAI-računom.<br /><br />Kliknite na spodnji gumb in sledite navodilom za prijavo v AAI.",
"sent" => "Poslano",
"not_sent" => "Ni poslano",
"unsubscribed" => "Odjavljen",
"not_unsubscribed" => "Ni odjavljen",
"check_and" => "Preverite in",
"submit" => "potrdite spremembe",
"dontwant" => "Ne elim ve&#269; prejemati on-line novic",

View File

@ -105,6 +105,8 @@ $lang = array (
"app_aai_installation_text" => "<b>With the 1KA tool, you can easily create an online questionnaire, conduct an online survey, edit and analyze data with as few clicks as possible.</b><br /><br />You can register or login into 1KA application with your Arnes AAI-account.<br /><br />Click bottom button and follow instructions for AAI login.",
"sent" => "Sent",
"not_sent" => "Not sent",
"unsubscribed" => "Unsubscribed",
"not_unsubscribed" => "Not unsubscribed",
"check_and" => "Check and",
"submit" => "submit",
"dontwant" => "I don't want to receive any more e-mail",

View File

@ -21417,6 +21417,13 @@ body #main_holder #main .page_invitations .invitations_top_settings {
margin-bottom: 16px;
font-weight: 600;
}
body #main_holder #main .page_invitations .invitations_top_settings .faicon {
margin-left: 16px;
}
body #main_holder #main .page_invitations .invitations_top_settings #srv_invitation_note {
margin-top: 8px;
font-weight: 400;
}
body #main_holder #main .page_invitations #inv_recipients_profiles_holder {
min-height: 355px;
padding: 16px;
@ -21447,6 +21454,7 @@ body #main_holder #main .page_invitations #inv_recipients_profiles_holder #inv_i
list-style-type: none;
display: flex;
align-items: center;
justify-content: space-between;
height: 35px;
padding: 0px 8px;
border-bottom: 1px solid #E5E5E5;
@ -21461,6 +21469,12 @@ body #main_holder #main .page_invitations #inv_recipients_profiles_holder #inv_i
body #main_holder #main .page_invitations #inv_recipients_profiles_holder #inv_import_list_profiles ol li:hover {
background-color: #F4F9FE;
}
body #main_holder #main .page_invitations #inv_recipients_profiles_holder #inv_import_list_profiles ol li .faicon {
margin-left: 8px;
}
body #main_holder #main .page_invitations #inv_recipients_profiles_holder #inv_import_list_profiles ol li .faicon:before {
font-size: 16px;
}
body #main_holder #main .page_invitations #inv_import_list_container {
min-height: 355px;
margin-bottom: 0;
@ -21474,6 +21488,161 @@ body #main_holder #main .page_invitations #inv_import_list_container .setting_li
body #main_holder #main .page_invitations #inv_import_list_container .setting_line textarea {
width: 100%;
}
body #main_holder #main .page_invitations #inv_rec_filter {
display: flex;
align-items: center;
height: 40px;
box-sizing: border-box;
margin-bottom: 16px;
padding: 0 16px;
background: #F8F8F8;
border: 1px solid #E5E5E5;
border-radius: 2px;
}
body #main_holder #main .page_invitations #inv_rec_filter .setting {
margin-right: 16px;
}
body #main_holder #main .page_invitations #inv_rec_filter .setting#conditionProfileNote {
display: flex;
align-items: center;
padding: 4px 8px;
background-color: #E5E5E5;
}
body #main_holder #main .page_invitations #inv_rec_filter .setting#conditionProfileNote span {
margin-left: 8px;
}
body #main_holder #main .page_invitations #inv_rec_filter .setting#conditionProfileNote a {
margin-left: 4px;
}
body #main_holder #main .page_invitations #inv_rec_filter .setting label {
margin: 0;
font-size: 14px;
}
body #main_holder #main .page_invitations #inv_rec_filter .setting input[type=text] {
width: 160px;
margin: 0 0 0 8px;
}
body #main_holder #main .page_invitations #inv_rec_filter .setting select {
width: 90px;
margin: 0 0 0 8px;
}
body #main_holder #main .page_invitations .filter_note {
margin-bottom: 16px;
color: #FF0000;
font-size: 14px;
font-weight: 600;
}
body #main_holder #main .page_invitations #srv_invitation_note {
margin-bottom: 16px;
}
body #main_holder #main .page_invitations #srv_invitation_note span {
margin-right: 16px;
font-size: 14px;
}
body #main_holder #main .page_invitations #srv_invitation_note label {
font-size: 14px;
}
body #main_holder #main .page_invitations .excel_export {
font-size: 14px;
}
body #main_holder #main .page_invitations .excel_export .faicon {
margin-right: 8px;
}
body #main_holder #main .page_invitations .pagination_holder {
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 16px;
}
body #main_holder #main .page_invitations .pagination_holder #pagination {
display: flex;
justify-content: center;
align-items: center;
width: auto;
padding: 4px;
background: #F8F8F8;
border-radius: 2px;
}
body #main_holder #main .page_invitations .pagination_holder #pagination a {
color: #333333;
text-decoration: none;
}
body #main_holder #main .page_invitations .pagination_holder #pagination .page_number {
display: flex;
justify-content: center;
align-items: center;
width: 24px;
height: 24px;
margin: 0 4px;
border-radius: 2px;
transition: 0.2s;
}
body #main_holder #main .page_invitations .pagination_holder #pagination .page_number:hover {
background-color: #E5E5E5;
}
body #main_holder #main .page_invitations .pagination_holder #pagination .page_number.currentPage {
color: #FFFFFF;
background-color: #1E88E5;
}
body #main_holder #main .page_invitations .pagination_holder #pagination .arrow {
margin: 0 4px;
transition: 0.2s;
}
body #main_holder #main .page_invitations .pagination_holder #pagination .arrow.disabledPage {
color: #777777;
}
body #main_holder #main .page_invitations .table_holder {
overflow-x: auto;
margin: 8px 0;
}
body #main_holder #main .page_invitations .table_holder table#tbl_recipients_list {
margin: 0;
}
body #main_holder #main .page_invitations .table_holder table#tbl_recipients_list tr th {
position: relative;
min-height: 40px;
padding: 10px 16px;
font-size: 14px;
}
body #main_holder #main .page_invitations .table_holder table#tbl_recipients_list tr th .sort_descending,
body #main_holder #main .page_invitations .table_holder table#tbl_recipients_list tr th .sort_ascending {
position: absolute;
right: 0;
top: 20px;
}
body #main_holder #main .page_invitations .table_holder table#tbl_recipients_list tr th input[type=checkbox] + label::before {
font-weight: 400;
}
body #main_holder #main .page_invitations .table_holder table#tbl_recipients_list tr th input[type=checkbox]:checked + label::before {
font-weight: 600;
}
body #main_holder #main .page_invitations .table_holder table#tbl_recipients_list tr td {
white-space: nowrap;
min-height: 40px;
padding: 10px 16px;
font-size: 14px;
}
body #main_holder #main .page_invitations #inv_bottom_edit .bottom_actions {
display: flex;
align-items: center;
margin-bottom: 16px;
}
body #main_holder #main .page_invitations #inv_bottom_edit .bottom_actions a {
margin-right: 16px;
font-size: 14px;
}
body #main_holder #main .page_invitations #inv_bottom_edit .bottom_actions a .faicon {
margin-right: 8px;
}
body #main_holder #main .page_invitations #inv_bottom_edit .bottom_actions a .faicon:before {
font-size: 16px;
}
body #main_holder #main .page_invitations #inv_bottom_edit .bottom_activate a {
font-size: 14px;
}
body #main_holder #main .page_invitations #inv_bottom_edit .bottom_activate a .faicon {
margin-right: 8px;
}
body #main_holder #main .page_invitations #invitation_messages {
display: flex;
flex-direction: column;
@ -21495,6 +21664,7 @@ body #main_holder #main .page_invitations #invitation_messages ol li {
list-style-type: none;
display: flex;
align-items: center;
justify-content: space-between;
height: 35px;
padding: 0px 8px;
border-bottom: 1px solid #E5E5E5;
@ -21509,6 +21679,12 @@ body #main_holder #main .page_invitations #invitation_messages ol li.active {
body #main_holder #main .page_invitations #invitation_messages ol li:hover {
background-color: #F4F9FE;
}
body #main_holder #main .page_invitations #invitation_messages ol li .faicon {
margin-left: 8px;
}
body #main_holder #main .page_invitations #invitation_messages ol li .faicon:before {
font-size: 16px;
}
/*
.lbl_email_setting {
@ -22250,14 +22426,7 @@ div.inv_step.active {
.inv_input_error {
border: 1px solid $red;
}
#inv_rec_filter {
float: left;
width: auto;
margin-right: 5px;
margin-bottom: 10px;
padding: 8px;
border: 1px solid $gray;
}
#inv_rec_cehckboxes {
float: left;
width: auto !important;

View File

@ -30,6 +30,15 @@ body #main_holder #main .page_invitations{
margin-bottom: 16px;
font-weight: 600;
.faicon{
margin-left: 16px;
}
#srv_invitation_note{
margin-top: 8px;
font-weight: 400;
}
}
@ -59,6 +68,7 @@ body #main_holder #main .page_invitations{
display: flex;
align-items: center;
justify-content: space-between;
height: 35px;
padding: 0px 8px;
@ -77,10 +87,17 @@ body #main_holder #main .page_invitations{
&:hover {
background-color: $medium-blue2;
}
}
}
}
.faicon{
margin-left: 8px;
&:before{
font-size: 16px;
}
}
}
}
}
// 2 - Dodaj - leva stran
@ -122,8 +139,229 @@ body #main_holder #main .page_invitations{
}
// 3 - Preglej prejemnike
// Search
#inv_rec_filter {
display: flex;
align-items: center;
// 3-
height: 40px;
box-sizing: border-box;
margin-bottom: 16px;
padding: 0 16px;
background: $light-gray;
border: 1px solid $gray;
border-radius: 2px;
.setting{
margin-right: 16px;
&#conditionProfileNote{
display: flex;
align-items: center;
padding: 4px 8px;
background-color: $gray;
span{
margin-left: 8px;
}
a{
margin-left: 4px;
}
}
label{
margin: 0;
font-size: 14px;
}
input[type="text"]{
width: 160px;
margin: 0 0 0 8px;
}
select{
width: 90px;
margin: 0 0 0 8px;
}
}
}
.filter_note{
margin-bottom: 16px;
color: $red;
font-size: 14px;
font-weight: 600;
}
#srv_invitation_note{
margin-bottom: 16px;
span{
margin-right: 16px;
font-size: 14px;
}
label{
font-size: 14px;
}
}
.excel_export{
font-size: 14px;
.faicon{
margin-right: 8px;
}
}
.pagination_holder{
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 16px;
#pagination{
display: flex;
justify-content: center;
align-items: center;
width: auto;
padding: 4px;
background: $light-gray;
border-radius: 2px;
a{
color: $black;
text-decoration: none;
}
.page_number{
display: flex;
justify-content: center;
align-items: center;
width: 24px;
height: 24px;
margin: 0 4px;
border-radius: 2px;
transition: 0.2s;
&:hover{
background-color: $gray;
}
&.currentPage{
color: $white;
background-color: $blue;
}
}
.arrow{
margin: 0 4px;
transition: 0.2s;
&.disabledPage{
color: $very-dark-gray;
}
}
}
}
// Tabela prejemnikov
.table_holder{
overflow-x: auto;
margin: 8px 0;
table#tbl_recipients_list{
margin: 0;
tr{
th{
position: relative;
min-height: 40px;
padding: 10px 16px;
font-size: 14px;
.sort_descending,
.sort_ascending{
position: absolute;
right: 0;
top: 20px;
}
input[type="checkbox"] + label::before{
font-weight: 400;
}
input[type="checkbox"]:checked + label::before{
font-weight: 600;
}
}
td{
white-space: nowrap;
min-height: 40px;
padding: 10px 16px;
font-size: 14px;
}
}
}
}
#inv_bottom_edit{
.bottom_actions{
display: flex;
align-items: center;
margin-bottom: 16px;
a{
margin-right: 16px;
font-size: 14px;
.faicon{
margin-right: 8px;
&:before{
font-size: 16px;
}
}
}
}
.bottom_activate{
a{
font-size: 14px;
.faicon{
margin-right: 8px;
}
}
}
}
// 4 - Sporocilo
#invitation_messages {
@include inv_left_list();
}
@ -878,14 +1116,7 @@ div.inv_step.active {
.inv_input_error {
border: 1px solid $red;
}
#inv_rec_filter {
float: left;
width: auto;
margin-right: 5px;
margin-bottom: 10px;
padding: 8px;
border: 1px solid $gray;
}
#inv_rec_cehckboxes {
float: left;
width: auto !important;