Exemple #1
0
 public function listAction()
 {
     $comments = Comments::find(['order' => 'id ASC']);
     if (!count($comments)) {
         $this->_status['response']['status'] = false;
         $this->_status['response']['code'] = 102;
         return $this->response->setJsonContent($this->_status);
     }
     foreach ($comments as $comment) {
         $this->_status['response']['comment'][] = ['post_id' => $comment->posts->id, 'posts_title' => $comment->posts->title, 'comment_name' => $comment->name, 'comment_email' => $comment->email, 'comment' => $comment->comment, 'date' => $comment->created_at];
     }
     return $this->response->setJsonContent($this->_status);
 }
 function launch()
 {
     global $interface;
     global $user;
     global $configArray;
     // Process Delete Comment
     if (isset($_GET['delete']) && is_object($user)) {
         $comment = new Comments();
         $comment->id = $_GET['delete'];
         if ($comment->find(true)) {
             if ($user->id == $comment->user_id) {
                 $comment->delete();
             }
         }
     }
     $interface->assign('id', $_GET['id']);
     if (isset($_REQUEST['comment'])) {
         if (!$user) {
             $interface->assign('recordId', $_GET['id']);
             $interface->assign('comment', $_REQUEST['comment']);
             $interface->assign('followup', true);
             $interface->assign('followupModule', 'EContentRecord');
             $interface->assign('followupAction', 'UserComments');
             $interface->setPageTitle('You must be logged in first');
             $interface->assign('subTemplate', '../MyResearch/login.tpl');
             $interface->setTemplate('view-alt.tpl');
             $interface->display('layout.tpl', 'UserComments' . $_GET['id']);
             exit;
         }
         $result = $this->saveComment();
     }
     $interface->assign('user', $user);
     $eContentRecord = new EContentRecord();
     $eContentRecord->id = $_GET['id'];
     $eContentRecord->find(true);
     $recordDriver = new EcontentRecordDriver();
     $recordDriver->setDataObject($eContentRecord);
     $interface->setPageTitle(translate('Comments') . ': ' . $recordDriver->getBreadcrumb());
     $this->loadEContentComments();
     $interface->assign('subTemplate', 'view-comments.tpl');
     $interface->setTemplate('view.tpl');
     // Display Page
     $interface->display('layout.tpl');
 }
Exemple #3
0
 /**
  * Delete a comment
  *
  * @param int    $id   ID of comment to delete
  * @param object $user User whose comment is being deleted.
  *
  * @return bool        True for success, false for failure.
  * @access public
  */
 public static function deleteComment($id, $user)
 {
     $comment = new Comments();
     $comment->id = $id;
     if ($comment->find(true)) {
         if ($user->id == $comment->user_id) {
             $comment->delete();
             return true;
         }
     }
     return false;
 }
