Merge branch 'dev' into 'dev'
Initial preparation to move local thumbnails in filesystem storage See merge request hubzilla/core!1585
This commit is contained in:
		| @@ -35,7 +35,6 @@ class Getfile extends \Zotlabs\Web\Controller { | ||||
| 		$sig      = $_POST['signature']; | ||||
| 		$resource = $_POST['resource']; | ||||
| 		$revision = intval($_POST['revision']); | ||||
| 		$resolution = (-1); | ||||
|  | ||||
| 		if(! $hash) | ||||
| 			killme(); | ||||
| @@ -81,9 +80,14 @@ class Getfile extends \Zotlabs\Web\Controller { | ||||
| 			killme(); | ||||
| 		} | ||||
| 	 | ||||
| 		if(substr($resource,-2,1) == '-') { | ||||
| 		if(isset($_POST['resolution'])) | ||||
| 			$resolution = intval($_POST['resolution']); | ||||
| 		elseif(substr($resource,-2,1) == '-') { | ||||
| 			$resolution = intval(substr($resource,-1,1)); | ||||
| 			$resource = substr($resource,0,-2); | ||||
| 		} | ||||
| 		else { | ||||
| 			$resolution = (-1); | ||||
| 		}			 | ||||
|  | ||||
| 		$slop = intval(get_pconfig($channel['channel_id'],'system','getfile_time_slop')); | ||||
|   | ||||
| @@ -494,5 +494,32 @@ abstract class PhotoDriver { | ||||
|  | ||||
| 		return $r; | ||||
| 	} | ||||
| 	 | ||||
| 	/** | ||||
| 	 * @brief Stores thumbnail to database or filesystem. | ||||
| 	 * | ||||
| 	 * @param array $arr | ||||
| 	 * @param scale int | ||||
| 	 * @return boolean|array | ||||
| 	 */ | ||||
| 	public function storeThumbnail($arr, $scale = 0) { | ||||
| 	 | ||||
| 		if(boolval(get_config('system','filesystem_storage_thumbnails', 0)) && $scale > 0) { | ||||
| 			$channel = \App::get_channel(); | ||||
| 			$arr['os_storage'] = 1; | ||||
| 			$arr['imgscale'] = $scale; | ||||
| 			$arr['os_syspath'] = 'store/' . $channel['channel_address'] . '/' . $arr['os_path'] . '-' . $scale; | ||||
| 			if(! $this->saveImage($arr['os_syspath'])) | ||||
| 				return false; | ||||
| 		} | ||||
| 		 | ||||
| 		if(! $this->save($arr)) { | ||||
| 			if(array_key_exists('os_syspath', $arr)) | ||||
| 				@unlink($arr['os_syspath']); | ||||
| 			return false; | ||||
| 		} | ||||
| 		 | ||||
| 		return true; | ||||
| 	} | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -1521,6 +1521,17 @@ function attach_drop_photo($channel_id,$resource) { | ||||
| 	if($x) { | ||||
| 		drop_item($x[0]['id'],false,(($x[0]['item_hidden']) ? DROPITEM_NORMAL : DROPITEM_PHASE1),true); | ||||
| 	} | ||||
| 	 | ||||
| 	$r = q("SELECT content FROM photo WHERE resource_id = '%s' AND uid = %d AND os_storage = 1", | ||||
| 		dbesc($resource), | ||||
| 		intval($channel_id) | ||||
| 	); | ||||
| 	if($r) { | ||||
| 		foreach($r as $i) { | ||||
| 			@unlink(dbunescbin($i['content'])); | ||||
| 		} | ||||
| 	} | ||||
| 	 | ||||
| 	q("DELETE FROM photo WHERE uid = %d AND resource_id = '%s'", | ||||
| 		intval($channel_id), | ||||
| 		dbesc($resource) | ||||
|   | ||||
| @@ -1385,13 +1385,14 @@ function sync_files($channel, $files) { | ||||
| 					else | ||||
| 						$p['content'] = (($p['content'])? base64_decode($p['content']) : ''); | ||||
|  | ||||
| 					if(intval($p['imgscale']) && (! $p['content'])) { | ||||
| 					if(intval($p['imgscale']) && intval($p['os_storage']) && (! empty($p['content']))) { | ||||
|  | ||||
| 						$time = datetime_convert(); | ||||
|  | ||||
| 						$parr = array('hash' => $channel['channel_hash'], | ||||
| 						$parr = array( | ||||
| 						    'hash' => $channel['channel_hash'], | ||||
| 							'time' => $time, | ||||
| 							'resource' => $att['hash'], | ||||
| 							'resource' => $p['resource_id'], | ||||
| 							'revision' => 0, | ||||
| 							'signature' => base64url_encode(rsa_sign($channel['channel_hash'] . '.' . $time, $channel['channel_prvkey'])), | ||||
| 							'resolution' => $p['imgscale'] | ||||
| @@ -1414,8 +1415,6 @@ function sync_files($channel, $files) { | ||||
|  | ||||
| 						$x = z_post_url($fetch_url,$parr,$redirects,[ 'filep' => $fp, 'headers' => $headers]); | ||||
| 						fclose($fp); | ||||
| 						$p['content'] = file_get_contents($stored_image); | ||||
| 						unlink($stored_image); | ||||
| 					} | ||||
|  | ||||
| 					if(!isset($p['display_path'])) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user