Exemplo n.º 1
0
 /**
  * @param  $mapping
  * @return Team
  */
 public function wrap($mapping)
 {
     $result = parent::wrap(array('id', 'name', 'education', 'city'), 'team', $mapping);
     $this->setContestantA(Butler::getORMManager()->createMember()->wrap($mapping, 'teamcontestanta'));
     $this->setContestantB(Butler::getORMManager()->createMember()->wrap($mapping, 'teamcontestantb'));
     $this->setContestantC(Butler::getORMManager()->createMember()->wrap($mapping, 'teamcontestantc'));
     $this->setHead(Butler::getORMManager()->createMember()->wrap($mapping, 'teamhead'));
     $this->setCoach(Butler::getORMManager()->createMember()->wrap($mapping, 'teamcoach'));
     return $result;
 }
Exemplo n.º 2
0
 protected function safe($fieldNames)
 {
     foreach ($fieldNames as $_ => $fieldName) {
         if ('string' == gettype($this->{$fieldName})) {
             $value = preg_replace(array('/\\"/'), array('"'), $this->{$fieldName});
             if (get_magic_quotes_gpc()) {
                 $value = stripslashes($value);
             }
             $this->{$fieldName} = Butler::getSQLWrapper()->safe($value);
         } else {
             if ('object' == gettype($this->{$fieldName})) {
                 $class = new ReflectionClass($this->{$fieldName});
                 if ($class->hasMethod('safe')) {
                     $this->{$fieldName}->safe();
                 }
             }
         }
     }
     return $this;
 }
Exemplo n.º 3
0
<?php

require_once dirname(__FILE__) . '/../../config/require.php';
// только авторизованные пользователи могут делать это =)
if (1 != $authorized) {
    authorize();
}
if (-1 == $curteamid) {
    fail(_error_cannot_update_team_you_have_no_team);
}
if (isset($_POST['btnTeamUpdate'])) {
    $mapping = $_POST;
    $members = array('contestanta', 'contestantb', 'contestantc', 'head', 'coach');
    foreach ($members as $_ => $member) {
        if (isset($mapping['team' . $member . 'memberuserid']) && !$mapping['team' . $member . 'memberuserid']) {
            $mapping['team' . $member . 'membername'] = $mapping['team' . $member . 'memberuseridEdit'];
        } elseif (isset($mapping['team' . $member . 'memberuserid'])) {
            $mapping['team' . $member . 'memberusernickname'] = $mapping['team' . $member . 'memberuseridEdit'];
        }
    }
    if (!updateTeam($mapping)) {
        data('message', $messages[_error_team_has_not_been_updated]);
        data('team', Butler::getORMManager()->createTeam()->wrap($mapping)->safe()->unsafe());
    } else {
        data('message', $messages[_success_team_has_been_updated]);
        data('team', getTeam($curteamid));
    }
} else {
    data('team', getTeam($curteamid));
}
template('teamupdate', $data);
Exemplo n.º 4
0
/**
 * @param  $personalInfo PersonalInfo
 * @return bool
 */
function updateTeam($mapping)
{
    $team = Butler::getORMManager()->createTeam()->wrap($mapping)->safe();
    return Butler::getDBFacade()->updateTeam($team) && !Butler::getDBFacade()->selectTeamById($team->getId())->isEmpty();
}
Exemplo n.º 5
0
 /**
  * Discover and reflect services and their methods
  * 
  * @link http://php.net/reflection
  * @see Butler::factory()
  * @return array
  */
 public function reflectServices()
 {
     $ref = new ReflectionClass('Butler');
     $path = preg_replace('/\\.php$/', '', $ref->getFileName());
     $allServices = array();
     $services = array();
     $ignore = array('butler', 'Common', 'Exception', '.svn', 'Serialize');
     if ($handle = opendir($path)) {
         while (false !== ($file = readdir($handle))) {
             if (!is_dir($file) && preg_match('/^[a-z].*\\.php$/i', $file)) {
                 $file = ereg_replace('\\.php', '', $file);
                 if (!in_array($file, $ignore)) {
                     $services[] = "{$file}";
                 }
             }
         }
         closedir($handle);
     }
     foreach ($services as $s) {
         $service = Butler::factory($s);
         $refl = new ReflectionClass($service);
         $methods = array();
         foreach ($refl->getMethods() as $method) {
             if ($method->isPublic() && substr($method->name, 0, 2) != '__') {
                 $methods[] = $method->getName();
             }
         }
         $allServices[] = array('name' => $s, 'method' => $methods);
     }
     return array('service' => $allServices);
 }
/**
 * @param  $userId int
 * @return bool
 */
function createPersonalInfo($userId)
{
    return !Butler::getDBFacade()->createPersonalInfoByUserId($userId)->isEmpty();
}
Exemplo n.º 7
0
function queryUsers($query)
{
    return Butler::getDBFacade()->queryUsersByNickName($query);
}
Exemplo n.º 8
0
 /**
  * @param  $mapping
  * @return User
  */
 public function wrap($mapping, $prefix = '')
 {
     $result = parent::wrap(array('id', 'nickname', 'info', 'city', 'studyplace', 'division', 'tatarstan'), 'user', $mapping, $prefix);
     $this->personalInfo = Butler::getORMManager()->createPersonalInfo()->wrap($mapping, $prefix . 'user');
     return $result;
 }
