예제 #1
0
 public function update_root($domain_id = null, $debug = false)
 {
     if ($domain_id == null) {
         if ($debug) {
             echo "No domain_id";
         }
         exit;
     }
     $option = array('domain_id' => $domain_id, 'parent_page_id' => 0);
     $this->db->order_by('latest_fetch', 'asc');
     $query = $this->db->get_where('page', $option);
     if ($debug) {
         echo "FETCH : Update Root : Page ";
     }
     if ($query->num_rows() > 0) {
         log_message('info', 'Fetch : found : ' . $query->num_rows() . " rows.");
         foreach ($query->result() as $row) {
             $page = new Page_model();
             $page->init($row->id);
             // Reset PHP Timeout to 1min
             set_time_limit(60);
             while ($page->outdate) {
                 $page->init($page->new_id);
             }
             if ($debug) {
                 echo ',' . $page->id;
             }
             // if not fetch, do fetch
             if ($page->size == null) {
                 $fetch = $page->fetch();
                 $page->update_same_page($fetch, true);
                 if ($debug) {
                     echo '(fetched)';
                 }
             } else {
                 if ($page->parse_child == 1) {
                     $fetch = $page->fetch();
                     $page->update_new_page($fetch, true);
                     $page->init($page->new_id);
                     if ($debug) {
                         echo '->' . $page->id . '(fetched)';
                     }
                 }
             }
             // and parse
             $page->update_child_from_file();
             if ($debug) {
                 echo '(parsed)';
             }
             unset($page);
         }
     }
     unset($query);
 }