/** * Query * * @param array $args * @return Doctrine_Query $q */ protected function air_query($args = array()) { $q = Doctrine_Query::create()->from('SrcEmail e'); // only WRITE-able sources (#4462) $q->innerJoin('e.Source s'); $q->leftJoin('s.SrcOrg so WITH so.so_home_flag = true'); $q->leftJoin('so.Organization o'); Source::query_may_write($q, $this->user, 's'); // status if (isset($args['status'])) { air2_query_in($q, $args['status'], 'e.sem_status'); } return $q; }