예제 #1
0
파일: Abstract.php 프로젝트: sandin/iMemo
 /** 
  * 执行命名前检查相关的权限
  * 
  * @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;
     }
 }
예제 #2
0
 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
 }
예제 #3
0
파일: Notes.php 프로젝트: sandin/iMemo
 /** 
  * 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();
 }