protected static function _getItemsPKsVotedByUsers($users_pks, $voting_attitude = null, $model = null)
 {
     $c = new Criteria();
     $c->setDistinct();
     $c->clearSelectColumns();
     $c->addSelectColumn(self::VOTABLE_ID);
     // analyze voting attitude
     if (!is_null($voting_attitude)) {
         if ($voting_attitude > 0) {
             $c->add(self::VOTING, 0, Criteria::GREATER_THAN);
         } elseif ($voting_attitude < 0) {
             $c->add(self::VOTING, 0, Criteria::LESS_THAN);
         } else {
             $c->add(self::VOTING, 0);
         }
     }
     $c->add(self::USER_ID, $users_pks, Criteria::IN);
     if (!is_null($model)) {
         $c->add(self::VOTABLE_MODEL, $model);
     }
     $rs = self::doSelectRS($c);
     $pks = array();
     while ($rs->next()) {
         $pks[] = $rs->getInt(1);
     }
     return $pks;
 }
 /**
  * returns the groups in the given ramo (and for the given legislatura) and include the zero value, if given
  *
  * @param string $ramo 
  * @param int    $legislatura
  * @param string $include_zero 
  * @return an associative array, with id and name as key => value
  * @author Guglielmo Celata
  */
 public static function getAllGroups($ramo, $legislatura, $include_zero = false)
 {
     $c = new Criteria();
     if ($ramo == 'camera') {
         $c->add(OppCaricaPeer::TIPO_CARICA_ID, 1);
     } else {
         $c->add(OppCaricaPeer::TIPO_CARICA_ID, array(4, 5), Criteria::IN);
     }
     $c->addJoin(OppGruppoPeer::ID, OppCaricaHasGruppoPeer::GRUPPO_ID);
     $c->addJoin(OppCaricaPeer::ID, OppCaricaHasGruppoPeer::CARICA_ID);
     $c_or_leg = $c->getNewCriterion(OppCaricaPeer::LEGISLATURA, $legislatura);
     $c_or_leg->addOr($c->getNewCriterion(OppCaricaPeer::LEGISLATURA, null, Criteria::ISNULL));
     $c->add($c_or_leg);
     $c->clearSelectColumns();
     $c->addSelectColumn(OppGruppoPeer::ID);
     $c->addSelectColumn(OppGruppoPeer::NOME);
     $c->setDistinct();
     $rs = OppGruppoPeer::doSelectRS($c);
     if ($include_zero) {
         $all_groups = array('0' => $include_zero);
     } else {
         $all_groups = array();
     }
     while ($rs->next()) {
         $all_groups[$rs->getInt(1)] = $rs->getString(2);
     }
     return $all_groups;
 }
Example #3
0
 /**
  * Executes query and hydrate this object
  *
  * @param       string $query the query being searched for
  */
 public function query($query, PropelPDO $propelConnection = null)
 {
     $refQuery = trim($query);
     if (strlen($refQuery) < 3) {
         throw new Exception("Too few characters in the query string");
     } elseif (helperFunctions::isMaliciousString($refQuery)) {
         throw new Exception("Malicious string detected. Are you trying to wreck our system?");
     } else {
         // search for courses
         $c = new Criteria();
         $idCrit = $c->getNewCriterion(CoursePeer::ID, $refQuery . "%", Criteria::LIKE);
         $nameCrit = $c->getNewCriterion(CoursePeer::DESCR, "%" . $refQuery . "%", Criteria::LIKE);
         $idCrit->addOr($nameCrit);
         $c->addAnd($idCrit);
         $c->setDistinct();
         $c->addAscendingOrderByColumn(CoursePeer::ID);
         $this->_courseList = CoursePeer::doselect($c, $propelConnection);
         // search for professors
         $c = new Criteria();
         $firstNameCrit = $c->getNewCriterion(InstructorPeer::FIRST_NAME, "%" . $refQuery . "%", Criteria::LIKE);
         $lastNameCrit = $c->getNewCriterion(InstructorPeer::LAST_NAME, "%" . $refQuery . "%", Criteria::LIKE);
         $firstNameCrit->addOr($lastNameCrit);
         $c->addAnd($firstNameCrit);
         $c->setDistinct();
         $c->addAscendingOrderByColumn(InstructorPeer::LAST_NAME);
         $this->_profList = InstructorPeer::doSelect($c, $propelConnection);
         // search for programs
         $c = new Criteria();
         $descrCrit = $c->getNewCriterion(DisciplinePeer::DESCR, "%" . $refQuery . "%", Criteria::LIKE);
         $c->addAnd($descrCrit);
         $c->setDistinct();
         $c->addAscendingOrderByColumn(DisciplinePeer::DESCR);
         $this->_programList = DisciplinePeer::doSelect($c, $propelConnection);
     }
 }
