Instead of redirecting just disable the max_execute_time at the
beginning of the action:

set_time_limit(0);

On Tue, Nov 6, 2012 at 6:21 AM, Serkan Sipahi <[email protected]> wrote:
>
> Hi bakers,
>
> first of all, my english is not good....
>
> i have a strange behavior with redirecting inside the Controller. Well, i
> must redirect(see below/end of public function index()) to the self
> controller(ModsitemapController) to bypassing the php _max_execute_time. If
> cake begin to redirect i get a redirection error. But if i redirect to other
> controller the redirect work. Whats i do wrong? is that a bug?
>
> <?php
>
> //Configure::write('debug', 2);
> class ModsitemapController extends AppController {
>
>     public $theme  = 'Frontend';
>     public $layout = 'modsitemap';
>
>     public $lastSpidertCatId = 0;
>     public $catDetailSiteReached = 0;
>     public $catDetailSiteTotal = 0;
>     public $cachedCatId = 0;
>
>     public function __construct($request = null, $response = null) {
>
>         parent::__construct($request, $response);
>
>         if(isset($request->params['pass'][0])){
>             $this->lastSpidertCatId = (int)$request->params['pass'][0];
>         }
>         if(isset($request->params['pass'][1])){
>             $this->catDetailSiteReached = (int)$request->params['pass'][1];
>         }
>         if(isset($request->params['pass'][2])){
>             $this->catDetailSiteTotal = (int)$request->params['pass'][2];
>         }
>     }
>
>     public function index(){
>
>         $this->loadModel('Category');
>
>         $res = $this->Category->find('all', array(
>             'conditions' => array(
>                 'Category.blacklist' => 0,
>                 'Category.is_searched_by_user' => 1,
>                 'Category.id >=' => $this->lastSpidertCatId
>             ),
>             'fields' => array('Category.id', 'Category.name'),
>             'recursive' => -1
>         )); $x = 1;
>
>         foreach($res as $key => $cat){
>
>             $this->cachedCatId = $cat['Category']['id'];
>
>             $urls = $this->Category->Url->find('all', array(
>                 'conditions' => array(
>                     'Url.category_id' => $cat['Category']['id']
>                 ),
>                 'fields' => array('Url.name, Url.id'),
>                 'recursive' => -1
>             ));
>
>             if(isset($urls[0]['Url']['id'])){
>
>                     foreach($urls as $url){
>
>                         $content = $this->Category->Content->find('first',
> array(
>                             'conditions' => array(
>                                 'Content.category_id' =>
> $cat['Category']['id'],
>                                 'Content.url_id' => $url['Url']['id'],
>                             ),
>                             'recursive' => -1,
>                             'fields' => array('Content.id')
>                         ));
>
>                         if(isset($content['Content']['id'])){
>
>                             $hostForUrl = str_replace('www.', '',
> parse_url($url['Url']['name'], PHP_URL_HOST));
>                             $explodedHostUrl = explode('.', $hostForUrl);
>                             $popElement = array_pop($explodedHostUrl);
>                             $implodtedHostUrl = implode('.',
> $explodedHostUrl);
>                             $aHref = "/$implodtedHostUrl/$popElement/";
>
>                             $keyword = str_replace(' ', '-',
> $cat['Category']['name']);  $x++;
>
>
>                             $this->xmlString .=
>                                 "<url>
>
> <loc>http://domain.net/{$keyword}{$aHref}</loc>
>                                     <lastmod>".$this->getDate()."</lastmod>
>                                     <priority>0.60</priority>
>                                 </url>";
>
>                             if($x === 50000){
>
>                                 $this->buildXmlString();
>                                 $this->saveXmlFile();
>                                 $this->resetXmlString();
>                                 break;
>
>                             }
>                         }
>                     }
>             }
>
>             if($x === 50000){ break; }
>
>         }
>
>         $this->redirect(array('controller' => 'modsitemap', 'action' =>
> 'index', (int)$this->cachedCatId));
>
>     }
>
>     protected function getDate(){ /***********/ }
> }
>
> ?>
>
> --
> Like Us on FaceBook https://www.facebook.com/CakePHP
> Find us on Twitter http://twitter.com/CakePHP
>
> ---
> You received this message because you are subscribed to the Google Groups
> "CakePHP" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> Visit this group at http://groups.google.com/group/cake-php?hl=en.
>
>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
Visit this group at http://groups.google.com/group/cake-php?hl=en.


Reply via email to