0542149d by Jeff Balicki

add group folders

1 parent 26ddd802
...@@ -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';
......