/** * Returns the related sfGuardUser. * * @return sfGuardUser */ public function getGuardUser() { if (!$this->user && ($id = $this->getApiUserId())) { //$this->user = Doctrine_Core::getTable('sfGuardUser')->find($id); $data = Api::getInstance()->get('user/' . $this->_user_id); $this->user = ApiDoctrine::createObject('sfGuardUser', $data['body']); if (!$this->user) { // the user does not exist anymore in the database $this->signOut(); throw new sfException('The user does not exist anymore.'); } } return $this->user; }
protected function processForm(sfWebRequest $request, EpisodeForm $form) { $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName())); if ($form->isValid()) { $form->processValues($form->getValues()); $auth_key = $this->getUser()->getApiAuthKey(); if ($form->getValue('id')) { // Update existing item. $values = $form->getTaintedValues(); if ($form->getValue('audio_file_delete') == true) { if (!$form->getObject()->getApprovedAt() && !$form->getObject()->getSubmittedAt()) { $values['audio_file'] = null; $values['nice_filename'] = null; $form->getObject()->removeFileFromApplicationBucket($form->getObject()->getAudioFile(), 'audio'); unlink(sfConfig::get('sf_data_dir') . '/temp/' . $form->getObject()->getAudioFile()); } } if ($form->getValue('graphic_file_delete') == true) { if (!$form->getObject()->getApprovedAt()) { $values['graphic_file'] = null; $form->getObject()->removeFileFromApplicationBucket($form->getObject()->getGraphicFile(), 'upload'); unlink(sfConfig::get('sf_web_dir') . '/uploads/graphics/' . $form->getObject()->getGraphicFile()); } } unset($values['_csrf_token'], $values['id'], $values['graphic_file_delete'], $values['audio_file_delete']); $episode = $form->getObject(); if (!array_key_exists('is_nsfw', $values) && $episode->getIsNsfw()) { $values['is_nsfw'] = 0; } foreach ($values as $key => $value) { if ($value == "on") { $values[$key] = 1; } if ($value == "off") { $values[$key] = 0; } } $id = $episode->getId(); $result = Api::getInstance()->setUser($auth_key)->put('episode/' . $id, $values); $success = $this->checkHttpCode($result, 'put', 'episode/' . $id, json_encode($values)); if ($success) { $this->getUser()->setFlash('notice', 'Episode was saved successfully.'); } $test_episode = ApiDoctrine::createObject('Episode', $result['body']); $episode = $test_episode ? $test_episode : $episode; } $this->redirect('episode/edit?id=' . $episode->getId()); } }
protected function processForm(sfWebRequest $request, sfForm $form) { $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName())); if ($form->getValue('recipient_id') == $this->getUser()->getApiUserId()) { $this->getUser()->setFlash('error', 'You cannot sent messages to yourself.'); $this->redirect('message'); } if ($form->isValid() && $this->getUser()->getApiUserId()) { $auth_key = $this->getUser()->getApiAuthKey(); if ($form->getValue('id')) { // Update existing item. $values = $form->getObject()->getModified(); $message = $form->getObject(); unset($values['id']); $id = $form->getValue('id'); $result = Api::getInstance()->setUser($auth_key)->put('message/' . $id, $values); $success = $this->checkHttpCode($result, 'put', 'message/' . $id, json_encode($values)); if ($success) { $this->getUser()->setFlash('notice', 'Message was edited successfully.'); } $test_message = ApiDoctrine::createObject('Message', $result['body']); $message = $test_message ? $test_message : $message; } else { // Create new item $values = $form->getValues(); $message = $form->getObject(); foreach ($values as $key => $value) { if (is_null($value)) { unset($values[$key]); } } if (!array_key_exists('sender_id', $values)) { $values['sender_id'] = $this->getUser()->getApiUserId(); } $result = Api::getInstance()->setUser($auth_key)->post('message', $values); $success = $this->checkHttpCode($result, 'post', 'message', json_encode($values)); if ($success) { $this->getUser()->setFlash('notice', 'Message was sent successfully.'); } } if (!$this->getUser()->getApiUserId()) { $this->getUser()->setFlash('error', 'You are not logged in!'); } $this->redirect('message'); } }
protected function processForm(sfWebRequest $request, sfForm $form) { $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName())); if ($form->isValid()) { $auth_key = $this->getUser()->getApiAuthKey(); // Update existing item. $values = $form->getTaintedValues(); $user_id = $form->getValue('id') ? $form->getValue('id') : $this->getUser()->getApiUserId(); unset($values['_csrf_token'], $values['is_active'], $values['password'], $values['password_again'], $values['groups_list'], $values['permissions_list'], $values['is_validated'], $values['reddit_validation_key'], $values['is_authorized'], $values['email_authorization_key'], $values['authorized_at'], $values['is_super_admin'], $values['algorithm'], $values['id'], $values['salt'], $values['last_login']); if ($form->getValue('password')) { $values['password'] = $form->getValue('password'); } $user_data = Api::getInstance()->get('user/' . $user_id); $user = ApiDoctrine::createObject('sfGuardUser', $user_data['body']); $user_values = $user->toArray(); foreach ($values as $key => $value) { if ($value == $user_values[$key]) { unset($values[$key]); } } if (array_key_exists('id', $values)) { unset($values['id']); } $id = $this->getUser()->getApiUserId(); $result = Api::getInstance()->setUser($auth_key)->put('user/' . $id, $values); $success = $this->checkHttpCode($result, 'put', 'user/' . $id, json_encode($values)); if ($success) { $this->getUser()->setFlash('notice', 'Profile was edited successfully.'); } $this->redirect('profile'); } }
protected function processForm(sfWebRequest $request, sfForm $form) { $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName())); if ($form->isValid()) { $auth_key = $this->getUser()->getApiAuthKey(); if ($form->getValue('id')) { // Update existing item. $values = $form->getValues(); $id = $form->getValue('id'); $subreddit = $form->getObject(); $subreddit_array = $subreddit->toArray(); foreach ($subreddit_array as $key => $value) { if (array_key_exists($key, $values) && $values[$key] == $subreddit_array[$key]) { unset($values[$key]); } } if (array_key_exists('is_active', $values)) { $values['is_active'] = (bool) $values['is_active'] ? 1 : 0; } if (count($values)) { $result = Api::getInstance()->setUser($auth_key)->put('subreddit/' . $id, $values); $success = $this->checkHttpCode($result, 'put', 'subreddit/' . $id, json_encode($values)); if ($success) { $this->getUser()->setFlash('notice', 'Subreddit was edited successfully.'); } $test_subreddit = ApiDoctrine::createObject('Subreddit', $result['body']); $subreddit = $test_subreddit ? $test_subreddit : $subreddit; } } else { // Create new item $values = $form->getValues(); $subreddit = $form->getObject(); foreach ($values as $key => $value) { if (is_null($value)) { unset($values[$key]); } } $result = Api::getInstance()->setUser($auth_key)->post('subreddit', $values); $success = $this->checkHttpCode($result, 'post', 'subreddit', json_encode($values)); if ($success) { $this->getUser()->setFlash('notice', 'Episode was created successfully.'); } $test_subreddit = ApiDoctrine::createObject('Subreddit', $result['body']); $subreddit = $test_subreddit ? $test_subreddit : $subreddit; if (is_null($subreddit->getIncremented())) { $this->redirect('subreddit'); } } $this->redirect('subreddit/edit?id=' . $subreddit->getId()); } }