Exemple #4
0
 public function saveItem()
 {
     $cat_id = Input::get('cat_id');
     $item_id = Input::get('id');
     //获取表单
     if ($cat_id == 0) {
         //新闻编辑
         $title = Input::get('title');
         $content = Input::get('content');
         $abstract = Input::get('abstract');
         $item = News::find($item_id);
     } else {
         if ($cat_id == 1) {
             //项目编辑
             $title = Input::get('title');
             $content = Input::get('content');
             $abstract = Input::get('abstract');
             $begin_time = Input::get('begin_time');
             $end_time = Input::get('end_time');
             $item = Researches::find($item_id);
         } else {
             if ($cat_id == 2) {
                 //通知编辑
                 //
                 $title = Input::get('title');
                 $content = Input::get('content');
                 $item = Notices::find($item_id);
             } else {
                 if ($cat_id == 3) {
                     //课程编辑
                     $course_name = Input::get('course_name');
                     $course_info = Input::get('course_info');
                     $teacher_address = Input::get('teacher_address');
                     $teacher_mail = Input::get('teacher_mail');
                     $TA_name = Input::get('TA_name');
                     $TA_address = Input::get('TA_address');
                     $TA_mail = Input::get('TA_mail');
                     $item = Courses::find($item_id);
                     $homeworks = Courses::find($item_id)->homework;
                     $coursewares = Courses::find($item_id)->courseware;
                     $course_notices = Courses::find($item_id)->comments;
                     foreach ($course_notices as $notice) {
                         $update_notice = Comments::find($notice->id);
                         $update_notice->comment = Input::get('course_notice_content' . $notice->id);
                         $update_notice->updated_at = date("Y-m-d H:i:s");
                         $update_notice->save();
                     }
                     foreach ($homeworks as $homework) {
                         //对已有项进行编辑
                         $delete_or_not = Input::get('homework_delete' . $homework->id);
                         if ($delete_or_not) {
                             //如果标记为删除则将已有作业进行删除
                             $delete_item = Homework::find($homework->id);
                             $delete_item->delete();
                         } else {
                             $update_item = Homework::find($homework->id);
                             $update_item->homework_item = Input::get('homework_label' . $homework->id);
                             $update_item->submit_deadline = Input::get('homework_submit_time' . $homework->id);
                             $update_item->deliver_deadline = Input::get('homework_deliver_time' . $homework->id);
                             $update_item->updated_at = date("Y-m-d H:i:s");
                             $update_item->save();
                         }
                     }
                     foreach ($coursewares as $courseware) {
                         $update_item = Courseware::find($courseware->id);
                         $update_item->label = Input::get('courseware_label' . $courseware->id);
                         $update_file_source = 'courseware_ppt' . $courseware->id;
                         $new_source = HomeController::upload_course($item_id, $update_file_source);
                         if ($new_source != "") {
                             //跟新源的同时将旧的课件删除
                             HomeController::delete_file($update_item->source);
                             $update_item->source = $new_source;
                         } else {
                         }
                         $update_item->updated_at = date("Y-m-d H:i:s");
                         $update_item->save();
                     }
                 }
             }
         }
     }
     //保存数据
     if ($item) {
         //表中已经存在该条目
         if ($cat_id == 0) {
             //新闻编辑
             $item->title = $title;
             $item->content = $content;
             $item->abstract = $abstract;
             $item->save();
             return Redirect::to(URL::to('/news-detail', [$item_id]));
         } else {
             if ($cat_id == 1) {
                 //项目编辑
                 $item->title = $title;
                 $item->content = $content;
                 $item->abstract = $abstract;
                 $item->begin_time = $begin_time;
                 $item->end_time = $end_time;
                 $item->save();
                 return Redirect::to(URL::to('/research-detail', [$item_id]));
             } else {
                 if ($cat_id == 2) {
                     //通知编辑
                     $item->title = $title;
                     $item->content = $content;
                     $item->save();
                     return Redirect::to(URL::to('/notice-detail', [$item_id]));
                 } else {
                     if ($cat_id == 3) {
                         //课程编辑
                         $item->course_name = $course_name;
                         $item->course_info = $course_info;
                         $item->teacher_address = $teacher_address;
                         $item->teacher_mail = $teacher_mail;
                         $item->TA_name = $TA_name;
                         $item->TA_address = $TA_address;
                         $item->TA_mail = $TA_mail;
                         $item->save();
                         $course_notices_add_count = Input::get('course_notice_add_count');
                         if ($course_notices_add_count) {
                             //增加新的通知
                             for ($i = 1; $i <= $course_notices_add_count; $i++) {
                                 $add_or_not = Input::get('course_notice_add_or_not' . $i);
                                 if (!$add_or_not) {
                                     $notice = new Comments();
                                     $notice->course_id = $item_id;
                                     $notice->comment = Input::get('course_notice_add_content' . $i);
                                     $notice->created_at = date("Y-m-d H:i:s");
                                     $notice->updated_at = date("Y-m-d H:i:s");
                                     $notice->save();
                                 }
                             }
                         }
                         $homework_add_count = Input::get('homework_add_count');
                         if ($homework_add_count) {
                             //当添加了新的作业,将其添加到homework数据库中
                             for ($i = 1; $i <= $homework_add_count; $i++) {
                                 $add_or_not = Input::get('homework_add_or_not' . $i);
                                 if (!$add_or_not) {
                                     $homework = new Homework();
                                     $homework->course_id = $item_id;
                                     $homework->homework_item = Input::get('homework_add_item' . $i);
                                     $homework->submit_deadline = Input::get('homework_add_submit_time' . $i);
                                     $homework->deliver_deadline = Input::get('homework_add_deliver_time' . $i);
                                     $homework->created_at = date("Y-m-d H:i:s");
                                     $homework->updated_at = date("Y-m-d H:i:s");
                                     $homework->save();
                                 }
                             }
                         }
                         $courseware_add_count = Input::get('courseware_add_count');
                         if ($courseware_add_count) {
                             //当添加了新的课件,将其添加到courseware表中
                             for ($i = 1; $i <= $courseware_add_count; $i++) {
                                 $courseware = new Courseware();
                                 $courseware->course_id = $item_id;
                                 $courseware->label = Input::get('courseware_add_label' . $i);
                                 //先将课件上传到数据库中
                                 $file_source = 'courseware_add_source' . $i;
                                 $courseware->source = HomeController::upload_course($item_id, $file_source);
                                 $courseware->created_at = date("Y-m-d H:i:s");
                                 $courseware->updated_at = date("Y-m-d H:i:s");
                                 $courseware->save();
                             }
                         }
                         return Redirect::to(URL::to('/course', [$item_id]));
                     }
                 }
             }
         }
     } else {
         //对已有条目进行更新
         if ($cat_id == 0) {
             //新闻条目
             News::insert(['title' => $title, 'abstract' => $abstract, 'content' => $content]);
             $item = News::all()->last();
             return Redirect::to(URL::to('/news-detail', [$item->id]));
         } else {
             if ($cat_id == 1) {
                 //项目条目
                 Researches::insert(['title' => $title, 'abstract' => $abstract, 'content' => $content, 'begin_time' => $begin_time, 'end_time' => $end_time]);
                 $item = Researches::all()->last();
                 return Redirect::to(URL::to('/research-detail', [$item->id]));
             } else {
                 if ($cat_id == 2) {
                     //通知编辑
                     Notices::insert(['title' => $title, 'content' => $content]);
                     $item = Notices::all()->last();
                     return Redirect::to(URL::to('/notice-detail', [$item->id]));
                 } else {
                     if ($cat_id == 3) {
                         Courses::insert(['course_name' => $course_name, 'course_info' => $course_info, 'teacher_address' => $teacher_address, 'TA_name' => $TA_name, 'TA_address' => $TA_address]);
                         $item = Courses::all()->last();
                         return Redirect::to(URL::to('/course', [$item->id]));
                     }
                 }
             }
         }
     }
     //return View::make('/news-detail',[$item_id]);
 }
