Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 12th, 2012  |  syntax: None  |  size: 10.80 KB  |  hits: 8  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. public static function GetRegistrantsByFilter($page, $filter)
  2.   {
  3.     $rList = new RegistrantList();
  4.     if($page !== null)
  5.       {
  6.         $page = $page-1;
  7.         $limitStart = $page*100;
  8.         $limitEnd = 100;
  9.       }
  10.     else
  11.       {
  12.         $limitStart = 0;
  13.         $limitEnd = 100;
  14.       }
  15.     if($filter == 'Submitted Registrations')
  16.     {
  17.       $sql = '
  18.     SELECT
  19.     SELECT r.RegistrantsID as RID, p.PersonID as PID, p.Email as Email, p.FirstName as FirstName,
  20.     p.MaidenName as MaidenName, p.LastName as LastName, p.RegFeePaid as RegFeePaid, r.CreatedDT as CreatedDate,
  21.     CartStatus,r.Processed as Processed, t.DateRecordCreated as Transaction, Abbreviation,
  22.     p.EmailOptOut as EmailOptOut, t.DateRecordCreated IS NULL as isnull, rownum rn
  23.     FROM Registrants as r
  24.     LEFT JOIN People  as p on p.PersonID = r.PersonID
  25.     LEFT JOIN People_Affiliations_Rel as par on par.PersonID = p.PersonID
  26.     LEFT JOIN Schools as s on par.SchoolID = s.ID
  27.     LEFT JOIN Transactions as t on r.RegistrantsID = t.RegistrantsID
  28.     LEFT JOIN EventCart as ec on r.RegistrantsID = ec.RegistrantsID
  29.     WHERE r.Processed = "yes" AND p.Active="yes"
  30.     GROUP BY PID ORDER BY isnull ASC,Transaction ASC';
  31.     $query = $rList->db->query($sql);
  32.     }
  33.     else if($filter == 'Incomplete Registrations')
  34.     {
  35.        $sql = 'SELECT SQL_CALC_FOUND_ROWS r.RegistrantsID as RID, p.PersonID as PID, p.Email as Email, p.FirstName as FirstName,
  36.     p.MaidenName as MaidenName, p.LastName as LastName, p.RegFeePaid as RegFeePaid, r.CreatedDT as CreatedDate, CartStatus,
  37.     r.Processed as Processed, t.DateRecordCreated as Transaction, Abbreviation, p.EmailOptOut as EmailOptOut, t.DateRecordCreated IS NULL as isnull
  38.     FROM Registrants as r
  39.     LEFT JOIN People  as p on p.PersonID = r.PersonID
  40.     LEFT JOIN People_Affiliations_Rel as par on par.PersonID = p.PersonID
  41.     LEFT JOIN Schools as s on par.SchoolID = s.ID
  42.     LEFT JOIN Transactions as t on r.RegistrantsID = t.RegistrantsID
  43.     LEFT JOIN EventCart as ec on r.RegistrantsID = ec.RegistrantsID
  44.     WHERE r.Processed = "no" AND p.Active="yes"
  45.     GROUP BY PID ORDER BY isnull ASC,Transaction ASC LIMIT '.$limitStart.' , '.$limitEnd;
  46.     $query = $rList->db->query($sql);
  47.     }
  48.     else if($filter == 'All Registrations')
  49.     {
  50.         $sql = 'SELECT SQL_CALC_FOUND_ROWS r.RegistrantsID as RID, p.PersonID as PID, p.Email as Email, p.FirstName as FirstName,
  51.     p.MaidenName as MaidenName, p.LastName as LastName, p.RegFeePaid as RegFeePaid, r.CreatedDT as CreatedDate, CartStatus,
  52.     r.Processed as Processed, t.DateRecordCreated as Transaction, Abbreviation, p.EmailOptOut as EmailOptOut, t.DateRecordCreated IS NULL as isnull
  53.     FROM Registrants as r
  54.     LEFT JOIN People  as p on p.PersonID = r.PersonID
  55.     LEFT JOIN People_Affiliations_Rel as par on par.PersonID = p.PersonID
  56.     LEFT JOIN Schools as s on par.SchoolID = s.ID
  57.     LEFT JOIN Transactions as t on r.RegistrantsID = t.RegistrantsID
  58.     LEFT JOIN EventCart as ec on r.RegistrantsID = ec.RegistrantsID
  59.     WHERE  p.Active="yes"
  60.     GROUP BY PID ORDER BY isnull ASC,Transaction ASC LIMIT '.$limitStart.' , '.$limitEnd;
  61.     $query = $rList->db->query($sql);
  62.     }
  63.     else if($filter == 'Deleted Registrations')
  64.     {
  65.        $sql = 'SELECT SQL_CALC_FOUND_ROWS r.RegistrantsID as RID, p.PersonID as PID, p.Email as Email, p.FirstName as FirstName,
  66.     p.MaidenName as MaidenName, p.LastName as LastName, p.RegFeePaid as RegFeePaid, r.CreatedDT as CreatedDate, CartStatus,
  67.     r.Processed as Processed, t.DateRecordCreated as Transaction, Abbreviation, p.EmailOptOut as EmailOptOut, t.DateRecordCreated IS NULL as isnull
  68.     FROM Registrants as r
  69.     LEFT JOIN People  as p on p.PersonID = r.PersonID
  70.     LEFT JOIN People_Affiliations_Rel as par on par.PersonID = p.PersonID
  71.     LEFT JOIN Schools as s on par.SchoolID = s.ID
  72.     LEFT JOIN Transactions as t on r.RegistrantsID = t.RegistrantsID
  73.     LEFT JOIN EventCart as ec on r.RegistrantsID = ec.RegistrantsID
  74.     WHERE  p.Active="no"
  75.     GROUP BY PID ORDER BY isnull ASC,Transaction ASC LIMIT '.$limitStart.' , '.$limitEnd;
  76.     $query = $rList->db->query($sql);
  77.     }
  78.     else if($filter == 'SMD')
  79.     {
  80.       $sql = 'SELECT SQL_CALC_FOUND_ROWS r.RegistrantsID as RID, p.PersonID as PID, p.Email as Email, p.FirstName as FirstName,
  81.     p.MaidenName as MaidenName, p.LastName as LastName, p.RegFeePaid as RegFeePaid, r.CreatedDT as CreatedDate, CartStatus,
  82.     r.Processed as Processed, t.DateRecordCreated as Transaction, Abbreviation, p.EmailOptOut as EmailOptOut, t.DateRecordCreated IS NULL as isnull
  83.     FROM Registrants as r
  84.     LEFT JOIN People  as p on p.PersonID = r.PersonID
  85.     LEFT JOIN People_Affiliations_Rel as par on par.PersonID = p.PersonID
  86.     LEFT JOIN Schools as s on par.SchoolID = s.ID
  87.     LEFT JOIN Transactions as t on r.RegistrantsID = t.RegistrantsID
  88.     LEFT JOIN EventCart as ec on r.RegistrantsID = ec.RegistrantsID
  89.     WHERE  p.Active="yes" AND Abbreviation = "SMD"
  90.     GROUP BY PID ORDER BY isnull ASC,Transaction ASC LIMIT '.$limitStart.' , '.$limitEnd;
  91.     $query = $rList->db->query($sql);
  92.     }
  93.      else if($filter == 'Paid')
  94.     {
  95.       $sql = 'SELECT SQL_CALC_FOUND_ROWS r.RegistrantsID as RID, p.PersonID as PID, p.Email as Email, p.FirstName as FirstName,
  96.     p.MaidenName as MaidenName, p.LastName as LastName, p.RegFeePaid as RegFeePaid, r.CreatedDT as CreatedDate, CartStatus,
  97.     r.Processed as Processed, t.DateRecordCreated as Transaction, Abbreviation, p.EmailOptOut as EmailOptOut, t.DateRecordCreated IS NULL as isnull
  98.     FROM Registrants as r
  99.     LEFT JOIN People  as p on p.PersonID = r.PersonID
  100.     LEFT JOIN People_Affiliations_Rel as par on par.PersonID = p.PersonID
  101.     LEFT JOIN Schools as s on par.SchoolID = s.ID
  102.     LEFT JOIN Transactions as t on r.RegistrantsID = t.RegistrantsID
  103.     LEFT JOIN EventCart as ec on r.RegistrantsID = ec.RegistrantsID
  104.     WHERE  p.Active="yes" AND CartStatus = "Paid"
  105.     GROUP BY PID ORDER BY isnull ASC,Transaction ASC LIMIT '.$limitStart.' , '.$limitEnd;
  106.     $query = $rList->db->query($sql);
  107.     }
  108.      else if($filter == 'InCart')
  109.     {
  110.       $sql = 'SELECT SQL_CALC_FOUND_ROWS r.RegistrantsID as RID, p.PersonID as PID, p.Email as Email, p.FirstName as FirstName,
  111.     p.MaidenName as MaidenName, p.LastName as LastName, p.RegFeePaid as RegFeePaid, r.CreatedDT as CreatedDate, CartStatus,
  112.     r.Processed as Processed, t.DateRecordCreated as Transaction, Abbreviation, p.EmailOptOut as EmailOptOut, t.DateRecordCreated IS NULL as isnull
  113.     FROM Registrants as r
  114.     LEFT JOIN People  as p on p.PersonID = r.PersonID
  115.     LEFT JOIN People_Affiliations_Rel as par on par.PersonID = p.PersonID
  116.     LEFT JOIN Schools as s on par.SchoolID = s.ID
  117.     LEFT JOIN Transactions as t on r.RegistrantsID = t.RegistrantsID
  118.     LEFT JOIN EventCart as ec on r.RegistrantsID = ec.RegistrantsID
  119.     WHERE  p.Active="yes" AND CartStatus = "InCart"
  120.     GROUP BY PID ORDER BY isnull ASC,Transaction ASC LIMIT '.$limitStart.' , '.$limitEnd;
  121.     $query = $rList->db->query($sql);
  122.     }
  123.      else if($filter == 'InPayment')
  124.     {
  125.       $sql = 'SELECT SQL_CALC_FOUND_ROWS r.RegistrantsID as RID, p.PersonID as PID, p.Email as Email, p.FirstName as FirstName,
  126.     p.MaidenName as MaidenName, p.LastName as LastName, p.RegFeePaid as RegFeePaid, r.CreatedDT as CreatedDate, CartStatus,
  127.     r.Processed as Processed, t.DateRecordCreated as Transaction, Abbreviation, p.EmailOptOut as EmailOptOut, t.DateRecordCreated IS NULL as isnull
  128.     FROM Registrants as r
  129.     LEFT JOIN People  as p on p.PersonID = r.PersonID
  130.     LEFT JOIN People_Affiliations_Rel as par on par.PersonID = p.PersonID
  131.     LEFT JOIN Schools as s on par.SchoolID = s.ID
  132.     LEFT JOIN Transactions as t on r.RegistrantsID = t.RegistrantsID
  133.     LEFT JOIN EventCart as ec on r.RegistrantsID = ec.RegistrantsID
  134.     WHERE  p.Active="yes" AND CartStatus = "InPayment"
  135.     GROUP BY PID ORDER BY isnull ASC,Transaction ASC LIMIT '.$limitStart.' , '.$limitEnd;
  136.     $query = $rList->db->query($sql);
  137.     }
  138.     else
  139.     {
  140.     $sql = 'SELECT SQL_CALC_FOUND_ROWS r.RegistrantsID as RID, p.PersonID as PID, p.Email as Email, p.FirstName as FirstName,
  141.     p.MaidenName as MaidenName, p.LastName as LastName, p.RegFeePaid as RegFeePaid, r.CreatedDT as CreatedDate, CartStatus,
  142.     r.Processed as Processed, t.DateRecordCreated as Transaction, Abbreviation, p.EmailOptOut as EmailOptOut, pgr.RegistrantsID as OID, t.DateRecordCreated IS NULL as isnull
  143.     , pr.LastName as OwnerLast, pr.FirstName as OwnerFirst
  144.     FROM People as p
  145.     LEFT JOIN Registrants as r on p.PersonID = r.PersonID
  146.     LEFT JOIN Registrants_Guests_Rel as pgr on pgr.PersonID = p.PersonID
  147.     LEFT JOIN Registrants as rg on pgr.RegistrantsID = rg.RegistrantsID
  148.     LEFT JOIN People as pr on pr.PersonID = rg.PersonID
  149.     LEFT JOIN People_Affiliations_Rel as par on par.PersonID = p.PersonID
  150.     LEFT JOIN Schools as s on par.SchoolID = s.ID
  151.     LEFT JOIN Transactions as t on r.RegistrantsID = t.RegistrantsID
  152.     LEFT JOIN EventCart as ec on r.RegistrantsID = ec.RegistrantsID
  153.     WHERE (p.FirstName LIKE "%'.$filter.'%" OR p.LastName LIKE "%'.$filter.'%"
  154.        OR p.MaidenName LIKE "%'.$filter.'%") AND p.Active = "yes" AND (r.RegistrantsID IS NOT NULL OR pgr.RegistrantsID IS NOT NULL)
  155.     GROUP BY PID ORDER BY isnull ASC, Transaction ASC LIMIT '.$limitStart.' , '.$limitEnd;
  156.     $query = $rList->db->query($sql);
  157.     }
  158.     $listing = array();
  159.     $query2 = $rList->db->query("SELECT FOUND_ROWS() as found");
  160.     $results = $query2->result();
  161.     $listing['number'] = $results[0]->found;
  162.     $results = $query->result();
  163.     $listing['results'] = array();
  164.     foreach ($results as $row)
  165.     {
  166.      
  167.         if($row->MaidenName != '')
  168.           $name = $row->FirstName ." ($row->MaidenName)";
  169.         else
  170.           $name = $row->FirstName;
  171.       if(isset($row->OID))
  172.       {
  173.           array_push( $listing['results'], (array(
  174.             'EMail' => $row->Email
  175.             ,'RegistrantID' => $row->RID
  176.             ,'ID'=> $row->OID
  177.             ,'EmailOptOut' => $row->EmailOptOut
  178.             ,'FirstName' => $name
  179.             ,'LastName' => $row->LastName
  180.             ,'OwnerName' => $row->OwnerLast . ", " .$row->OwnerFirst
  181.             ,'Processed' => $row->Processed
  182.             ,'Transaction' => $row->Transaction
  183.             ,'Notes' => $row->Abbreviation
  184.             ,'CartStatus' => $row->CartStatus
  185.           )));
  186.        }
  187.       else
  188.       {
  189.           array_push( $listing['results'], (array(
  190.             'EMail' => $row->Email
  191.             ,'RegistrantID' => $row->RID
  192.             ,'FirstName' => $name
  193.             ,'LastName' => $row->LastName
  194.             ,'Processed' => $row->Processed
  195.             ,'Transaction' => $row->Transaction
  196.             ,'Notes' => $row->Abbreviation
  197.             ,'CartStatus' => $row->CartStatus
  198.           )));
  199.       }
  200.     }
  201.     return $listing;
  202.   }