public function build($runData)
 {
     $site = $runData->getTemp("site");
     $pl = $runData->getParameterList();
     $limit = $pl->getParameterValue("limit", "MODULE");
     if ($limit == null || !is_numeric($limit) || $limit < 1 || $limit > 300) {
         $limit = 5;
     }
     $categoryId = $pl->getParameterValue("categoryId", "MODULE", "AMODULE");
     if ($categoryId !== null) {
         $category = DB_ForumCategoryPeer::instance()->selectByPrimaryKey($categoryId);
         if ($category == null || $category->getSiteId() != $site->getSiteId()) {
             throw new ProcessException(_("The category can not be found."));
         }
     }
     // get recent forum posts
     $c = new Criteria();
     $c->add("forum_post.site_id", $site->getSiteId());
     if ($category) {
         $c->add("forum_post.category_id", $category->getCategoryId());
     }
     $c->addJoin("thread_id", "forum_thread.thread_id");
     $c->addOrderDescending("post_id");
     $c->setLimit($limit);
     $posts = DB_ForumPostPeer::instance()->select($c);
     $runData->contextAdd("posts", $posts);
 }
Example #2
0
 public function executeSearchSchools(sfWebRequest $request)
 {
     $this->getResponse()->setContentType('application/json');
     if (strlen(trim($q = $request->getParameter('q'))) > 2) {
         $c = new Criteria();
         $crit = $c->getNewCriterion(OriginSchoolPeer::NAME, "%{$q}%", Criteria::LIKE);
         $crit->addOr($c->getNewCriterion(OriginSchoolPeer::ADDRESS, "%{$q}%", Criteria::LIKE));
         $crit->addOr($c->getNewCriterion(OriginSchoolPeer::CUE, "%{$q}%", Criteria::LIKE));
         $c->add($crit);
         $c->setLimit(20);
         $results = array();
         foreach ($matches = OriginSchoolPeer::doSelect($c) as $match) {
             $results[] = array('id' => $match->getId(), 'text' => $match->__toString());
         }
         return $this->renderText(json_encode(array('results' => $results)));
     } else {
         if ($request->getParameter('id') !== null) {
             $match = OriginSchoolPeer::retrieveByPK($request->getParameter('id'));
             $result = null;
             if ($match !== null) {
                 $result = array('id' => $match->getId(), 'text' => strval($match));
             }
             return $this->renderText(json_encode($result));
         }
     }
     return $this->renderText('{}');
 }
