Есть форма заполнения на сайте и ее могут заполнять пользователи и админ, но редактировать только может админ
Нужно сделать так что бы пользователь который добавил данные только он может изменять эти данные, другие пользователи нет
Таблица базы данных одна.
Как сделать так что бы при добавление формы это числилось на счет уникального пользователя.
Мне нужно так что бы пользователь который создал форму, он мог ее сам редактировать, а там много пользователей они не должны редактировать чужие формы только свои.
Вот model.php
<?php class modelStreetball extends cmsModel { public function addBattle($battle){ return $this->insert('photobattles', $battle,); } public function updateBattle($id, $battle){ return $this->update('photobattles', $id, $battle); } public function deleteBattle($id){ $config = cmsConfig::getInstance(); $battle = $this->getBattle($id); $logos = self::yamlToArray($battle['logo']); foreach($logos as $path){ } } return $this->delete('photobattles', $id); } public function getBattle($id){ return $this->getItemById('photobattles', $id); } public function getBattles(){ return $this->get('photobattles'); } public function getBattlesCount(){ return $this->getCount('photobattles'); } }
Вот action/add.php
<?php [code=php]class actionStreetballAdd extends cmsAction { public function run(){ $errors = false; $form = $this->getForm('battle'); $is_submitted = $this->request->has('submit'); $battle = $form->parse($this->request, $is_submitted); $user = cmsUser::getInstance(); if ($is_submitted){ $errors = $form->validate($this, $battle); if (!$errors){ $battle_id = $this->model->addBattle($battle); $battle['user_id'] = $user->id; } if ($errors){ cmsUser::addSessionMessage(LANG_FORM_ERRORS, 'error'); } } $template = cmsTemplate::getInstance(); 'do' => 'add', 'form' => $form, 'errors' => $errors, 'battle' => $battle )); } }[/code]
<?php class actionStreetballEdit extends cmsAction { public function run($id=false){ if (!$id) { cmsCore::error404(); } if (!cmsUser::isAdmin()) { cmsCore::error404(); } $battle = $this->model->getBattle($id); if (!$battle) { cmsCore::error404(); } $errors = false; $form = $this->getForm('battle'); $is_submitted = $this->request->has('submit'); if ($is_submitted){ $battle = $form->parse($this->request, $is_submitted); $errors = $form->validate($this, $battle); if (!$errors){ $this->model->updateBattle($id, $battle); } if ($errors){ cmsUser::addSessionMessage(LANG_FORM_ERRORS, 'error'); } } $template = cmsTemplate::getInstance(); 'do' => 'edit', 'form' => $form, 'errors' => $errors, 'battle' => $battle )); } }