Changeset 10287
- Timestamp:
- 01/21/09 00:01:29 (1 year ago)
- Files:
-
- OpenPNE3/plugins/opMessagePlugin/trunk/apps/pc_frontend/config (added)
- OpenPNE3/plugins/opMessagePlugin/trunk/apps/pc_frontend/config/app.yml (added)
- OpenPNE3/plugins/opMessagePlugin/trunk/apps/pc_frontend/i18n/messages.ja.xml (deleted)
- OpenPNE3/plugins/opMessagePlugin/trunk/apps/pc_frontend/modules/message/templates/_formEditImage.php (added)
- OpenPNE3/plugins/opMessagePlugin/trunk/i18n/messages.ja.xml (added)
- OpenPNE3/plugins/opMessagePlugin/trunk/lib/form/MessageFileForm.class.php (modified) (1 diff)
- OpenPNE3/plugins/opMessagePlugin/trunk/lib/form/SendMessageDataForm.class.php (modified) (4 diffs)
- OpenPNE3/plugins/opMessagePlugin/trunk/lib/model/MessageFile.php (modified) (1 diff)
- OpenPNE3/plugins/opMessagePlugin/trunk/lib/model/SendMessageData.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
OpenPNE3/plugins/opMessagePlugin/trunk/lib/form/MessageFileForm.class.php
r10013 r10287 19 19 class MessageFileForm extends BaseMessageFileForm 20 20 { 21 public function configure()22 {23 $this->setWidgets(array(24 'image1' => new sfWidgetFormInputFile(),25 'image2' => new sfWidgetFormInputFile(),26 'image3' => new sfWidgetFormInputFile(),27 ));28 $this->setValidators(array(29 'image1' => new opValidatorImageFile(array('required' => false)),30 'image2' => new opValidatorImageFile(array('required' => false)),31 'image3' => new opValidatorImageFile(array('required' => false)),32 ));33 }34 21 } OpenPNE3/plugins/opMessagePlugin/trunk/lib/form/SendMessageDataForm.class.php
r10033 r10287 20 20 public function configure() 21 21 { 22 unset($this['created_at'], $this['updated_at'] );22 unset($this['created_at'], $this['updated_at'], $this['has_files']); 23 23 unset($this->widgetSchema['member_id'], 24 24 $this->widgetSchema['is_deleted'], … … 33 33 $this->validatorSchema['body']->setOption('required', true); 34 34 $this->widgetSchema->setNameFormat('message[%s]'); 35 $this->mergeForm(new MessageFileForm()); 35 if (sfConfig::get('app_message_is_upload_images', true)) 36 { 37 if (!$this->isNew()) { 38 sfContext::getInstance()->getConfiguration()->loadHelpers('Partial'); 39 $images = $this->getObject()->getMessageFiles(); 40 } 41 42 $options = array( 43 'file_src' => '', 44 'is_image' => true, 45 'with_delete' => true, 46 ); 47 48 $max = (int)sfConfig::get('app_message_max_image_file_num', 3); 49 for ($i = 0; $i < $max; $i++) { 50 if (!$this->isNew() && !empty($images[$i])) { 51 $image = $images[$i]; 52 $options['edit_mode'] = true; 53 $options['template'] = get_partial('message/formEditImage', array('image' => $image)); 54 $this->setValidator('image'.($i+1).'_delete', new sfValidatorBoolean(array('required' => false))); 55 } else { 56 $options['edit_mode'] = false; 57 } 58 $key = 'image'.($i+1); 59 $this->setWidget($key, new sfWidgetFormInputFileEditable($options)); 60 $this->setValidator($key, new opValidatorImageFile(array('required' => false))); 61 } 62 } 36 63 } 37 64 … … 60 87 $send_member_id = $this->getValue('send_member_id'); 61 88 $send = MessageSendListPeer::getMessageByReferences($send_member_id, $message->getId()); 62 if (!$send) 63 { 89 if (!$send) { 64 90 $send = new MessageSendList(); 65 91 $send->setSendMessageData($message); … … 70 96 public function saveImageFiles(SendMessageData $message) 71 97 { 72 $imageKeys = array('image1', 'image2', 'image3'); 73 foreach ($imageKeys as $imageKey) 74 { 75 if ($this->getValue($imageKey)) 76 { 77 $file = new File(); 78 $file->setFromValidatedFile($this->getValue($imageKey)); 79 $file->setName('ms_'.$message->getId().'_'.$file->getName()); 98 if (!$this->isNew()) { 99 $images = $this->getObject()->getMessageFiles(); 100 } 80 101 81 $messageFile = new MessageFile(); 82 $messageFile->setSendMessageData($message); 83 $messageFile->setFile($file); 84 $messageFile->save(); 102 if (sfConfig::get('app_message_is_upload_images', true)) { 103 $max = (int)sfConfig::get('app_message_max_image_file_num', 3); 104 for ($i = 0; $i < $max; $i++) { 105 if (!$this->isNew() && !empty($images[$i])) { 106 if ($this->getValue('image'.($i+1).'_delete')) { 107 $images[$i]->delete(); 108 } 109 } 110 $key = 'image'.($i+1); 111 if ($this->getValue($key)) { 112 if (!empty($images[$i]) && !$images[$i]->isDeleted()) { 113 $images[$i]->delete(); 114 } 115 116 $file = new File(); 117 $file->setFromValidatedFile($this->getValue($key)); 118 $file->setName('ms_'.$message->getId().'_'.$file->getName()); 119 120 $messageFile = new MessageFile(); 121 $messageFile->setSendMessageData($message); 122 $messageFile->setFile($file); 123 $messageFile->save(); 124 } 85 125 } 86 126 } OpenPNE3/plugins/opMessagePlugin/trunk/lib/model/MessageFile.php
r10013 r10287 11 11 class MessageFile extends BaseMessageFile 12 12 { 13 public function delete(PropelPDO $con = null) 14 { 15 parent::delete($con); 16 $this->getFile()->delete(); 17 } 13 18 } OpenPNE3/plugins/opMessagePlugin/trunk/lib/model/SendMessageData.php
r10033 r10287 75 75 } 76 76 77 /** 78 * 添付ファイルを取得する(idの昇順) 79 * @return array 80 */ 81 public function getMessageFiles($criteria = null, PropelPDO $con = null) 82 { 83 if (is_null($criteria)) 84 { 85 $criteria = new Criteria(); 86 $criteria->addAscendingOrderByColumn(MessageFilePeer::ID); 87 } 88 $files = parent::getMessageFiles($criteria, $con); 89 return $files; 90 } 77 91 }