예제 #1
0
 public static function updatePuserIdsForEntries($entries)
 {
     if (!$entries) {
         return;
     }
     // get the whole list of kuser_ids
     $partner_kuser_list = array();
     kuserPeer::getCriteriaFilter()->disable();
     PuserKuserPeer::getCriteriaFilter()->disable();
     foreach ($entries as &$entry) {
         $pid = $entry->getPartnerId();
         if (!isset($partner_kuser_list[$pid])) {
             $partner_kuser_ids = array();
         } else {
             $partner_kuser_ids = $partner_kuser_list[$pid];
         }
         //print_r ( $entry );
         $kuser_id = $entry->getKuserId();
         $partner_kuser_ids[$kuser_id] = $kuser_id;
         $partner_kuser_list[$pid] = $partner_kuser_ids;
     }
     // the kuser_id is unique across partners
     $kuser_list = array();
     $puser_id = null;
     foreach ($partner_kuser_list as $pid => $kuser_ids) {
         $puser_kuser_list = PuserKuserPeer::getPuserIdFromKuserIds($pid, $kuser_ids);
         // builf a map where the key is kuser_id for fast fetch
         foreach ($puser_kuser_list as $puser_kuser) {
             $kuser_id = $puser_kuser->getKuserId();
             $puser_id = $puser_kuser->getPuserId();
             $kuser_list[$kuser_id] = $puser_id;
         }
     }
     foreach ($entries as $entry) {
         $kuser_id = $entry->getKuserId();
         if (isset($kuser_list[$kuser_id])) {
             $puser_id = $kuser_list[$kuser_id];
         }
         if ($puser_id) {
             $entry->tempSetPuserId($puser_id);
         }
     }
     kuserPeer::getCriteriaFilter()->enable();
     PuserKuserPeer::getCriteriaFilter()->enable();
 }
예제 #2
0
 /**
  * the filterCriteria will filter out all the doSelect methods - ONLY if the filter is turned on.
  * IMPORTANT - the filter is turend on by default and when switched off - should be turned on again manually .
  * 
  * @param      Criteria $criteria The Criteria object used to build the SELECT statement.
  */
 protected static function attachCriteriaFilter(Criteria $criteria)
 {
     PuserKuserPeer::getCriteriaFilter()->applyFilter($criteria);
 }