/** * 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); }