Podatki - geslo se izpise v tabeli kot parapodatek, ce so identifikatorji povezani

This commit is contained in:
pero1203 2022-10-17 11:51:09 +02:00
parent fdadf91093
commit 60f8fd3242

View File

@ -508,299 +508,303 @@ class SurveyDataDisplay{
static public function setUpFilter() {
# nastavimo filter po statusih
if (self::$headFileName != null && self::$headFileName != '' && file_exists(self::$headFileName)) {
# kadar zbiramo sistemske, moramo obvezno zbirati tudi podatke, ne smemo pa full meta
if (self::$_VARS[VAR_SHOW_SYSTEM]){
self::$_VARS[VAR_DATA] = true;
self::$_VARS[VAR_META] = true;
self::$_VARS[VAR_METAFULL] = false;
self::$_VARS[VAR_SHOW_DATE] = false;
}
# filtriranje po statusih
self::$_CURRENT_STATUS_FILTER = SurveyStatusProfiles :: getStatusAsAWKString();
# kadar zbiramo sistemske, moramo obvezno zbirati tudi podatke, ne smemo pa full meta
if (self::$_VARS[VAR_SHOW_SYSTEM]){
self::$_VARS[VAR_DATA] = true;
self::$_VARS[VAR_META] = true;
self::$_VARS[VAR_METAFULL] = false;
self::$_VARS[VAR_SHOW_DATE] = false;
}
if (self::$dataFileStatus >= 0) {
self::$_HEADERS = unserialize(file_get_contents(self::$headFileName));
# filtriranje po statusih
self::$_CURRENT_STATUS_FILTER = SurveyStatusProfiles :: getStatusAsAWKString();
# ali imamo filter na testne podatke
if (isset(self::$_HEADERS['testdata']['grids'][0]['variables'][0]['sequence']) && (int)self::$_HEADERS['testdata']['grids'][0]['variables'][0]['sequence'] > 0) {
$test_data_sequence = self::$_HEADERS['testdata']['grids'][0]['variables'][0]['sequence'];
$filter_testdata = SurveyStatusProfiles :: getStatusTestAsAWKString($test_data_sequence);
}
# filtriranje po časih
$_time_profile_awk = SurveyTimeProfiles :: getFilterForAWK(self::$_HEADERS['unx_ins_date']['grids']['0']['variables']['0']['sequence']);
if (self::$dataFileStatus >= 0) {
self::$_HEADERS = unserialize(file_get_contents(self::$headFileName));
# ali imamo filter na uporabnost
if (isset(self::$_HEADERS['usability']['variables'][0]['sequence']) && (int)self::$_HEADERS['usability']['variables'][0]['sequence'] > 0) {
$usability_data_sequence = self::$_HEADERS['usability']['variables'][0]['sequence'];
$filter_usability = SurveyStatusProfiles :: getStatusUsableAsAWKString($usability_data_sequence);
}
# ali imamo filter na testne podatke
if (isset(self::$_HEADERS['testdata']['grids'][0]['variables'][0]['sequence']) && (int)self::$_HEADERS['testdata']['grids'][0]['variables'][0]['sequence'] > 0) {
$test_data_sequence = self::$_HEADERS['testdata']['grids'][0]['variables'][0]['sequence'];
$filter_testdata = SurveyStatusProfiles :: getStatusTestAsAWKString($test_data_sequence);
}
# filtriranje po časih
$_time_profile_awk = SurveyTimeProfiles :: getFilterForAWK(self::$_HEADERS['unx_ins_date']['grids']['0']['variables']['0']['sequence']);
# če nismo v indikatorjih (sistemske)
if (self::$_VARS[VAR_SHOW_SYSTEM] == false) {
# dodamo še ife
SurveyConditionProfiles :: setHeader(self::$_HEADERS);
$_condition_profile_AWK = SurveyConditionProfiles:: getAwkConditionString();
# ali imamo filter na uporabnost
if (isset(self::$_HEADERS['usability']['variables'][0]['sequence']) && (int)self::$_HEADERS['usability']['variables'][0]['sequence'] > 0) {
$usability_data_sequence = self::$_HEADERS['usability']['variables'][0]['sequence'];
$filter_usability = SurveyStatusProfiles :: getStatusUsableAsAWKString($usability_data_sequence);
}
# dodamo še ife za inspect
$SI = new SurveyInspect(self::$sid);
$_inspect_condition_awk = $SI->generateAwkCondition();
}
# če nismo v indikatorjih (sistemske)
if (self::$_VARS[VAR_SHOW_SYSTEM] == false) {
# dodamo še ife
SurveyConditionProfiles :: setHeader(self::$_HEADERS);
$_condition_profile_AWK = SurveyConditionProfiles:: getAwkConditionString();
# dodamo pogoj za filter prepoznave uporabnika iz cms
# vklopljeno more bit prepoznava userja iz cms
if (self::$doCMSUserFilter == true) {
$CMSUserCondition = self::createCMSUserFilter();
}
# dodamo še ife za inspect
$SI = new SurveyInspect(self::$sid);
$_inspect_condition_awk = $SI->generateAwkCondition();
}
if (($_condition_profile_AWK != "" && $_condition_profile_AWK != null )
|| ($_inspect_condition_awk != "" && $_inspect_condition_awk != null)
|| ($_time_profile_awk != "" && $_time_profile_awk != null)
|| ($CMSUserCondition != "" && $CMSUserCondition != null)
|| ($filter_testdata != null)
|| ($filter_usability != null)) {
self::$_CURRENT_STATUS_FILTER = '('.self::$_CURRENT_STATUS_FILTER;
if ($_condition_profile_AWK != "" && $_condition_profile_AWK != null ) {
self::$_CURRENT_STATUS_FILTER .= '&&'.$_condition_profile_AWK;
}
if ($_inspect_condition_awk != "" && $_inspect_condition_awk != null ) {
self::$_CURRENT_STATUS_FILTER .= ' && '.$_inspect_condition_awk;
}
if ($_time_profile_awk != "" && $_time_profile_awk != null) {
self::$_CURRENT_STATUS_FILTER .= '&&'.$_time_profile_awk;
}
if ($CMSUserCondition != "" && $CMSUserCondition != null) {
self::$_CURRENT_STATUS_FILTER .= '&&'.$CMSUserCondition;
}
if ($filter_testdata != null ) {
self::$_CURRENT_STATUS_FILTER .= '&&('.$filter_testdata.')';
}
if ($filter_usability != null ) {
self::$_CURRENT_STATUS_FILTER .= '&&('.$filter_usability.')';
}
self::$_CURRENT_STATUS_FILTER .= ')';
}
# dodamo pogoj za filter prepoznave uporabnika iz cms
# vklopljeno more bit prepoznava userja iz cms
if (self::$doCMSUserFilter == true) {
$CMSUserCondition = self::createCMSUserFilter();
}
# preštejemo vse zapise ki ustrezajo filtru po statusu
if (IS_WINDOWS) {
$awk_string = 'awk -F"'.STR_DLMT.'" "'.self::$_CURRENT_STATUS_FILTER.' {cnt++} END {print cnt}" '.self::$dataFileName;
$recCount = shell_exec($awk_string);
if ($_GET['debug'] == 1) {
print_r('<br>'.$awk_string);
}
if (($_condition_profile_AWK != "" && $_condition_profile_AWK != null )
|| ($_inspect_condition_awk != "" && $_inspect_condition_awk != null)
|| ($_time_profile_awk != "" && $_time_profile_awk != null)
|| ($CMSUserCondition != "" && $CMSUserCondition != null)
|| ($filter_testdata != null)
|| ($filter_usability != null)) {
self::$_CURRENT_STATUS_FILTER = '('.self::$_CURRENT_STATUS_FILTER;
if ($_condition_profile_AWK != "" && $_condition_profile_AWK != null ) {
self::$_CURRENT_STATUS_FILTER .= '&&'.$_condition_profile_AWK;
}
if ($_inspect_condition_awk != "" && $_inspect_condition_awk != null ) {
self::$_CURRENT_STATUS_FILTER .= ' && '.$_inspect_condition_awk;
}
if ($_time_profile_awk != "" && $_time_profile_awk != null) {
self::$_CURRENT_STATUS_FILTER .= '&&'.$_time_profile_awk;
}
if ($CMSUserCondition != "" && $CMSUserCondition != null) {
self::$_CURRENT_STATUS_FILTER .= '&&'.$CMSUserCondition;
}
if ($filter_testdata != null ) {
self::$_CURRENT_STATUS_FILTER .= '&&('.$filter_testdata.')';
}
if ($filter_usability != null ) {
self::$_CURRENT_STATUS_FILTER .= '&&('.$filter_usability.')';
}
self::$_CURRENT_STATUS_FILTER .= ')';
}
} else {
$awk_string = 'awk -F"'.STR_DLMT.'" \''.self::$_CURRENT_STATUS_FILTER.' {cnt++} END {print cnt}\' \''.self::$dataFileName.'\'';
$recCount = shell_exec($awk_string);
if ($_GET['debug'] == 1) {
print_r('<br>'.$awk_string);
}
}
if ((int)$recCount > 0 ) {
self::$_RECORD_COUNT = (int)$recCount;
}
# preštejemo vse zapise ki ustrezajo filtru po statusu
if (IS_WINDOWS) {
$awk_string = 'awk -F"'.STR_DLMT.'" "'.self::$_CURRENT_STATUS_FILTER.' {cnt++} END {print cnt}" '.self::$dataFileName;
$recCount = shell_exec($awk_string);
if ($_GET['debug'] == 1) {
print_r('<br>'.$awk_string);
}
} else {
$awk_string = 'awk -F"'.STR_DLMT.'" \''.self::$_CURRENT_STATUS_FILTER.' {cnt++} END {print cnt}\' \''.self::$dataFileName.'\'';
$recCount = shell_exec($awk_string);
if ($_GET['debug'] == 1) {
print_r('<br>'.$awk_string);
}
}
if ((int)$recCount > 0 ) {
self::$_RECORD_COUNT = (int)$recCount;
}
if (self::$_VARS[VAR_REC_ON_PAGE] != 'all') {
self::$_TOTAL_PAGES = bcdiv(self::$_RECORD_COUNT, self::$_VARS[VAR_REC_ON_PAGE]);
if (self::$_VARS[VAR_REC_ON_PAGE] != 'all') {
self::$_TOTAL_PAGES = bcdiv(self::$_RECORD_COUNT, self::$_VARS[VAR_REC_ON_PAGE]);
if (bcmod(self::$_RECORD_COUNT, self::$_VARS[VAR_REC_ON_PAGE]) > 0)
self::$_TOTAL_PAGES += 1;
if (self::$_VARS[VAR_CUR_REC_PAGE] > self::$_TOTAL_PAGES ) {
self::$_VARS[VAR_CUR_REC_PAGE] = self::$_TOTAL_PAGES;
} elseif (self::$_VARS[VAR_CUR_REC_PAGE] < 1 ) {
self::$_VARS[VAR_CUR_REC_PAGE] = 1;
}
if (bcmod(self::$_RECORD_COUNT, self::$_VARS[VAR_REC_ON_PAGE]) > 0)
self::$_TOTAL_PAGES += 1;
if (self::$_VARS[VAR_CUR_REC_PAGE] > self::$_TOTAL_PAGES ) {
self::$_VARS[VAR_CUR_REC_PAGE] = self::$_TOTAL_PAGES;
} elseif (self::$_VARS[VAR_CUR_REC_PAGE] < 1 ) {
self::$_VARS[VAR_CUR_REC_PAGE] = 1;
}
# nastavimo limit za datoteko
# nastavimo limit za datoteko
$up = self::$_VARS[VAR_REC_ON_PAGE] * self::$_VARS[VAR_CUR_REC_PAGE];
$low = $up - self::$_VARS[VAR_REC_ON_PAGE]+1;
$up = self::$_VARS[VAR_REC_ON_PAGE] * self::$_VARS[VAR_CUR_REC_PAGE];
$low = $up - self::$_VARS[VAR_REC_ON_PAGE]+1;
self::$_REC_LIMIT = ' NR=='.$low.',NR=='.$up.'';
} else {
# nastavimo limit za datoteko
self::$_REC_LIMIT = '';
}
}
if (self::$_VARS[VAR_DATA]) {
$tmp_svp_pv = SurveyVariablesProfiles :: getProfileVariables(self::$_PROFILE_ID_VARIABLE );
self::$_REC_LIMIT = ' NR=='.$low.',NR=='.$up.'';
} else {
# nastavimo limit za datoteko
self::$_REC_LIMIT = '';
}
}
# če je $svp_pv = null potem prikazujemo vse variable
# oziroma če je sistemski dodamo tudi vse, ker drugače lahko filter skrije telefon in email
if (count($tmp_svp_pv) == 0 || self::$_VARS[VAR_SHOW_SYSTEM] == true ) {
if (self::$_VARS[VAR_DATA]) {
$tmp_svp_pv = SurveyVariablesProfiles :: getProfileVariables(self::$_PROFILE_ID_VARIABLE );
$_sv = self::$SDF->getSurveyVariables();
if (count($_sv) > 0) {
foreach ( $_sv as $vid => $variable) {
$tmp_svp_pv[$vid] = $vid;
}
}
}
}
self::$lineoffset=1;
# če prikazujemo sistemske ne prikazujemo recnumber
if (!self::$_VARS[VAR_SHOW_SYSTEM] && self::$_VARS[VAR_META] && self::$_VARS[VAR_METAFULL]) {
$svp_pv['recnum'] = 'recnum';
#$svp_pv['code'] = 'code';
self::$lineoffset++;
# za code ni ofseta
#self::$lineoffset++;
}
# če je $svp_pv = null potem prikazujemo vse variable
# oziroma če je sistemski dodamo tudi vse, ker drugače lahko filter skrije telefon in email
if (count($tmp_svp_pv) == 0 || self::$_VARS[VAR_SHOW_SYSTEM] == true ) {
if (self::$_VARS[VAR_DATA] && count($tmp_svp_pv) > 0) {
foreach ($tmp_svp_pv AS $_svp_pv) {
$_sv = self::$SDF->getSurveyVariables();
if (count($_sv) > 0) {
foreach ( $_sv as $vid => $variable) {
$tmp_svp_pv[$vid] = $vid;
}
}
}
}
# če imamo sistemski email ali telefon, ime, priimek (v header je nastavljno "hide_system" = 1)
# potem v odvisnosti od nastavitve prikazujemo samo navadne podatke ali pa samo te sistemske, zaradizaščite podatkov
$_sistemski = false;
if (!self::$_VARS[VAR_SHOW_SYSTEM] && self::$_HEADERS[$_svp_pv]['hide_system'] == '1') {
# prikazujemo samo nesistemske (nezaščitene)
unset(self::$_HEADERS[$_svp_pv]);
} else if (self::$_VARS[VAR_SHOW_SYSTEM] && self::$_HEADERS[$_svp_pv]['hide_system'] !== '1') {
# prikazujemo samo sistemske (zaščitene) podatke
unset(self::$_HEADERS[$_svp_pv]);
} else {
# če ne dodamo
$svp_pv[$_svp_pv] = $_svp_pv;
}
}
}
self::$lineoffset=1;
#status - če smo v meta ali imamo profil vse enote
if ( (self::$_VARS[VAR_META] && self::$_VARS[VAR_METAFULL])
|| ( $ssp_pid = SurveyStatusProfiles::getCurentProfileId() == 1 )) {
$svp_pv['status'] = 'status';
self::$lineoffset++;
}
# če prikazujemo sistemske ne prikazujemo recnumber
if (!self::$_VARS[VAR_SHOW_SYSTEM] && self::$_VARS[VAR_META] && self::$_VARS[VAR_METAFULL]) {
$svp_pv['recnum'] = 'recnum';
self::$lineoffset++;
}
#lurker
if ( (self::$_VARS[VAR_META] && self::$_VARS[VAR_METAFULL])
|| ( $ssp_pid = SurveyStatusProfiles::getCurentProfileId() == 1 )) {
// dodamo v array da se prikazujejo tudi ti stolpci
$svp_pv['lurker'] = 'lurker';
self::$lineoffset++;
}
# ustreznost
if (self::$_VARS[VAR_RELEVANCE] && self::$canDisplayRelevance && self::$_VARS[VAR_SHOW_SYSTEM] == false) {
// dodamo v array da se prikazujejo tudi ti stolpci
$svp_pv['relevance'] = 'relevance';
self::$lineoffset++;
}
if (self::$_VARS[VAR_META]) {
$svp_pv['code'] = 'code';
self::$lineoffset++;
}
# email tion
#email prikazujemo skupaj z ustreznostjo
if ( self::$_VARS[VAR_EMAIL] && self::$_VARS[VAR_SHOW_SYSTEM] == false ) {
// dodamo v array da se prikazujejo tudi ti stolpci
$svp_pv['invitation'] = 'invitation';
self::$lineoffset++;
}
if (self::$_VARS[VAR_DATA] && count($tmp_svp_pv) > 0) {
if (isset(self::$_HEADERS['testdata'])) {
self::$_HAS_TEST_DATA = true;
$svp_pv['testdata'] = 'testdata';
self::$lineoffset++;
}
# $svp_pv['unx_ins_date'] = 'unx_ins_date';
foreach ($tmp_svp_pv AS $_svp_pv) {
if (self::$_VARS[VAR_METAFULL] && self::$_VARS[VAR_SHOW_SYSTEM] == false) {
# dodamo tudi special meta
$svp_pv['meta'] = 'meta';
}
# če imamo sistemski email ali telefon, ime, priimek (v header je nastavljno "hide_system" = 1)
# potem v odvisnosti od nastavitve prikazujemo samo navadne podatke ali pa samo te sistemske, zaradizaščite podatkov
$_sistemski = false;
if (!self::$_VARS[VAR_SHOW_SYSTEM] && self::$_HEADERS[$_svp_pv]['hide_system'] == '1') {
# prikazujemo samo nesistemske (nezaščitene)
unset(self::$_HEADERS[$_svp_pv]);
} else if (self::$_VARS[VAR_SHOW_SYSTEM] && self::$_HEADERS[$_svp_pv]['hide_system'] !== '1') {
# prikazujemo samo sistemske (zaščitene) podatke
unset(self::$_HEADERS[$_svp_pv]);
} else {
# če ne dodamo
$svp_pv[$_svp_pv] = $_svp_pv;
}
}
}
if (self::$showItime == true) {
$svp_pv['itime'] = 'itime';
self::$lineoffset++;
}
#status - če smo v meta ali imamo profil vse enote
if ( (self::$_VARS[VAR_META] && self::$_VARS[VAR_METAFULL])
|| ( $ssp_pid = SurveyStatusProfiles::getCurentProfileId() == 1 )) {
$svp_pv['status'] = 'status';
self::$lineoffset++;
}
// ce imamo vklopljene sistemske ne smemo povezovat podatkov in zato urejamo po abecedi
if(self::$_VARS[VAR_SHOW_SYSTEM]){
#lurker
if ( (self::$_VARS[VAR_META] && self::$_VARS[VAR_METAFULL])
|| ( $ssp_pid = SurveyStatusProfiles::getCurentProfileId() == 1 )) {
// dodamo v array da se prikazujejo tudi ti stolpci
$svp_pv['lurker'] = 'lurker';
self::$lineoffset++;
}
# ustreznost
if (self::$_VARS[VAR_RELEVANCE] && self::$canDisplayRelevance && self::$_VARS[VAR_SHOW_SYSTEM] == false) {
// dodamo v array da se prikazujejo tudi ti stolpci
$svp_pv['relevance'] = 'relevance';
self::$lineoffset++;
}
$hasEmail = false;
# email tion
#email prikazujemo skupaj z ustreznostjo
if ( self::$_VARS[VAR_EMAIL] && self::$_VARS[VAR_SHOW_SYSTEM] == false ) {
// dodamo v array da se prikazujejo tudi ti stolpci
$svp_pv['invitation'] = 'invitation';
self::$lineoffset++;
}
// Poiscemo sekvenco sistemske spremenljivke
foreach (self::$_HEADERS AS $spr => $spremenljivka) {
if (isset($spremenljivka['sistem']) && $spremenljivka['sistem'] == 1 && $spremenljivka['variable'] == 'email') {
$sequence = $spremenljivka['sequences'];
$hasEmail = true;
}
}
if (isset(self::$_HEADERS['testdata'])) {
self::$_HAS_TEST_DATA = true;
$svp_pv['testdata'] = 'testdata';
self::$lineoffset++;
}
# $svp_pv['unx_ins_date'] = 'unx_ins_date';
if($hasEmail){
# sortiramo
self::$do_sort = true;
if (self::$_VARS[VAR_METAFULL] && self::$_VARS[VAR_SHOW_SYSTEM] == false) {
# dodamo tudi special meta
$svp_pv['meta'] = 'meta';
}
# nastavimo po kateri sekvenci / stolpcu sortiramo
self::$sort_seq = $sequence;
if (self::$showItime == true) {
$svp_pv['itime'] = 'itime';
self::$lineoffset++;
}
self::$sort_type = 'sort_asc';
}
}
// ce imamo vklopljene sistemske ne smemo povezovat podatkov in zato urejamo po abecedi
if(self::$_VARS[VAR_SHOW_SYSTEM]){
self::getQuestionCount();
if (self::$_VARS[VAR_SPR_LIMIT] > self::$_ALL_QUESTION_COUNT) {
self::$_VARS[VAR_SPR_LIMIT] = 'all';
}
$hasEmail = false;
$spr_cont = 0; // za paginacijo spremenljivk
// Poiscemo sekvenco sistemske spremenljivke
foreach (self::$_HEADERS AS $spr => $spremenljivka) {
if (isset($spremenljivka['sistem']) && $spremenljivka['sistem'] == 1 && $spremenljivka['variable'] == 'email') {
$sequence = $spremenljivka['sequences'];
$hasEmail = true;
}
}
if(self::$_VARS['spr_limit'] == 'all'){
$_spr_on_pages_start = 0;
$_spr_on_pages_stop = self::$_VARS['spr_page'];
}
else{
$_spr_on_pages_start = self::$_VARS['spr_page'] * self::$_VARS['spr_limit'] - self::$_VARS['spr_limit'];
$_spr_on_pages_stop = self::$_VARS['spr_page'] * self::$_VARS['spr_limit'];
}
if($hasEmail){
# sortiramo
self::$do_sort = true;
# skreiramo filter variabel za podatke
if (count(self::$_HEADERS) > 0) {
// zloopamo skozi spremenljivke in sestavimo filter po stolpcih
$_tmp_filter = '';
foreach (self::$_HEADERS AS $spid => $spremenljivka) {
if (isset($svp_pv[$spid])) {
// paginacija spremenljivk
if (self::$_VARS['spr_limit'] == 'all' || ($spr_cont >= $_spr_on_pages_start && $spr_cont < $_spr_on_pages_stop)) {
if (count($spremenljivka['grids']) > 0 ) {
foreach ($spremenljivka['grids'] AS $gid => $grid) {
if (count ($grid['variables']) > 0) {
foreach ($grid['variables'] AS $vid => $variable ){
$_tmp_filter .= $_prfx.$variable['sequence'];
$_prfx = ',';
}
}
}
}
} // end: paginacija spremenljivk
$spr_cont++;
} else
# če prikazujemo samo sistemske
if ( self::$_VARS[VAR_SHOW_SYSTEM] && in_array($spremenljivka['variable'], array('email','ime','priimek','telefon','naziv','drugo','odnos'))) {
if (count($spremenljivka['grids']) > 0 ) {
foreach ($spremenljivka['grids'] AS $gid => $grid) {
if (count ($grid['variables']) > 0) {
foreach ($grid['variables'] AS $vid => $variable ){
$_tmp_filter .= $_prfx.$variable['sequence'];
$_prfx = ',';
}
}
}
}
$svp_pv[$spid] = $spid;
}
}
}
# nastavimo po kateri sekvenci / stolpcu sortiramo
self::$sort_seq = $sequence;
# prilagodimo array profilov variabel
self::$_SVP_PV = $svp_pv;
if ($_tmp_filter != '')
{
self::$sort_type = 'sort_asc';
}
}
self::getQuestionCount();
if (self::$_VARS[VAR_SPR_LIMIT] > self::$_ALL_QUESTION_COUNT) {
self::$_VARS[VAR_SPR_LIMIT] = 'all';
}
$spr_cont = 0; // za paginacijo spremenljivk
if(self::$_VARS['spr_limit'] == 'all'){
$_spr_on_pages_start = 0;
$_spr_on_pages_stop = self::$_VARS['spr_page'];
}
else{
$_spr_on_pages_start = self::$_VARS['spr_page'] * self::$_VARS['spr_limit'] - self::$_VARS['spr_limit'];
$_spr_on_pages_stop = self::$_VARS['spr_page'] * self::$_VARS['spr_limit'];
}
# skreiramo filter variabel za podatke
if (count(self::$_HEADERS) > 0) {
// zloopamo skozi spremenljivke in sestavimo filter po stolpcih
$_tmp_filter = '';
foreach (self::$_HEADERS AS $spid => $spremenljivka) {
if (isset($svp_pv[$spid])) {
// paginacija spremenljivk
if (self::$_VARS['spr_limit'] == 'all' || ($spr_cont >= $_spr_on_pages_start && $spr_cont < $_spr_on_pages_stop)) {
if (count($spremenljivka['grids']) > 0 ) {
foreach ($spremenljivka['grids'] AS $gid => $grid) {
if (count ($grid['variables']) > 0) {
foreach ($grid['variables'] AS $vid => $variable ){
$_tmp_filter .= $_prfx.$variable['sequence'];
$_prfx = ',';
}
}
}
}
} // end: paginacija spremenljivk
$spr_cont++;
} else
# če prikazujemo samo sistemske
if ( self::$_VARS[VAR_SHOW_SYSTEM] && in_array($spremenljivka['variable'], array('email','ime','priimek','telefon','naziv','drugo','odnos'))) {
if (count($spremenljivka['grids']) > 0 ) {
foreach ($spremenljivka['grids'] AS $gid => $grid) {
if (count ($grid['variables']) > 0) {
foreach ($grid['variables'] AS $vid => $variable ){
$_tmp_filter .= $_prfx.$variable['sequence'];
$_prfx = ',';
}
}
}
}
$svp_pv[$spid] = $spid;
}
}
}
# prilagodimo array profilov variabel
self::$_SVP_PV = $svp_pv;
if ($_tmp_filter != ''){
self::$_VARIABLE_FILTER = $_tmp_filter;
}
}
}
/** Prikaže filtre za število podatkov....