Campustream 1.0
A social network MQP for WPI
|
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 }