public function executeSendStmt() { if ($this->reviewType == Politico::NUM_ENTITY) { $this->politico = PoliticoPeer::retrieveByPK($this->reviewEntityId); } else { if ($this->reviewType == Partido::NUM_ENTITY) { $this->partido = PartidoPeer::retrieveByPK($this->reviewEntityId); } else { if ($this->reviewType != null) { $type = SfReviewTypePeer::retrieveByPk($this->reviewType); $peer = $type->getModel() . 'Peer'; $this->entity = $peer::retrieveByPK($this->reviewEntityId); } else { if ($this->reviewType == null) { $review_ = SfReviewPeer::retrieveByPK($this->reviewEntityId); if ($review_) { $this->review = $review_; if ($this->review->getSfReviewTypeId() == Politico::NUM_ENTITY) { $this->politico = PoliticoPeer::retrieveByPK($this->review->getEntityId()); } else { if ($this->review->getSfReviewTypeId() == Partido::NUM_ENTITY) { $this->partido = PartidoPeer::retrieveByPK($this->review->getEntityId()); } else { $type = SfReviewTypePeer::retrieveByPk($this->review->getSfReviewTypeId()); $peer = $type->getModel() . 'Peer'; $this->entity = $peer::retrieveByPK($this->review->getEntityId()); } } } } } } } }
function getEntity() { if (!$this->entity) { if ($this->getType()) { $this->aReview = false; $type = SfReviewTypePeer::retrieveByPk($this->getType()); $peer = $type->getModel() . 'Peer'; $this->entity = call_user_func("{$peer}::retrieveByPK", $this->entity_id); } else { $this->aReview = SfReviewPeer::retrieveByPk($this->sf_review_id); //$this->aReview = $this->review->getSfReviewRelatedBySfReviewId(); if ($this->aReview) { $peer = $this->aReview->getSfReviewType()->getModel() . 'Peer'; $this->entity = call_user_func("{$peer}::retrieveByPk", $this->aReview->getEntityId()); } } } return $this->entity; }
/** * Selects a collection of SfReview objects pre-filled with all related objects except SfReviewRelatedBySfReviewId. * * @param Criteria $criteria * @param PropelPDO $con * @param String $join_behavior the type of joins to use, defaults to Criteria::LEFT_JOIN * @return array Array of SfReview objects. * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function doSelectJoinAllExceptSfReviewRelatedBySfReviewId(Criteria $criteria, $con = null, $join_behavior = Criteria::LEFT_JOIN) { $criteria = clone $criteria; // Set the correct dbName if it has not been overridden // $criteria->getDbName() will return the same object if not set to another value // so == check is okay and faster if ($criteria->getDbName() == Propel::getDefaultDB()) { $criteria->setDbName(self::DATABASE_NAME); } SfReviewPeer::addSelectColumns($criteria); $startcol2 = SfReviewPeer::NUM_COLUMNS - SfReviewPeer::NUM_LAZY_LOAD_COLUMNS; sfGuardUserPeer::addSelectColumns($criteria); $startcol3 = $startcol2 + (sfGuardUserPeer::NUM_COLUMNS - sfGuardUserPeer::NUM_LAZY_LOAD_COLUMNS); SfReviewTypePeer::addSelectColumns($criteria); $startcol4 = $startcol3 + (SfReviewTypePeer::NUM_COLUMNS - SfReviewTypePeer::NUM_LAZY_LOAD_COLUMNS); SfReviewStatusPeer::addSelectColumns($criteria); $startcol5 = $startcol4 + (SfReviewStatusPeer::NUM_COLUMNS - SfReviewStatusPeer::NUM_LAZY_LOAD_COLUMNS); $criteria->addJoin(SfReviewPeer::SF_GUARD_USER_ID, sfGuardUserPeer::ID, $join_behavior); $criteria->addJoin(SfReviewPeer::SF_REVIEW_TYPE_ID, SfReviewTypePeer::ID, $join_behavior); $criteria->addJoin(SfReviewPeer::SF_REVIEW_STATUS_ID, SfReviewStatusPeer::ID, $join_behavior); // symfony_behaviors behavior foreach (sfMixer::getCallables(self::getMixerPreSelectHook(__FUNCTION__)) as $sf_hook) { call_user_func($sf_hook, 'BaseSfReviewPeer', $criteria, $con); } $stmt = BasePeer::doSelect($criteria, $con); $results = array(); while ($row = $stmt->fetch(PDO::FETCH_NUM)) { $key1 = SfReviewPeer::getPrimaryKeyHashFromRow($row, 0); if (null !== ($obj1 = SfReviewPeer::getInstanceFromPool($key1))) { // We no longer rehydrate the object, since this can cause data loss. // See http://propel.phpdb.org/trac/ticket/509 // $obj1->hydrate($row, 0, true); // rehydrate } else { $cls = SfReviewPeer::getOMClass(false); $obj1 = new $cls(); $obj1->hydrate($row); SfReviewPeer::addInstanceToPool($obj1, $key1); } // if obj1 already loaded // Add objects for joined sfGuardUser rows $key2 = sfGuardUserPeer::getPrimaryKeyHashFromRow($row, $startcol2); if ($key2 !== null) { $obj2 = sfGuardUserPeer::getInstanceFromPool($key2); if (!$obj2) { $cls = sfGuardUserPeer::getOMClass(false); $obj2 = new $cls(); $obj2->hydrate($row, $startcol2); sfGuardUserPeer::addInstanceToPool($obj2, $key2); } // if $obj2 already loaded // Add the $obj1 (SfReview) to the collection in $obj2 (sfGuardUser) $obj2->addSfReview($obj1); } // if joined row is not null // Add objects for joined SfReviewType rows $key3 = SfReviewTypePeer::getPrimaryKeyHashFromRow($row, $startcol3); if ($key3 !== null) { $obj3 = SfReviewTypePeer::getInstanceFromPool($key3); if (!$obj3) { $cls = SfReviewTypePeer::getOMClass(false); $obj3 = new $cls(); $obj3->hydrate($row, $startcol3); SfReviewTypePeer::addInstanceToPool($obj3, $key3); } // if $obj3 already loaded // Add the $obj1 (SfReview) to the collection in $obj3 (SfReviewType) $obj3->addSfReview($obj1); } // if joined row is not null // Add objects for joined SfReviewStatus rows $key4 = SfReviewStatusPeer::getPrimaryKeyHashFromRow($row, $startcol4); if ($key4 !== null) { $obj4 = SfReviewStatusPeer::getInstanceFromPool($key4); if (!$obj4) { $cls = SfReviewStatusPeer::getOMClass(false); $obj4 = new $cls(); $obj4->hydrate($row, $startcol4); SfReviewStatusPeer::addInstanceToPool($obj4, $key4); } // if $obj4 already loaded // Add the $obj1 (SfReview) to the collection in $obj4 (SfReviewStatus) $obj4->addSfReview($obj1); } // if joined row is not null $results[] = $obj1; } $stmt->closeCursor(); return $results; }
/** * Retrieve multiple objects by pkey. * * @param array $pks List of primary keys * @param PropelPDO $con the connection to use * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function retrieveByPKs($pks, PropelPDO $con = null) { if ($con === null) { $con = Propel::getConnection(SfReviewTypePeer::DATABASE_NAME, Propel::CONNECTION_READ); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(SfReviewTypePeer::DATABASE_NAME); $criteria->add(SfReviewTypePeer::ID, $pks, Criteria::IN); $objs = SfReviewTypePeer::doSelect($criteria, $con); } return $objs; }
public function executeQuickvote(sfWebRequest $request) { $typeId = $request->getParameter("t", false); $entityId = $request->getParameter("e", false); $value = $request->getParameter("v", false); $rm = $request->getParameter("rm", false); $this->review = false; $type = SfReviewTypePeer::retrieveByPk($typeId); if ($type) { $peer = $type->getModel() . 'Peer'; $this->entity = $peer::retrieveByPK($entityId); } try { $this->review = SfReviewManager::postReview($this->getUser()->getGuardUser()->getId(), $typeId, $entityId, $value, false, $this->entity, $rm, 0, 'quick'); } catch (Exception $e) { echo "fail:" . $e->getMessage(); } }
/** * Populates the object using an array. * * This is particularly useful when populating an object from one of the * request arrays (e.g. $_POST). This method goes through the column * names, checking to see whether a matching key exists in populated * array. If so the setByName() method is called for that column. * * You can specify the key type of the array by additionally passing one * of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME, * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM. * The default key type is the column's phpname (e.g. 'AuthorId') * * @param array $arr An array to populate the object from. * @param string $keyType The type of keys the array uses. * @return void */ public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) { $keys = SfReviewTypePeer::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) { $this->setId($arr[$keys[0]]); } if (array_key_exists($keys[1], $arr)) { $this->setName($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { $this->setModel($arr[$keys[2]]); } if (array_key_exists($keys[3], $arr)) { $this->setModule($arr[$keys[3]]); } if (array_key_exists($keys[4], $arr)) { $this->setMaxValue($arr[$keys[4]]); } if (array_key_exists($keys[5], $arr)) { $this->setCulturized($arr[$keys[5]]); } }
/** * Selects a collection of SfReviewTypeEntity objects pre-filled with all related objects. * * @param Criteria $criteria * @param PropelPDO $con * @param String $join_behavior the type of joins to use, defaults to Criteria::LEFT_JOIN * @return array Array of SfReviewTypeEntity objects. * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function doSelectJoinAll(Criteria $criteria, $con = null, $join_behavior = Criteria::LEFT_JOIN) { $criteria = clone $criteria; // Set the correct dbName if it has not been overridden if ($criteria->getDbName() == Propel::getDefaultDB()) { $criteria->setDbName(self::DATABASE_NAME); } SfReviewTypeEntityPeer::addSelectColumns($criteria); $startcol2 = SfReviewTypeEntityPeer::NUM_COLUMNS - SfReviewTypeEntityPeer::NUM_LAZY_LOAD_COLUMNS; SfReviewTypePeer::addSelectColumns($criteria); $startcol3 = $startcol2 + (SfReviewTypePeer::NUM_COLUMNS - SfReviewTypePeer::NUM_LAZY_LOAD_COLUMNS); $criteria->addJoin(SfReviewTypeEntityPeer::SF_REVIEW_TYPE_ID, SfReviewTypePeer::ID, $join_behavior); // symfony_behaviors behavior foreach (sfMixer::getCallables(self::getMixerPreSelectHook(__FUNCTION__)) as $sf_hook) { call_user_func($sf_hook, 'BaseSfReviewTypeEntityPeer', $criteria, $con); } $stmt = BasePeer::doSelect($criteria, $con); $results = array(); while ($row = $stmt->fetch(PDO::FETCH_NUM)) { $key1 = SfReviewTypeEntityPeer::getPrimaryKeyHashFromRow($row, 0); if (null !== ($obj1 = SfReviewTypeEntityPeer::getInstanceFromPool($key1))) { // We no longer rehydrate the object, since this can cause data loss. // See http://propel.phpdb.org/trac/ticket/509 // $obj1->hydrate($row, 0, true); // rehydrate } else { $cls = SfReviewTypeEntityPeer::getOMClass(false); $obj1 = new $cls(); $obj1->hydrate($row); SfReviewTypeEntityPeer::addInstanceToPool($obj1, $key1); } // if obj1 already loaded // Add objects for joined SfReviewType rows $key2 = SfReviewTypePeer::getPrimaryKeyHashFromRow($row, $startcol2); if ($key2 !== null) { $obj2 = SfReviewTypePeer::getInstanceFromPool($key2); if (!$obj2) { $cls = SfReviewTypePeer::getOMClass(false); $obj2 = new $cls(); $obj2->hydrate($row, $startcol2); SfReviewTypePeer::addInstanceToPool($obj2, $key2); } // if obj2 loaded // Add the $obj1 (SfReviewTypeEntity) to the collection in $obj2 (SfReviewType) $obj2->addSfReviewTypeEntity($obj1); } // if joined row not null $results[] = $obj1; } $stmt->closeCursor(); return $results; }
public function executeFeed(sfWebRequest $request) { $vanity = $request->getParameter('username'); $this->f = $request->getParameter('f'); $culture = $this->getUser()->getCulture(); $c = new Criteria(); $c->add(SfGuardUserProfilePeer::VANITY, $vanity, Criteria::EQUAL); $userProfile = SfGuardUserProfilePeer::doSelectOne($c); $this->forward404Unless($userProfile); $this->user = $userProfile->getsfGuardUser(); if (!$this->user->getIsActive() && is_numeric($userProfile->getFacebookUid())) { $user = SfGuardUserPeer::retrieveByPK($userProfile->getFacebookUid()); $this->forward404Unless($user); $this->redirect('perfil/show?username='******'%1% en Voota.es', array('%1%' => $this->user)); $descripcion = SfVoUtil::cutToLength($userProfile->getPresentacion(), 155, '...', true); $description = $descripcion ? $descripcion : sfContext::getInstance()->getI18N()->__('Votos y opiniones de %1% sobre políticos y partidos de España', array('%1%' => trim($this->user) ? $this->user : $this->user->getProfile()->getVanity())); $feed = new sfRssFeed(); $feed->setTitle($title); $feed->setLanguage($culture); $feed->setSubtitle($description); $feed->setDescription($description); $feed->setLink('perfil/show?username='******'ca' ? "cat" : $culture; $feed->setAuthorName("Voota.{$domainExt}"); $feedImage = new sfFeedImage(); $feedImage->setLink('perfil/show?username='******'/usuarios/cc_' . $this->user->getProfile()->getImagen()); $feedImage->setTitle($this->user); $feed->setImage($feedImage); foreach ($reviews as $review) { $item = new sfFeedItem(); $entityText = ""; if (!$review->getSfReviewType()) { $tmpReview = $review->getSfReviewRelatedBySfReviewId(); $entityText = sfContext::getInstance()->getI18N()->__('Otra opinión sobre') . ' '; } else { $tmpReview = $review; } $sfReviewType = SfReviewTypePeer::retrieveByPk($tmpReview->getSfReviewTypeId()); $peer = $sfReviewType->getModel() . 'Peer'; $entity = $peer::retrieveByPk($tmpReview->getEntityId()); $entityText .= $entity; $item->setTitle(sfContext::getInstance()->getI18N()->__('%1%, voota %2%.', array('%1%' => $entityText, '%2%' => $review->getValue() == -1 ? sfContext::getInstance()->getI18N()->__('en contra') : sfContext::getInstance()->getI18N()->__('a favor')))); $item->setLink('sfReviewFront/show?id=' . SfVoUtil::reviewPermalink($review)); $item->setAuthorName($review->getSfGuardUser()); $item->setPubdate($review->getCreatedAt('U')); $item->setUniqueId($review->getId()); $avatar = S3Voota::getImagesUrl() . '/usuarios/cc_s_' . $review->getSfGuardUser()->getProfile()->getImagen(); $text = $culture == $review->getCulture() || !$review->getCulture() ? $review->getText() : ''; $img = $review->getSfGuardUser()->getProfile()->getImagen() ? "<img src=\"{$avatar}\" alt =\"" . $review->getSfGuardUser() . "\" /> " : ""; $content = "{$text}"; $item->setDescription($content); $feed->addItem($item); } $this->feed = $feed; }
/** * Get the associated SfReviewType object * * @param PropelPDO Optional Connection object. * @return SfReviewType The associated SfReviewType object. * @throws PropelException */ public function getSfReviewType(PropelPDO $con = null) { if ($this->aSfReviewType === null && $this->sf_review_type_id !== null) { $this->aSfReviewType = SfReviewTypePeer::retrieveByPk($this->sf_review_type_id); /* The following can be used additionally to guarantee the related object contains a reference to this object. This level of coupling may, however, be undesirable since it could result in an only partially populated collection in the referenced object. $this->aSfReviewType->addSfReviews($this); */ } return $this->aSfReviewType; }
public function executeFilteredActivities(sfWebRequest $request) { $this->entityId = $request->getParameter("entityId"); $this->value = $request->getParameter("value"); $this->page = $request->getParameter("page"); $this->sfReviewType = $request->getParameter("sfReviewType"); $this->filter = $request->getParameter("filter", false); $this->slot = $request->getParameter("slot", false); $this->userId = $request->getParameter("userId", false); // Estabamos vootando antes del login ? $sfr_status = $this->getUser()->getAttribute('sfr_status', false, 'sf_review'); if ($sfr_status) { $aSfrStatus = array(); foreach ($sfr_status as $key => $value) { $aSfrStatus[$key] = $value; } $this->sfr_status = $aSfrStatus; $request->setAttribute('sfr_status', $aSfrStatus); $this->getUser()->setAttribute('sfr_status', false, 'sf_review'); } else { $this->getUser()->setAttribute('sfr_status', false, 'sf_review'); $this->sfr_status = false; } $c = new Criteria(); if ($this->sfReviewType) { $c->add(SfReviewTypePeer::ID, $this->sfReviewType); } $reviewType = SfReviewTypePeer::doSelectOne($c); if ($reviewType) { $peer = $reviewType->getModel() . 'Peer'; $c = new Criteria(); $c->add($peer::ID, $this->entityId); $this->entity = $peer::doSelectOne($c); } header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate'); header('Pragma: no-cache'); }
public static function postReview($userId, $typeId, $entityId, $value, $text = false, $entity = false, $rm = false, $fb = '?', $source = '', $anonymous = '?', $tw = '?') { $prevValue = false; $guessAnonymous = $anonymous && $anonymous == '?' ? true : false; $guessFB = $fb && $fb == '?' ? true : false; $guessTW = $tw && $tw == '?' ? true : false; if ($guessAnonymous) { $user = sfGuardUserPeer::retrieveByPK($userId); if ($user) { $anonymous = $user->getProfile()->getAnonymous(); } } if (!$entityId || !$value) { throw new Exception("Not enough parameters."); } if ($value != -1 && $value != 1) { throw new Exception("Invalid data for 'value'."); } // Check if already exists $c = new Criteria(); if (!$typeId) { $c->add(SfReviewPeer::SF_REVIEW_ID, $entityId); } else { $c->add(SfReviewPeer::ENTITY_ID, $entityId); } $c->add(SfReviewPeer::SF_GUARD_USER_ID, $userId); $c->add(SfReviewPeer::SF_REVIEW_TYPE_ID, $typeId ? $typeId : null); $review = SfReviewPeer::doSelectOne($c); if (!$review) { $review = new SfReview(); if (!$typeId) { $review->setSfReviewId($entityId); } else { $review->setEntityId($entityId); } $review->setSfReviewTypeId($typeId ? $typeId : null); $review->setSfGuardUserId($userId); $review->setCreatedAt(new DateTime()); $review->setSource($source); } else { if ($rm && $value == $review->getValue() && $review->getIsActive()) { $review->setIsActive(false); } else { $review->setIsActive(true); } $review->setModifiedAt(new DateTime()); } $review->setValue($value); if ($text) { $aText = SfVoUtil::cutToLength($text, self::MAX_LENGTH, ''); $aText = strip_tags($aText); $review->setText($aText); } $review->setSfReviewStatusId(1); $review->setIpAddress($_SERVER['REMOTE_ADDR']); $review->setCookie(sfContext::getInstance()->getRequest()->getCookie('symfony')); $review->setCulture(sfContext::getInstance()->getUser()->getCulture()); if (!$guessFB) { $review->setToFb($fb); } if (!$guessTW) { $review->setToTw($tw); } if (!$guessAnonymous || $review->isNew()) { $review->setAnonymous($anonymous); } try { $review->save(); if (!$typeId) { $parentReview = SfReviewPeer::retrieveByPk($entityId); $parentReview->setBalance(SfReviewManager::getBalanceByReviewId($entityId)); $parentReview->save(); } if (!$entity) { if (!$typeId) { $aEntityId = $parentReview->getEntityId(); $aTypeId = $parentReview->getSfReviewTypeId(); } else { $aTypeId = $typeId; $aEntityId = $entityId; } $reviewType = SfReviewTypePeer::retrieveByPK($aTypeId); $peer = $reviewType->getModel() . 'Peer'; $entity = $peer::retrieveByPK($aEntityId); } $entity->updateCalcs(); $entity->save(); } catch (Exception $e) { throw new Exception('Error writing review.'); } return $review->getIsActive() ? $review : false; }