Example #3
0
File: Sql.php Project: suga/Megiddo
 /**
  * Make a select the database
  * @param Criteria $criteria
  * @param string $table
  * @param bollean $limitOne
  * @return bollean
  */
 public function select(Criteria $criteria, $table, $limitOne = false)
 {
     if ($limitOne) {
         $criteria->setLimit(1);
     } else {
         $stdClass = new ArrayObject();
     }
     if (empty($table)) {
         return false;
     }
     $this->table = $table;
     try {
         $this->pdo->beginTransaction();
         $execute = $this->pdo->prepare($this->mountSqlSelect($criteria));
         $execute->execute();
         $this->pdo->commit();
         if ($execute->rowCount() == 0) {
             return false;
         }
         if ($limitOne) {
             $stdClass = $execute->fetch(PDO::FETCH_OBJ);
         } else {
             for ($i = 0; $i < $execute->rowCount(); $i++) {
                 $stdClass[] = $execute->fetch(PDO::FETCH_OBJ);
             }
         }
         return $stdClass;
     } catch (PDOException $e) {
         $this->pdo->rollBack();
         return false;
     }
 }
 public function myBatchPartnerUsage()
 {
     self::initDb();
     $partners_exists = true;
     $start_pos = 0;
     $bulk_size = 500;
     while ($partners_exists) {
         $c = new Criteria();
         // get only free partners
         $c->addAnd(PartnerPeer::PARTNER_PACKAGE, 1);
         $c->addAnd(PartnerPeer::MONITOR_USAGE, 1);
         $c->setOffset($start_pos);
         $c->setLimit($bulk_size);
         $partners = PartnerPeer::doSelect($c);
         if (!$partners) {
             TRACE("No more partners. offset: {$start_pos} , limit: {$bulk_size} .");
             $partners_exists = false;
         } else {
             TRACE("Looping " . ($start_pos + $bulk_size - 1) . " partners, offset: {$start_pos} .");
             foreach ($partners as $partner) {
                 myPartnerUtils::doPartnerUsage($partner, true);
             }
         }
         unset($partners);
         $start_pos += $bulk_size;
     }
 }
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
 public function executeIndex(sfWebRequest $request)
 {
     # Recently added
     $c = new Criteria();
     $c->addDescendingOrderByColumn(PluginPeer::CREATED_AT);
     $c->setLimit(6);
     $this->recent = PluginPeer::doSelect($c);
     # Most downloaded
     $c = new Criteria();
     $c->addDescendingOrderByColumn(PluginPeer::DOWNLOADS_COUNT);
     $c->setLimit(3);
     $this->hot = PluginPeer::doSelect($c);
     # Tags
     $c = new Criteria();
     $c->addDescendingOrderByColumn(TermPeer::COUNT);
     $c->setLimit(10);
     $this->terms = TermPeer::retrieveTags($c);
     # Authors
     $c = new Criteria();
     $c->addDescendingOrderByColumn(AuthorPeer::LOGGED_AT);
     $c->setLimit(6);
     // if ($this->getUser()->isAuthenticated())
     // 	$c->add(AuthorPeer::ID, $this->getUser()->getId(), Criteria::NOT_EQUAL);
     $this->authors = AuthorPeer::doSelect($c);
 }
 public static function getLastUpdate()
 {
     $c = new Criteria();
     $c->addDescendingOrderByColumn(self::CREATED_AT);
     $c->setLimit(1);
     return self::doSelectOne($c);
 }
 /**
  * @return PcQuoteOfTheDay|null|false
  */
 public static function getUserTodayQuote()
 {
     $loggedInUser = PcUserPeer::getLoggedInUser();
     $hideableHintsSetting = $loggedInUser->getHideableHintsSetting();
     if ($hideableHintsSetting[PcHideableHintsSettingPeer::QUOTE_HINT] === 1) {
         return false;
     }
     $localTimestamp = $loggedInUser->getTime();
     $today = date('Ymd', $localTimestamp);
     $c = new Criteria();
     $c->add(self::SHOWN_ON, $today);
     $todayQuote = self::doSelectOne($c);
     if (!$todayQuote) {
         $c = new Criteria();
         $c->add(self::SHOWN_ON, null, Criteria::ISNULL);
         $c->addAscendingOrderByColumn('rand()');
         $c->setLimit(1);
         $todayQuote = self::doSelectOne($c);
         if ($todayQuote) {
             $todayQuote->setShownOn($today)->save();
         } else {
             sfErrorNotifier::alert("There are no quotes available anymore.");
         }
     }
     return $todayQuote;
 }
