public function save($post) { $helperFile = Core::make('helper/concrete/file'); $db = Database::get(); $cnvID = $db->GetOne('select cnvID from btCoreConversation where bID = ?', array($this->bID)); if (!$cnvID) { $conversation = Conversation::add(); $b = $this->getBlockObject(); $xc = $b->getBlockCollectionObject(); $conversation->setConversationPageObject($xc); } else { $conversation = Conversation::getByID($cnvID); } $values = $post + array('attachmentOverridesEnabled' => null, 'attachmentsEnabled' => null, 'itemsPerPage' => null, 'maxFilesGuest' => null, 'maxFilesRegistered' => null, 'maxFileSizeGuest' => null, 'maxFileSizeRegistered' => null, 'enableOrdering' => null, 'enableCommentRating' => null, 'notificationOverridesEnabled' => null, 'subscriptionEnabled' => null, 'fileExtensions' => null); if ($values['attachmentOverridesEnabled']) { $conversation->setConversationAttachmentOverridesEnabled(intval($values['attachmentOverridesEnabled'])); } else { $conversation->setConversationAttachmentOverridesEnabled(0); } if ($values['attachmentsEnabled']) { $conversation->setConversationAttachmentsEnabled(intval($values['attachmentsEnabled'])); } if (!$values['itemsPerPage']) { $values['itemsPerPage'] = 0; } if ($values['maxFilesGuest']) { $conversation->setConversationMaxFilesGuest(intval($values['maxFilesGuest'])); } if ($values['maxFilesRegistered']) { $conversation->setConversationMaxFilesRegistered(intval($values['maxFilesRegistered'])); } if ($values['maxFileSizeGuest']) { $conversation->setConversationMaxFileSizeGuest(intval($values['maxFileSizeGuest'])); } if ($values['maxFileSizeRegistered']) { $conversation->setConversationMaxFilesRegistered(intval($values['maxFileSizeRegistered'])); } if (!$values['enableOrdering']) { $values['enableOrdering'] = 0; } if (!$values['enableCommentRating']) { $values['enableCommentRating'] = 0; } if ($values['notificationOverridesEnabled']) { $conversation->setConversationNotificationOverridesEnabled(true); $users = array(); if (is_array($this->post('notificationUsers'))) { foreach ($this->post('notificationUsers') as $uID) { $ui = \UserInfo::getByID($uID); if (is_object($ui)) { $users[] = $ui; } } } $conversation->setConversationSubscribedUsers($users); $conversation->setConversationSubscriptionEnabled(intval($values['subscriptionEnabled'])); } else { $conversation->setConversationNotificationOverridesEnabled(false); $conversation->setConversationSubscriptionEnabled(0); } if ($values['fileExtensions']) { $receivedExtensions = preg_split('{,}', strtolower($values['fileExtensions']), null, PREG_SPLIT_NO_EMPTY); $fileExtensions = $helperFile->serializeUploadFileExtensions($receivedExtensions); $conversation->setConversationFileExtensions($fileExtensions); } $values['cnvID'] = $conversation->getConversationID(); parent::save($values); }
public function save($post) { $helperFile = Loader::helper('concrete/file'); $db = Loader::db(); $cnvID = $db->GetOne('select cnvID from btCoreConversation where bID = ?', array($this->bID)); if (!$cnvID) { $conversation = Conversation::add(); $b = $this->getBlockObject(); $xc = $b->getBlockCollectionObject(); $conversation->setConversationPageObject($xc); } else { $conversation = Conversation::getByID($cnvID); } $values = $post; if ($values['attachmentOverridesEnabled']) { $conversation->setConversationAttachmentOverridesEnabled(intval($values['attachmentOverridesEnabled'])); } else { $conversation->setConversationAttachmentOverridesEnabled(0); } if ($values['attachmentsEnabled']) { $conversation->setConversationAttachmentsEnabled(intval($values['attachmentsEnabled'])); } if (!$values['itemsPerPage']) { $values['itemsPerPage'] = 0; } if ($values['maxFilesGuest']) { $conversation->setConversationMaxFilesGuest(intval($values['maxFilesGuest'])); } if ($values['maxFilesRegistered']) { $conversation->setConversationMaxFilesRegistered(intval($values['maxFilesRegistered'])); } if ($values['maxFileSizeGuest']) { $conversation->setConversationMaxFileSizeGuest(intval($values['maxFileSizeGuest'])); } if ($values['maxFileSizeRegistered']) { $conversation->setConversationMaxFilesRegistered(intval($values['maxFileSizeRegistered'])); } if (!$values['enableOrdering']) { $values['enableOrdering'] = 0; } if (!$values['attachmentsEnabled']) { $conversation->setConversationAttachmentsEnabled(intval($values['attachmentsEnabled'])); } if (!$values['enableCommentRating']) { $values['enableCommentRating'] = 0; } if ($values['fileExtensions']) { $receivedExtensions = preg_split('{,}', strtolower($values['fileExtensions']), null, PREG_SPLIT_NO_EMPTY); $conversation->setConversationFileExtensions($helperFile->serializeUploadFileExtensions($receivedExtensions)); } $values['cnvID'] = $conversation->getConversationID(); parent::save($values); }