0 ){ foreach( $folders as $folder ){ $folder_id = $folder['id']; $row = FolderModel::getFolderById( $folder_id, 'id' ); if( !$row ){ FolderModel::createFolder( $folder ); } } } $posts = self::getPosts( $rows ); if( $posts && is_array($posts) && count($posts) > 0 ){ foreach( $posts as $post ){ PostModel::addOrUpdate( $post ); } } return true; } /** * Get all folders from array of file import */ public static function getFolders( $rows ) { if( !is_array($rows) || count($rows) == 0 ) return []; $folders = []; $user_id = get_current_user_id(); $time = current_time('mysql'); foreach( $rows as $row ){ if(empty($row[0]) || !$row[0] ) continue; $id = (int) $row[0]; if( $id <= 0) continue; // list columns: Folder ID, Folder Name, Folder Type, Parent ID, Color, Total Files, Created By, Created At, Updated By, Updated At $folder = [ 'id' => $id, 'title' => $row[1], 'type' => $row[2] ? $row[2] : 'attachment', 'parent_id' => $row[3] ? $row[3] : 0, 'color' => $row[4] ? $row[4] : '', 'total_files' => $row[5] ? $row[5] : 0, 'order' => 0, 'created_by' => $row[6] ? $row[6] : $user_id, 'created_at' => $row[7] ? $row[7] : $time, 'updated_by' => $row[8] ? $row[8] : $user_id, 'updated_at' => $row[9] ? $row[9] : $time, ]; $folders[] = $folder; } return $folders; } /** * Get all posts from array of file import */ public static function getPosts( $rows ) { if( !is_array($rows) || count($rows) == 0 ) return []; $data = []; $user_id = get_current_user_id(); $time = current_time('mysql'); foreach( $rows as $row ){ if(empty($row[0]) || !$row[0] ) continue; $id = (int) $row[0]; if( $id <= 0 || empty($row[10]) || !$row[10] ) continue; // posts: post_id:created_by|post_id:created_by $posts = explode('|', $row[10]); if( count($posts) == 0 ) continue; foreach( $posts as $post ){ $post = explode(':', $post); if( count($post) != 2 ) continue; $post_id = (int) $post[0]; if( $post_id <= 0 ) continue; $created_by = (int) $post[1]; $file = [ 'folder_id' => $id, 'post_id' => $post_id, 'created_by' => $created_by ? $created_by : $user_id, 'created_at' => $time, 'updated_by' => $created_by ? $created_by : $user_id, 'updated_at' => $time, ]; $data[] = $file; } } return $data; } }