function addPermission($permissionCfg)
{
    // verify obligatory fields
    if (!$permissionCfg->name) {
        throw new Exception('Permission name must be set');
    }
    if ((is_null($permissionCfg->partnerId) || $permissionCfg->partnerId === '') && (is_null($permissionCfg->partnerPackages) || $permissionCfg->partnerPackages === '')) {
        throw new Exception('Permission partner id or partner package must be set');
    }
    if (isset($permissionCfg->partnerId) && $permissionCfg->partnerId != '') {
        $partnerIds = explode(",", $permissionCfg->partnerId);
        foreach ($partnerIds as $partnerId) {
            addPermissionToPartner($permissionCfg, $partnerId);
        }
    }
    if (isset($permissionCfg->partnerPackages) && $permissionCfg->partnerPackages != '') {
        $countLimitEachLoop = 100;
        $offset = $countLimitEachLoop;
        $c = new Criteria();
        $c->add(PartnerPeer::ID, 0, Criteria::GREATER_THAN);
        $c->add(PartnerPeer::PARTNER_PACKAGE, explode(',', $permissionCfg->partnerPackages), Criteria::IN);
        $c->setLimit($countLimitEachLoop);
        $partners = PartnerPeer::doSelect($c);
        while (count($partners)) {
            foreach ($partners as $partner) {
                addPermissionToPartner($permissionCfg, $partner->getId());
            }
            $c->setOffset($offset);
            PartnerPeer::clearInstancePool();
            $partners = PartnerPeer::doSelect($c);
            $offset += $countLimitEachLoop;
            sleep(1);
        }
    }
}
function b_mysearch_last_search_show()
{
    include_once XOOPS_ROOT_PATH . '/modules/mysearch/include/functions.php';
    $mysearch_handler =& xoops_getmodulehandler('searches', 'mysearch');
    $visiblekeywords = 0;
    $block = array();
    $visiblekeywords = mysearch_getmoduleoption('showindex');
    if ($visiblekeywords > 0) {
        $block['visiblekeywords'] = $visiblekeywords;
        $totalcount = $mysearch_handler->getCount();
        $start = 0;
        $critere = new Criteria('mysearchid', 0, '<>');
        $critere->setSort('datesearch');
        $critere->setLimit($visiblekeywords);
        $critere->setStart($start);
        $critere->setOrder('DESC');
        $tmpmysearch = new searches();
        $elements = $mysearch_handler->getObjects($critere);
        foreach ($elements as $oneelement) {
            $search = array();
            $search['keyword'] = $oneelement->getVar('keyword');
            $search['date'] = formatTimestamp(strtotime($oneelement->getVar('datesearch')));
            $search['uid'] = $oneelement->getVar('keyword');
            $search['uname'] = $tmpmysearch->uname($oneelement->getVar('uid'));
            $search['link'] = "<a href='" . XOOPS_URL . '/search.php?query=' . $oneelement->getVar('keyword') . "&action=results' target='_blank'>";
            $block['searches'][] = $search;
            unset($search);
        }
    }
    return $block;
}
Example #10
0
 protected function renderFieldCategory(ConfigFieldCategory $fieldCategory)
 {
     $str = "";
     $fields = $fieldCategory->getConfigFields();
     foreach ($fields as $field) {
         $str .= "<fieldset>";
         $str .= "<legend>" . $field->getName() . "</legend>";
         $fieldId = $field->getId();
         $cField = new Criteria();
         $cField->add(FieldValuePeer::FIELD_ID, $fieldId);
         /*$c1 = $cField->getNewCriterion(FieldValuePeer::VALUE, $query.'%', Criteria::LIKE);
           $c2 = $cField->getNewCriterion(FieldValuePeer::VALUE, "", Criteria::NOT_EQUAL);
           $c1->addAnd($c2);        
           $cField->addAnd($c1);*/
         $cField->add(FieldValuePeer::VALUE, "", Criteria::NOT_EQUAL);
         $cField->addGroupByColumn(FieldValuePeer::VALUE);
         $cField->addAscendingOrderByColumn(FieldValuePeer::VALUE);
         $cField->setLimit(15);
         $values = FieldValuePeer::doSelect($cField);
         $valueIndex = 0;
         foreach ($values as $value) {
             $str .= "<label>" . $value->getValue() . "</label>";
             $str .= "<input type=\"checkbox\" name=\"fields[" . $field->getId() . "][{$valueIndex}]\"  id=\"fields_" . $field->getId() . "_{$valueIndex}\" value=\"" . $value->getValue() . "\" /><br>";
             $valueIndex++;
         }
         $str .= "</fieldset>";
     }
     return $str;
 }
Example #11
0
 public function getTagCloud()
 {
     $c = new Criteria();
     $c->addOrder("searchTimes DESC");
     $c->add("banned", "0");
     $c->setLimit(Config::get("numberOfTagInTagCloud"));
     $tags = $this->findAll($c);
     if (count($tags) < min(Config::get("numberOfTagInTagCloud"), Config::get("minNumberOfTagInTagCloud"))) {
         return array();
     }
     usort($tags, array($this, "sortTag"));
     $maxSearchTimes = 0;
     $minSearchTimes = pow(2, 32);
     $minSize = 1;
     $maxSize = 10;
     foreach ($tags as $tag) {
         $maxSearchTimes = max($maxSearchTimes, $tag['searchTimes']);
     }
     foreach ($tags as $tag) {
         $minSearchTimes = min($minSearchTimes, $tag['searchTimes']);
     }
     $range = $maxSearchTimes - $minSearchTimes;
     if ($range == 0) {
         $range = 1;
     }
     $step = ($maxSize - $minSize) / $range;
     foreach ($tags as &$tag) {
         $tag['size'] = intval($minSize + ($tag['searchTimes'] - $minSearchTimes) * $step);
     }
     return $tags;
 }
