enabled = $params[$this->option]; $fapp = ($params['xs_compress']==1) ? '.gz' : ''; $this->smfile = preg_replace('#[^\\/]+?\.xml$#', $params[$this->foption], $params['xs_smname']).$fapp; $this->smurl = preg_replace('#[^\\/]+?\.xml$#', $params[$this->foption], $params['xs_smurl']).$fapp; } function check_perms() { if( $this->enabled && !is_writable($this->smfile) && !is_writable(dirname($this->smfile)) ) return '
Sitemap file is not writable: '.$this->smfile.''; } function fn_start($params, $fop, $parser) { global $is_dom2; if(!$this->enabled) return; $this->fop = $fop; $this->params = $params; $this->parser = $parser; $bcont = implode('', file(CTYPEDIR.'sitemap_mob_tpl.xml')); preg_match('#^(.*)%URLS_LIST_FROM%(.*)%URLS_LIST_TO%(.*)$#is', $bcont, $this->tpl); $this->tpl[1] = str_replace('%GEN_URL%', $is_dom2.'/', $this->tpl[1]); $this->pf = $this->fop['fopen']($this->smfile.$this->fapp, 'w'); $rc = str_replace('%INIT_URL%', $params['xs_initurl'], $this->tpl[1]); $this->fop['fwrite']($this->pf, $rc); } function fn_proc($url_repl) { if(!$this->enabled) return; if($this->params['xs_mobileincmask']) if(!preg_match('#'.str_replace(' ', '|', preg_quote($this->params['xs_mobileincmask'],'#')).'#',$url_repl['URL'])) return; if($this->wr_urls>=50000)return; $this->wr_urls++; $this->fop['fwrite']($this->pf, $this->parser->parseContVar($this->tpl[2], $url_repl)); } function fn_finish() { if(!$this->enabled) return; $this->fop['fwrite']($this->pf, $this->tpl[3]); $this->fop['fclose']($this->pf); } } global $sm_proc_list, $grab_parameters; $sm_proc_list[] = new SG_Mobile($grab_parameters); ?>