db = $db; } function __destruct() { unset($this->tables_info); unset($this->data); } function addTable($loc,$priority,$lastmod,$changefreq,$table,$field, $where = "1=1"){ array_push($this->tables_info,array('loc'=>$loc,'priority'=>$priority,'lastmod'=>$lastmod,'changefreq'=>$changefreq,'table'=>$table,'field'=>$field, 'where'=>$where)); } function viewTablesData(){ print_r($this->data); } private function addData($res,$url){ foreach($res as $row){ $this->addUrl($this->sprint_f($url['loc'],$row),$url['priority'],$url['lastmod'],$url['changefreq']); } } function sprint_f($str,$vars = array()){ $eval = "\$r = sprintf(\$str,"; for($i=0;$idata,array('loc'=>$loc,'priority'=>$priority,'lastmod'=>$lastmod,'changefreq'=>$changefreq)); } function start(){ foreach($this->tables_info as $row){ $sql = "select ".implode(",",$row['field'])." from ".$row['table']." where ".$row['where']; $res = $this->db->getAll($sql,array()); $this->addData($res, $row); } } private function save($file,$xml){ $handle = fopen($file, "w"); fwrite($handle,$xml); fclose($handle); } function saveXML($file){ //print"
";
 //print_r($this->data);
 //print"
"; // print str_replace('®','A',"QUEST 4D gtx®'13"); $xml = ' '; $xml .= ' '; foreach($this->data as $row){ $xml .= " "; $xml .= sprintf('%s ', $this->escapeLoc($row['loc'])); $xml .= sprintf("%s ", $row['lastmod']); $xml .= sprintf("%s ", $row['changefreq']); $xml .= sprintf("%s ", $row['priority']); $xml .= " "; } $xml .= ''; //print $xml; $this->save($file,$xml); } private function escapeLoc($loc){ $patterns = array(); $patterns[0] = '/&/'; $patterns[1] = '/\'/'; $patterns[2] = '/"/'; $patterns[3] = '/>/'; $patterns[4] = '/