Example #4
0
 public static function getWithJobs()
 {
     $criteria = new Criteria();
     $criteria->addJoin(self::ID, JobeetJobPeer::CATEGORY_ID);
     $criteria->add(JobeetJobPeer::EXPIRES_AT, time(), Criteria::GREATER_THAN);
     $criteria->setDistinct();
     return self::doSelect($criteria);
 }
Example #5
0
 public static function getWithMailboxs()
 {
     $criteria = new Criteria();
     $criteria->addJoin(self::ID, GcMailboxPeer::GROUP_ID);
     $criteria->add(GcMailboxPeer::EXPIRES_AT, time(), Criteria::GREATER_THAN);
     $criteria->setDistinct();
     return self::doSelect($criteria);
 }
 public static function getUsedCategories()
 {
     $c = new Criteria();
     $c->addJoin(self::ID, PcBlogCategoriesPostsPeer::CATEGORY_ID, Criteria::INNER_JOIN);
     $c->addJoin(PcBlogCategoriesPostsPeer::POST_ID, PcBlogPostPeer::ID, Criteria::INNER_JOIN);
     $c->setDistinct();
     return self::doSelect($c);
 }
 /**
  * 
  * @return Routes2011[]
  */
 public static function getAllDistinctRouteId()
 {
     $criteria = new Criteria();
     $criteria->addAscendingOrderByColumn(self::ROUTEID);
     $criteria->setDistinct();
     $criteria->clearSelectColumns();
     $criteria->addSelectColumn(self::ROUTEID);
     return self::doSelect($criteria);
 }
Example #8
0
 /**
  * Fetches a list of Course objects
  *
  * @param       int $instructorId ID of instructor object
  * @return      A list of course objects
  */
 public static function findCoursesByInstructorId($instructorId, PropelPDO $propelConnection = null)
 {
     $c = new Criteria();
     $c->addJoin(CoursePeer::ID, CourseInstructorAssociationPeer::COURSE_ID);
     $c->add(CourseInstructorAssociationPeer::INSTRUCTOR_ID, $instructorId);
     $c->setDistinct();
     $c->addAscendingOrderByColumn(CoursePeer::ID);
     return CoursePeer::doselect($c, $propelConnection);
 }
Example #9
0
 /**
  * This static method retrieves all the subjects for a course.
  *
  * @param Course $course
  * @return Criteria
  */
 public static function retrieveForCourseCriteria(Course $course)
 {
     $c = new Criteria();
     $c->add(CourseSubjectPeer::COURSE_ID, $course->getId());
     $c->addJoin(CourseSubjectPeer::CAREER_SUBJECT_SCHOOL_YEAR_ID, CareerSubjectSchoolYearPeer::ID, Criteria::INNER_JOIN);
     $c->addJoin(CareerSubjectSchoolYearPeer::CAREER_SUBJECT_ID, CareerSubjectPeer::ID, Criteria::INNER_JOIN);
     $c->addJoin(CareerSubjectPeer::SUBJECT_ID, self::ID, Criteria::INNER_JOIN);
     $c->setDistinct();
     return $c;
 }
