All pastes #593727 Raw Edit

Hal

public text v1 · immutable
#593727 ·published 2007-06-28 14:29 UTC
rendered paste body
frontend/modules/user/action/actions.class.php

class userActions extends sfActions
{
  public function executeVote()
  {
    $this->answer = AnswerPeer::retrieveByPk($this->getRequestParameter('id'));
    $this->forward404Unless($this->answer);
    
   // $user = $this->getUser()->getSubscriber();
    $this->user = $this->getUser()->getSubscriber();
    
    $relevancy = new Relevancy();
    $relevancy->setAnswer($this->answer);
    $relevancy->setUser($user);
    $relevancy->setScore($this->getRequestParameter('score') == 1 ? 1 : -1);
    $relevancy->save();
  }
}



frontend/modules/user/templates/voteSuccess.php

<?php include_partial('answer/vote_user', array('answer' => $answer, 'user' => $user)) ?>



frontend/modules/answer/templates/_vote_user.php

<?php use_helper('Answer') ?>
span class="vote_up_mark" id="vote_up_<?php echo $answer->getId() ?>">
  <?php echo $answer->getRelevancyUpPercent() ?>%
</span> <?php echo link_to_user_relevancy_up($user, $answer) ?>

<span class="vote_down_mark" id="vote_down_<?php echo $answer->getId() ?>">
  <?php echo $answer->getRelevancyDownPercent() ?>%
</span> <?php echo link_to_user_relevancy_down($user, $answer) ?>



frontend/lib/helper/AnswerHelper.php

<?php
function link_to_user_relevancy_up($user, $answer)
{
  return link_to_user_relevancy('up', $user, $answer);
}

function link_to_user_relevancy_down($user, $answer)
{
  return link_to_user_relevancy('down', $user, $answer);
}

function link_to_user_relevancy($name, $user, $answer)
{
  use_helper('Javascript');

  if ($user->isAuthenticated())
  {
    $has_already_voted = RelevancyPeer::retrieveByPK($answer->getId(), $user->getSubscriberId());
    if ($has_already_voted)
    {
      //already voted for relevancy
      return $name;
    }
    else
    {
      //didn't declare interest yet
      return link_to_remote($name, array(
        'url'      => 'user/vote?id='.$answer->getId().'&score='.($name == 'up' ? 1 : -1),
        'update'   => array('success' => 'vote_'.$answer->getId()),
        'loading'  => "Element.show('indicator')",
        'complete' => "Element.hide('indicator');".visual_effect('highlight', 'vote_'.$name.'_'.$answer->getId()),
      ));
    }
  }
  else
  {
    return link_to_function($name, visual_effect('blind_down', 'login', array('duration' => 0.5)));
  }
}
?>


frontend/lib/myUser.class.php

<?php

class myUser extends sfBasicSecurityUser
{
  public function signIn($user)
  {
    $this->setAttribute('subscriber_id', $user->getId(), 'subscriber');
    $this->setAuthenticated(true);
    
    $this->addCredential('subscriber');
    $this->setAttribute('nickname', $user->getNickname(), 'subscriber');
  }
  
  public function signOut()
  {
    $this->getAttributeHolder()->removeNamespace('subscriber');
    
    $this->setAuthenticated(false);
    $this->clearCredentials();
  }
  
  public function getSubscriberId()
  {
    return $this->getAttribute('subscriber_id', ' ', 'subscriber');
  }
  
  public function getSubscriber()
  {
    return UserPeer::retrieveByPk($this->getSubscriberId());
  }
  
  public function getNickname()
  {
    return $this->getAttribute('nickname', ' ', 'subscriber');
  }
}


Notice: Undefined variable: user in frontend/modules/answer/templates/_vote_user.php on line 5