Ejemplo n.º 1
0
 /**
  * Removes a tag or a set of tags from the object. As usual, the second
  * parameter might be an array of tags or a comma-separated string.
  *
  * @param      BaseObject  $object
  * @param      mixed       $tagname
  */
 public function removeTagForIndex($tagname)
 {
     $tagname = deppPropelActAsTaggableToolkit::explodeTagString($tagname);
     if (is_array($tagname)) {
         foreach ($tagname as $tag) {
             $this->removeTagForIndex($tag);
         }
     } else {
         $tagname = deppPropelActAsTaggableToolkit::cleanTagName($tagname);
         sfContext::getInstance()->getLogger()->info('{opp_debug}' . $tagname);
         $tag_object = TagPeer::retrieveByTagname($tagname);
         $tagging = TaggingForIndexPeer::retrieveByTagAndAtto($tag_object->getId(), $this->getId());
         $tagging->delete();
     }
 }
    Non stai monitorando nessun argomento
  <?php 
}
?>

  <div class="more-results float-container">
    <ul id="my_tags" class="monitoring-list">
      <li id="ok" style="display:none"><?php 
echo $remaining_tags;
?>
</li>
      <?php 
foreach ($my_tags as $my_tag_name => $popularity) {
    ?>
        <li title="click per visualizzare le notizie relative"> 
          <?php 
    list($tag, $ns, $key, $value) = deppPropelActAsTaggableToolkit::extractTriple($my_tag_name);
    $tag_id = TagPeer::retrieveByTagname($my_tag_name);
    echo link_to(strtolower($value), '@news_tag?id=' . $tag_id->getId(), array('class' => 'folk' . ($popularity + 3)));
    ?>
          <?php 
    echo link_to('x', '@removeTagFromMyMonitoredTags?name=' . $tag, array('class' => 'ico-stop_monitoring', 'title' => 'smetti di monitorare questo argomento'));
    ?>
        </li>
      <?php 
}
?>
    </ul>
  </div>
</div>
 public function executeRemoveTagFromMyMonitoredTags()
 {
     $isAjax = $this->getRequest()->isXmlHttpRequest();
     // remove the tag from the monitored pool
     $tag_name = $this->getRequestParameter('name');
     $tag = TagPeer::retrieveByTagname($tag_name);
     $tag->removeMonitoringUser($this->getUser()->getId());
     // fetch current user profile and the number of tags the user can still add to the pool
     $opp_user = OppUserPeer::retrieveByPK($this->getUser()->getId());
     $this->remaining_tags = $opp_user->getNMaxMonitoredTags() - $opp_user->countMonitoredObjects('Tag');
     // fetch the monitored pool
     $c = new Criteria();
     $c->add(TagPeer::ID, $opp_user->getMonitoredPks('Tag'), Criteria::IN);
     $this->my_tags = TagPeer::getPopulars($c, array('limit' => 10));
     // a tag was removed, clear the cache for the news, acts and tags page
     $cacheManager = $this->getContext()->getViewCacheManager();
     if (!is_null($cacheManager)) {
         $cacheManager->remove('monitoring/news?user_token=' . $this->getUser()->getToken());
         $cacheManager->remove('monitoring/acts?user_token=' . $this->getUser()->getToken());
         $cacheManager->remove('monitoring/tags?user_token=' . $this->getUser()->getToken());
     }
     // remove the negative bookmarking from objects indirectly monitored thanks to this tag
     $indirectly_monitored_acts = OppAttoPeer::doSelectIndirectlyMonitoredByUser($opp_user, null, null, array($tag_id));
     foreach ($indirectly_monitored_acts as $act) {
         $act->removeNegativeBookmarking($this->getUser()->getId());
     }
     if ($isAjax) {
         $this->setTemplate('ajaxMyTags');
     } else {
         $this->redirect('monitoring/tags?user_token=' . $this->getUser()->getToken());
     }
 }
 public function executeShowFromSearch()
 {
     if ($this->hasRequestParameter('tag_name')) {
         $argomento = TagPeer::retrieveByTagname($this->getRequestParameter('tag_name'));
     }
     $triple_value = $argomento->getTripleValue();
     $this->redirect('@argomento?triple_value=' . $triple_value);
 }