MessageController::edit PHP Method

edit() public method

Form to edit an existing message.
Since: 2.0.0
public edit ( integer | string $MessageID = '' )
$MessageID integer | string
    public function edit($MessageID = '')
    {
        $this->addJsFile('jquery.autosize.min.js');
        $this->permission('Garden.Community.Manage');
        $this->setHighlightRoute('dashboard/message');
        // Generate some Controller & Asset data arrays
        $this->setData('Locations', $this->_getLocationData());
        $this->AssetData = $this->_getAssetData();
        // Set the model on the form.
        $this->Form->setModel($this->MessageModel);
        $this->Message = $this->MessageModel->getID($MessageID);
        $this->Message = $this->MessageModel->defineLocation($this->Message);
        // Make sure the form knows which item we are editing.
        if (is_numeric($MessageID) && $MessageID > 0) {
            $this->Form->addHidden('MessageID', $MessageID);
        }
        $CategoriesData = CategoryModel::categories();
        $Categories = array();
        foreach ($CategoriesData as $Row) {
            if ($Row['CategoryID'] < 0) {
                continue;
            }
            $Categories[$Row['CategoryID']] = str_repeat('&nbsp;&nbsp;&nbsp;', max(0, $Row['Depth'] - 1)) . $Row['Name'];
        }
        $this->setData('Categories', $Categories);
        // If seeing the form for the first time...
        if (!$this->Form->authenticatedPostBack()) {
            $this->Form->setData($this->Message);
        } else {
            if ($MessageID = $this->Form->save()) {
                // Reset the message cache
                $this->MessageModel->setMessageCache();
                // Redirect
                $this->informMessage(t('Your changes have been saved.'));
                //$this->RedirectUrl = url('dashboard/message');
            }
        }
        $this->render();
    }

Usage Example

コード例 #1
0
ファイル: routes.php プロジェクト: glvv/Keskustelufoorumi
});
$routes->get('/groups/:group_id/edit', function ($group_id) {
    GroupController::edit($group_id);
});
$routes->post('/groups/:group_id/edit', function ($group_id) {
    GroupController::update($group_id);
});
$routes->post('/groups/:group_id/expel/:user_id', function ($group_id, $user_id) {
    GroupController::expel($group_id, $user_id);
});
$routes->post('/groups/:group_id/invite', function ($group_id) {
    GroupController::invite($group_id);
});
$routes->post('/groups/:group_id/delete', function ($group_id) {
    GroupController::destroy($group_id);
});
$routes->get('/topics/:topic_id', function ($topic_id) {
    ForumController::topic($topic_id);
});
$routes->post('/topics/:topic_id/', function ($topic_id) {
    MessageController::store($topic_id);
});
$routes->get('/topics/:topic_id/:message_id/edit', function ($topic_id, $message_id) {
    MessageController::edit($message_id, $topic_id);
});
$routes->post('/topics/:topic_id/:message_id/edit', function ($topic_id, $message_id) {
    MessageController::update($message_id, $topic_id);
});
$routes->post('/topics/:topic_id/:message_id/delete', function ($topic_id, $message_id) {
    MessageController::delete($message_id, $topic_id);
});