Example #10
0
 /**
  * This method joins to the divisions of the teacher
  * @param Criteria $c
  * @param <type> $user_id
  */
 public static function joinWithDivisions(Criteria $criteria, $user_id)
 {
     $criteria->setDistinct(DivisionPeer::ID);
     $criteria->addJoin(DivisionPeer::ID, CoursePeer::DIVISION_ID);
     $criteria->addJoin(CoursePeer::ID, CourseSubjectPeer::COURSE_ID);
     $criteria->addJoin(CourseSubjectPeer::ID, CourseSubjectTeacherPeer::COURSE_SUBJECT_ID);
     $criteria->addJoin(CourseSubjectTeacherPeer::TEACHER_ID, TeacherPeer::ID);
     $criteria->addJoin(TeacherPeer::PERSON_ID, PersonPeer::ID);
     $criteria->add(PersonPeer::USER_ID, $user_id);
 }
 public static function getOrientations($widget, $value)
 {
     $career = CareerPeer::retrieveByPk($value);
     $orientations = array('' => '');
     $c = new Criteria();
     $c->setDistinct();
     foreach ($career->getOrientations($c) as $orientation) {
         $orientations[$orientation->getId()] = $orientation->__toString();
     }
     $widget->setOption("choices", $orientations);
 }
  /**
   * Get all the different values set to $column.
   *
   * @param  string    $column The column from this class' table.
   * @param  PropelPDO $con    Optional PDO object.
   * @return array
   */
  static public function retrieveAllValuesForColumn($column, PropelPDO $con = null)
  {
    $criteria = new Criteria();

    $criteria->setDistinct();
    $criteria->clearSelectColumns();
    $criteria->addSelectColumn($column);

    return ncTrackerEntryPeer::doSelectStmt($criteria)
      ->fetchAll(PDO::FETCH_COLUMN);
  }
 public function addIdentificationNumberColumnCriteria(Criteria $criteria, $field, $value)
 {
     $value = trim($value);
     if ($value != '') {
         $value = "%{$value}%";
         $criteria->addJoin(TeacherPeer::PERSON_ID, PersonPeer::ID);
         $criterion = $criteria->getNewCriterion(PersonPeer::IDENTIFICATION_NUMBER, $value, Criteria::LIKE);
         $criteria->add($criterion);
         $criteria->setDistinct();
     }
 }
 /**
  * @return \ResultSet
  * @throws \PropelException
  */
 protected function prepareResult()
 {
     $p = $this->getPeer();
     $criteria = new \Criteria();
     $criteria->setDistinct();
     $criteria->addAscendingOrderByColumn($this->getFullyQualifiedPKName($p));
     $this->logger->debug("Propel\\Source calling ...::createResultSet()");
     $r = $this->createResultSet($p, $criteria);
     $this->logger->debug("...::createResultSet() returned");
     return $r;
 }
 public function testCreateSelectSqlPartSelectModifier()
 {
     $db = Propel::getDB(BookPeer::DATABASE_NAME);
     $c = new Criteria();
     $c->addSelectColumn(BookPeer::ID);
     $c->addAsColumn('book_ID', BookPeer::ID);
     $c->setDistinct();
     $fromClause = array();
     $selectSql = $db->createSelectSqlPart($c, $fromClause);
     $this->assertEquals('SELECT DISTINCT book.ID, book.ID AS book_ID', $selectSql, 'createSelectSqlPart() includes the select modifiers in the SELECT clause');
     $this->assertEquals(array('book'), $fromClause, 'createSelectSqlPart() adds the tables from the select columns to the from clause');
 }
Example #16
0
 public function getHostnames($value = '')
 {
     $criteria = new Criteria();
     $criteria->clearSelectColumns();
     $criteria->addSelectColumn(self::HOSTNAME);
     $criteria->setDistinct();
     $stmt = self::doSelectStmt($criteria);
     while ($host = $stmt->fetchColumn(0)) {
         $results[] = $host;
     }
     return $results;
 }
