コード例 #1
0
ファイル: BlogController.php プロジェクト: bsa-git/zf-myblog
 /**
  * Get a table records
  *
  * @param array $options
  *
  * @return array
  */
 public function getRowsArraysTable($options = NULL)
 {
     $newRows = array();
     $sortRows = array();
     $newRow = array();
     //-------------------
     // Получим параметры запроса
     $request = $this->getRequest();
     $params = $request->getParams();
     $table = $params['table'];
     $fromPage = $options['fromPage'];
     $toPage = $options['toPage'];
     if ($options['sortColumn']) {
         $sortColumn = $options['sortColumn'];
     } else {
         $sortColumn = 'id';
     }
     $ascDescFlg = $options['ascDescFlg'];
     $count = 1;
     if ($table == 'admin.blog_posts') {
         // Получим все строки сообщений с учетом параметров
         $rows = Default_Model_DbTable_BlogPost::GetPosts_Array($this->db, $options);
         foreach ($rows as $row) {
             foreach ($row as $key => $value) {
                 if (is_array($value)) {
                 } else {
                     $newRow[$key] = $value;
                 }
             }
             $newRows[] = $newRow;
             $newRow = array();
         }
         return $newRows;
     }
     if ($table == 'admin.blog_posts_tags') {
         // Получим все строки сообщений с учетом параметров
         $options['offset'] = NULL;
         $options['limit'] = NULL;
         $options['sort'] = FALSE;
         $rows = Default_Model_DbTable_BlogPost::GetPosts_Array($this->db, $options);
         foreach ($rows as $row) {
             foreach ($row as $key => $value) {
                 if (is_array($value)) {
                     if ($key == '_tags_') {
                         $arrValues = $value;
                         $arrPost = $newRow;
                         foreach ($arrValues as $arrValue) {
                             $newRow = $arrValue + $arrPost + array('sortColumn' => $sortColumn, 'ascDescFlg' => $ascDescFlg);
                             $newRows[] = $newRow;
                         }
                     }
                 } else {
                     if ($sortColumn !== 'id' && $key == $sortColumn || $key == 'title') {
                         $newRow[$key] = $value;
                     }
                 }
             }
         }
         usort($newRows, array("Default_Model_DatabaseObject", "_SortProfiles_Arrays"));
         foreach ($newRows as $newRow) {
             if ($count >= $fromPage && $count <= $toPage) {
                 $sortRows[] = $newRow;
             }
             $count++;
         }
         return $sortRows;
     }
     if ($table == 'admin.blog_posts_images') {
         // Получим все строки сообщений с учетом параметров
         $options['offset'] = NULL;
         $options['limit'] = NULL;
         $options['sort'] = FALSE;
         $rows = Default_Model_DbTable_BlogPost::GetPosts_Array($this->db, $options);
         foreach ($rows as $row) {
             foreach ($row as $key => $value) {
                 if (is_array($value)) {
                     if ($key == '_images_') {
                         $arrValues = $value;
                         $arrPost = $newRow;
                         foreach ($arrValues as $arrValue) {
                             $newRow = $arrValue + $arrPost + array('sortColumn' => $sortColumn, 'ascDescFlg' => $ascDescFlg);
                             $newRows[] = $newRow;
                         }
                     }
                 } else {
                     if ($sortColumn !== 'id' && $key == $sortColumn || $key == 'title') {
                         $newRow[$key] = $value;
                     }
                 }
             }
         }
         usort($newRows, array("Default_Model_DatabaseObject", "_SortProfiles_Arrays"));
         foreach ($newRows as $newRow) {
             if ($count >= $fromPage && $count <= $toPage) {
                 $sortRows[] = $newRow;
             }
             $count++;
         }
         return $sortRows;
     }
     if ($table == 'admin.blog_posts_audio') {
         // Получим все строки сообщений с учетом параметров
         $options['offset'] = NULL;
         $options['limit'] = NULL;
         $options['sort'] = FALSE;
         $rows = Default_Model_DbTable_BlogPost::GetPosts_Array($this->db, $options);
         foreach ($rows as $row) {
             foreach ($row as $key => $value) {
                 if (is_array($value)) {
                     if ($key == '_audio_') {
                         $arrValues = $value;
                         $arrPost = $newRow;
                         foreach ($arrValues as $arrValue) {
                             $newRow = $arrValue + $arrPost + array('sortColumn' => $sortColumn, 'ascDescFlg' => $ascDescFlg);
                             $newRows[] = $newRow;
                         }
                     }
                 } else {
                     if ($sortColumn !== 'id' && $key == $sortColumn || $key == 'title') {
                         $newRow[$key] = $value;
                     }
                 }
             }
         }
         usort($newRows, array("Default_Model_DatabaseObject", "_SortProfiles_Arrays"));
         foreach ($newRows as $newRow) {
             if ($count >= $fromPage && $count <= $toPage) {
                 $sortRows[] = $newRow;
             }
             $count++;
         }
         return $sortRows;
     }
     if ($table == 'admin.blog_posts_video') {
         // Получим все строки сообщений с учетом параметров
         $options['offset'] = NULL;
         $options['limit'] = NULL;
         $options['sort'] = FALSE;
         $rows = Default_Model_DbTable_BlogPost::GetPosts_Array($this->db, $options);
         foreach ($rows as $row) {
             foreach ($row as $key => $value) {
                 if (is_array($value)) {
                     if ($key == '_video_') {
                         $arrValues = $value;
                         $arrPost = $newRow;
                         foreach ($arrValues as $arrValue) {
                             $newRow = $arrValue + $arrPost + array('sortColumn' => $sortColumn, 'ascDescFlg' => $ascDescFlg);
                             $newRows[] = $newRow;
                         }
                     }
                 } else {
                     if ($sortColumn !== 'id' && $key == $sortColumn || $key == 'title') {
                         $newRow[$key] = $value;
                     }
                 }
             }
         }
         usort($newRows, array("Default_Model_DatabaseObject", "_SortProfiles_Arrays"));
         foreach ($newRows as $newRow) {
             if ($count >= $fromPage && $count <= $toPage) {
                 $sortRows[] = $newRow;
             }
             $count++;
         }
         return $sortRows;
     }
     if ($table == 'admin.blog_posts_locations') {
         // Получим все строки сообщений с учетом параметров
         $options['offset'] = NULL;
         $options['limit'] = NULL;
         $options['sort'] = FALSE;
         $rows = Default_Model_DbTable_BlogPost::GetPosts_Array($this->db, $options);
         foreach ($rows as $row) {
             foreach ($row as $key => $value) {
                 if (is_array($value)) {
                     if ($key == '_locations_') {
                         $arrValues = $value;
                         $arrPost = $newRow;
                         foreach ($arrValues as $arrValue) {
                             $newRow = $arrValue + $arrPost + array('sortColumn' => $sortColumn, 'ascDescFlg' => $ascDescFlg);
                             $newRows[] = $newRow;
                         }
                     }
                 } else {
                     if ($sortColumn !== 'id' && $key == $sortColumn || $key == 'title') {
                         $newRow[$key] = $value;
                     }
                 }
             }
         }
         usort($newRows, array("Default_Model_DatabaseObject", "_SortProfiles_Arrays"));
         foreach ($newRows as $newRow) {
             if ($count >= $fromPage && $count <= $toPage) {
                 $sortRows[] = $newRow;
             }
             $count++;
         }
         return $sortRows;
     }
 }