/** * Удалить изображение */ public function executeDelete(sfWebRequest $request) { $this->forward404Unless($request->isXmlHttpRequest()); $image = $this->getRoute()->getObject(); $image->delete(); return sfView::HEADER_ONLY; }
public function executeSignin(sfWebRequest $request) { $user = $this->getUser(); if ($user->isAuthenticated()) { return $this->redirect('@homepage'); } $class = sfConfig::get('app_sf_guard_plugin_signin_form', 'sfGuardFormSignin'); $this->form = new $class(); if ($request->isMethod('post')) { $this->form->bind($request->getParameter('signin')); if ($this->form->isValid()) { $values = $this->form->getValues(); $remember = isset($values['remember']) ? $values['remember'] : false; $this->getUser()->signin($values['user'], $remember); $signinUrl = sfConfig::get('app_sf_guard_plugin_success_signin_url', $user->getReferer($request->getReferer())); return $this->redirect('' != $signinUrl ? $signinUrl : '@homepage'); } } else { if ($request->isXmlHttpRequest()) { $this->getResponse()->setHeaderOnly(true); $this->getResponse()->setStatusCode(401); return sfView::NONE; } $user->setReferer($request->getReferer()); $module = sfConfig::get('sf_login_module'); if ($this->getModuleName() != $module) { return $this->redirect($module . '/' . sfConfig::get('sf_login_action')); } $this->getResponse()->setStatusCode(401); } }
/** * Зарегистрировать */ public function executeCreate(sfWebRequest $request) { $this->executeSignup(); $this->form->bind($request->getParameter($this->form->getName())); if ($this->form->isValid()) { $user = $this->form->save(); $loginzaData = $this->getUser()->getAttribute('loginza.identity', false, 'loginza'); // связываем юзера с идентификатором $identity = new Identity(); $identity->setIdentity($loginzaData['identity']); $identity->setProvider($loginzaData['provider']); $identity->setUser($user); $identity->save(); $this->getUser()->setAttribute('identity.id', $identity->getId()); // авторизуем $this->getUser()->signin($user, true); } if (!$this->form->hasErrors()) { if ($request->isXmlHttpRequest()) { return $this->renderText("<script type='text/javascript'>window.location.href='/';</script>"); } else { return $this->redirect('homepage'); } } $this->setTemplate('signup'); }
public function executePit(sfWebRequest $request) { if ($request->isXmlHttpRequest()) { return $this->renderText('No results.'); } }
/** * Executes index action * * @param sfRequest $request A request object */ public function executeIndex(sfWebRequest $request) { $this->class = $request->getParameter('class'); if (empty($this->class)) { $this->class = $request->getGetParameter('class'); } $this->method = $request->getParameter('method'); if (empty($this->method)) { $this->method = $request->getGetParameter('method'); } if (!empty($this->method)) { $this->class = array($this->class, $this->method); } $this->viewer = new sfCodeViewer($this->class); if ($request->isXmlHttpRequest()) { sfProjectConfiguration::getActive()->loadHelpers('Url'); $this->renderText($this->viewer->render(url_for('sfCodeView'))); return sfView::NONE; } else { // maintain history $this->history = $this->getUser()->getAttribute('history', array()); if (false !== ($index = array_search($this->class, $this->history))) { unset($this->history[$index]); } array_unshift($this->history, $this->class); array_splice($this->history, 10); $this->getUser()->setAttribute('history', $this->history); } }
/** * Single notification * @param sfWebRequest $request */ public function executeSingle(sfWebRequest $request) { $this->notification = $this->getRoute()->getObject(); $this->forward404Unless($this->notification->belongs_to($this->user)); $this->notification->read(); $this->ajax_mode = $request->isXmlHttpRequest(); }
public function executeNovaPagina(sfWebRequest $request) { if ($request->isXmlHttpRequest() || true) { //apenas por ajax sfConfig::set('sf_web_debug', false); sfProjectConfiguration::getActive()->loadHelpers(array('I18N', 'Date')); $cmspage = new Cmspage(); $content = new Content(); $content->setId(null); $cmspage->setContent($content); $cmspage->setId(null); $cmsGroupcontent = $this->getUser()->getAttribute('contentGroup'); $this->forward404Unless($cmsGroupcontent); $cmspage->setCmsgroupcontent($cmsGroupcontent); $this->formContent = new PageContentForm($cmspage); if ($request->isMethod('post')) { //return $this->renderPartial('cms/debug',array('values'=>$request->getParameter('pagina'))); $this->formContent->bind($request->getParameter('pagina')); if ($this->formContent->isValid()) { $this->logMessage('O formContent foi válido. cms/actions: ' . __FILE__ . __LINE__); try { $this->formContent->save(); return $this->renderPartial("cms/viewPage", array('page' => $this->formContent->getCmspageobj(), 'isNew' => true, 'values' => $this->formContent->getValues())); } catch (Exception $e) { //TODO: We should to handle the error and render it. throw $e; } //return $this->renderPartial("cms/viewPage",array('page')); } } //parent::executeNew($request); return $this->renderPartial('cms/content_form', array('formContent' => $this->formContent)); } }
public function executeQuery(sfWebRequest $request) { if ($request->isXmlHttpRequest()) { if ($request->isMethod(sfRequest::GET)) { $startDate = $request->getGetParameter('startDate'); $endDate = $request->getGetParameter('endDate'); $page = $request->getGetParameter('page'); $start = $request->getGetParameter('start'); $limit = $request->getGetParameter('limit'); $this->convertParamToDateTime($startDate); $this->convertParamToDateTime($endDate); $result = Doctrine_Core::getTable('Appointment')->getBetween($startDate, $endDate); $response = $this->buildResponse($result, "Loading Record"); } else { if ($request->isMethod(sfRequest::POST)) { $form_data = json_decode(file_get_contents('php://input')); $location = $form_data->loc; $title = $form_data->title; $notes = $form_data->notes; $url = $form_data->url; $reminder = $form_data->rem; $cid = $form_data->cid; $startDate = str_replace('T', ' ', $form_data->start); $endDate = str_replace('T', ' ', $form_data->end); $this->convertParamToDateTime($startDate, 'Y-m-d H:i:s'); $this->convertParamToDateTime($endDate, 'Y-m-d H:i:s'); $a = new Appointment(); $a->fromArray(array('coach_id' => 1, 'client_id' => 1, 'calendar_type_id' => $cid, 'scheduled' => $startDate, 'started_at' => $startDate, 'finished_at' => $endDate, 'title' => $title, 'location' => $location, 'notes' => $notes, 'web_link' => $url, 'reminder' => $reminder)); $a->save(); $response = $this->buildResponse($a, "Creating Record"); } else { if ($request->isMethod(sfRequest::PUT)) { $form_data = json_decode(file_get_contents('php://input')); $location = $form_data->loc; $title = $form_data->title; $notes = $form_data->notes; $url = $form_data->url; $reminder = $form_data->rem; $cid = $form_data->cid; $startDate = str_replace('T', ' ', $form_data->start); $endDate = str_replace('T', ' ', $form_data->end); $this->convertParamToDateTime($startDate, 'Y-m-d H:i:s'); $this->convertParamToDateTime($endDate, 'Y-m-d H:i:s'); $a = Doctrine_Core::getTable('Appointment')->find(array($request->getParameter('id'))); $a->fromArray(array('coach_id' => 1, 'client_id' => 1, 'calendar_type_id' => $cid, 'scheduled' => $startDate, 'started_at' => $startDate, 'finished_at' => $endDate, 'title' => $title, 'location' => $location, 'notes' => $notes, 'web_link' => $url, 'reminder' => $reminder)); $a->save(); $response = $this->buildResponse($a, "Updating Record"); } else { if ($request->isMethod(sfRequest::DELETE)) { $app = Doctrine_Core::getTable('Appointment')->find(array($request->getParameter('id'))); $app->delete(); $response = array('success' => true, 'message' => 'Destroyed Record', 'data' => array()); } } } } sfConfig::set('sf_web_debug', false); return $this->renderPartial('global/ajax', array('ajax' => json_encode($response))); } }
public function executeUpdate(sfWebRequest $request) { if ($this->getUser()->hasCredential('admin')) { $this->a_event = $this->getRoute()->getObject(); } else { $this->a_event = Doctrine::getTable('aEvent')->findOneEditable($request->getParameter('id'), $this->getUser()->getGuardUser()->getId()); } $this->forward404Unless($this->a_event); $this->form = $this->configuration->getForm($this->a_event); if ($request->isXmlHttpRequest()) { $this->setLayout(false); $response = array(); $this->form->bind($request->getParameter($this->form->getName()), $request->getFiles($this->form->getName())); if ($this->form->isValid()) { $this->a_event = $this->form->save(); //We need to recreate the form to handle the fact that it is not possible to change the value of a sfFormField $this->form = $this->configuration->getForm($this->a_event); $this->dispatcher->notify(new sfEvent($this, 'admin.save_object', array('object' => $this->a_event))); } $response['errors'] = $this->form->getErrorSchema()->getErrors(); aPageTable::queryWithTitles()->addWhere('page_id = ?', $this->a_event['page_id'])->execute(); $response['aBlogPost'] = $this->a_event->toArray(); $response['aBlogPost']['title'] = html_entity_decode($response['aBlogPost']['title'], ENT_COMPAT, 'UTF-8'); $response['modified'] = $this->a_event->getLastModified(); $response['time'] = aDate::time($this->a_event['updated_at']); //Any additional messages can go here $output = json_encode($response); $this->getResponse()->setHttpHeader("X-JSON", '(' . $output . ')'); return sfView::HEADER_ONLY; } else { $this->processForm($request, $this->form); } $this->setTemplate('edit'); }
public function executeSearchLocation(sfWebRequest $request) { if ($request->isXmlHttpRequest()) { $lat = $request->getParameter("lat"); $lng = $request->getParameter("lng"); $sql = "SELECT *, \r\n\t (\r\n\t asin(\r\n\t POW(sin((RADIANS(latitude)-RADIANS({$lat}))/2),2) + \r\n\t ( cos(RADIANS(latitude)) * cos(RADIANS({$lat})) * POW(sin( (RADIANS(longitude) - RADIANS({$lng})) / 2 ),2) )\r\n\t )\r\n\t * 2 * 6367000) AS haversineDistance\r\n\t FROM photographer_region WHERE 1\r\n\t ORDER BY haversineDistance ASC LIMIT 25"; $connection = Propel::getConnection(); $statement = $connection->prepare($sql); $statement->execute(); $objects = array(); while ($resultset = $statement->fetch(PDO::FETCH_OBJ)) { $p = PhotographerPeer::retrieveByPK($resultset->photographer_id); $arr = array(); $arr["latitude"] = $resultset->latitude; $arr["longitude"] = $resultset->longitude; $arr["address"] = $resultset->address; $arr["photographer_name"] = $p->getName(); $arr["distance"] = $resultset->haversineDistance; $arr["link"] = sfContext::getInstance()->getRouting()->generate("photographer_view", array("slug" => $p->getSlug())); $objects[] = $arr; } $this->renderText(json_encode($objects)); return sfView::NONE; } }
public function executeSearch(sfWebRequest $request) { $this->forwardUnless($this->luceneQuery = $request->getParameter('query'), 'dsMailing', 'index'); //$this->jobs = Doctrine_Core::getTable('dsPerson')->getForLuceneQuery($query); // $this->pager = $this->getPager(); $ds_class_letter_drafts = Doctrine_Core::getTable('dsClassLetter') ->addDraftQuery( $this->getBaseQuery() ) ->execute(); $ds_class_letter_sent = Doctrine_Core::getTable('dsClassLetter') ->addSentQuery( $this->getBaseQuery() ) ->execute(); if ($request->isXmlHttpRequest()) { if ('*' == $this->luceneQuery || !($ds_class_letter_drafts || $ds_class_letter_sent)) { return $this->renderText('No results.'); } return $this->renderPartial('dsMailing/list', array( //'pager' => $this->pager, 'ds_class_letter_drafts' => $ds_class_letter_drafts ,'ds_class_letter_sent' => $ds_class_letter_sent ,'helper' => $this->helper)); } }
public function executeShow(sfWebRequest $request) { $this->photo = Doctrine_Core::getTable('Photo')->findOneBySlug($request->getParameter('photo_slug')); $this->ajax = $request->isXmlHttpRequest(); $uploadDir = sfConfig::get('sf_upload_dir') . '/photo/'; $this->image = new sfImage($uploadDir . $this->photo->path, swImageTransform::mime_content_type($uploadDir . $this->photo->path)); }
public function executeSelect(sfWebRequest $request) { if ($request->isXmlHttpRequest()) { // steps 1-3 requests & restart $this->setLayout(false); sfProjectConfiguration::getActive()->loadHelpers('Partial'); $agent = new CircuitBreakerSelectionAgent($request->getGetParameters()); if ($data = $agent->executeStep()) { $partial = 'filter' . ucfirst($request->getParameter('step')) . 'Step'; $html = get_partial($partial, array('selection' => $request->getParameter($request->getParameter('step'), NULL), 'back_qs' => $data['back_qs'], 'data' => $data['data'], 'results_so_far' => $data['results_so_far'], 'search_params' => $agent->getSearchParameters())); } else { /* * Would only get here if LWS DB is incomplete. * In this case we need to use the query string to retrieve the relevant * data set from teh DB and then fill in the missing values. * * Do not throw 404 from Ajax request, * just send error messgae back to user. * * !! I should log the query string in these cases to facilitate * updating of DB. */ $html = "<p id='tech_prob'>Sorry, we our experiencing technical difficulties. Please contact technical support at <a href='mailto:webmaster@livewiresupply.com'>webmaster@livewiresupply.com</a></p>"; } $response = $this->getResponse(); $response->addCacheControlHttpHeader('no-cache'); $response->setContentType('text/html'); $response->sendHttpHeaders(); return $this->renderText($html); } else { // ONLY FOR VOLTS/LAST STEP, or graceful degradation for non JavaScript enabled browsers $this->manuf_slug = LWS::getManufSlug($request->getParameter('manuf_id')); $this->manuf = LWS::unslugify($this->manuf_slug, true); $template = 'Filter' . ucfirst($request->getParameter('step')) . 'Step'; $this->selection = $request->getParameter($request->getParameter('step')); $agent = new CircuitBreakerSelectionAgent($request->getGetParameters()); /* * $agent would not return data only if LWS DB is incomplete. * Sequence of steps dictate that once LWS DB is complete, * server should throw a 404. User may have be url surfing. * * !!! be sure to update DB if necessary. */ $this->forward404Unless($this->data = $agent->executeStep()); if ($request->getParameter('step') == 'volts') { $this->redirect("@part?cat_slug=circuit-breakers&manuf_slug={$this->manuf_slug}&part_no=" . LWS::encode($this->data[0]['part']['part_no'])); } else { // remove unecessary ajax 'back a step' query string from end of data array unset($this->data['back_qs']); $this->results_so_far = $this->data['results_so_far']; $this->data = $this->data['data']; $this->search_params = $agent->getSearchParameters(); $response = $this->getResponse(); $response->setTitle("{$this->manuf} Circuit Breakers Selection Process"); $response->setSlot('body_class', 'cb_manuf'); return $template; } } }
public function executeAdd(sfWebRequest $request) { $this->forward404unless($request->isXmlHttpRequest()); $number = intval($request->getParameter("num")); $this->form = new SportForm(); $this->form->addNewFields($number); return $this->renderPartial('addNew', array('form' => $this->form, 'number' => $number)); }
/** * Executes delete action * * @param sfWebRequest $request A request object * @return string */ public function executeDelete(sfWebRequest $request) { $this->forward404Unless($request->isXmlHttpRequest()); $this->getRoute()->getObject()->delete(); $this->setLayout(false); $this->getResponse()->setHttpHeader('Content-Type', 'application/json; charset=utf-8'); return $this->renderText(json_encode(true)); }
public function executeGet(sfWebRequest $request) { include_once sfConfig::get('sf_root_dir') . '/apps/api/lib/PlancakeApiServer.class.php'; $tags = PlancakeApiServer::getTags(array('api_ver' => sfConfig::get('app_api_version'), 'camel_case_keys' => 1)); if ($request->isXmlHttpRequest()) { return $this->renderJson($tags); } }
public function executeDeletePost(sfWebRequest $request) { $this->forward404Unless($request->isXmlHttpRequest()); $this->forward404Unless($post_id = $request->getParameter('id', false)); if ($post = Doctrine::getTable('WallPost')->find($post_id)) { $post->delete(); } return sfView::NONE; }
public function executeChangeRichTextareaButtonOrder(sfWebRequest $request) { if ($request->isXmlHttpRequest()) { $request->checkCSRFProtection(); $buttons = $request->getParameter('button'); Doctrine::getTable('SnsConfig')->set('richtextarea_buttons_sort_order', serialize($buttons)); } return sfView::NONE; }
public function executeTag(sfWebRequest $request) { // ajax call if ($request->isXmlHttpRequest()) { return $this->renderText(json_encode(Doctrine::getTable('zsBlogTag')->ajaxSearch($request->getParameter('term')))); } $this->tag = $this->getRoute()->getObject(); $this->initiatePager($this->tag->getArticleListQuery()); }
public function executeCargarCodigo(sfWebRequest $request) { if ($request->isXmlHttpRequest()) { $dataJson = array(); $codigo = Doctrine_Core::getTable('codigo')->find(array($request->getParameter('codigo'))); $dataJson[] = array('id' => $codigo->getId(), 'cliente' => $codigo->getNombreCliente(), 'barrio' => $codigo->getSector()->getNombre(), 'calle1' => $codigo->getCalle1(), 'calle2' => $codigo->getCalle2(), 'numcasa' => $codigo->getNumCasa(), 'referencia' => $codigo->getObservacion()); return $this->renderText(json_encode($dataJson)); } }
public function executeAddParamField(sfWebRequest $request) { $this->forward404unless($request->isXmlHttpRequest()); $number = intval($request->getParameter("num")); $param_type = $request->getParameter("paramType"); $this->form = new KalFunctionForm(null, array('size' => $number, 'param_type' => $param_type)); return $this->renderText(json_encode(array('html' => $this->getPartial('kalparam/newParamField', array('form' => $this->form, 'number' => $number)), 'success' => true))); return sfView::NONE; }
public function executeGetTree(sfWebRequest $request) { $this->forward404Unless($request->isXmlHttpRequest()); $id = $request->getParameter('node'); $this->root = Doctrine::getTable('sfFilebaseDirectory')->find($id); $this->forward404Unless($this->root instanceof sfFilebaseDirectory); $this->setLayout(false); $this->getResponse()->setContentType('text/x-json'); }
public function executeCambiarPasssword(sfWebRequest $request) { if ($request->isXmlHttpRequest()) { $response = $this->getUser()->cambiarPassword($this->getUser()->getGuardUser(), $request->getParameter('current_pass'), $request->getParameter('new_pass'), $request->getParameter('confirm')); $msj = "{status: '{$response[0]}', mensaje: '{$response[1]}'}"; sfConfig::set('sf_web_debug', false); $this->getResponse()->setContentType('application/json'); return $this->renderText($msj); } }
/** * Executes index action * * @param sfRequest $request A request object */ public function executeSync(sfWebRequest $request) { include_once sfConfig::get('sf_root_dir') . '/apps/api/lib/PlancakeApiServer.class.php'; parse_str(urldecode($request->getContent()), $requestParams); $tasks = isset($requestParams['tasks']) && is_array($requestParams['tasks']) ? $requestParams['tasks'] : array(); $changes = PlancakeApiServer::sync(array('from_ts' => $requestParams['from_ts'], 'tasks' => $tasks, 'camel_case_keys' => 1, 'api_ver' => sfConfig::get('app_api_version'))); if ($request->isXmlHttpRequest()) { return $this->renderJson($changes); } }
/** * Returns true if the request is a XMLHttpRequest. * @return bool true if the request is an XMLHttpRequest, false otherwise */ public function isXmlHttpRequest() { /* * When a file is submitted during an ajax request, * parent::isXmlHttpRequest() returns false, * so we have to specify the request parameter dm_xhr * to tell the server the request is asynchronous */ return parent::isXmlHttpRequest() || $this->getParameter('dm_xhr'); }
public function executeAddEdit(sfWebRequest $request) { $op = $request->getParameter('op'); $contextId = $request->getParameter('id'); $contextName = trim($request->getParameter('name')); $newContext = null; if ($contextName && strpos($contextName, ' ') !== FALSE) { die("ERROR: " . __('ACCOUNT_ERROR_TAG_CANT_HAVE_SPACE')); } $existingContexts = PcUserPeer::getLoggedInUser()->getContextsArray(true); if (count($existingContexts)) { if (in_array(strtolower($contextName), $existingContexts)) { die("ERROR: " . __('ACCOUNT_ERROR_TAG_ALREADY_EXIST')); } } if ($op == 'delete' && $contextId) { $contextToDelete = PcUsersContextsPeer::retrieveByPk($contextId); PcUtils::checkLoggedInUserPermission(PcUserPeer::retrieveByPk($contextToDelete->getUserId())); $contextToDelete->delete(); } else { if ($op == 'edit' && $contextId && $contextName) { $contextToEdit = PcUsersContextsPeer::retrieveByPk($contextId); PcUtils::checkLoggedInUserPermission(PcUserPeer::retrieveByPk($contextToEdit->getUserId())); $contextToEdit->setContext($contextName)->save(); // {{{ // this lines to make sure the list details we sent back via AJAX // are the ones stored in the database $contextToEdit = PcUsersContextsPeer::retrieveByPk($contextId); // }}} } else { if ($op == 'add' && $contextName) { // getting max sortOrder $c = new Criteria(); $c->addDescendingOrderByColumn(PcUsersContextsPeer::SORT_ORDER); $maxSortOrder = PcUsersContextsPeer::doSelectOne($c)->getSortOrder(); $context = new PcUsersContexts(); $context->setContext($contextName)->setPcUser(PcUserPeer::getLoggedInUser())->setSortOrder($maxSortOrder + 1)->save(); // {{{ // this lines to make sure the list details we sent back via AJAX // are the ones stored in the database $newContext = PcUsersContextsPeer::retrieveByPk($context->getId()); // }}} } } } $tag = isset($contextToEdit) && $contextToEdit ? $contextToEdit : $newContext; if ($request->isXmlHttpRequest()) { if ($tag) { $ret = array('id' => $tag->getId(), 'name' => $tag->getContext()); return $this->renderJson($ret); } else { return $this->renderDefault(); } } }
public function executeSendArbo(sfWebRequest $request) { if ($request->isXmlHttpRequest()) { if (!$request->getParameter('ref_pack') || !$request->getParameter('id_pack') || !$request->getParameter('ref_projet') || !$request->getParameter('id_projet') || !$request->getParameter('id_version') || !$request->getParameter('ei_scenario_id')) { return $this->renderText('Erreur !! paramètre manquant'); } else { return $this->renderPartial('pack/arboPack', array('id_pack' => $request->getParameter('id_pack'), 'ref_pack' => $request->getParameter('ref_pack'), 'id_projet' => $request->getParameter('id_projet'), 'ref_projet' => $request->getParameter('ref_projet'), 'ei_scenario_id' => $request->getParameter('ei_scenario_id'), 'id_version' => $request->getParameter('id_version'))); } } return sfView::NONE; }
public function executeAutocompleteData(sfWebRequest $request) { $this->forward404If(!$request->isXmlHttpRequest()); $q = $request->getParameter('q'); $response = ''; $items = Doctrine::getTable('DatRueUnidadEducativa')->getUnidadesHumanisticaAdultos($q, $this->getUser()->getAttribute('USUARIO_ID')); foreach ($items as $item) { $response .= sprintf("%s|%s\n", $item['cod_ue'], $item['desc_ue']); } return $this->renderText($response); }
public function executeSearch(sfWebRequest $request) { $this->forwardUnLess($query = $request->getParameter('query'), 'job', 'index'); $this->jobs = Doctrine_Core::getTable('JobeetJob')->getForLuceneQuery($query); if ($request->isXmlHttpRequest()) { if ('*' == $query || !$this->jobs) { return $this->renderText('No results.'); } return $this->renderPartial('job/list', array('jobs' => $this->jobs)); } }
public function executeAjxGetPeriods(sfWebRequest $request) { $periods = Doctrine_Core::getTable('Apartment')->find($request->getParameter('id'))->Period; $count = Doctrine_Core::getTable('Apartment')->find($request->getParameter('id'))->Period->count(); if ($request->isXmlHttpRequest()) { return $this->renderPartial('period/ajax_period_results', array('periods' => $periods, 'count' => $count)); } else { $this->redirect('@homepage'); return sfView::NONE; /* Log this !*/ } }