コード例 #1
0
ファイル: Interactif.class.php プロジェクト: pmoutet/navinum
 public function browseDocuments($interactif_id, $visiteur_id_param = "", $params = array('page_size' => 100, 'offset' => 1))
 {
     $sf_root_dir = sfConfig::get('sf_root_dir') . '/web/interactif';
     $host_url = 'http://' . sfConfig::get('app_front_url') . '/interactif';
     $finder = new sfFinder();
     $finder->follow_link();
     $dirs = array();
     $visiteur_id = '';
     $path = '/' . $interactif_id . '/';
     //die($sf_root_dir.$path);
     $cpt_offset = 0;
     $cpt_page_size = 0;
     $old_visiteur = '';
     foreach ($finder->in($sf_root_dir . $path . '/' . $visiteur_id_param) as $file) {
         //echo 'search in '. $file;
         if (is_file($file)) {
             //echo $file .' == ' . $sf_root_dir.$path .'<br>';
             $filepath = str_replace($sf_root_dir . $path, "", $file);
             //echo $filepath. ' <br>';
             $split = explode("/", $filepath);
             //print_r($split);
             if (count($split) < 2) {
                 continue;
             }
             $cpt_offset++;
             //echo "\n OFFSET= ".$cpt_offset . ' <= '.$params['offset'];
             if ($cpt_offset <= $params['offset']) {
                 continue;
             }
             if (count($split) > 1) {
                 if ($cpt_page_size < $params['page_size']) {
                     //echo "\n PAGESIZE= ".$cpt_page_size . ' < '.$params['page_size'];
                     if ($visiteur_id_param == '') {
                         $visiteur_id = $split[0];
                     } else {
                         $visiteur_id = $visiteur_id_param;
                     }
                     $visiteur = array();
                     if ($old_visiteur != $visiteur_id) {
                         $visiteur_info = Doctrine::getTable('Visiteur')->findOneByGuid($visiteur_id);
                         if ($visiteur_info) {
                             $visiteur = array('pseudo_son' => $visiteur_info->getPseudoSon());
                         }
                     }
                     $old_visiteur = $visiteur_id;
                     $filename = $split[1];
                     if ($filename == '.DS_Store') {
                         continue;
                     }
                     $url_path = str_replace('//', '/', $path . '/' . $visiteur_id . '/' . $filename);
                     $result = array("url" => $host_url . $url_path, "creation_date" => date("Y-m-d H:i:s", filemtime($file)));
                     $dirs["visiteurs"][$visiteur_id][] = array_merge($visiteur, $result);
                 }
                 $cpt_page_size++;
             }
         }
     }
     //print_r($dirs);
     return $dirs;
 }