header('Content-type: application/json');
if (!$authenticated) {
    die(json_encode(array('success' => 0, 'message' => 'You are not logged in.')));
}
if ($invalidparameters) {
    die(json_encode(array('success' => 0, 'message' => 'Invalid parameters.')));
}
$collegeid = $_REQUEST['college'];
$lat = $_REQUEST['latitude'];
$lng = $_REQUEST['longitude'];
$imageurl = $_REQUEST['image'];
if (empty($collegeid)) {
    die(json_encode(array('success' => 0, 'message' => 'Invalid data.')));
}
$college = new School($collegeid);
if (!$college->fromFacebook($facebook)) {
    die(json_encode(array('success' => 0, 'message' => 'Cannot find school.')));
}
$assocs = $db->getAssociations($myself, AssociationTypes::College);
$canedit = false;
if ($assocs) {
    foreach ($assocs as $assoc) {
        if ($assoc == $collegeid) {
            $canedit = true;
        }
    }
}
if (!$canedit) {
    die(json_encode(array('success' => 0, 'message' => 'You do not have permissions to edit this school.')));
}
if (!empty($imageurl)) {
            // try getting cached data from db
            // if we fail, this concentration doesn't exist yet
            $concentration->fromFacebook($facebook);
            $concentration->updateDatabase($db);
        }
        $db->addAssociation($myself, $concentration->id, AssociationTypes::Concentration);
    }
}
// add college
if (!$college->fromDatabase($db)) {
    // try getting cached data from db
    // if we fail, this college doesn't exist yet
    if ($college->id == 0) {
        $college->name = 'No School';
    } else {
        $college->fromFacebook($facebook);
        $college->updateDatabase($db);
    }
}
$db->addAssociation($myself, $college->id, AssociationTypes::College);
// add highschool
if (!$myhs->fromDatabase($db)) {
    $myhs->fromFacebook($facebook);
    $myhs->updateDatabase($db);
}
$db->addAssociation($myself, $myhs->id, AssociationTypes::HighSchool);
// add user
$myself->fromFacebook($facebook);
// update information
if (is_numeric($_REQUEST['rank'])) {
    $myself->rank = $_REQUEST['rank'];
Exemple #3
0
// get my high school data
$hs_associds = $db->getAssociations($myself->id, AssociationTypes::HighSchool);
$myhs = $hs_associds[0];
if (!$myhs) {
    if (!isset($myfb['education'])) {
        $myhs = new School(0);
    } else {
        foreach ($myfb['education'] as $education) {
            if ($education['type'] == "High School") {
                $hsid = $education['school']['id'];
                break;
            }
        }
        $myhs = new School($hsid);
        if (!$myhs->fromDatabase($db)) {
            $myhs->fromFacebook($facebook);
        }
    }
}
// get current page data
$schoolid = $_REQUEST['school'];
$curyear = $_REQUEST['year'];
$curhs = new School($schoolid);
$invalidparameters = false;
if (!isset($_REQUEST['school']) || !isset($_REQUEST['year']) || !$curhs->fromFacebook($facebook) || !is_numeric($curyear) || $curyear < 1900 || $curyear > 2900) {
    $invalidparameters = true;
    $curyear = $myself->year;
    $curhs = $myhs;
}
// writable if we are in the current hs
$writeable = $curhs->id == $myhs->id;
   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
***/
require_once 'master.php';
header('Content-type: application/json');
if ($invalidparameters) {
    die(json_encode(array('success' => 0, 'message' => 'Invalid parameters.')));
}
if (!isset($_REQUEST['college']) || !is_numeric($_REQUEST['college'])) {
    die(json_encode(array('success' => 0, 'message' => 'Invalid school.')));
}
$schoolid = $_REQUEST['college'];
$school = new School($schoolid);
if (!$school->fromDatabase($db)) {
    if (!$school->fromFacebook($facebook)) {
        // we shouldn't have to do this!
        die(json_encode(array('success' => 0, 'message' => 'Cannot find school.')));
    }
}
$data = array('success' => 1, 'totalStudents' => $db->getTotalCount($curhs, $curyear), 'information' => array('id' => $school->id, 'name' => $school->name, 'image' => $school->imageurl, 'location' => array('latitude' => (int) $school->latitude, 'longitude' => (int) $school->longitude), 'studentsAttending' => $db->getAttendingCount($school, $curhs, $curyear), 'friendsAttending' => $db->getAttendingCount($school, $curhs, $curyear, $facebook, $myself)));
echo json_encode($data);