예제 #1
0
 private function isGuardBindAndUserId()
 {
   if(vjComment::isGuardBindEnabled())
   {
     return !is_null($this->getUserId());
   }
   return false;
 }
예제 #2
0
 public function getAdminQuery(Doctrine_Query $q)
 {
     $ra = $q->getRootAlias($q);
     if(vjComment::isGuardBindEnabled())
     {
         $q->leftJoin($ra . '.User u');
     }
     return $q;
 }
예제 #3
0
  public function setup()
  {
    parent::setup();
    
    $user = $this->getOption('user');
    $fields = array(
      'record_model',
      'record_id',
      'author_name',
      'author_email',
      'author_website',
      'body',
      'reply'
    );
    if(vjComment::isGuardBindEnabled())
    {
      $fields[] = 'user_id';
    }
    $this->useFields($fields);
    
    $this->widgetSchema['reply_author'] = new sfWidgetFormInputText(array(), array('readonly' => "readonly"));
    $this->widgetSchema->setLabel('reply_author', __('Reply to', array(), 'vjComment'));
    $this->widgetSchema->setHelp('author_email', __('Your email will never be published', array(), 'vjComment'));
    $this->widgetSchema['user_id'] = new sfWidgetFormInputHidden();

    if( vjComment::isUserBoundAndAuthenticated($user) )
    {
        unset( $this['author_email'], $this['author_website'], $this['author_name'] );
    }
    else
    {
        unset( $this['user_id'] );
    }
    if (vjComment::isCaptchaEnabled() && !vjComment::isUserBoundAndAuthenticated($user) )
    {
      $this->addCaptcha();
    }
    $this->widgetSchema->setNameFormat($this->getOption('name').'[%s]');
  }