Exemple #5
0
 function DeleteComment()
 {
     require_once ROOT_DIR . '/services/MyResearch/lib/Comments.php';
     global $user;
     global $configArray;
     // Process Delete Comment
     if (is_object($user)) {
         $comment = new Comments();
         $comment->id = $_GET['commentId'];
         $comment->source = 'eContent';
         if ($comment->find(true)) {
             if ($user->id == $comment->user_id) {
                 $comment->delete();
             }
         }
     }
     return '<result>true</result>';
 }
Exemple #6
0
 private function _getReviewTitles($reviewTag)
 {
     //Load a list of reviews based on the tag
     $comments = new Comments();
     $comments->whereAdd("comment like \"%#" . mysql_escape_string($reviewTag) . '"');
     $comments->find();
     $recordIds = array();
     $reviews = array();
     $datesSaved = array();
     while ($comments->fetch()) {
         $resourceId = $comments->resource_id;
         //Load the resource from the database
         $resource = new Resource();
         $resource->id = $comments->resource_id;
         $resource->find(true);
         $recordIds[$resource->record_id] = $resource->record_id;
         $comment = preg_replace('/#.*/', '', $comments->comment);
         $reviews[$resource->record_id] = $comment;
         $datesSaved[$resource->record_id] = $comments->created;
     }
     $titles = $this->loadTitleInformationForIds($recordIds, $reviews, $datesSaved);
     return array('success' => true, 'listName' => $reviewTag, 'listDescription' => 'Tagged reviews', 'titles' => $titles, 'cacheLength' => 24);
 }
Exemple #7
0
 function DeleteComment()
 {
     require_once ROOT_DIR . '/services/MyResearch/lib/Comments.php';
     global $user;
     // Process Delete Comment
     if (is_object($user)) {
         $comment = new Comments();
         $comment->id = $_GET['commentId'];
         if ($comment->find(true)) {
             if ($user->id == $comment->user_id || $user->hasRole('opacAdmin')) {
                 $comment->delete();
             }
         }
     }
     return '<result>true</result>';
 }
// Retrieve values from configuration file
$configArray = readConfig();
// Setup time zone
date_default_timezone_set($configArray['Site']['timezone']);
// Setup Local Database Connection
ConnectionManager::connectToDatabase();
// Setup index connection
ConnectionManager::connectToIndex();
// Delete the expired searches -- this cleans up any junk left in the database
// from old search histories that were not caught by the session garbage collector.
$count = 0;
$fixed = 0;
$searchObject = SearchObjectFactory::initSearchObject();
$searchObject->disableLogging();
$comments = new Comments();
if ($comments->find()) {
    while ($comments->fetch()) {
        $commentsRecord = new Comments_record();
        $commentsRecord->comment_id = $comments->id;
        if ($commentsRecord->find(true)) {
            $query = 'local_ids_str_mv:"' . addcslashes($commentsRecord->record_id, '"') . '"';
            $searchObject->setQueryString($query);
            $result = $searchObject->processSearch();
            $searchObject->close();
            if (PEAR::isError($result)) {
                PEAR::raiseError($result->getMessage());
            }
            if ($result['response']['numFound'] > 0) {
                $idArray = $result['response']['docs'][0]["local_ids_str_mv"];
                if ($comments->verifyLinks($idArray)) {
                    ++$fixed;