public function get_members(){ $find = Character::find() ->realm($this->realm->id) ->join("INNER", 'arena_team_member' ,array('weekgames','weekwins','seasongames','seasonwins','personalrating','arenateamid'),'guid') ->where(array('arena_team_member.arenateamid' => $this->arenateamid)); $members = $find->all(); return $members; }
static function charname_unused($charname, $realmid){ $char = Character::find()->realm($realmid)->where(array('name' => $charname))->first(); if(isset($char->name) && $char->name == $charname){ return false; } else { return true; } }
function testErase(){ echo $this->char->erase(); var_dump($char->errors); $this->assertEquals(isset(Character::find()->realm($this->source_realmid)->where(array('guid' => $this->guid))->first()->name),false); echo $this->char->load_dump_to_realm($this->source_realmid); var_dump($char->errors); $this->assertEquals(isset(Character::find()->realm($this->source_realmid)->where(array('guid' => $this->guid))->first()->name),true); }
public function get_members(){ $find = Character::find() ->realm($this->realm->id) ->join("INNER", 'guild_member' ,array('rank','guildid'),'guid') ->where(array('guild_member.guildid' => $this->guildid)) ->order('guild_member.rank') ->limit(500); $members = $find->all(); return $members; }
public function afterSave($created, $options) { // Mark the user as absent in all his games // Get characters, so we can also have the game list App::uses('Character', 'Model'); $Character = new Character(); $params = array(); $params['recursive'] = -1; $params['fields'] = array('Character.id', 'Character.game_id', 'Character.level', 'Character.default_role_id'); $params['group'] = 'game_id'; $params['conditions']['user_id'] = $this->data['Availability']['user_id']; $params['conditions']['main'] = 1; if ($characters = $Character->find('all', $params)) { App::uses('Event', 'Model'); $Event = new Event(); $Event->Behaviors->detach('Commentable'); App::uses('EventsCharacter', 'Model'); $EventsCharacter = new EventsCharacter(); foreach ($characters as $character) { // Get events for this period $params = array(); $params['recursive'] = -1; $params['fields'] = array('Event.id'); $params['conditions']['game_id'] = $character['Character']['game_id']; $params['conditions']['character_level <='] = $character['Character']['level']; $params['conditions']['time_start >='] = $this->data['Availability']['start'] . ' 00:00:00'; $params['conditions']['time_start <='] = $this->data['Availability']['end'] . ' 23:59:59'; if ($events = $Event->find('all', $params)) { foreach ($events as $event) { // If already registered to this event, update it $paramsEventsCharacter = array(); $paramsEventsCharacter['recursive'] = -1; $paramsEventsCharacter['fields'] = array('id'); $paramsEventsCharacter['conditions']['event_id'] = $event['Event']['id']; $paramsEventsCharacter['conditions']['user_id'] = $this->data['Availability']['user_id']; if ($eventCharacter = $EventsCharacter->find('first', $paramsEventsCharacter)) { $eventCharacter['EventsCharacter']['status'] = 0; $EventsCharacter->save($eventCharacter['EventsCharacter']); } else { $toSave = array(); $toSave['event_id'] = $event['Event']['id']; $toSave['user_id'] = $this->data['Availability']['user_id']; $toSave['character_id'] = $character['Character']['id']; $toSave['raids_role_id'] = $character['Character']['default_role_id']; $toSave['comment'] = $this->data['Availability']['comment']; $toSave['status'] = 0; $EventsCharacter->__add($toSave); } } } } } return true; }
public function removeCharacterForumPermission(Forum $forum) { $character = Character::find(Input::get('character')); if ($character != null) { ForumCharacterPermission::where(['character_id' => $character->id, 'forum_id' => $forum->id])->delete(); Cache::flush(); return Redirect::to("dashboard/storyteller/manage/forums/{$forum->id}/characters"); } else { return Response::json(['success' => false, 'message' => 'Invalid data.']); } }
public function testUpdate() { require __DIR__ . '/config/database_test.php'; $db = new DatabaseConnection($host, $database, $user, $password); $character1 = ['name' => 'Lion Woods', 'description' => 'A wonderful zombie that plays golf better than Tiger Woods', 'type' => 'zombie', 'dead' => '1', 'stage' => '2', 'hp' => '67']; $character2 = ['name' => 'Guybrush Threepwood', 'description' => 'How appropriate. You fight like a cow', 'type' => 'pirate', 'dead' => '0', 'stage' => '5', 'hp' => '100']; $id = Character::insert($db, $character1); Character::update($db, $id, $character2); $actual = Character::find($db, $id); $character2['id'] = $id; $expected = $character2; $this->assertEquals($expected, $actual, 'Character::update() not working properly'); }
/** * @expectedException StatusCodeException * @expectedExceptionCode 404 */ public function testPostControllerAndDeleteController() { require __DIR__ . '/config/database_test.php'; $controller = new CharacterController(); $actionMethodName = 'postCharacter'; $db = new DatabaseConnection($host, $database, $user, $password); // Test PostController $params = ['name' => 'Guybrush Threepwood', 'description' => 'How appropriate. You fight like a cow', 'type' => 'pirate', 'dead' => '0', 'stage' => '5', 'hp' => '100']; $actual = call_user_func_array([$controller, $actionMethodName], [$db, $params]); $id = $actual['id']; unset($actual['id']); $this->assertEquals($params, $actual, 'Inserted row not the same that expected'); // Testing DeleteController $actionMethodName = 'deleteCharacter'; $actual = call_user_func_array([$controller, $actionMethodName], [$db, $id]); Character::find($db, $id); }
public function awardExperience(GameSession $session) { $ids = Input::get("ids"); $costumes = Input::get("costumes"); $nom1s = Input::get("nom1s"); $nom2s = Input::get("nom2s"); $overrides = Input::get("overrides"); $save = Input::get("save"); $missingCharacters = []; foreach ($ids as $index => $id) { $character = Character::find($id); if ($character) { $checkIn = GameSessionCheckIn::where(['session_id' => $session->id, 'character_id' => $character->id])->first(); $checkIn->costume = $costumes[$index] == "true" ? 1 : 0; $checkIn->nominated = $nom1s[$index] == "true" ? 1 : 0; $checkIn->nominated_twice = $nom2s[$index] == "true" ? 1 : 0; $checkIn->bonus = $overrides[$index]; $checkIn->total_experience = 1 + ($checkIn->costume ? 1 : 0) + ($checkIn->nominated ? 1 : 0) + ($checkIn->nominated_twice ? 1 : 0) + $checkIn->bonus; $checkIn->save(); if (!isset($save)) { $owner = $character->owner; $owner->sendMessage(null, "Experience awarded to " . $character->name, "The Storytellers have awarded your character " . $checkIn->total_experience . " Experience. You can now use the character editor to make changes to it at" . " your leisure. Remember, changes should be submitted by 6:00pm on the Wednesday" . " before a game to ensure that they have the chance to review them."); $character->awardExperience($checkIn->total_experience); $character->save(); } } else { $missingCharacters[] = $id; } } if (!isset($save)) { $session->submitted = true; $session->save(); foreach (User::listStorytellers() as $st) { $st->sendMessage(null, "Experience successfully awarded", "The action to award experience for the session on " . $session->date . " has completed." . (sizeof($missingCharacters) > 0 ? "\n\n" . sizeof($missingCharacters) . " characters were" . " not found (" . implode(",", $missingCharacters) . ")" : '')); } return Redirect::to("/dashboard"); } else { return Redirect::to("/dashboard/storyteller/session/experience/{$session->id}"); } }
public function previousVersion() { if ($this->version != 1) { return Character::find($this->character_id)->version($this->version - 1)->first(); } return null; }
<div class="clan-title"> {{RulebookClan::find($q->hidden_id)->name}} </div> <div class="clan-members"> <?php $member_query = DB::table('characters')->select('characters.id')->where('active', true)->join('characters_versions', function ($join) { $join->on('characters_versions.character_id', '=', 'characters.id'); $join->on('characters_versions.version', '=', 'characters.approved_version'); })->join('characters_clan', function ($join) { $join->on('characters.id', '=', 'characters_clan.character_id'); $join->on('characters_clan.version_id', '=', 'characters_versions.id'); })->where('characters_clan.hidden_id', $q->hidden_id)->orderBy('name'); ?> @foreach($member_query->get() as $member) <?php $character = Character::find($member->id); ?> <div class="row clan-member"> @if($character->is_npc) <div class="columns small-12 npc"> {{$character->printName()}} <div class="position-list"> {{CharacterPosition::with('definition')->where('character_id', $character->id)->get() ->map(function($item, $key) { return $item->definition; })->implode('name', ', ')}} </div> </div> @else <div class="row"> <div class="columns small-6"> {{$character->printName()}} </div>
function erase($params){ $char = Character::find()->where(array('guid' => $params['guid']))->realm($params['rid'])->first(); if ($char->guid == $params['guid']) { $bu_answer = $char->write_dump(true); if(isset($params['hard']) && $params['hard'] == 1){ if($bu_answer != false){ $answer = $char->erase(true); } else { $this->render_ajax('error', 'Can\'t backup Char! Deleting process canceld (' . $char->errors[0] .')'); return false; } } else { $answer = $char->erase(false); } if($answer != false){ Event::trigger(Event::TYPE_CHARACTER_DELETE, User::$current->account, $char, (isset($params['hard']) && $params['hard'] == 1 ? 'hard' : 'soft')); $this->render_ajax('success', 'Char successfully erased! ' . $answer); } else { $this->render_ajax('error', 'Can\'t delete Char! ' . $char->errors[0]); } } else { $this->render_ajax('error', 'Char not found!'); } }
function get_deleted_characters(){ $del_chars = array(); $realms = Realm::find()->available()->all(); foreach($realms as $realm){ $result = Character::find()->where(array('deleteinfos_account' => $this->id))->realm($realm->id)->all(); if(is_array($result)) $del_chars += $result; } return $del_chars; }
public function cost($character_id, $version = -1) { $character = Character::find($character_id); return $this->getOptionCost($this->option1()->first(), $character, $version) + $this->getOptionCost($this->option2()->first(), $character, $version) + ($this->option3 == null ? 0 : $this->getOptionCost($this->option3()->first(), $character, $version)); }
public function transferExperience(Character $to) { $from = Character::find(Input::get("from")); if ($from != null && $to != null) { $to->experience += $from->availableExperience(); $from->experience -= $from->availableExperience(); $to->save(); $from->save(); Cache::forget("character-experience-" . $to->id); Cache::forget("character-experience-" . $from->id); return Redirect::to("dashboard/storyteller/characters"); } else { return Response::json(['success' => false, 'message' => 'Invalid data.']); } }
return Redirect::guest('login'); } } }); Route::filter('auth.basic', function () { return Auth::basic(); }); Route::filter('storyteller', function () { if (Auth::guest() || !Auth::user()->isStoryteller()) { return App::abort(403); } }); Route::filter('ownsCharacter', function ($route) { $character = $route->parameter('character'); if (!$character instanceof Character) { $character = Character::find(Input::get("characterId")); } $user = Auth::user(); if ($character->user_id != $user->id && !$user->isStoryteller()) { return App::abort(403); } }); Route::filter('updateUserLastNoticed', function ($route) { if (Auth::check()) { $user = Auth::user(); $user->last_online = new DateTime(); $user->save(); } }); /* |--------------------------------------------------------------------------
function test_find() { //Arrange $description_id = 1; $race_id = 1; $stat_id = 1; $test_character = new Character($description_id, $race_id, $stat_id); $test_character->save(); $description_id2 = 2; $race_id2 = 2; $stat_id2 = 2; $test_character2 = new Character($description_id2, $race_id2, $stat_id2); $test_character2->save(); //Act $result = Character::find($test_character->getId()); //Assert $this->assertEquals($test_character, $result); }
private function sendStats() { $stats = array(); // Website $stats['Website']['url'] = Router::url('/', true); $stats['Website']['version'] = Configure::read('mushraider.version'); $stats['Website']['php'] = phpversion(); $stats['Website']['lang'] = Configure::read('Settings.language'); // Events App::uses('Event', 'Model'); $EventModel = new Event(); $params = array(); $params['recursive'] = -1; $params['order'] = array('time_start ASC'); if ($firstEvent = $EventModel->find('first', $params)) { $stats['Event']['first'] = $firstEvent['Event']['time_start']; } else { $stats['Event']['first'] = null; } $params['conditions']['time_start <='] = date('Y-m-d'); $params['order'] = array('time_start DESC'); if ($lastEvent = $EventModel->find('first', $params)) { $stats['Event']['last'] = $lastEvent['Event']['time_start']; } else { $stats['Event']['last'] = null; } $params = array(); $params['recursive'] = -1; $params['conditions']['time_start <='] = date('Y-m-d'); $countEvents = $EventModel->find('count', $params); $stats['Event']['total'] = $countEvents; // Reports App::uses('Report', 'Model'); $ReportModel = new Report(); $params = array(); $params['recursive'] = -1; $countReports = $ReportModel->find('count', $params); $stats['Report']['total'] = $countReports; // Users App::uses('User', 'Model'); $UserModel = new User(); $params = array(); $params['recursive'] = -1; $countUsers = $UserModel->find('count', $params); $stats['User']['total'] = $countUsers; // Characters App::uses('Character', 'Model'); $CharacterModel = new Character(); $params = array(); $params['recursive'] = -1; $countCharacters = $CharacterModel->find('count', $params); $stats['Character']['total'] = $countCharacters; // Games App::uses('Game', 'Model'); $GameModel = new Game(); $params = array(); $params['recursive'] = -1; if ($games = $GameModel->find('all', $params)) { foreach ($games as $game) { $stats['Game'][$game['Game']['slug']]['title'] = $game['Game']['title']; $stats['Game'][$game['Game']['slug']]['imported'] = $game['Game']['import_modified'] > 0 ? 1 : 0; $params = array(); $params['recursive'] = -1; $params['conditions']['game_id'] = $game['Game']['id']; $params['group'] = array('user_id'); $countCharacters = $CharacterModel->find('count', $params); $stats['Game'][$game['Game']['slug']]['players'] = $countCharacters; } } // Bridge $bridgeSetting = json_decode($this->SettingModel->getOption('bridge')); $stats['Bridge']['enabled'] = !empty($bridgeSetting) && $bridgeSetting->enabled ? 1 : 0; // Widgets App::uses('Widget', 'Model'); $WidgetModel = new Widget(); $params = array(); $params['recursive'] = -1; if ($widgets = $WidgetModel->find('all', $params)) { foreach ($widgets as $widget) { if (!isset($stats['Widget'][$widget['Widget']['controller']])) { $stats['Widget'][$widget['Widget']['controller']]['total'] = 1; } else { $stats['Widget'][$widget['Widget']['controller']]['total']++; } } } App::uses('HttpSocket', 'Network/Http'); $this->http = new HttpSocket(); $this->http->post('http://stats.mushraider.com/acquire', $stats); }
function members($params){ $guild = Guild::find()->where(array('guildid' => $params['id']))->realm($params['rid'])->first(); $find = Character::find() ->realm($guild->realm->id) ->join("INNER", 'guild_member' ,array('rank','guildid'),'guid') ->where(array('guild_member.guildid' => $guild->guildid)) ->order('guild_member.rank'); if(isset($params['page'])) $find->page($params['page']); $members = $find->all(); $members_count = $find->count(); $data = array( 'members' => $members, 'members_count' => $members_count ); $this->render_partial("members",$data); }
public function afterSave($created, $options) { // If users are absent for this event, add them as "absent" automatically App::uses('Availability', 'Model'); $AvailabilityModel = new Availability(); $params = array(); $params['recursive'] = 1; $params['fields'] = array('Availability.id', 'Availability.user_id', 'Availability.comment'); $params['contain']['User'] = array(); $params['conditions']['start <='] = $this->data['Event']['time_start']; $params['conditions']['end >='] = $this->data['Event']['time_start']; if ($availabilities = $AvailabilityModel->find('all', $params)) { App::uses('Character', 'Model'); $CharacterModel = new Character(); foreach ($availabilities as $availability) { $params = array(); $params['recursive'] = -1; $params['fields'] = array('Character.id', 'Character.game_id', 'Character.level', 'Character.default_role_id'); $params['group'] = 'game_id'; $params['conditions']['user_id'] = $availability['Availability']['user_id']; $params['conditions']['game_id'] = $this->data['Event']['game_id']; $params['conditions']['main'] = 1; if ($characters = $CharacterModel->find('all', $params)) { App::uses('EventsCharacter', 'Model'); $EventsCharacterModel = new EventsCharacter(); foreach ($characters as $character) { // If already registered to this event, update it $paramsEventsCharacter = array(); $paramsEventsCharacter['recursive'] = -1; $paramsEventsCharacter['fields'] = array('id'); $paramsEventsCharacter['conditions']['event_id'] = $this->data['Event']['id']; $paramsEventsCharacter['conditions']['user_id'] = $availability['Availability']['user_id']; if ($eventCharacter = $EventsCharacterModel->find('first', $paramsEventsCharacter)) { $eventCharacter['EventsCharacter']['status'] = 0; $EventsCharacterModel->save($eventCharacter['EventsCharacter']); } else { $toSave = array(); $toSave['event_id'] = $this->data['Event']['id']; $toSave['user_id'] = $availability['Availability']['user_id']; $toSave['character_id'] = $character['Character']['id']; $toSave['raids_role_id'] = $character['Character']['default_role_id']; $toSave['comment'] = $availability['Availability']['comment']; $toSave['status'] = 0; $EventsCharacterModel->__add($toSave); } } } } } }
@foreach(CharacterQuestionnaire::where('character_id', $character->id)->get() as $index => $q) <b>{{$index + 1}}. {{RulebookQuestionnaire::find($q->questionnaire_id)->question}}</b> <div class="panel"> <p>{{$q->response}}</p> </div> @endforeach <?php $c = Character::find($character->id); ?> @if($c->backstory_file)<a href="/content/backstories/{{$c->backstory_file}}">Backstory</a>@endif
function game_talk($type = null) { $this->render(false); if (isset($this->data['Chat']['message']) && !empty($this->data['Chat']['message'])) { $message = $this->data['Chat']['message']; $message = str_replace('code.dot', '.', $message); $message = str_replace('code.question', '?', $message); $message = str_replace('code.colon', ':', $message); $message = str_replace('code.slash', '/', $message); if ($type == 'general' || $type == 'trade' || $type == 'map' || $type == 'private') { $ChatData = array(); $ChatData['type'] = $type; $ChatData['character_id_to'] = 0; // Kijken of deze character bestaat if (eregi('^(@([a-z0-9]+))(.*)?', $message, $parts)) { $name = $parts[2]; App::import('Model', 'Character'); $Character = new Character(); $someCharacter = $Character->find('first', array('conditions' => array('Character.name' => $name))); if (!empty($someCharacter)) { $ChatData['character_id_to'] = $someCharacter['Character']['id']; $message = eregi_replace('^(@([a-z0-9]+))', '', $message); $ChatData['type'] = 'private'; } else { $message = __('Nobody could hear you...', true); $ChatData['type'] = 'private'; $ChatData['character_id_to'] = $this->characterInfo['id']; } } $ChatData['id'] = null; $ChatData['character_id_from'] = $this->characterInfo['id']; $ChatData['message'] = urldecode($message); $ChatData['display'] = 'no'; $this->Chat->save($ChatData); } } }
public function save() { $user = Auth::user(); $character = Character::find(Input::get('characterId')); if (!$character) { $character = new Character(); $characterIsNew = true; } if (!isset($character->user_id)) { $character->user_id = $user->id; } $character->name = Input::get("sheet.name"); $character->save(); CharacterVersion::where('character_id', $character->id)->where('version', '>', $character->approved_version)->delete(); $version = CharacterVersion::createNewVersion($character, Input::has("comment") ? Input::get("comment") : null); if ($version->isNewCharacter()) { $version->setHasDroppedMorality(Input::get("sheet.hasDroppedMorality") == "true"); } try { $version->setEditingUser($user); if (Input::get("sheet.sect.selected")) { $version->setSect(RulebookSect::find(Input::get("sheet.sect.selected")), RulebookSect::find(Input::get("sheet.sect.displaying"))); } if (Input::get("sheet.clan.selected")) { $version->setClan(RulebookClan::find(Input::get("sheet.clan.selected")), RulebookClan::find(Input::get("sheet.clan.displaying"))); } $version->setClanOptions(Input::get("sheet.clanOptions.0"), Input::get("sheet.clanOptions.1"), Input::get("sheet.clanOptions.2")); if (Input::get("sheet.nature")) { $version->setNature(RulebookNature::find(Input::get("sheet.nature"))); } if (Input::get("sheet.willpower")) { $version->setWillpower(Input::get("sheet.willpower.dots"), Input::get("sheet.willpower.traits")); } if (Input::get("sheet.attributes")) { $version->setAttributes(Input::get("sheet.attributes.physicals"), Input::get("sheet.attributes.mentals"), Input::get("sheet.attributes.socials")); } foreach ((array) Input::get("sheet.abilities") as $ability) { if (array_key_exists("specialization", $ability)) { $version->addAbilityWithSpecialization(RulebookAbility::find($ability["id"]), $ability["count"], $ability["specialization"], $ability["name"]); } else { $version->addAbility(RulebookAbility::find($ability["id"]), $ability["count"], $ability["name"]); } } foreach ((array) Input::get("sheet.disciplines") as $discipline) { $version->updateDiscipline(RulebookDiscipline::find($discipline["id"]), $discipline["count"], array_key_exists("path", $discipline) ? $discipline["path"] : 0); } foreach ((array) Input::get("newRituals") as $newRitualData) { $version->addRitualToBook($newRitualData["name"], $newRitualData["description"], $newRitualData["type"]); } foreach ((array) Input::get("sheet.rituals") as $ritualId) { $version->addRitual($ritualId); } if (Input::get("sheet.path")) { $version->updatePath(RulebookPath::find(Input::get("sheet.path")), Input::get("sheet.virtues.0"), Input::get("sheet.virtues.1"), Input::get("sheet.virtues.2"), Input::get("sheet.virtues.3")); } foreach ((array) Input::get("sheet.merits") as $meritData) { $version->addMerit(RulebookMerit::find($meritData["id"]), array_key_exists("description", $meritData) ? $meritData["description"] : null); } foreach ((array) Input::get("sheet.flaws") as $flawData) { $version->addFlaw(RulebookFlaw::find($flawData["id"]), array_key_exists("description", $flawData) ? $flawData["description"] : null); } foreach ((array) Input::get("sheet.derangements") as $derangementData) { $version->addDerangement(RulebookDerangement::find($derangementData["id"]), array_key_exists("description", $derangementData) ? $derangementData["description"] : null); } foreach ((array) Input::get("sheet.backgrounds") as $backgroundData) { $version->addBackground(RulebookBackground::find($backgroundData["id"]), $backgroundData["count"], array_key_exists("description", $backgroundData) ? $backgroundData["description"] : null); } foreach ((array) Input::get("sheet.elderPowers") as $elderData) { $version->addElderPower($elderData); } foreach ((array) Input::get("sheet.comboDisciplines") as $comboData) { $version->addComboDiscipline($comboData); } $version->clearUntouchedRecords(); } catch (Exception $e) { throw $e; } return $version; }
public static function render($body) { //First off, look for tags. $matches = []; $body = preg_replace_callback("/\\[\\[([\\w\\W]+?)\\]\\]/", function ($match) { $arguments = explode("/", $match[1]); switch (strtolower($arguments[0])) { case "change": $id = intval($arguments[1]); $char = Character::find($id); if ($char && (Auth::user()->isStoryteller() || Auth::user()->id == $char->user_id) && sizeof($arguments) == 3) { return View::make('partials/changes', ['character' => $char, 'version' => $arguments[2]])->render(); } break; case "questionnaire": $id = intval($arguments[1]); $char = Character::find($id); if ($char && (Auth::user()->isStoryteller() || Auth::user()->id == $char->user_id)) { return View::make('partials/questionnaire', ['character' => $char])->render(); } break; case "handbook": return "<div class='handbook-page'>" . View::make('partials/handbookPage', ['title' => $arguments[1]])->render() . "</div>"; case 'influence': if (sizeof($arguments) == 2) { $capName = $arguments[1]; $cap = InfluenceCap::whereHas('definition', function ($q) use($capName) { $q->where('name', $capName); })->first(); if ($cap) { return $cap->capacityString(); } } break; case "character": $char = Auth::user()->activeCharacter(); if (sizeof($arguments) == 3 && $char) { $type = $arguments[1]; $value = $arguments[2]; switch (strtolower($type)) { case "background": return $char->getBackgroundDots($value); } } break; case "deadline": //Determine if we're past the deadline. $now = new DateTime(); $now->setTime(0, 0); $nextGame = GameSession::where('date', '>=', $now)->orderBy('date')->first(); if ($nextGame) { $date = new DateTime($nextGame->date); $date->setTimezone(new DateTimeZone("America/Chicago")); $date->modify("6 hours"); //Fix timezone offset $date->setTime(19, 00); $deadlineDate = new DateTime($nextGame->date); $deadlineDate->setTimezone(new DateTimeZone("America/Chicago")); $deadlineDate->modify('previous Wednesday, 6 PM CST'); if (new DateTime() > $deadlineDate) { return '<span class="past-deadline">No more changes can be submitted this cycle.</span>'; } return 'Changes can still be submitted.'; } return 'Could not find the next session'; break; } return $match[0]; }, $body); //Check for @mentions $body = preg_replace_callback("/(?<=^|(?<=[^a-zA-Z0-9-_\\.]))@([A-Za-z0-9!#\$%\\-^&*]+|{[A-Za-z]+[A-Za-z0-9 !#\$%\\-^&*]+})/", function ($match) { $username = $match[1]; if (strtolower($username) == "andrew") { $username = "******"; } if ($username[0] == "{") { $username = substr($username, 1, strlen($username) - 2); } $user = User::where('username', 'like', $username)->first(); if ($user) { return "<div class='mention'>@" . $user->mailtoLink() . "</div>"; } return $username; }, $body); return $body; }
@stop @section('script') <script src="/js/foundation/foundation.tooltip.js"></script> <script src="/js/foundation/foundation.magellan.js"></script> <script src="/js/foundation/foundation.accordion.js"></script> <script src="/js/knockout-groupedOptions.js"></script> <script src="http://underscorejs.org/underscore.js"></script> <script type="text/javascript"> var preloaded = { userId: {{Auth::user()->id}}, isStoryteller: {{Auth::user()->isStoryteller() ? "true" : "false"}}, characterId: {{isset($character_id) ? $character_id : -1}} } <?php if (isset($character_id)) { $character = Character::find($character_id); if ($character->in_review) { echo 'document.location = "/dashboard";'; } ?> preloaded.editingVersion = {{$character->approved_version}}; preloaded.newVersion = {{$character->activeVersion() == $character->latestVersion()->version ? "true" : "false"}}; preloaded.experienceSpent = {{$character->getExperienceCost($character->latestVersion()->version)}}; preloaded.experienceTotal = 10 + {{$character->experience}}; preloaded.cData = {{json_encode($character->getVersion($character->latestVersion()->version, false))}}; <?php } ?> </script> <script src="/js/generator.beta.js"></script>
/** * Update a character with that ID * * @param DatabaseConnection database class instance * @param mixed $id number, could be a string or an int * @return string '{}' */ public function deleteCharacter(DatabaseConnection $db, $id) { Character::find($db, $id); Character::delete($db, $id); return '{}'; }
function update() { if (isset($this->characterInfo['Character']['id'])) { $conditions = array('Character.id' => $this->characterInfo['Character']['id']); App::import('Model', 'Character'); $Character = new Character(); $Character->recursive = 2; $Character->unbindModelAll(); $Character->bindModel(array('belongsTo' => array('Area', 'Type', 'Avatar'))); $Character->bindModel(array('hasAndBelongsToMany' => array('Stat'))); $someCharacter = $Character->find('first', array('conditions' => $conditions)); if (!empty($someCharacter)) { // Put it in the session $this->characterInfo = $someCharacter; $this->Session->write('character', $someCharacter); } } }