Example #17
0
 public static function getLodging($name, $passenger_id)
 {
     $c = new Criteria();
     $c->addJoin(self::PASSENGER_ID, PassengerPeer::ID, Criteria::INNER_JOIN);
     $c->add(self::PASSENGER_ID, $passenger_id);
     $name = mysql_escape_string($name);
     $c->clearSelectColumns();
     $c->addSelectColumn(self::LODGING);
     $c->add(self::LODGING, '%' . $name . '%', Criteria::LIKE);
     $c->setDistinct();
     $c->setLimit(10);
     return self::doSelectStmt($c);
 }
Example #18
0
 public static function findByQuery($query, $page, $size)
 {
     $c = new Criteria();
     $c->addJoin(ReportPeer::ID, ReportQueryPeer::REPORT_ID);
     $c->addJoin(ReportQueryPeer::QUERY_ID, QueryPeer::ID);
     $c->add(QueryPeer::QUERY, $query);
     $c->setDistinct();
     $pager = new sfPropelPager('Report', $size);
     $pager->setCriteria($c);
     $pager->setPage($page);
     $pager->init();
     return $pager;
 }
 public static function getByTag($tag, $page, $pager_size)
 {
     $c = new Criteria();
     $c->addJoin(self::ID, TagPeer::SNIPPET_ID, Criteria::LEFT_JOIN);
     $c->add($c->getNewCriterion(TagPeer::NAME, $tag));
     $c->addDescendingOrderByColumn(SnippetPeer::CREATED_AT);
     $c->setDistinct();
     $pager = new sfPropelPager('Snippet', $pager_size);
     $pager->setCriteria($c);
     $pager->setPage($page);
     $pager->init();
     return $pager;
 }
 protected static function getAllNamespaces()
 {
     $c = new Criteria();
     $c->clearSelectColumns();
     $c->addSelectColumn(self::LAUNCH_NAMESPACE);
     $c->setDistinct();
     $rs = self::doSelectRS($c);
     $namespaces = array();
     while ($rs->next()) {
         $namespaces[] = $rs->getString(1);
     }
     return $namespaces;
 }
Example #21
0
 public function getCamposFormularioOrdenadosAlcancetablas($id_tabla = null, $solo_en_lista = false)
 {
     $c = new Criteria();
     $c->addJoin(CampoPeer::ID_CAMPO, RelCampoTablaPeer::ID_CAMPO, Criteria::JOIN);
     $c->addJoin(RelCampoTablaPeer::ID_TABLA, TablaPeer::ID_TABLA, Criteria::JOIN);
     $c->addAnd(TablaPeer::ID_EMPRESA, $this->getIdEmpresa(), Criteria::EQUAL);
     //$c->addAnd(CampoPeer::ES_GENERAL , true);
     $c->addAscendingOrderByColumn(CampoPeer::ORDEN);
     $c->setDistinct();
     $campos = CampoPeer::doSelect($c);
     //el siguiente ódigo es bastante ineficiente. Podría conseguirse una SQL que obtuviera todos los campos accesibles de la promotra
     $tablaes = TablaPeer::doSelect(TablaPeer::getCriterioAlcance());
     $accesible = array();
     foreach ($tablaes as $tab) {
         $accesible[$tab->getIdTabla()] = 1;
     }
     if ($id_tabla != null) {
         if (isset($accesible[$id_tabla])) {
             //Si viene que solo queremos los datos de una tabla y esta es accesible => solo obtenemos los campos de esa tabla.
             unset($accesible);
             $accesible[$id_tabla] = 1;
         } else {
             //la tabla no es accesible => devolver que no tiene campos
             return array();
         }
     }
     $resultado = array();
     foreach ($campos as $campo) {
         if (!$campo->getEsGeneral()) {
             $rels = $campo->getRelCampoTablas();
             //print_r($rels);
             foreach ($rels as $rel) {
                 if (isset($accesible[$rel->getIdTabla()])) {
                     if ($solo_en_lista) {
                         if ($campo->getEnLista()) {
                             $resultado[] = $campo;
                         }
                     } else {
                         $resultado[] = $campo;
                     }
                     break;
                     //sale del if o del for?
                 }
             }
         } else {
             $resultado[] = $campo;
         }
     }
     return $resultado;
 }
 /**
  * gets a list of all agents related to all schemas
  *
  * @return array Agents
  * @param  var_type $var
  */
 public static function getSchemaAgents()
 {
     $results = array();
     $c = new Criteria();
     $c->clearSelectColumns();
     $c->addSelectColumn(self::AGENT_ID);
     $c->addJoin(self::AGENT_ID, AgentPeer::ID);
     $c->addAscendingOrderByColumn(AgentPeer::ORG_NAME);
     $c->setDistinct();
     $rs = self::doSelectRS($c);
     while ($rs->next()) {
         $results[] = AgentPeer::retrieveByPK($rs->getInt(1));
     }
     return $results;
 }