Example #12
0
 public function build($runData)
 {
     $query = $runData->getParameterList()->getParameterValue("query");
     // split the query by ' '
     $q = explode(' ', $query);
     // escape regex syntax now
     for ($i = 0; $i < count($q); $i++) {
         $q[$i] = preg_quote($q[$i], '/');
     }
     $c = new Criteria();
     foreach ($q as $q1) {
         $c->add("nick_name", $q1, "~*");
     }
     $c->setLimit(101);
     $users = DB_OzoneUserPeer::instance()->select($c);
     $runData->contextAdd("users", $users);
     // also prepare an array of user_id and nickname
     $runData->ajaxResponseAdd("count", count($users));
     if (count($users) == 101) {
         $runData->ajaxResponseAdd("over100", true);
     } else {
         $runData->ajaxResponseAdd("over100", false);
     }
     $userIds = array();
     $userNames = array();
     foreach ($users as $u) {
         $userIds[] = $u->getUserId();
         $userNames[$u->getUserId()] = htmlspecialchars($u->getNickName());
     }
     $runData->ajaxResponseAdd("userIds", $userIds);
     $runData->ajaxResponseAdd("userNames", $userNames);
 }
 public function myBatchPartnerUsage($partnerId = null)
 {
     self::initDb();
     $partners_exists = true;
     $start_pos = 0;
     $bulk_size = 500;
     while ($partners_exists) {
         $c = new Criteria();
         if (!is_null($partnerId)) {
             $c->addAnd(PartnerPeer::ID, $partnerId);
         }
         $c->addAnd(PartnerPeer::PARTNER_PACKAGE, 1);
         // get only free partners
         $c->addAnd(PartnerPeer::MONITOR_USAGE, 1);
         $c->addAnd(PartnerPeer::STATUS, Partner::PARTNER_STATUS_DELETED, CRITERIA::NOT_EQUAL);
         $c->setOffset($start_pos);
         $c->setLimit($bulk_size);
         $partners = PartnerPeer::doSelect($c);
         if (!$partners) {
             KalturaLog::debug("No more partners. offset: {$start_pos} , limit: {$bulk_size} .");
             $partners_exists = false;
         } else {
             KalturaLog::debug("Looping " . ($start_pos + $bulk_size - 1) . " partners, offset: {$start_pos} .");
             foreach ($partners as $partner) {
                 myPartnerUtils::doPartnerUsage($partner, true);
             }
         }
         unset($partners);
         PartnerPeer::clearInstancePool();
         $start_pos += $bulk_size;
     }
 }
 /**
  * @brief search file
  *
  * @param query query
  * @param limit the maximum number of rows to return
  * @param offset the offset of the first row to return
  * @param uid user ID
  * @return array of item id
  */
 function search($query, $limit, $offset, $uid)
 {
     $msg = false;
     $iids = false;
     $dummy = false;
     $search_cache_id = false;
     $_SESSION['XNPSID'] = session_id();
     $member_handler =& xoops_gethandler('member');
     if (empty($GLOBALS['xoopsUser'])) {
         $GLOBALS['xoopsUser'] = $member_handler->getUser($uid);
     }
     if (xnpSearchExec('quicksearch', $query, 'all', false, $dummy, $dummy, $dummy, $search_cache_id, false, 'file')) {
         // search_cache_id -> file_ids
         $criteria = new Criteria('search_cache_id', $search_cache_id);
         $criteria->setSort('item_id');
         $criteria->setStart($offset);
         if ($limit) {
             $criteria->setLimit($limit);
         }
         $join = new XooNIpsJoinCriteria('xoonips_search_cache_file', 'file_id', 'file_id', 'LEFT');
         $file_handler =& xoonips_getormhandler('xoonips', 'file');
         $files =& $file_handler->getObjects($criteria, false, 'item_id', true, $join);
         if (false === $files) {
             return false;
         }
         $item_ids = array();
         foreach ($files as $file) {
             $item_ids[] = $file->get('item_id');
         }
         return $item_ids;
     } else {
         return false;
     }
 }
 public static function reap($set, $try_to_do_multi = true)
 {
     $items = array();
     if (is_array($set)) {
         if (count($set) >= sfConfig::get('app_reap_single_clients_min')) {
             $items = self::prepareReap($set);
         }
     }
     // test if we should do a multiple client reap
     if ($try_to_do_multi) {
         // the "3" value is a way to short circuit this
         $do_multi = $try_to_do_multi == 3 || time() % sfConfig::get('app_reap_multi_time_mod') == 0;
     }
     if ($do_multi) {
         $criteria = new Criteria();
         $criteria->setLimit(sfConfig::get('app_reap_multi_clients_max'));
         $criteria->addAscendingOrderByColumn(ClientPeer::UPDATED_AT);
         $criteria->add(ClientPeer::UPDATED_AT, time() - sfConfig::get('app_reap_client_age_max'), Criteria::LESS_EQUAL);
         // fixme this should be refined more -- perhaps seeds should be even less likely to be reaped etc?
         $all = ClientPeer::doSelect($criteria);
         $items = array_merge(self::prepareReap($all), $items);
     }
     if (count($items) > sfConfig::get('app_reap_single_kills_min') || $do_multi) {
         if (count($items)) {
             self::doDelete($items);
             // does do delete actually call the delete method on each?
         }
     }
     // todo: deleted items should be removed from set
     return $set;
 }
 public static function getIdByStrId($strId)
 {
     // try to get strId to id mapping form cache
     $cacheKey = 'UserRolePeer_role_str_id_' . $strId;
     if (kConf::get('enable_cache') && function_exists('apc_fetch') && function_exists('apc_store')) {
         $id = apc_fetch($cacheKey);
         // try to fetch from cache
         if ($id) {
             KalturaLog::debug("UserRole str_id [{$strId}] mapped to id [{$id}] - fetched from cache");
             return $id;
         }
     }
     // not found in cache - get from database
     $c = new Criteria();
     $c->addSelectColumn(UserRolePeer::ID);
     $c->addAnd(UserRolePeer::STR_ID, $strId, Criteria::EQUAL);
     $c->setLimit(1);
     $stmt = UserRolePeer::doSelectStmt($c);
     $id = $stmt->fetch(PDO::FETCH_COLUMN);
     if ($id) {
         // store the found id in cache for later use
         if (kConf::get('enable_cache') && function_exists('apc_fetch') && function_exists('apc_store')) {
             $success = apc_store($cacheKey, $id, kConf::get('apc_cache_ttl'));
             if ($success) {
                 KalturaLog::debug("UserRole str_id [{$strId}] mapped to id [{$id}] - stored in cache");
             }
         }
     }
     if (!$id) {
         KalturaLog::log("UserRole with str_id [{$strId}] not found in DB!");
     }
     return $id;
 }