/**
 * @param  $personalInfo PersonalInfo
 * @return bool
 */
function updatePersonalInfo($mapping)
{
    $personalInfo = Butler::getORMManager()->createPersonalInfo()->wrap($mapping)->safe();
    return Butler::getDBFacade()->updatePersonalInfo($personalInfo) && !Butler::getDBFacade()->selectPersonalInfoByUserId($personalInfo->getUserId())->isEmpty();
}
Exemplo n.º 10
0
function selectPersonalInfo($userId)
{
    return Butler::getDBFacade()->selectPersonalInfoByUserId($userId);
}
Exemplo n.º 11
0
 /**
  * @param  $team Team
  * @return mixed
  */
 public function updateTeam($team)
 {
     Butler::getSQLWrapper()->begin();
     $result = Butler::getSQLWrapper()->query(Butler::getQueryManager()->getUpdateTeamSQL($team));
     Butler::getSQLWrapper()->end();
     if ($result) {
         if (!$team->getContestantA()->getName() && $team->getContestantA()->getUser()->isEmpty()) {
             $result = $result && $this->deleteMember($team->getContestantA());
         } else {
             $result = $result && $this->updateTeamMember($team->getContestantA());
         }
         if (!$team->getContestantB()->getName() && $team->getContestantB()->getUser()->isEmpty()) {
             $result = $result && $this->deleteMember($team->getContestantB());
         } else {
             $result = $result && $this->updateTeamMember($team->getContestantB());
         }
         if (!$team->getContestantC()->getName() && $team->getContestantC()->getUser()->isEmpty()) {
             $result = $result && $this->deleteMember($team->getContestantC());
         } else {
             $result = $result && $this->updateTeamMember($team->getContestantC());
         }
         if (!$team->getCoach()->getName() && $team->getCoach()->getUser()->isEmpty()) {
             $result = $result && $this->deleteMember($team->getCoach());
         } else {
             $result = $result && $this->updateTeamMember($team->getCoach());
         }
         if (!$team->getHead()->getName() && $team->getHead()->getUser()->isEmpty()) {
             $result = $result && $this->deleteMember($team->getHead());
         } else {
             $result = $result && $this->updateTeamMember($team->getHead());
         }
     }
     return $result;
 }
/**
 * @param  $userId int
 * @return bool
 */
function checkCreatePersonalInfo($userId)
{
    return Butler::getDBFacade()->selectPersonalInfoByUserId($userId)->isEmpty();
}
Exemplo n.º 13
0
 /**
  * @param  $mapping
  * @return Member
  */
 public function wrap($mapping, $prefix = '')
 {
     $result = parent::wrap(array('id', 'name', 'role', 'teamid'), 'member', $mapping, $prefix);
     $this->user = Butler::getORMManager()->createUser()->wrap($mapping, $prefix . 'member');
     return $result;
 }
Exemplo n.º 14
0
function getProblems($contestId)
{
    return Butler::getDBFacade()->selectProblemsByContestId($contestId);
}
Exemplo n.º 15
0
<?php

require_once dirname(__FILE__) . '/../../config/require.php';
Header('Content-Type: application/json; charset=cp1251');
if (isset($_GET['callback'])) {
    echo $_GET['callback'] . '(';
}
echo Butler::getDBFacade()->now();
if (isset($_GET['callback'])) {
    echo ')';
}
Exemplo n.º 16
0
function getStatus($contestId, $since = 0)
{
    return Butler::getDBFacade()->selectStatusByContestId($contestId, $since);
}
Exemplo n.º 17
0
function getUsers()
{
    return Butler::getDBFacade()->selectUsers();
}
Exemplo n.º 18
0
<?php

require_once dirname(__FILE__) . '/../../config/require.php';
// только авторизованные пользователи могут делать это =)
if (1 != $authorized) {
    authorize();
}
if (!_permission_allow_update_team_info && 1 != $is_admin) {
    fail(_error_no_permission_to_update_team_info);
}
if (!isset($_POST['btnUpdatePersInfo'])) {
    fail(_error_request_method_post_expected);
}
if (!updatePersonalInfo($_POST)) {
    data('message', $messages[_error_persinfo_has_not_been_updated]);
    data('persInfo', Butler::getORMManager()->createPersonalInfo()->wrap($_POST));
} else {
    data('message', $messages[_success_persinfo_has_been_updated]);
    data('persInfo', selectPersonalInfo($curuserid));
}
data('changepassword', '0');
getUserInfo($curuserid);
template('changeinfo', $data);
Exemplo n.º 19
0
<?php

require_once 'Butler.php';
Butler::dispatch();
Exemplo n.º 20
0
function getInvitedTeams()
{
    return Butler::getDBFacade()->selectInvitedTeams();
}