/** * 执行命名前检查相关的权限 * * @param $user_id * @param $compare * * @return */ public function checkPermission($user_id, $compareType, $compare) { $db = Zend_Registry::get('db'); switch ($compareType) { case 'note_id': $note = new Database_Notes($db); $note->load($compare); return $user_id == $note->user_id ? true : false; break; case 'tag_name': break; case 'category_id': $userLinkCategory = new Database_UserLinkCategory($db); return $userLinkCategory->thisUserHasThisCategory($user_id, $compare); break; case 'category_name': break; default: return false; } }
public function delHelper($user_id, $cate_id, $delAllNote) { if ($this->checkPermission($user_id, 'category_id', $cate_id)) { $noteLinkCate = new Database_NotesLinkCategorys($this->_db); //删除该category所拥有的所有note if ($delAllNote == 1) { $this->_receiver->delNotesByCategoryId($cate_id); //删除连接 $noteLinkCate->removeNoteCategoryLink($cate_id); var_dump('del note'); } else { var_dump('just del cate'); //把所有该名下的note转移到inbox下 $notes = $this->_receiver; //$notes = new Database_Notes($this->_db); $myNotes = $notes->getAllNoteByCategoryIdAndUserId($cate_id, $user_id); $new_cate_id = $notes->createCategoryToUser('Inbox', $user_id); foreach ($myNotes as $note) { $noteLinkCate->changeCategoryFormTo($note['note_id'], $cate_id, $new_cate_id); } } //如果不是系统所用则可以直接删除category本身 if ($cate_id > 10) { $cate_db = new Database_NotesCategorys($this->_db); $cate_db->delCategoryById($cate_id); } //删除连接 $userLinkCate = new Database_UserLinkCategory($this->_db); $userLinkCate->removeUserCategoryLink($cate_id); return true; } else { Lds_Helper_Log::writeLog('This user delete note which not belong to him' . $user_id); return 'permission denied'; } //fi }
/** * createCategoryToUser时需要为user和category创建链接 * * @param $user_id * @param $category_id * * @return */ public function makeUserLinkCategory($user_id, $category_id) { $categoryLinkUser = new Database_UserLinkCategory($this->_db); $categoryLinkUser->category_id = $category_id; $categoryLinkUser->user_id = $user_id(); $categoryLinkUser->save(); return $categoryLinkUser->getId(); }