Exemplo n.º 1
0
 public function testGetSet()
 {
     $comment = new Comment('/* Some comment */', 1);
     $this->assertSame('/* Some comment */', $comment->getText());
     $this->assertSame('/* Some comment */', (string) $comment);
     $this->assertSame(1, $comment->getLine());
     $comment->setText('/* Some other comment */');
     $comment->setLine(10);
     $this->assertSame('/* Some other comment */', $comment->getText());
     $this->assertSame('/* Some other comment */', (string) $comment);
     $this->assertSame(10, $comment->getLine());
 }
Exemplo n.º 2
0
 public function onNewComment(FrontController $sender, Comment $comment, Statement $st)
 {
     $users = $st->getSubscribers();
     if ($users) {
         require_once ST_DIR . '/Classes/Mailer.php';
         $mailer = new Mailer();
         $vars = array('text' => strip_tags($comment->getText()), 'st_link' => FrontController::getURLByRoute('view', array('id' => $st->getId()), true), 'title' => $st->getTitle(), 'comment_user' => $comment->getUsername());
         foreach ($users as $user) {
             if ($user->user_id == $comment->getUserId() || $user->email == $comment->getEmail()) {
                 continue;
             }
             $vars['username'] = $user->name;
             $vars['unSubscribeLink'] = $this->_getSubscribeLink($user->email, $user->user_id, $st->getId());
             $mailer->sendMail('SubscribeNewComment', $user->email, $vars);
         }
     }
     $user = FrontController::getUser();
     if (!$user->user_id) {
         $guest = clone $user;
         $guest->email = $comment->getEmail();
         $guest->name = $comment->getUsername();
         $this->_subscribe($st, $guest);
     } else {
         $this->_subscribe($st, $user);
     }
 }
Exemplo n.º 3
0
 public function renderComment(Comment $comm, $template)
 {
     $vars = array('id' => $comm->getId(), 'username' => $comm->getUsername(), 'text' => $comm->getText(), 'date' => date('j.m.Y H:i', $comm->getDate()), 'ip' => $comm->getIpAddress());
     $user = FrontController::getUser();
     $config = FrontController::$config;
     if (in_array($this->_user->user_group, $config['moder_groups']) || in_array($this->_user->user_id, $config['moders']) || ($user->user_id == $comm->getUserId() && $comm->getUserId() || $user->ip_address == $comm->getIpAddress() && $comm->getDate() > time() - $config['owner_comment_del_time'])) {
         $blocks['perm_del'] = true;
     }
     return $this->render($template, $vars, $blocks);
 }
 public function testGetText()
 {
     $comment = new Comment('c');
     $this->assertEquals("c", $comment->getText());
 }
Exemplo n.º 5
0
 /**
  * Write comment to XML format
  *
  * @param 	Shared_XMLWriter		$objWriter 			XML Writer
  * @param	string							$pCellReference		Cell reference
  * @param 	Comment				$pComment			Comment
  * @param	array							$pAuthors			Array of authors
  * @throws 	Exception
  */
 public function _writeComment(Shared_XMLWriter $objWriter = null, $pCellReference = 'A1', Comment $pComment = null, $pAuthors = null)
 {
     // comment
     $objWriter->startElement('comment');
     $objWriter->writeAttribute('ref', $pCellReference);
     $objWriter->writeAttribute('authorId', $pAuthors[$pComment->getAuthor()]);
     // text
     $objWriter->startElement('text');
     $this->getParentWriter()->getWriterPart('stringtable')->writeRichText($objWriter, $pComment->getText());
     $objWriter->endElement();
     $objWriter->endElement();
 }
Exemplo n.º 6
0
 /**
  * This event is trigered when comment that belongs to this object is updated
  *
  * @param Comment $comment
  * @return boolean
  */
 function onEditComment(Comment $comment)
 {
     if ($this->isSearchable()) {
         SearchableObjects::dropContentByObjectColumn($this, 'comment' . $comment->getId());
         $searchable_object = new SearchableObject();
         $searchable_object->setRelObjectId($this->getObjectId());
         $searchable_object->setColumnName('comment' . $comment->getId());
         $searchable_object->setContent($comment->getText());
         $searchable_object->save();
     }
     return true;
 }
Exemplo n.º 7
0
 public function onNewComment(FrontController $sender, Comment $comment, Statement $st)
 {
     $vars = array('username' => $comment->getUsername(), 'text' => strip_tags($comment->getText()), 'st_link' => FrontController::getURLByRoute('@view', array('id' => $st->getId()), true), 'title' => $st->getTitle());
     $this->getMailer()->sendMail('newComment', $this->_getModerEmails(), $vars);
 }