Example #1
0
 public static function create(array $input)
 {
     /**
      * Creates a new team.
      **/
     global $raceididx;
     $EXPECTED = self::$createEXPECTED;
     sort($EXPECTED);
     ksort($input);
     $errors = array(self::T_CREATE_ERROR__UNEXPECTED_INPUT => $EXPECTED !== array_keys($input), self::T_CREATE_ERROR__INVALID_RACE => !in_array((int) $input['f_race_id'], array_keys($raceididx)), self::T_CREATE_ERROR__INVALID_COACH => !get_alt_col('coaches', 'coach_id', (int) $input['owned_by_coach_id'], 'coach_id'), self::T_CREATE_ERROR__INVALID_NAME => get_alt_col('teams', 'name', mysql_real_escape_string($input['name']), 'team_id') || empty($input['name']), self::T_CREATE_ERROR__INVALID_LEAGUE => get_alt_col('coaches', 'coach_id', (int) $input['owned_by_coach_id'], 'ring') != Coach::T_RING_GLOBAL_ADMIN && 0 == (int) SQLFetchField("SELECT COUNT(*) FROM memberships WHERE lid = " . (int) $input['f_lid'] . " AND cid = " . (int) $input['owned_by_coach_id'] . " AND ring >= " . Coach::T_RING_LOCAL_REGULAR), self::T_CREATE_ERROR__INVALID_DIVISION => $input['f_did'] != self::T_NO_DIVISION_TIE && $input['f_lid'] != get_alt_col('divisions', 'did', (int) $input['f_did'], 'f_lid'));
     foreach ($errors as $exitStatus => $halt) {
         if ($halt) {
             return array($exitStatus, null);
         }
     }
     $input['name'] = "'" . mysql_real_escape_string($input['name']) . "'";
     # Need to quote strings when using INSERT statement.
     $query = "INSERT INTO teams (" . implode(',', $EXPECTED) . ") VALUES (" . implode(',', $input) . ")";
     if (mysql_query($query)) {
         $tid = mysql_insert_id();
     } else {
         self::$T_CREATE_SQL_ERROR['query'] = $query;
         self::$T_CREATE_SQL_ERROR['error'] = mysql_error();
         return array(self::T_CREATE_ERROR__SQL_QUERY_FAIL, null);
     }
     SQLTriggers::run(T_SQLTRIG_TEAM_NEW, array('id' => $tid, 'obj' => new self($tid)));
     return array(self::T_CREATE_SUCCESS, $tid);
 }
Example #2
0
function SQLBoolEval($query)
{
    return (bool) SQLFetchField($query);
}