返信する: OpnePNE3
- opTimelinePlugin1.1.1
- 投稿者: serizawa 投稿日時: 2013/3/19 21:59
キャッシュがクリアされると、タイムラインに投稿された画像が消えてしまうため修正してみました。
TimelinePlugin画像file修正+cache生成のための修正です。
cacheファイルを以下に生成するようにしました。
./web/cache/img/jpg/w_h/*vi ./plugins/opTimelinePlugin/apps/api/modules/timeline/actions/actions.class.php
75 $fileInfo = $_FILES['timeline-submit-upload']; 76 $fileInfo['stream'] = fopen($fileInfo['tmp_name'], 'r'); 77 //$fileInfo['dir_name'] = '/a'.$this->getUser()->getMember()->getId(); $fileInfo['dir_name'] = 'a_'.$this->getUser()->getMember()->getId(); 78 $fileInfo['binary'] = stream_get_contents($fileInfo['stream']); 79 $fileInfo['actvity_id'] = $_POST['id'];
215 $file = new File(); 216 $file->setOriginalFilename(basename($fileInfo['name'])); 217 $file->setType($fileInfo['type']); 218 219 //$filename = md5(time()).'.'.$file->getImageFormat(); $filename = md5(time()).'_'.$file->getImageFormat(); 220 221 //$file->setName($fileInfo['dir_name'].'/'.$filename); $file->setName($fileInfo['dir_name'].'_'.$filename); 222 $file->setFilesize($fileInfo['size']);
//@todo OpenPNEの保存形式に変更する 231 232 //$uploadBasePath = '/cache/img/'.$file->getImageFormat(); $uploadBasePath = '/cache/img/'.$file->getImageFormat().'/w_h'; 233 234 $uploadDirPath = sfConfig::get('sf_web_dir').$uploadBasePath; 235 236 if (!file_exists($uploadDirPath)) 237 { 238 mkdir($uploadDirPath, 0777, true); 239 } 240 241 $fileSavePath = $uploadDirPath.'/'.$filename; 242 243 copy($fileInfo['tmp_name'], $fileSavePath); 244 245 $activityImage = new ActivityImage(); 246 $activityImage->setActivityDataId($this->activityId); 247 $activityImage->setFileId($file->getId()); 248 //$activityImage->setUri($fileInfo['web_base_path'].$uploadBasePath.'/'.$filename); $activityImage->setUri($fileInfo['web_base_path'].$uploadBasePath.'/'.$fileInfo['dir_name'].'_'.$filename.'.'.$file->getImageFormat()); 249 $activityImage->setMimeType($file->type); 250 $activityImage->save(); 251 252 return true; 253 } 254
上記は、公式の修正ではありませんのでご了承下さい。