Campustream 1.0
A social network MQP for WPI
application/models/eventlocation.php
Go to the documentation of this file.
00001 <?
00002 
00008 class Eventlocation_Model /* extends ActiveRecord... or does it? */ {
00009         private static $locations = array(
00010                 1 => array(
00011                         'name' => 'Air Force and Aerospace Studies',
00012                         'location' => array(0, 0)
00013                 ),
00014                 
00015                 2 => array(
00016                         'name' => 'Alden Memorial',
00017                         'location' => array(0, 0)
00018                 ),
00019                 
00020                 3 => array(
00021                         'name' => 'Alumni Gym',
00022                         'location' => array(0, 0)
00023                 ),
00024                 
00025                 4 => array(
00026                         'name' => 'Atwater Kent Laboratories',
00027                         'location' => array(0, 0)
00028                 ),
00029                 
00030                 5 => array(
00031                         'name' => 'Bartlett Center',
00032                         'location' => array(0, 0)
00033                 ),
00034                 
00035                 6 => array(
00036                         'name' => 'Boynton Hall',
00037                         'location' => array(0, 0)
00038                 ),
00039                 
00040                 7 => array(
00041                         'name' => 'Campus Center',
00042                         'location' => array(0, 0)
00043                 ),
00044                 
00045                 8 => array(
00046                         'name' => 'Campus Police',
00047                         'location' => array(0, 0)
00048                 ),
00049                 
00050                 9 => array(
00051                         'name' => 'Collegiate Religious Center',
00052                         'location' => array(0, 0)
00053                 ),
00054                 
00055                 10 => array(
00056                         'name' => '20 Trowbridge Road',
00057                         'location' => array(0, 0)
00058                 ),
00059                 
00060                 11 => array(
00061                         'name' => 'Fuller Laboratories',
00062                         'location' => array(0, 0)
00063                 ),
00064                 
00065                 12 => array(
00066                         'name' => 'WPI Life Sciences and Bioengineering Center',
00067                         'location' => array(0, 0)
00068                 ),
00069                 
00070                 13 => array(
00071                         'name' => 'Goddard Hall',
00072                         'location' => array(0, 0)
00073                 ),
00074                 
00075                 14 => array(
00076                         'name' => 'Gordon Library',
00077                         'location' => array(0, 0)
00078                 ),
00079                 
00080                 15 => array(
00081                         'name' => 'Harrington Auditorium',
00082                         'location' => array(0, 0)
00083                 ),
00084                 
00085                 16 => array(
00086                         'name' => 'Health Center',
00087                         'location' => array(0, 0)
00088                 ),
00089                 
00090                 17 => array(
00091                         'name' => 'Higgins House',
00092                         'location' => array(0, 0)
00093                 ),
00094                 
00095                 18 => array(
00096                         'name' => 'Higgins Laboratories',
00097                         'location' => array(0, 0)
00098                 ),
00099                 
00100                 19 => array(
00101                         'name' => 'Hughes House',
00102                         'location' => array(0, 0)
00103                 ),
00104                 
00105                 20 => array(
00106                         'name' => 'International House',
00107                         'location' => array(0, 0)
00108                 ),
00109                 
00110                 21 => array(
00111                         'name' => 'Jeppson House',
00112                         'location' => array(0, 0)
00113                 ),
00114                 
00115                 22 => array(
00116                         'name' => 'Kaven Hall',
00117                         'location' => array(0, 0)
00118                 ),
00119                 
00120                 23 => array(
00121                         'name' => 'Oasis House',
00122                         'location' => array(0, 0)
00123                 ),
00124                 
00125                 24 => array(
00126                         'name' => 'Olin Hall',
00127                         'location' => array(0, 0)
00128                 ),
00129                 
00130                 25 => array(
00131                         'name' => 'Plant Services',
00132                         'location' => array(0, 0)
00133                 ),
00134                 
00135                 26 => array(
00136                         'name' => 'Power House',
00137                         'location' => array(0, 0)
00138                 ),
00139                 
00140                 27 => array(
00141                         'name' => 'Project Center',
00142                         'location' => array(0, 0)
00143                 ),
00144                 
00145                 28 => array(
00146                         'name' => 'Salisbury Laboratories',
00147                         'location' => array(0, 0)
00148                 ),
00149                 
00150                 29 => array(
00151                         'name' => 'Skull Tomb',
00152                         'location' => array(0, 0)
00153                 ),
00154                 
00155                 30 => array(
00156                         'name' => 'Stratton Hall',
00157                         'location' => array(0, 0)
00158                 ),
00159                 
00160                 31 => array(
00161                         'name' => 'Student Development and Counseling Center',
00162                         'location' => array(0, 0)
00163                 ),
00164                 
00165                 32 => array(
00166                         'name' => 'Washburn Shops',
00167                         'location' => array(0, 0)
00168                 ),
00169                 
00170                 33 => array(
00171                         'name' => 'Stoddard Laboratories',
00172                         'location' => array(0, 0)
00173                 ),
00174                 
00175                 34 => array(
00176                         'name' => '85 Prescott Street',
00177                         'location' => array(0, 0)
00178                 ),
00179                 
00180                 35 => array(
00181                         'name' => 'Daniels Hall',
00182                         'location' => array(0, 0)
00183                 ),
00184                 
00185                 36 => array(
00186                         'name' => '16 Elbridge',
00187                         'location' => array(0, 0)
00188                 ),
00189                 
00190                 37 => array(
00191                         'name' => 'Ellsworth Apartments',
00192                         'location' => array(0, 0)
00193                 ),
00194                 
00195                 38 => array(
00196                         'name' => 'Founders Hall',
00197                         'location' => array(0, 0)
00198                 ),
00199                 
00200                 39 => array(
00201                         'name' => 'Fuller Apartments',
00202                         'location' => array(0, 0)
00203                 ),
00204                 
00205                 40 => array(
00206                         'name' => 'Unity House',
00207                         'location' => array(0, 0)
00208                 ),
00209                 
00210                 41 => array(
00211                         'name' => 'Institute Hall',
00212                         'location' => array(0, 0)
00213                 ),
00214                 
00215                 42 => array(
00216                         'name' => 'Morgan Hall',
00217                         'location' => array(0, 0)
00218                 ),
00219                 
00220                 43 => array(
00221                         'name' => 'Sanford Riley Hall',
00222                         'location' => array(0, 0)
00223                 ),
00224                 
00225                 44 => array(
00226                         'name' => '22 Schussler',
00227                         'location' => array(0, 0)
00228                 ),
00229                 
00230                 45 => array(
00231                         'name' => 'Stoddard Complex',
00232                         'location' => array(0, 0)
00233                 ),
00234                 
00235                 46 => array(
00236                         'name' => '25 Trowbridge',
00237                         'location' => array(0, 0)
00238                 ),
00239                 
00240                 47 => array(
00241                         'name' => 'East Hall',
00242                         'location' => array(0, 0)
00243                 ),
00244                 
00245                 48 => array(
00246                         'name' => 'Alpha Chi Rho',
00247                         'location' => array(0, 0)
00248                 ),
00249                 
00250                 49 => array(
00251                         'name' => 'Alpha Gamma Delta',
00252                         'location' => array(0, 0)
00253                 ),
00254                 
00255                 50 => array(
00256                         'name' => 'Alpha Tau Omega',
00257                         'location' => array(0, 0)
00258                 ),
00259                 
00260                 51 => array(
00261                         'name' => 'Alpha Xi Delta',
00262                         'location' => array(0, 0)
00263                 ),
00264                 
00265                 52 => array(
00266                         'name' => 'Lambda Chi Alpha',
00267                         'location' => array(0, 0)
00268                 ),
00269                 
00270                 53 => array(
00271                         'name' => 'Phi Gamma Delta',
00272                         'location' => array(0, 0)
00273                 ),
00274                 
00275                 54 => array(
00276                         'name' => 'Phi Kappa Theta',
00277                         'location' => array(0, 0)
00278                 ),
00279                 
00280                 55 => array(
00281                         'name' => 'Phi Sigma Kappa',
00282                         'location' => array(0, 0)
00283                 ),
00284                 
00285                 56 => array(
00286                         'name' => 'Phi Sigma Sigma',
00287                         'location' => array(0, 0)
00288                 ),
00289                 
00290                 57 => array(
00291                         'name' => 'Sigma Alpha Epsilon',
00292                         'location' => array(0, 0)
00293                 ),
00294                 
00295                 58 => array(
00296                         'name' => 'Sigma Phi Epsilon',
00297                         'location' => array(0, 0)
00298                 ),
00299                 
00300                 59 => array(
00301                         'name' => 'Sigma Pi',
00302                         'location' => array(0, 0)
00303                 ),
00304                 
00305                 60 => array(
00306                         'name' => 'Tau Kappa Epsilon',
00307                         'location' => array(0, 0)
00308                 ),
00309                 
00310                 61 => array(
00311                         'name' => 'Theta Chi',
00312                         'location' => array(0, 0)
00313                 ),
00314                 
00315                 62 => array(
00316                         'name' => 'Zeta Psi',
00317                         'location' => array(0, 0)
00318                 )
00319         );
00320         
00324         public function load($loc_id) {
00325                 $this->id = $cat_id;
00326                 
00327                 foreach (self::$locations[$loc_id] as $key=>$val) {
00328                         $this->$key = $val;
00329                 }
00330         }
00331         
00336         public static function findByName($name) {
00337                 $locations = array();
00338                 
00339                 foreach (self::$locations as $loc_id => $location) {
00340                         $locations[$loc_id] = similar_text($name, $location['name']);
00341                 }
00342                 
00343                 arsort($locations);
00344                 
00345                 // Only return top 5 results
00346                 $top5 = array_slice(array_keys($locations), 0, 5);
00347                 
00348                 $result = array();
00349                 foreach ($top5 as $loc_id) {
00350                         $temp = self::$locations[$loc_id];
00351                         $temp['id'] = $loc_id;
00352                         
00353                         $result[] = $temp;
00354                 }
00355                 
00356                 return $result;
00357         }
00358 }