Example #17
0
 public static function search($query_string, $sf_user, $limit = 12)
 {
     $query_string = trim($query_string);
     if (!is_null($query_string) && !empty($query_string) && '' != $query_string && strlen($query_string) > 3) {
         $criteria = new Criteria();
         $criteria->setIgnoreCase(true);
         $criteria->setLimit($limit);
         $criteria->add(SchoolYearStudentPeer::SCHOOL_YEAR_ID, SchoolYearPeer::retrieveCurrent()->getId());
         $criteria->addJoin(SchoolYearStudentPeer::STUDENT_ID, self::ID);
         $criteria->addJoin(self::PERSON_ID, PersonPeer::ID, Criteria::INNER_JOIN);
         $criteria->addAscendingOrderByColumn(PersonPeer::LASTNAME);
         if (is_numeric($query_string)) {
             // Search by identification number
             $criteria->add(PersonPeer::IDENTIFICATION_NUMBER, $query_string . '%', Criteria::LIKE);
         } else {
             // Search by firstname or lastname
             $criterion = $criteria->getNewCriterion(PersonPeer::FIRSTNAME, $query_string . '%', Criteria::LIKE);
             $criterion->addOr($criteria->getNewCriterion(PersonPeer::LASTNAME, $query_string . '%', Criteria::LIKE));
             $criteria->add($criterion);
         }
         if ($sf_user->isPreceptor()) {
             PersonalPeer::joinWithStudents($criteria, $sf_user->getGuardUser()->getId());
         } elseif ($sf_user->isTeacher()) {
             TeacherPeer::joinWithStudents($criteria, $sf_user->getGuardUser()->getId());
         }
         //FALTA HEAD PRECEPTOR
         return self::doSelectActive($criteria);
     }
     return array();
 }