Example #23
0
 public function getTags()
 {
     $c = new Criteria();
     $c->add(QuestionTagPeer::QUESTION_ID, $this->getId());
     $c->addGroupByColumn(QuestionTagPeer::NORMALIZED_TAG);
     $c->setDistinct();
     $c->addAscendingOrderByColumn(QuestionTagPeer::NORMALIZED_TAG);
     $tags = array();
     foreach (QuestionTagPeer::doSelect($c) as $tag) {
         if (sfConfig::get('app_permanent_tag') == $tag) {
             continue;
         }
         $tags[] = $tag->getNormalizedTag();
     }
     return $tags;
 }
Example #24
0
 public static function getCriteriaUsuarioActualAlcanceCategoriasInformes()
 {
     $usuario = Usuario::getUsuarioActual();
     $rels = $usuario->getRelUsuarioCategoriaInformes(new Criteria());
     $c = new Criteria();
     if (!sizeof($rels)) {
         $c->add(CategoriaInformePeer::ID_CATEGORIA_INFORME, 0);
     } else {
         foreach ($rels as $rel) {
             $cr_aux = $c->getNewCriterion(CategoriaInformePeer::ID_CATEGORIA_INFORME, $rel->getIdCategoriaInforme());
             $c->addOr($cr_aux);
         }
     }
     $c->setDistinct();
     return $c;
 }
Example #25
0
 /**
  * @link       http://propel.phpdb.org/trac/ticket/425
  */
 public function testMultipleFunctionInCriteria()
 {
     $db = Propel::getDB(BookPeer::DATABASE_NAME);
     try {
         $c = new Criteria();
         $c->setDistinct();
         if ($db instanceof DBPostgres) {
             $c->addSelectColumn("substring(" . BookPeer::TITLE . " from position('Potter' in " . BookPeer::TITLE . ")) AS col");
         } else {
             $this->markTestSkipped();
         }
         $stmt = BookPeer::doSelectStmt($c);
     } catch (PropelException $x) {
         $this->fail("Paring of nested functions failed: " . $x->getMessage());
     }
 }
