init
\n"; $this->_resetTemplate(); $this->_resetHash(); } function add_base_hash(&$data) { global $sess_ident; $data['SESS-IDENT'] = $sess_ident; $data['URL_PRODUKTE'] = URL_PRODUKTE; $data['URL_INFO'] = URL_INFO; $data['URL_KONTAKT'] = URL_KONTAKT; $data['URL_WEBHOME'] = URL_WEBHOME; $data['URL_WEBHOME_td'] = URL_WEBHOME_td; $data['URL_WEBHOME_gs'] = URL_WEBHOME_gs; $data['URL_WEBHOME_zv'] = URL_WEBHOME_zv; setlocale(LC_TIME, "de_DE"); $data['ACTDATE'] = strftime("%B %Y"); $data['JSLINK_TINYMCE'] = JSLINK_TINYMCE; $data['LINK-LOGO1'] = LINK_LOGO1; $data['URL_IMPRESSUM'] = URL_IMPRESSUM; $data['DIR_ROOT'] = DIR_ROOT; $data['DIR_SCRIPTS'] = DIR_SCRIPTS; $data['DIR_TEMPLATES'] = DIR_TEMPLATES; $data['DIR_IMAGES'] = DIR_IMAGES; $data['SELF'] = SELF; $data['APPLNAME'] = APPLNAME; $data['URL_ROOT'] = URL_ROOT; $data['URL_FRONTEND'] = URL_FRONTEND; $data['URL_WEBSITE'] = URL_WEBSITE; // equal with URL_FRONTEND $data['URL_HTBASE'] = URL_ROOT.DIR_SCRIPTS."/".SELF."?sess_ident=" .$data['SESS-IDENT']."&cmd="; $data['URL_BOHTBASE'] = $data['URL_HTBASE']; $data['URL_NLFE'] = URL_NLFE; // scripts for FrontEnd $data['URL_SHOPSTART'] = URL_NLFE."/nl_entry.php"; $data['URL_STARTSEITE'] = $data['URL_HTBASE'] ."Startseite"; //$data['URL_USRTEMPLATE'] = $data['URL_HTBASE'] ."UsrTemplate"; $data['URL_NAVIGATION'] = $data['URL_HTBASE'] ."NaviTemplate"; $data['URL_BONLABO'] = $data['URL_BOHTBASE'] ."BONLAbo"; $data['URL_BONLABO_IMPORT'] = $data['URL_BOHTBASE'] ."BONLAboImport"; $data['URL_BONLETTER'] = $data['URL_BOHTBASE'] ."BONLetter"; $data['URL_BOTRANCHE'] = $data['URL_BOHTBASE'] ."BONLTranche"; $data['URL_BOSTAT_NL'] = $data['URL_BOHTBASE'] ."BOStatNL"; $data['URL_BOSTAT_ABO'] = $data['URL_BOHTBASE'] ."BOStatAbo"; $data['URL_BOSTAT_BEISPIELE'] = $data['URL_BOHTBASE'] ."BOStatBeispiele"; $data['URL_BOSTAT_PROSPEKTE'] = $data['URL_BOHTBASE'] ."BOStatProspekte"; } function _resetTemplate() { $this->_template = ""; if ((DEBUG & 4) == 4) echo "Template->_resetTemplate
\n"; } function _resetHash() { if ((DEBUG & 4) == 4) echo "Template->_resetHash
\n"; $_hashData = array(); $_hashKeys = array(); $_hashValues = array(); } function set_template($tmp) { if ((DEBUG & 4) == 4) echo "Template->set_template
\n"; $this->_template = $tmp; if ((DEBUG & 4) == 4) echo "-Template->set_template
\n"; } function load_template($fileTemplate) { if ((DEBUG & 4) == 4) echo "Template->load_template ($fileTemplate)
\n"; $this->_resetTemplate(); $tplFile=0; $buffer = ""; $tplFile = fopen ("$fileTemplate", "r"); if (!$tplFile) die("could not open template file '$fileTemplate'"); while (!feof ($tplFile)) { $buffer = fgets($tplFile, 4096); $this->_template .= $buffer; } fclose ($tplFile); } function load_hash($mydatahash = array()) { if (! function_exists('_conv_keys')) { function _conv_keys(&$item, $key) { $item = "/<-$item->/"; } } if ((DEBUG & 4) == 4) echo "Template->load_hash
\n"; $this->_resetHash(); $this->add_base_hash($mydatahash); $this->_hashData = $mydatahash; $this->_hashKeys = array_keys($this->_hashData); $this->_hashValues = array_values($this->_hashData); array_walk($this->_hashKeys, '_conv_keys'); } function load_pieces($mynameHash = array()) //mynameHash[0]=NameOfBaseTemplate, mynameHash[pieceskey=fieldname]=TemplateName { if (! function_exists('_conv_pkeys')) { function _conv_pkeys(&$item, $key) { $item = "/<-".strtoupper($item)."->/"; } } $pieces = array(); $baseName = DIR_ROOT.DIR_TEMPLATES."/".$mynameHash[0]; unset($mynameHash[0]); foreach($mynameHash as $key => $fileTemplate) { if($fileTemplate) { $this->load_template(DIR_ROOT.DIR_TEMPLATES."/".$fileTemplate); $pieces[$key] = $this->_template; } else $pieces[$key] = ""; } $this->load_template($baseName); $this->_resetHash(); $this->_hashKeys = array_keys($pieces); $this->_hashValues = array_values($pieces); array_walk($this->_hashKeys, '_conv_pkeys'); //print_r($this_hashKeys); $this->compile_template(); $this->_template = $this->output; } function show_template() { if ((DEBUG & 4) == 4) echo "Template->show_template
\n"; $this->compile_template(); echo $this->output; } function _calc2($tmp2in) { return ((isset($this->_hashData[$tmp2in]) ? $this->_hashData[$tmp2in] : $tmp2in)); } function _calc($tmpin) { $tmpout = preg_replace("/([^a-zA-Z_0-9])([a-zA-Z_0-9]+)/e", "'\\1'.\$this->_calc2('\\2')", $tmpin); $tmpout = substr ($tmpout, 1, strlen($tmpout)-1); eval ("\$tmpout = ($tmpout);"); return ($tmpout); } function compile_template() { if ((DEBUG & 4) == 4) echo "Template->compile_template
\n"; $tmpTemplate = $this->_template; $tmpTemplate = preg_replace ($this->_hashKeys, $this->_hashValues, $tmpTemplate); $tmpTemplate = preg_replace ("/<-(=)\(([a-zA-Z0-9_ +-\/*()]+?)\)->/e", "\$this->_calc ('\\1\\2')", $tmpTemplate); $this->output = $tmpTemplate; } } ?> = $found) // may happen after empfadd { $page = 0; $start = -1; } $x = ceil($found) -1; $x = $x / $ppage; if($ppage < $found) { $pic = "Seite: "; } if($page && $page > $nrzeige) { $back_end ="« Erste ..."; $back = " « Vorherige "; } $nr_start = $page +1; $nr_left = $nr_start - $nrzeige; $nr_right = $nr_start + $nrzeige; for($i=$nr_left;$i<=$nr_right;$i++) { if($i > 0) { $array[$i] = $i; $array[1] = 1; $array[$x] = $x; ksort($array); } if($i >=1 && $i <= $x+1) { if($i == $page+1) { if ($ppage < $found) { $middle .= " $i "; } } else { $middle .= " $i "; } } }//end for //echo "($page != floor($x) && (floor($x) - $nrzeige) > $page)"; if($page != floor($x) && (floor($x) - $nrzeige) > $page) { if ($ppage < $found) { $forward_end = "... Letzte » "; $forward =" Nächste » "; } } return(array($start, $pic.$back_end.$back.$middle.$forward.$forward_end)); } // end setup_scrolling function get_empf_count($nl_id) { global $DB2; $query = "SELECT count(1) AS found FROM nl_newsletter, nl_nl_abo LEFT JOIN nl_tranche ON tr_nr=nlabo_tranche AND tr_nl_id=nlabo_nl_id "; $query .= " WHERE nl_id= nlabo_nl_id AND nlabo_nl_id ='$nl_id' AND nlabo_tranche < 99 AND "; $query .= " ((nlabo_tranche=0 AND nl_zu_senden=0) OR (tr_zu_senden=0))"; // $query = "SELECT count(1) AS found FROM nl_nl_abo WHERE nlabo_tranche<99 AND nlabo_nl_id ='$nl_id'"; if(($DB2->query($query)) && ($DB2->rows)) { $DB2->loadhash(); return($DB2->RSArray['found']); } else return(0); } function get_tranche_count($nl_id) { global $DB2; $query = "SELECT count(1) AS found FROM nl_tranche WHERE tr_nl_id ='$nl_id'"; if(($DB2->query($query)) && ($DB2->rows)) { $DB2->loadhash(); return($DB2->RSArray['found']); } else return(0); } function dateformat($datestring) { // transform YYYY-MM-DD HH:MM:SS to DD.MM.YYYY if(strlen($datestring) >=10) { return(substr($datestring,8,2).".".substr($datestring,5,2).".".substr($datestring,0,4)); } else { return(""); } } // end dateformat // UT 06.02.10 no get_product_opt, but this one. for aisys taken from fabianfr and located in URL_WEBSITE!! function old_get_link_opt($link_id) { /* $out = '\n"; $tplFile = fopen (DIR_WEBSITE."/links_pdown.php", "r"); if (!$tplFile) die("could not open template file '".DIR_WEBSITE."/links_pdown.php'"); while (!feof ($tplFile)) { $buffer = fgets($tplFile, 4096); $out .= $buffer; } fclose ($tplFile); return($out); */ $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; $out.="\n"; return($out); } function get_link_opt($link_id) { //$AIDB = new Database("aisys_test",'relaunch_user',"a16ySr3l"); //$AIDB2 = new Database("aisys_test",'relaunch_user',"a16ySr3l"); //$AIDB3 = new Database("aisys_test",'relaunch_user',"a16ySr3l"); #$AIDB = new Database("aisys_www2",'relaunch_user',"a16ySr3l"); #$AIDB2 = new Database("aisys_www2",'relaunch_user',"a16ySr3l"); #$AIDB3 = new Database("aisys_www2",'relaunch_user',"a16ySr3l"); $AIDB = new Database (DB_DSN, DB_LOGIN, DB_PASS, DB_HOST); $AIDB2 = new Database (DB_DSN, DB_LOGIN, DB_PASS, DB_HOST); $AIDB3 = new Database (DB_DSN, DB_LOGIN, DB_PASS, DB_HOST); //altered from BO/templates/startseite_neu.php from ffr $out.="\n"; $out.="\n"; $sql_nav1 = "SELECT * FROM navigation WHERE sort != '0' ORDER BY sort"; if(($AIDB->query($sql_nav1)) && ($AIDB->rows)) { for($i=0; $i<$AIDB->rows; $i++) { $AIDB->setpos($i); $AIDB->loadhash(); $out.="\n"; if($AIDB->RSArray['nav'] == "produkte") { /* 2008.01.15 $sql_nav2 = "SELECT navigation.*, kategorien.ueberschrift FROM navigation, kategorien "; $sql_nav2.= " WHERE kategorien.navigation = navigation.id AND navigation.parent='". $AIDB->RSArray['id'] ."' ORDER BY navigation.nav"; $AIDB2->query($sql_nav2); for($j=0; $j<$AIDB2->rows; $j++) { $AIDB2->setpos($j); $AIDB2->loadhash(); $out .= "\n"; */ $sql_nav3 = "SELECT navigation.*, produkte.ueberschrift FROM navigation, produkte "; //$sql_nav3 .= " WHERE produkte.navigation = navigation.id AND navigation.parent = '". $AIDB2->RSArray['id'] ."' ORDER BY produkte.sort"; $sql_nav3 .= " WHERE produkte.navigation = navigation.id AND produkte.aktiv = '1' AND navigation.parent = '". $AIDB->RSArray['id'] ."' ORDER BY produkte.sort"; $AIDB3->query($sql_nav3); for($ii=0; $ii<$AIDB3->rows; $ii++) { $AIDB3->setpos($ii); $AIDB3->loadhash(); $out .= "\n"; } //} } elseif($AIDB->RSArray['nav'] == "loesungen") { $sql_nav3 = "SELECT navigation.*, loesungen.ueberschrift FROM navigation, loesungen "; $sql_nav3 .= " WHERE loesungen.navigation = navigation.id AND loesungen.aktiv = '1' AND navigation.parent = '". $AIDB->RSArray['id'] ."' ORDER BY loesungen.sort"; $AIDB3->query($sql_nav3); for($ii=0; $ii<$AIDB3->rows; $ii++) { $AIDB3->setpos($ii); $AIDB3->loadhash(); $out .= "\n"; } } elseif($AIDB->RSArray['nav'] == "meldungen") { $sql_nav2="SELECT id, ueberschrift FROM meldungen WHERE ablaufdatum > '".date("Y-m-d")."' ORDER BY startdatum DESC"; $AIDB2->query($sql_nav2); for($j=0; $j<$AIDB2->rows; $j++) { $AIDB2->setpos($j); $AIDB2->loadhash(); $out .= "\n"; } } else { $sql_nav2 = "SELECT * FROM navigation WHERE parent = '". $AIDB->RSArray['id'] ."' ORDER BY nav"; $AIDB2->query($sql_nav2); for($j=0; $j<$AIDB2->rows; $j++) { $AIDB2->setpos($j); $AIDB2->loadhash(); $out .= "\n"; $sql_nav3 = "SELECT * FROM navigation WHERE parent = '". $AIDB2->RSArray['id'] ."' ORDER BY nav"; $AIDB3->query($sql_nav3); for($ii=0; $ii<$AIDB3->rows; $ii++) { $AIDB3->setpos($ii); $AIDB3->loadhash(); $out .= "\n"; } } } // end else normal subnavi } } // endif AIDB results return($out); } // end get_link_opt function get_produkt_opt($id, $mode) { global $DB3; if(substr($mode,0,4) == "link") { if (substr($id,0,7) == "http://") { $pulldown = "\n"; $link_name = substr($id,7); $link_cmd=""; } else { $pulldown = "\n"; } //cms - cmd's fom HTBASE / ROOTSHOP used in nl (newsletter new) $cms_cmds = array( "Startseite" => "Startpage", // "Login" => "LoginPage", "Startseite Privatkunden" =>"Privatkunden", "Startseite Geschäftskunden" => "Businesskunden", "News / Presse" => "NewsPress", "News - Neue Produkte" => "NewsProductCustomer", "News - Anwenderberichte" => "NewsUserReports", "News - Testurteile" => "NewsTestReports", "Downloads - Einzelplatz" => "DownloadsSupportCustomer", "Downloads - Netzwerk/Intranet" => "DownloadsSupportBusiness", "Downloads - Partner" => "DownloadsPartner", "Downloads - Presse" => "DownloadsPress", ); foreach ($cms_cmds as $name => $cmd) { //if ($id != str_replace("!","<",$cmd)) if($id == $cmd) { $pulldown .= "\n"; $link_name = $name; $link_cmd=$id; } else { $pulldown .= "\n"; } } } // endif for_link else { if($id) $pulldown = "\n"; else $pulldown = "\n"; } $query = "SELECT * FROM produkte, produkte_texte where produkte.pro_id = produkte_texte.protex_pro_id "; if ($DB3->query($query)) { for ($i=0; $i < $DB3->rows; $i++) { $DB3->setpos($i); $DB3->loadhash(); if ($DB3->RSArray['pro_id'] > 0) { if($DB3->RSArray['pro_id'] == $id) { $pulldown .= "\n"; $link_name=$DB3->RSArray['protex_name']; $link_cmd="ProductView/".$id; } else { $pulldown .= "\n"; } } } } if($mode == "link") return($link_name); else return($pulldown); } // end get_produkt_opt function get_date_opt($von_datestring="",$bis_datestring="",$past=0) // as "YYYY-MM-DD $past = years past (negative !!!!) { if(!($von_datestring) || ($von_datestring == "0000-00-00")) $von = array(date("Y")+$past,date("m"),date("d")); else $von=explode("-",$von_datestring); if(!($bis_datestring) || ($bis_datestring == "0000-00-00")) $bis=array(date("Y")+1,date("m"),date("d")); else $bis=explode("-",$bis_datestring); //print_r($von); print_r($bis); return(array( "VON-TAG-OPT"=>$this->_makeopt($von[2],31), "VON-MONAT-OPT"=>$this->_makeopt($von[1],12), "VON-JAHR-OPT"=>$this->_makeopt($von[0],$past), "BIS-TAG-OPT"=>$this->_makeopt($bis[2],31), "BIS-MONAT-OPT"=>$this->_makeopt($bis[1],12), "BIS-JAHR-OPT"=>$this->_makeopt($bis[0],$past) )); } // end get_date_opt function _makeopt($selval,$max=0) { $min=1; $sel=""; if(! $max) // nur bei Jahr { $min = date("Y"); $max = $min + 5; if(! $selval) $selval = $max; // aktuelle Jahr selektiert } elseif($max < 0) // Jahre bis zu heute { $min = date("Y") + $max; $max = date("Y"); if(! $selval) $selval = $min; // aktuelle Jahr selektiert } if(! $selval) { $selval = $min; } for($i=$min; $i<=$max; $i++) { if($min == 1) //Tag, oder Monat { $value = sprintf("%02d",$i); } else { $value = sprintf("%4d",$i); } if($i == $selval) { $options .= "\n"; } else { $options .= "\n"; } } return($options); } // end _makeopt function get_themen_opt($abo_id=0) { global $DB2; if(! $this->themen_opt) $this->_set_themen_opt(); $opt_arr=$this->themen_opt; $query = "SELECT abothema_thema_id FROM nl_abo_themen WHERE abothema_abo_id=$abo_id "; if(($DB2->query($query)) && ($DB2->rows)) { for($i=0; $i<$DB2->rows; $i++) { $DB2->setpos($i); $DB2->loadhash(); $opt_arr[$DB2->RSArray['abothema_thema_id']]=str_replace("'>","' selected>",$this->themen_opt[$DB2->RSArray['abothema_thema_id']]); } } return(implode('',$opt_arr)); }// end get_themen_opt function _set_themen_opt() { global $DB2; $query = "SELECT * FROM nl_thema ORDER BY thema_id"; if(($DB2->query($query)) && ($DB2->rows)) { for($i=0; $i<$DB2->rows; $i++) { $DB2->setpos($i); $DB2->loadhash(); $this->themen_opt[$DB2->RSArray['thema_id']]="\n"; } } } // end _set_themen_opt } // end class ?>