Example #18
0
 public static function getByName($name)
 {
     $c = new Criteria();
     $c->add(self::CAMP_NAME, $name . '%', Criteria::LIKE);
     $c->setLimit(10);
     return self::doSelect($c);
 }
 function getCalendarCriterias($filter, $start, $limit)
 {
     $Criteria = new Criteria('workflow');
     $Criteria->clearSelectColumns();
     $Criteria->addSelectColumn(CalendarDefinitionPeer::CALENDAR_UID);
     if ($filter != '') {
         $Criteria->add($Criteria->getNewCriterion(CalendarDefinitionPeer::CALENDAR_NAME, '%' . $filter . '%', Criteria::LIKE)->addOr($Criteria->getNewCriterion(CalendarDefinitionPeer::CALENDAR_DESCRIPTION, '%' . $filter . '%', Criteria::LIKE)));
     }
     $Criteria->add(CalendarDefinitionPeer::CALENDAR_STATUS, 'DELETED', Criteria::NOT_EQUAL);
     $oCriteria = new Criteria('workflow');
     $oCriteria->addSelectColumn(CalendarDefinitionPeer::CALENDAR_UID);
     $oCriteria->addSelectColumn(CalendarDefinitionPeer::CALENDAR_NAME);
     $oCriteria->addSelectColumn(CalendarDefinitionPeer::CALENDAR_CREATE_DATE);
     $oCriteria->addSelectColumn(CalendarDefinitionPeer::CALENDAR_UPDATE_DATE);
     $oCriteria->addSelectColumn(CalendarDefinitionPeer::CALENDAR_DESCRIPTION);
     $oCriteria->addSelectColumn(CalendarDefinitionPeer::CALENDAR_STATUS);
     if ($filter != '') {
         $oCriteria->add($oCriteria->getNewCriterion(CalendarDefinitionPeer::CALENDAR_NAME, '%' . $filter . '%', Criteria::LIKE)->addOr($oCriteria->getNewCriterion(CalendarDefinitionPeer::CALENDAR_DESCRIPTION, '%' . $filter . '%', Criteria::LIKE)));
     }
     $oCriteria->add(CalendarDefinitionPeer::CALENDAR_STATUS, 'DELETED', Criteria::NOT_EQUAL);
     $oCriteria->setLimit($limit);
     $oCriteria->setOffset($start);
     $criterias = array();
     $criterias['COUNTER'] = $Criteria;
     $criterias['LIST'] = $oCriteria;
     return $criterias;
 }
 public static function removeWidgetByUrl($url)
 {
     $c = new Criteria();
     $c->add(self::URL, $url);
     $c->setLimit(1);
     return self::doDelete($c);
 }
 public static function getNewslettersWithSentInfo($iLimit = 10)
 {
     $oCriteria = new Criteria();
     $oCriteria->addDescendingOrderByColumn(self::CREATED_AT);
     $oCriteria->addAscendingOrderByColumn(self::SUBJECT);
     $oCriteria->addJoin(self::ID, NewsletterMailingPeer::NEWSLETTER_ID, Criteria::LEFT_JOIN);
     $oCriteria->setLimit($iLimit);
     $aResult = array();
     foreach (self::doSelect($oCriteria) as $oNewsletter) {
         $oNewsletterName = '[' . $oNewsletter->getCreatedAt('Y-m-d') . '] ' . $oNewsletter->getSubject();
         $aSentFirstletters = array();
         if ($oNewsletter->hasNewsletterMailings()) {
             foreach ($oNewsletter->getNewsletterMailings() as $oNewsletterMailing) {
                 if ($oNewsletterMailing->getSubscriberGroup()) {
                     $aSentFirstletters[] = $oNewsletterMailing->getSubscriberGroup()->getNameFirstLetter();
                 } elseif ($oNewsletterMailing->getExternalMailGroupId()) {
                     $aSentFirstletters[] = 'Ext';
                 }
             }
             if (count($aSentFirstletters) > 0) {
                 $oNewsletterName .= ' [' . TranslationPeer::getString('newsletter_mailing.sent_info') . ' ' . implode(', ', $aSentFirstletters) . ']';
             }
         }
         $aResult[$oNewsletter->getId()] = $oNewsletterName;
     }
     return $aResult;
 }