Example #26
0
 public static function retrieveStudentsCriteria($course_id)
 {
     $course = CoursePeer::retrieveByPk($course_id);
     $c = new Criteria();
     $c->add(CourseSubjectPeer::COURSE_ID, $course_id);
     $c->addJoin(CourseSubjectPeer::ID, CourseSubjectStudentPeer::COURSE_SUBJECT_ID);
     $c->addJoin(CourseSubjectStudentPeer::STUDENT_ID, StudentPeer::ID);
     $c->addJoin(StudentPeer::PERSON_ID, PersonPeer::ID);
     $c->addJoin(SchoolYearStudentPeer::STUDENT_ID, StudentPeer::ID);
     $c->addJoin(StudentCareerSchoolYearPeer::STUDENT_ID, CourseSubjectStudentPeer::STUDENT_ID, Criteria::INNER_JOIN);
     $c->add(StudentCareerSchoolYearPeer::STATUS, StudentCareerSchoolYearStatus::WITHDRAWN, Criteria::NOT_EQUAL);
     $c->addAnd(StudentCareerSchoolYearPeer::STATUS, StudentCareerSchoolYearStatus::WITHDRAWN_WITH_RESERVE, Criteria::NOT_EQUAL);
     $c->setDistinct();
     $c->add(SchoolYearStudentPeer::SCHOOL_YEAR_ID, $course->getSchoolYearId());
     return $c;
 }
 public static function getItemsPKsMonitoredByUsers($monitorers_pks, $model = null)
 {
     $c = new Criteria();
     $c->setDistinct();
     $c->clearSelectColumns();
     $c->addSelectColumn(self::MONITORABLE_ID);
     $c->add(self::USER_ID, $monitorers_pks, Criteria::IN);
     if (!is_null($model)) {
         $c->add(self::MONITORABLE_MODEL, $model);
     }
     $rs = self::doSelectRS($c);
     $pks = array();
     while ($rs->next()) {
         $pks[] = $rs->getInt(1);
     }
     return $pks;
 }
 public static function doSelectAtto($atto_id)
 {
     $atti = array();
     $c = new Criteria();
     $c->clearSelectColumns();
     $c->addSelectColumn(OppAttoPeer::ID);
     $c->addSelectColumn(OppAttoPeer::RAMO);
     $c->addSelectColumn(OppAttoPeer::NUMFASE);
     $c->addSelectColumn(OppAttoPeer::TITOLO);
     $c->setDistinct(OppAttoPeer::ID);
     $c->add(OppAttoHasTeseoPeer::TESEO_ID, $atto_id, Criteria::IN);
     $c->addJoin(OppAttoHasTeseoPeer::ATTO_ID, OppAttoPeer::ID, Criteria::LEFT_JOIN);
     $c->addDescendingOrderByColumn(OppAttoPeer::DATA_PRES);
     $c->add(OppAttoPeer::TIPO_ATTO_ID, 1, Criteria::EQUAL);
     $rs = OppAttoHasTeseoPeer::doSelectRS($c);
     while ($rs->next()) {
         $atti[$rs->getInt(1)] = $rs->getString(2) . '.' . $rs->getString(3) . ' ' . $rs->getString(4);
     }
     return $atti;
 }
Example #29
0
function getProcessArray($userUid)
{
    global $oAppCache;
    require_once "classes/model/AppCacheView.php";
    $processes = array();
    $processes[] = array('', G::LoadTranslation('ID_ALL_PROCESS'));
    $cProcess = new Criteria('workflow');
    $cProcess->clearSelectColumns();
    $cProcess->addSelectColumn(AppCacheViewPeer::PRO_UID);
    $cProcess->addSelectColumn(AppCacheViewPeer::APP_PRO_TITLE);
    $cProcess->setDistinct(AppCacheViewPeer::PRO_UID);
    $cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE);
    $oDataset = AppCacheViewPeer::doSelectRS($cProcess);
    $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
    $oDataset->next();
    while ($aRow = $oDataset->getRow()) {
        $processes[] = array($aRow['PRO_UID'], $aRow['APP_PRO_TITLE']);
        $oDataset->next();
    }
    return $processes;
}
Example #30
0
 public static function retrieveForSelect($q, $limit, $columnname)
 {
     $criteria = new Criteria();
     $criteria->add(constant('FiledescPeer::' . strtoupper($columnname)), '%' . $q . '%', Criteria::LIKE);
     $criteria->setDistinct(true);
     $criteria->addAscendingOrderByColumn(constant('FiledescPeer::' . strtoupper($columnname)));
     $criteria->setLimit($limit);
     $criteria->setIgnoreCase(true);
     $values = array();
     $getFunctionKey = "get{$columnname}";
     $getFunctionValue = "get{$columnname}";
     $result = FiledescPeer::doSelect($criteria);
     foreach ($result as $value) {
         $current_result = array();
         $current_result["id"] = (string) $value->{$getFunctionValue}();
         $current_result["label"] = (string) $value->{$getFunctionValue}();
         $current_result["value"] = (string) $value->{$getFunctionValue}();
         $values[] = $current_result;
     }
     return $values;
 }