add group folders
Showing
3 changed files
with
127 additions
and
11 deletions
| ... | @@ -28,6 +28,16 @@ class GoogledriveuploadpdfController extends Controller | ... | @@ -28,6 +28,16 @@ class GoogledriveuploadpdfController extends Controller |
| 28 | 28 | ||
| 29 | public function google_drive_upload($folder, $filename,$PdfId,$cust_id) | 29 | public function google_drive_upload($folder, $filename,$PdfId,$cust_id) |
| 30 | { | 30 | { |
| 31 | //error_log($cust_id); | ||
| 32 | $save_folder = $this->isGoogleFolderCreated($cust_id); | ||
| 33 | $group_ids = preg_split( '/-/', $cust_id); | ||
| 34 | $group_id = ltrim(rtrim($group_ids[1])); | ||
| 35 | $cust_id = ltrim(rtrim($group_ids[0])); | ||
| 36 | |||
| 37 | |||
| 38 | |||
| 39 | |||
| 40 | |||
| 31 | session_start(); | 41 | session_start(); |
| 32 | $pdffile = new FileEntryController(); | 42 | $pdffile = new FileEntryController(); |
| 33 | $pdfFile = $pdffile->getPDF($folder, $filename); | 43 | $pdfFile = $pdffile->getPDF($folder, $filename); |
| ... | @@ -44,14 +54,7 @@ class GoogledriveuploadpdfController extends Controller | ... | @@ -44,14 +54,7 @@ class GoogledriveuploadpdfController extends Controller |
| 44 | $client->setRedirectUri($user[0]->redirect_uri); | 54 | $client->setRedirectUri($user[0]->redirect_uri); |
| 45 | $client->setAccessType('offline'); | 55 | $client->setAccessType('offline'); |
| 46 | 56 | ||
| 47 | 57 | $_SESSION['access_token'] = $client->getAccessToken(); | |
| 48 | |||
| 49 | |||
| 50 | // error_log(print_r($client,true)); | ||
| 51 | |||
| 52 | |||
| 53 | |||
| 54 | $_SESSION['access_token'] = $client->getAccessToken(); | ||
| 55 | 58 | ||
| 56 | 59 | ||
| 57 | $client->refreshToken($user[0]->refresh_token); | 60 | $client->refreshToken($user[0]->refresh_token); |
| ... | @@ -66,7 +69,7 @@ class GoogledriveuploadpdfController extends Controller | ... | @@ -66,7 +69,7 @@ class GoogledriveuploadpdfController extends Controller |
| 66 | $file = new \Google_Service_Drive_DriveFile(); | 69 | $file = new \Google_Service_Drive_DriveFile(); |
| 67 | 70 | ||
| 68 | $parent = new \Google_Service_Drive_ParentReference(); | 71 | $parent = new \Google_Service_Drive_ParentReference(); |
| 69 | $parent->setId($user[0]->save_folder); | 72 | $parent->setId($save_folder[0]->subfolder_id); |
| 70 | $file->setParents(array($parent)); | 73 | $file->setParents(array($parent)); |
| 71 | 74 | ||
| 72 | 75 | ||
| ... | @@ -82,12 +85,13 @@ class GoogledriveuploadpdfController extends Controller | ... | @@ -82,12 +85,13 @@ class GoogledriveuploadpdfController extends Controller |
| 82 | $file->setMimeType($mimetype); | 85 | $file->setMimeType($mimetype); |
| 83 | 86 | ||
| 84 | $data = $pdfFile; | 87 | $data = $pdfFile; |
| 85 | 88 | //error_log(print_r($file ,true)); | |
| 86 | $createdFile = $dr_service->files->insert($file, array( | 89 | $createdFile = $dr_service->files->insert($file, array( |
| 87 | 'data' => $data, | 90 | 'data' => $data, |
| 88 | 'mimeType' => $mimetype, //text/plain', | 91 | 'mimeType' => $mimetype, //text/plain', |
| 89 | 'uploadType' => $uploadType | 92 | 'uploadType' => $uploadType |
| 90 | )); | 93 | )); |
| 94 | |||
| 91 | $GoogleId = $createdFile->getId(); | 95 | $GoogleId = $createdFile->getId(); |
| 92 | $pdfId = new pdfModel(); | 96 | $pdfId = new pdfModel(); |
| 93 | $pdfId = $pdfId->setPdfGoogleId($GoogleId,$PdfId); | 97 | $pdfId = $pdfId->setPdfGoogleId($GoogleId,$PdfId); |
| ... | @@ -95,6 +99,99 @@ class GoogledriveuploadpdfController extends Controller | ... | @@ -95,6 +99,99 @@ class GoogledriveuploadpdfController extends Controller |
| 95 | 99 | ||
| 96 | } | 100 | } |
| 97 | 101 | ||
| 102 | public function isGoogleFolderCreated($cust_id) | ||
| 103 | { | ||
| 104 | $group_ids = preg_split( '/-/', $cust_id); | ||
| 105 | $group_id = ltrim(rtrim($group_ids[1])); | ||
| 106 | $cust_id = ltrim(rtrim($group_ids[0])); | ||
| 107 | |||
| 108 | $saveFolderId = new pdfModel(); | ||
| 109 | $saveFolderId = $saveFolderId->checkIsGoogleFolderCreated($group_id); | ||
| 110 | |||
| 111 | if(empty($saveFolderId)){ | ||
| 112 | $this->createFolderGoogle($cust_id); | ||
| 113 | $saveFolderId = $saveFolderId->checkIsGoogleFolderCreated($group_id); | ||
| 114 | return $saveFolderId; | ||
| 115 | }else{ | ||
| 116 | |||
| 117 | return $saveFolderId; | ||
| 118 | } | ||
| 119 | } | ||
| 120 | |||
| 121 | public function createFolderGoogle($cust_id) | ||
| 122 | { | ||
| 123 | $user = new pdfModel(); | ||
| 124 | $user = $user->getGoogleUserOath($cust_id)->get();; | ||
| 125 | |||
| 126 | |||
| 127 | $client = new \Google_Client(); | ||
| 128 | $client->setScopes(array('https://www.googleapis.com/auth/drive.file')); | ||
| 129 | $client->setClientId($user[0]->google_client_id); | ||
| 130 | $client->setClientSecret($user[0]->google_client_secret); | ||
| 131 | $client->setRedirectUri($user[0]->redirect_uri); | ||
| 132 | $client->setAccessType('offline'); | ||
| 133 | |||
| 134 | $_SESSION['access_token'] = $client->getAccessToken(); | ||
| 135 | |||
| 136 | |||
| 137 | $client->refreshToken($user[0]->refresh_token); | ||
| 138 | |||
| 139 | $_SESSION['access_token']= $client->getAccessToken(); | ||
| 140 | |||
| 141 | $dr_service = new \Google_Service_Drive($client); | ||
| 142 | |||
| 143 | $service = new \Google_Service_Drive($client); | ||
| 144 | |||
| 145 | $group_ids = preg_split( '/-/', $cust_id); | ||
| 146 | $group_id = ltrim(rtrim($group_ids[1])); | ||
| 147 | $cust_id = ltrim(rtrim($group_ids[0])); | ||
| 148 | |||
| 149 | $files = $service->files->listFiles(); | ||
| 150 | foreach ($files['items'] as $item) { | ||
| 151 | if ($item['title'] == $group_id) { | ||
| 152 | $folderId = $item['id']; | ||
| 153 | |||
| 154 | |||
| 155 | break; | ||
| 156 | } | ||
| 157 | } | ||
| 158 | |||
| 159 | if ($client->getAccessToken()) { | ||
| 160 | |||
| 161 | $file = new \Google_Service_Drive_DriveFile(); | ||
| 162 | |||
| 163 | //Setup the Folder to Create | ||
| 164 | $file->setTitle('User Made'); | ||
| 165 | $file->setDescription('Made by user'); | ||
| 166 | $file->setMimeType('application/vnd.google-apps.folder'); | ||
| 167 | |||
| 168 | //Set the ProjectsFolder Parent | ||
| 169 | $parent = new \Google_Service_Drive_ParentReference(); | ||
| 170 | $parent->setId($folderId); | ||
| 171 | $file->setParents(array($parent)); | ||
| 172 | |||
| 173 | //create the ProjectFolder in the Parent | ||
| 174 | $createdFile = $service->files->insert($file, array( | ||
| 175 | 'mimeType' => 'application/vnd.google-apps.folder', | ||
| 176 | )); | ||
| 177 | $group_id = preg_split( '/-/', $cust_id); | ||
| 178 | $group_id = ltrim(rtrim($group_id[1])); | ||
| 179 | $saveFolderId = new pdfModel(); | ||
| 180 | $saveFolderId->saveFolderId($group_id,$folderId, $createdFile->id); | ||
| 181 | |||
| 182 | } | ||
| 183 | |||
| 184 | |||
| 185 | |||
| 186 | |||
| 187 | |||
| 188 | |||
| 189 | |||
| 190 | } | ||
| 191 | |||
| 192 | |||
| 193 | |||
| 194 | |||
| 98 | 195 | ||
| 99 | 196 | ||
| 100 | public function GoogleToken() | 197 | public function GoogleToken() | ... | ... |
| ... | @@ -27,6 +27,24 @@ class pdfModel extends Model | ... | @@ -27,6 +27,24 @@ class pdfModel extends Model |
| 27 | return $rows; | 27 | return $rows; |
| 28 | } | 28 | } |
| 29 | 29 | ||
| 30 | |||
| 31 | public function checkIsGoogleFolderCreated($id){ | ||
| 32 | |||
| 33 | |||
| 34 | $rows = DB::table('googleFolderIds')->select('*')->where('googleFolderIds.group_id','=', $id)->get(); | ||
| 35 | error_log(print_r($rows,true)); | ||
| 36 | return $rows; | ||
| 37 | } | ||
| 38 | |||
| 39 | public function saveFolderId($group_id,$folderId, $createdFile){ | ||
| 40 | |||
| 41 | $apiCallId = DB::table('googleFolderIds')->insertGetId( | ||
| 42 | array('group_id' => $group_id, 'folder_id' => $folderId, 'subfolder_id' => $createdFile) | ||
| 43 | ); | ||
| 44 | |||
| 45 | } | ||
| 46 | |||
| 47 | |||
| 30 | public function getPdf($id){ | 48 | public function getPdf($id){ |
| 31 | 49 | ||
| 32 | 50 | ... | ... |
| ... | @@ -641,7 +641,7 @@ function returnOptions(form, preview) { | ... | @@ -641,7 +641,7 @@ function returnOptions(form, preview) { |
| 641 | 641 | ||
| 642 | 642 | ||
| 643 | 643 | ||
| 644 | var jsonReturn = '{"pdf":[{"name":"' + json[0].name + '", "folder":"' + json[0].folder + '", "pdfLocation":"' + json[0].file + '","pageWidth":"' + json[0].pwidth + '","pageHeight":"' + json[0].pheight + '", "custId":"' + user_id + '"}],"changes":[' | 644 | var jsonReturn = '{"pdf":[{"name":"' + json[0].name + '", "folder":"' + json[0].folder + '", "pdfLocation":"' + json[0].file + '","pageWidth":"' + json[0].pwidth + '","pageHeight":"' + json[0].pheight + '", "custId":"' + user_id +'-'+ broker_id + '"}],"changes":[' |
| 645 | 645 | ||
| 646 | var o = 1; | 646 | var o = 1; |
| 647 | var e = 1; | 647 | var e = 1; |
| ... | @@ -666,6 +666,7 @@ function returnOptions(form, preview) { | ... | @@ -666,6 +666,7 @@ function returnOptions(form, preview) { |
| 666 | 666 | ||
| 667 | } | 667 | } |
| 668 | jsonReturn += ' ]}'; | 668 | jsonReturn += ' ]}'; |
| 669 | //console.log(jsonReturn ); | ||
| 669 | 670 | ||
| 670 | if (preview == false) { | 671 | if (preview == false) { |
| 671 | url = 'update'; | 672 | url = 'update'; | ... | ... |
-
Please register or sign in to post a comment