Example #22
0
 /**
  * Retrieve all records larger than the id
  *
  * @param      array $servers<SphinxLogServer>
  * @param	   int $gap
  * @param      int $limit
  * @param	   array $handledEntries	
  * @param      PropelPDO $con the connection to use
  * @return     SphinxLog
  */
 public static function retrieveByLastId(array $servers, $gap = 0, $limit = 1000, array $handledEntries = null, PropelPDO $con = null)
 {
     $criteria = new Criteria();
     $criterions = null;
     if (count($servers)) {
         $criterions = $criteria->getNewCriterion(SphinxLogPeer::ID, null, Criteria::ISNULL);
     }
     foreach ($servers as $server) {
         $dc = $server->getDc();
         $crit = $criteria->getNewCriterion(SphinxLogPeer::ID, $server->getLastLogId() - $gap, Criteria::GREATER_THAN);
         $crit->addAnd($criteria->getNewCriterion(SphinxLogPeer::DC, $dc));
         if (!is_null($handledEntries)) {
             $crit->addAnd($criteria->getNewCriterion(SphinxLogPeer::ID, $handledEntries[$dc], Criteria::NOT_IN));
         }
         $criterions->addOr($crit);
     }
     if ($criterions) {
         $criteria->addAnd($criterions);
     }
     $disabledPartnerIds = kConf::get('disable_sphinx_indexing_partners', 'local', array());
     if ($disabledPartnerIds) {
         $criteria->add(SphinxLogPeer::PARTNER_ID, $disabledPartnerIds, Criteria::NOT_IN);
     }
     $criteria->addAscendingOrderByColumn(SphinxLogPeer::ID);
     $criteria->setLimit($limit);
     return SphinxLogPeer::doSelect($criteria, $con);
 }
Example #23
0
 public function build($runData)
 {
     $site = $runData->getTemp("site");
     // now just get notifications for the site...
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     $c->addOrderDescending('notification_id');
     $c->setLimit(20);
     $nots = DB_AdminNotificationPeer::instance()->select($c);
     $channel['title'] = _('Admin notifications for site') . ' "' . htmlspecialchars($site->getName()) . '"';
     $channel['link'] = "http://" . $site->getDomain() . "/admin:manage/start/notifications";
     $items = array();
     foreach ($nots as $not) {
         $extra = $not->getExtra();
         $item = array();
         $item['title'] = $not->getTitle();
         switch ($not->getType()) {
             case "NEW_MEMBER_APPLICATION":
                 $item['link'] = "http://" . $site->getDomain() . "/admin:manage/start/ma";
                 break;
             default:
                 $item['link'] = "http://" . $site->getDomain() . "/admin:manage/start/notifications" . "#notification-" . $not->getNotificationId();
         }
         $body = $not->getBody();
         $body = preg_replace('/onclick="[^"]+"/', '', $body);
         $item['description'] = $body;
         $item['guid'] = $channel['link'] . "#notification-" . $not->getNotificationId();
         $item['date'] = date('r', $not->getDate()->getTimestamp());
         // TODO: replace relative links with absolute links!
         $content = '';
         $items[] = $item;
     }
     $runData->contextAdd("channel", $channel);
     $runData->contextAdd("items", $items);
 }
Example #24
0
 public function build($runData)
 {
     $pl = $runData->getParameterList();
     $site = $runData->getTemp("site");
     // get the petition campaign...
     $campaignId = $pl->getParameterValue("id");
     $c = new Criteria();
     $c->add("site_id", $site->getSiteId());
     $c->add("deleted", false);
     $c->add("identifier", $campaignId);
     $camp = DB_PetitionCampaignPeer::instance()->selectOne($c);
     if (!$camp) {
         throw new ProcessException(_("The campaign can not be found."));
     }
     // get signatures!
     $limit = $pl->getParameterValue("limit");
     if ($limit === null || !is_numeric($limit)) {
         $limit = 50;
     }
     $c = new Criteria();
     $c->add("campaign_id", $camp->getCampaignId());
     $c->add("confirmed", true);
     $c->addOrderDescending("signature_id");
     if ($limit > 0) {
         $c->setLimit($limit);
     }
     $signatures = DB_PetitionSignaturePeer::instance()->select($c);
     $runData->contextAdd("signatures", $signatures);
     $runData->contextAdd("campaign", $camp);
 }
Example #25
0
 public function generateApplicantCode($status, $department)
 {
     $year = date('Y');
     $month = date('m');
     if ($status != NgStatusApplicant::CONFIRMED) {
         $code_appl = 'REG';
     } else {
         $code_appl = 'FRM';
     }
     $dept_code = DepartmentPeer::retrieveByPK($department)->getNumCode() . '-';
     $stu_code = ParamsPeer::retrieveByCode('applicant_code');
     $sc = $stu_code->getValue();
     $sc = explode('$', $sc);
     array_shift($sc);
     $code_len = 0;
     $code = '';
     foreach ($sc as $k => $v) {
         $v = explode('#', $v);
         if ($v[0] == 'app') {
             $code_len += $v[1];
             $code .= str_pad($code_appl, $v[1], '0', STR_PAD_LEFT);
         } elseif ($v[0] == 'dept') {
             $code .= str_pad($dept_code, $v[1], '0', STR_PAD_LEFT);
             $code_len += $v[1];
         } elseif ($v[0] == 'year') {
             if (strlen($year) <= $v[1]) {
                 $code .= str_pad($year, $v[1], '0', STR_PAD_LEFT);
             } else {
                 $code .= substr($year, strlen($year) - $v[1]);
             }
             $code_len += $v[1];
         } elseif ($v[0] == 'month') {
             if (strlen($month) <= $v[1]) {
                 $code .= str_pad($month, $v[1], '0', STR_PAD_LEFT);
             } else {
                 $code .= substr($month, strlen($month) - $v[1]);
             }
             $code_len += $v[1];
         } elseif ($v[0] == 'seq') {
             $c = new Criteria();
             $c->add(NgTestApplicantPeer::CODE, $code . '%', Criteria::LIKE);
             $c->addDescendingOrderByColumn(NgTestApplicantPeer::CODE);
             $c->setLimit(1);
             $last_applicant = NgTestApplicantPeer::doSelectOne($c);
             if ($last_applicant) {
                 $lap = $last_applicant->getCode();
                 $lap = substr_replace($lap, '', 0, $code_len);
                 $lap = substr($lap, 0, $v[1]);
                 $lap++;
                 $code .= str_pad($lap, $v[1], '0', STR_PAD_LEFT);
             } else {
                 $code .= str_pad(1, $v[1], '0', STR_PAD_LEFT);
                 break;
             }
         }
         $sc[$k] = $v;
     }
     return $code;
 }
Example #26
0
 static function getLastUsersThreads($userIds, $limit = 10)
 {
     $c = new Criteria();
     $c->add(self::POSTER_ID, $userIds, Criteria::IN);
     $c->addDescendingOrderByColumn(self::CREATED_AT);
     $c->setLimit($limit);
     return self::doSelect($c);
 }
 function runJoinSearch($i)
 {
     $c = new Criteria();
     $c->add(BookPeer::TITLE, 'Hello' . $i, Criteria::EQUAL);
     $c->setLimit(1);
     $books = BookPeer::doSelectJoinAuthor($c, $this->con);
     $book = $books[0];
 }
 public static function getPopularCodes($max = 10)
 {
     $c = new Criteria();
     $c->add(SnippetPeer::DRAFT, false);
     $c->addDescendingOrderByColumn(SnippetPeer::AVERAGE_RATING);
     $c->setLimit($max);
     return SnippetPeer::doSelect($c);
 }
Example #29
0
 static function getFor($userId, $limit = 10)
 {
     $c = new Criteria();
     $c->add(self::USER_ID, (array) $userId, Criteria::IN);
     $c->addDescendingOrderByColumn(self::CREATED_AT);
     $c->setLimit($limit);
     return self::doSelect($c);
 }
Example #30
0
 static function getFirstForThreadId($thread_id)
 {
     $c = new Criteria();
     $c->add(PostPeer::THREAD_ID, $thread_id);
     $c->addAscendingOrderByColumn(PostPeer::ID);
     $c->setLimit(1);
     return PostPeer::doSelectOne($c);
 }