コード例 #1
0
 public function executeEdit(dmWebRequest $request)
 {
     $widget = $this->requireWidget();
     try {
         $widgetType = $this->getService('widget_type_manager')->getWidgetType($widget);
         $formClass = $widgetType->getFormClass();
         $form = new $formClass($widget);
     } catch (Exception $e) {
         if (sfConfig::get('dm_debug')) {
             throw $e;
         }
         return $this->renderError();
     }
     if ($request->isMethod('post') && $form->bindAndValid($request)) {
         $form->updateWidget();
         if ($request->hasParameter('and_save')) {
             $widget->save();
             return $this->renderText('saved');
         }
         $widgetArray = $widget->toArrayWithMappedValue();
         try {
             $widgetRenderer = $this->getServiceContainer()->setParameter('widget_renderer.widget', $widgetArray)->getService('widget_renderer');
             $js = $widgetRenderer->getJavascripts();
             $css = $widgetRenderer->getStylesheets();
         } catch (Exception $e) {
             $js = $css = array();
         }
         return $this->renderAsync(array('html' => $this->renderEdit(new $formClass($widget), $widgetType, false) . dmString::ENCODING_SEPARATOR . $this->getService('page_helper')->renderWidget($widgetArray), 'js' => $js, 'css' => $css), true);
     }
     return $this->renderAsync(array('html' => $this->renderEdit($form, $widgetType, $request->isMethod('get')), 'js' => array_merge(array('lib.hotkeys'), $form->getJavascripts()), 'css' => $form->getStylesheets()), true);
 }
コード例 #2
0
ファイル: actions.class.php プロジェクト: theolymp/diem
 public function executeEdit(dmWebRequest $request)
 {
     $this->forward404Unless($this->autoSeo = dmDb::table('DmAutoSeo')->find($request->getParameter('pk')));
     if (!$this->autoSeo->getTargetDmModule() instanceof dmProjectModule) {
         throw new dmException($this->autoSeo->getTargetDmModule() . ' is not a project module');
     }
     $this->form = new DmAutoSeoForm($this->autoSeo);
     if ($request->isMethod('post')) {
         $this->form->setSeoSynchronizer($this->getService('seo_synchronizer'));
         if ($this->form->bindAndValid($request)) {
             if ($request->getParameter('save')) {
                 $this->form->save();
                 $this->getUser()->logInfo('The item was updated successfully.');
                 return $this->redirectBack();
             } else {
                 $tryMode = true;
             }
         }
     }
     $this->previewRules = array();
     foreach ($this->form->getRules() as $ruleKey) {
         $this->previewRules[$ruleKey] = isset($tryMode) ? $this->form->getValue($ruleKey) : $this->form->getDefault($ruleKey);
     }
     $this->dispatcher->notify(new sfEvent($this, 'admin.edit_object', array('object' => $this->autoSeo)));
     $this->autoSeos = $this->getDmAutoSeos();
 }
コード例 #3
0
 public function executeSaveFile(dmWebRequest $request)
 {
     // modify existing media
     if ($mediaId = dmArray::get($request->getParameter('dm_admin_media_form'), 'id')) {
         $this->forward404Unless($media = dmDb::table('DmMedia')->find($mediaId));
         $form = new DmAdminMediaForm($media);
     } else {
         $media = null;
         $this->forward404Unless($folder = dmDb::table('DmMediaFolder')->find($request->getParameter('folder_id')));
         if (!$folder->isWritable()) {
             $this->getUser()->logAlert($this->getI18n()->__('Folder %1% is not writable', array('%1%' => $folder->fullPath)));
         }
         $form = new DmAdminMediaForm();
         $form->setDefault('dm_media_folder_id', $folder->id);
     }
     if ($request->isMethod('post') && $form->bindAndValid($request)) {
         $redirect = $form->getValue('file') || $media->dm_media_folder_id != $form->getValue('dm_media_folder_id');
         $media = $form->save();
         if ($redirect) {
             $this->getUser()->setFlash('dm_media_open', $media->id, false);
             return $this->renderText($this->getRouting()->getMediaUrl(dmDb::table('DmMediaFolder')->find($media->dm_media_folder_id)));
         }
     }
     $action = $media ? 'dmMediaLibrary/saveFile' : 'dmMediaLibrary/saveFile?folder_id=' . $folder->id;
     return $this->renderText($form->render('.dm_form.list.little action="' . $action . '"'));
 }
コード例 #4
0
 /**
  * Allows the upload of multiple files 
  * 
  * @param sfWebRequest $request
  */
 public function executeNewMultipleFile(dmWebRequest $request)
 {
     // Retrived the folder by folder_id or by object in case of usage in dmMedia/gallery module
     if ($request->hasParameter('folder_id')) {
         $folderId = $request->getParameter('folder_id');
     } else {
         $objectModel = $request->getParameter('model');
         $objectPk = $request->getParameter('pk');
         $object = dmDb::table($objectModel)->find($objectPk);
         $folderId = $object->getDmMediaFolder()->getId();
     }
     $this->forward404Unless($folder = dmDb::table('DmMediaFolder')->find($folderId));
     if (!$folder->isWritable()) {
         $this->getUser()->logAlert($this->getI18n()->__('Folder %1% is not writable', array('%1%' => $folder->fullPath)));
     }
     $form = new dmMediaUploadifyForm();
     $form->setDefault('dm_media_folder_id', $folder->id);
     if ($request->isMethod('post') && $form->bindAndValid($request)) {
         $media = $form->save();
         if (isset($object)) {
             $object->addMedia($media);
             // In dmMedia/gallery usage, we also need to associate with the object
         }
         return $this->renderText('success');
     }
     $action = '+/dmMediaUploadifyerAdmin/newMultipleFile?' . (isset($object) ? "&model={$objectModel}&pk={$objectPk}" : 'folder_id=' . $folder->id);
     return $this->renderAsync(array('html' => $form->render('.dm_form.list.little action="' . $action . '"'), 'css' => $form->getStylesheets(), 'js' => $form->getJavascripts()));
 }
コード例 #5
0
ファイル: actions.class.php プロジェクト: jdart/diem
 public function executeFormWidget(dmWebRequest $request)
 {
     $form = $this->forms['DmTestComment'];
     if ($request->isMethod('post') && $form->bindAndValid($request)) {
         $form->save();
         $this->redirectBack();
     }
 }
コード例 #6
0
 public function executeFormWidget(dmWebRequest $request)
 {
     $form = new PluginCommentForm();
     if ($request->isMethod('post') && $form->bindAndValid($request)) {
         $form->save();
         $this->redirectBack();
     }
     $this->forms['PluginComment'] = $form;
 }
コード例 #7
0
 public function executeReportAnonymousData(dmWebRequest $request)
 {
     $this->forward404Unless($request->isMethod('post'));
     try {
         dmDb::table('AnonymousReport')->register($request->getParameter('hash'), $request->getParameter('plugins'), $request->getParameter('version'));
     } catch (Exception $e) {
         throw $e;
         $this->forward404();
     }
     return $this->renderText('ok');
 }
コード例 #8
0
ファイル: actions.class.php プロジェクト: rafix/bibliocnic
 public function executeFormWidget(dmWebRequest $request)
 {
     $form = new respuestaBusquedaForm();
     if ($request->isMethod('post') && $form->bindAndValid($request)) {
         $form->save();
         $user = $this->getUser()->getDmUser();
         $this->getService('mail')->setTemplate('respuesta_busqueda')->addValues(array('busqueda_id' => $form->getValue('busqueda_id'), 'email' => $user->getEmail(), 'mensaje' => $form->getValue('mensaje'), 'username' => $user->getUsername(), 'nombre' => $user->getNombre(), 'apellidos' => $user->getApellidos(), 'create_at' => $form->getValue('create_at')))->send();
         $this->redirectBack();
     }
     $this->forms['respuestaBusqueda'] = $form;
 }
コード例 #9
0
ファイル: actions.class.php プロジェクト: theolymp/diem
 public function executeIndex(dmWebRequest $request)
 {
     $setting = dmDb::table('DmSetting')->fetchOneByName('gwt_key');
     if ($this->getUser()->can($setting->get('credentials'))) {
         $this->form = new dmConfigForm();
         $this->form->addSetting($setting);
         if ($request->isMethod('post') && $this->form->bindAndValid($request)) {
             $this->form->save();
             return $this->redirect('@dm_google_webmaster_tools');
         }
     }
 }
コード例 #10
0
ファイル: actions.class.php プロジェクト: rafix/bibliocnic
 public function executeFormWidget(dmWebRequest $request)
 {
     $form = new busquedaForm();
     if ($request->isMethod('post') && $form->bindAndValid($request)) {
         $form->save();
         $this->getUser()->setFlash('busqueda_form_valid', true);
         $user = $this->getUser()->getDmUser();
         $this->getService('mail')->setTemplate('solicitud_busqueda_especializada')->addValues(array('titulo' => $form->getValue('titulo'), 'email' => $user->getEmail(), 'mensaje' => $form->getValue('mensaje'), 'tematica' => $form->getValue('tematica'), 'fecha_antes' => $form->getValue('fecha_antes'), 'fecha_despues' => $form->getValue('fecha_despues'), 'nombre' => $user->getNombre(), 'apellidos' => $user->getApellidos()))->send();
         $this->redirectBack();
     }
     $this->forms['busqueda'] = $form;
 }
コード例 #11
0
ファイル: actions.class.php プロジェクト: rafix/bibliocnic
 public function executeFormWidget(dmWebRequest $request)
 {
     $form = new preguntaForm();
     if ($request->isMethod('post') && $form->bindAndValid($request)) {
         $form->save();
         $this->getUser()->setFlash('pregunta_form_valid', true);
         $user = $this->getUser()->getDmUser();
         $this->getService('mail')->setTemplate('pregunte_al_bibliotecario')->addValues(array('titulo' => $form->getValue('titulo'), 'email' => $user->getEmail(), 'mensaje' => $form->getValue('mensaje'), 'username' => $user->getUsername(), 'nombre' => $user->getNombre(), 'apellidos' => $user->getApellidos()))->send();
         $this->redirectBack();
     }
     $this->forms['pregunta'] = $form;
 }
コード例 #12
0
 public function executeSignin(dmWebRequest $request)
 {
     if ($this->getUser()->isAuthenticated()) {
         return $this->redirect('@homepage');
     }
     $this->setLayout(realpath(dirname(__FILE__) . '/..') . '/templates/layout');
     if ($request->getParameter('skip_browser_detection')) {
         $this->getService('browser_check')->markAsChecked();
     } elseif (!$this->getService('browser_check')->check()) {
         return 'Browser';
     }
     $this->form = new DmSigninAdminForm();
     if ($request->isMethod('post')) {
         if ($request->getReferer() != '') {
             if (!strpos($request->getReferer(), $request->getHost(), 0) > -1) {
                 $this->getResponse()->setStatusCode(403);
                 return;
             }
         } else {
             $this->getResponse()->setStatusCode(403);
             return;
         }
         $this->form->bindRequest($request);
         if ($this->form->isValid()) {
             $this->getUser()->signin($this->form->getValue('user'), $this->form->getValue('remember'));
             if ($this->getUser()->can('admin')) {
                 $redirectUrl = $this->getUser()->getReferer($request->getReferer());
                 $this->redirect($redirectUrl ? $redirectUrl : '@homepage');
             } else {
                 try {
                     $this->redirect($this->getService('script_name_resolver')->get('front'));
                 } catch (dmException $e) {
                     // user can't go in admin, and front script_name can't be found.
                     $this->redirect('@homepage');
                 }
             }
         }
     } else {
         if ($request->isXmlHttpRequest()) {
             $this->getResponse()->setHeaderOnly(true);
             $this->getResponse()->setStatusCode(401);
             return sfView::NONE;
         }
         // if we have been forwarded, then the referer is the current URL
         // if not, this is the referer of the current request
         $this->getUser()->setReferer($this->getContext()->getActionStack()->getSize() > 1 ? $request->getUri() : $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);
     }
 }
コード例 #13
0
 public function executeUpdateFromGit(dmWebRequest $request)
 {
     $this->forward404Unless($request->isMethod('post'));
     $repoDir = sfConfig::get('sf_root_dir') . '/data/diem-docs';
     // include phpGitRepo
     require_once sfConfig::get('sf_root_dir') . '/lib/vendor/php-git-repo/lib/phpGitRepo.php';
     // create a git repo instance
     $repo = new phpGitRepo($repoDir);
     // run the synchronizer passing it the repo instance
     $synchronizer = new gitDocumentationSynchronizer($repo);
     $synchronizer->execute();
     $this->getService('cache_cleaner')->setOption('applications', array('front'))->clearTemplate();
     return $this->renderText('done');
 }
コード例 #14
0
 public function executeFormWidget(dmWebRequest $request)
 {
     $form = new SnippetCommentForm();
     if ($request->isMethod('post')) {
         $captcha = array('recaptcha_challenge_field' => $request->getParameter('recaptcha_challenge_field'), 'recaptcha_response_field' => $request->getParameter('recaptcha_response_field'));
         $form->bind(array_merge($request->getParameter($form->getName()), array('captcha' => $captcha)));
         if ($form->isValid()) {
             $form->save();
             $this->getUser()->setFlash('form_saved', true);
             $this->redirectBack();
         }
     }
     $this->forms['SnippetComment'] = $form;
 }
コード例 #15
0
ファイル: actions.class.php プロジェクト: rafix/bibliocnic
 /**  
  * Handle dmUser/form form validation and creates the user account, then authenticates the user  
  */
 public function executeFormWidget(dmWebRequest $request)
 {
     $form = new DmUserForm();
     if ($request->isMethod('post') && $request->hasParameter($form->getName())) {
         $data = $request->getParameter($form->getName());
         // if the form uses captcha, include the additional data
         if ($form->isCaptchaEnabled()) {
             $data = array_merge($data, array('captcha' => array('recaptcha_challenge_field' => $request->getParameter('recaptcha_challenge_field'), 'recaptcha_response_field' => $request->getParameter('recaptcha_response_field'))));
         }
         $form->bind($data, $request->getFiles($form->getName()));
         if ($request->isMethod('post') && $form->bindAndValid($request)) {
             $form->save();
             $this->getUser()->setFlash('busqueda_form_valid', true);
             $this->redirectBack();
         }
         if ($form->isValid()) {
             $user = $form->save();
             $this->getUser()->signin($user);
             $this->redirectRegisteredUser($request);
         }
     }
     // pass the form to the component
     $this->forms['DmUser'] = $form;
 }
コード例 #16
0
 public function executeShowWidget(dmWebRequest $request)
 {
     $form = new PluginCommentForm();
     if ($request->isMethod('post') && ($data = $request->getParameter($form->getName()))) {
         if ($form->isCaptchaEnabled()) {
             $data = array_merge($data, array('captcha' => array('recaptcha_challenge_field' => $request->getParameter('recaptcha_challenge_field'), 'recaptcha_response_field' => $request->getParameter('recaptcha_response_field'))));
         }
         $form->bind($data);
         if ($form->isValid()) {
             $form->save();
             $this->getUser()->setFlash('form_saved', true);
             $this->redirectBack();
         }
     }
     $this->forms['PluginComment'] = $form;
 }
コード例 #17
0
 /**
  * Handle dmUser/form form validation and creates the user account, then authenticates the user
  */
 public function executeFormWidget(dmWebRequest $request)
 {
     $form = new DmUserForm();
     if ($request->isMethod('post') && $request->hasParameter($form->getName())) {
         $data = $request->getParameter($form->getName());
         if ($form->isCaptchaEnabled()) {
             $data = array_merge($data, array('captcha' => array('recaptcha_challenge_field' => $request->getParameter('recaptcha_challenge_field'), 'recaptcha_response_field' => $request->getParameter('recaptcha_response_field'))));
         }
         $form->bind($data, $request->getFiles($form->getName()));
         if ($form->isValid()) {
             $user = $form->save();
             $this->getUser()->signin($user);
             $this->redirectRegisteredUser($request);
         }
     }
     $this->forms['DmUser'] = $form;
 }
コード例 #18
0
ファイル: actions.class.php プロジェクト: rafix/ctaller
 /**
  * Allows the upload of multiple files 
  * 
  * @param sfWebRequest $request
  */
 public function executeNewMultipleFile(dmWebRequest $request)
 {
     // create new media
     $media = null;
     $this->forward404Unless($folder = dmDb::table('DmMediaFolder')->find($request->getParameter('folder_id')));
     if (!$folder->isWritable()) {
         $this->getUser()->logAlert($this->getI18n()->__('Folder %1% is not writable', array('%1%' => $folder->fullPath)));
     }
     $form = new dmMediaUploadifyForm();
     $form->setDefault('dm_media_folder_id', $folder->id);
     if ($request->isMethod('post') && $form->bindAndValid($request)) {
         $media = $form->save();
         return $this->renderText('success');
     }
     $action = '+/dmMediaUploadifyerAdmin/newMultipleFile?folder_id=' . $folder->id;
     $uploadify_widget = new sfWidgetFormDmUploadify();
     return $this->renderAsync(array('html' => $form->render('.dm_form.list.little action="' . $action . '"'), 'css' => $uploadify_widget->getStylesheets(), 'js' => $uploadify_widget->getJavascripts()));
 }
コード例 #19
0
ファイル: actions.class.php プロジェクト: jdart/diem
 public function executeNew(dmWebRequest $request)
 {
     $this->forward404Unless($this->page = $this->getPage(), 'no current DmPage');
     $this->form = new DmPageFrontNewForm();
     $this->form->removeCsrfProtection();
     if ($request->isMethod('post') && $this->form->bindAndValid($request)) {
         $newPage = $this->form->save();
         return $this->renderText($this->getHelper()->link($newPage)->getAbsoluteHref());
     }
     $this->form->setDefaults(array('parent_id' => $this->page->id, 'dm_layout_id' => $this->page->PageView->dmLayoutId, 'slug' => $this->page->slug ? $this->page->slug . '/?' : '?'));
     $_parentSlugs = dmDb::query('DmPage p')->where('p.record_id = 0')->withI18n()->select('p.id, pTranslation.slug')->fetchPDO();
     $parentSlugs = array();
     foreach ($_parentSlugs as $values) {
         $parentSlugs[$values[0]] = $values[1];
     }
     $this->parentSlugsJson = json_encode($parentSlugs);
     $this->transliterationJson = json_encode(sfConfig::get('dm_string_transliteration'));
     return $this->renderAsync(array('js' => array('front.pageAddForm'), 'html' => $this->getPartial('dmPage/new')), true);
 }
コード例 #20
0
 public function executeFormEditWidget(dmWebRequest $request)
 {
     $this->forward404Unless($hash = $request->getParameter('hash'));
     $this->forward404Unless($snippet = dmDb::table('Snippet')->findOneByHash($hash));
     $form = $this->forms['Snippet'] = new SnippetForm($snippet);
     if ($request->isMethod('post')) {
         if ($request->getParameter('recaptcha_challenge_field')) {
             $captcha = array('recaptcha_challenge_field' => $request->getParameter('recaptcha_challenge_field'), 'recaptcha_response_field' => $request->getParameter('recaptcha_response_field'));
             $form->bind(array_merge($request->getParameter($form->getName()), array('captcha' => $captcha)));
         } else {
             $form->bind($request->getParameter($form->getName()));
         }
         if ($form->isValid()) {
             $form->save();
             $this->getUser()->setFlash('form_saved', true);
             return $this->redirect($this->getSnippetUrl($form->getObject()));
         }
     }
 }
コード例 #21
0
ファイル: actions.class.php プロジェクト: theolymp/diem
 public function executeIndex(dmWebRequest $request)
 {
     $this->form = new dmConfigForm();
     $this->settings = dmDb::table('DmSetting')->fetchGrouped();
     $this->groups = array();
     foreach ($this->settings as $group => $settings) {
         if ('internal' == $group) {
             continue;
         }
         foreach ($settings as $index => $setting) {
             if ($this->getUser()->can($setting->get('credentials'))) {
                 $this->form->addSetting($setting);
                 if (!in_array($setting->get('group_name'), $this->groups)) {
                     $this->groups[] = $setting->get('group_name');
                 }
             } else {
                 unset($this->settings[$group][$index]);
             }
         }
         if (empty($this->settings[$group])) {
             unset($this->settings[$group]);
         }
     }
     $this->getDispatcher()->notify(new sfEvent($this->form, 'form.post_configure'));
     if ($request->isMethod('post')) {
         if ($this->form->bindAndValid($request)) {
             $formValues = $this->form->getValues();
             foreach ($this->settings as $group => $settings) {
                 foreach ($settings as $index => $setting) {
                     $settingName = $setting->get('name');
                     if (isset($formValues[$settingName]) && $formValues[$settingName] != $setting->value) {
                         dmConfig::set($settingName, $formValues[$settingName]);
                     }
                 }
             }
             $this->getUser()->logInfo('Your modifications have been saved', true);
             return $this->redirect('@dm_config_panel');
         } else {
             $this->getUser()->logAlert('The item has not been saved due to some errors.', true);
         }
     }
 }
コード例 #22
0
ファイル: actions.class.php プロジェクト: theolymp/diem
 public function executeIndex(dmWebRequest $request)
 {
     if ($this->getUser()->can('google_analytics')) {
         $this->form = new dmGoogleAnalyticsForm();
         $this->form->setGapi($this->getService('gapi'));
         if ($request->isMethod('post')) {
             dmConfig::set('ga_key', dmArray::get($request->getParameter($this->form->getName()), 'key'));
             if ($this->form->bindAndValid($request)) {
                 $this->form->save();
                 return $this->redirect('@dm_google_analytics');
             }
         }
     }
     $this->gapiConnected = false;
     if (dmConfig::get('ga_token')) {
         try {
             $this->getService('gapi')->authenticate(null, null, dmConfig::get('ga_token'));
             $this->gapiConnected = true;
         } catch (dmGapiException $e) {
             // bad token
         }
     }
 }
コード例 #23
0
 /**
  * Handle dmUser/forgotPassword form validation and sends an email with a new password
  */
 public function executeForgotPasswordWidget(dmWebRequest $request)
 {
     // step 1
     if (!($forgotPasswordCode = $request->getParameter('_code'))) {
         $form = new DmForgotPasswordStep1Form();
         if ($request->isMethod('post') && $request->hasParameter($form->getName())) {
             $data = $request->getParameter($form->getName());
             if ($form->isCaptchaEnabled()) {
                 $data = array_merge($data, array('captcha' => array('recaptcha_challenge_field' => $request->getParameter('recaptcha_challenge_field'), 'recaptcha_response_field' => $request->getParameter('recaptcha_response_field'))));
             }
             $form->bind($data, $request->getFiles($form->getName()));
             if ($form->isValid()) {
                 $user = $form->getUserByEmail($form->getValue('email'));
                 $user->forgot_password_code = dmString::random(12);
                 $user->save();
                 $this->getService('mail')->setTemplate('dm_user_forgot_password')->addValues(array('username' => $user->username, 'email' => $user->email, 'step2_url' => $this->getHelper()->link($this->getPage())->param('_code', $user->forgot_password_code)->getAbsoluteHref()))->send();
                 $this->getUser()->setFlash('dm_forgot_password_email_sent', $user->email);
                 $this->redirectBack();
             }
         }
         $this->forms['DmForgotPasswordStep1'] = $form;
     } else {
         $this->forward404Unless($user = dmDb::table('DmUser')->retrieveByForgotPasswordCode($forgotPasswordCode));
         $form = new DmForgotPasswordStep2Form($user);
         if ($request->isMethod('post') && $request->hasParameter($form->getName())) {
             if ($form->bindAndValid($request)) {
                 $user->password = $form->getValue('password');
                 $user->forgot_password_code = null;
                 $user->save();
                 $this->getUser()->setFlash('dm_forgot_password_changed', true);
                 $this->redirectBack();
             }
         }
         $this->forms['DmForgotPasswordStep2'] = $form;
     }
 }
コード例 #24
0
 /**
  * Sort sequence of execution of the behaviors for the page content of part of layout area     
  */
 public function executeSortBehaviors(dmWebRequest $request)
 {
     if (!$this->getUser()->can('behavior_sort')) {
         return $this->renderError($this->getI18n()->__('Error'), $this->getI18n()->__('You do not have privileges to sort behaviors'));
     }
     if ($request->hasParameter('dm_behavior_attached_to') && $request->hasParameter('dm_behavior_attached_to_id') && $request->hasParameter('dm_action_sort') && $request->getParameter('dm_action_sort')) {
         $behaviorsManager = $this->getService('behaviors_manager');
         try {
             $behaviors = $behaviorsManager->getBehaviorsForSort($request->getParameter('dm_behavior_attached_to'), $request->getParameter('dm_behavior_attached_to_id'));
         } catch (Exception $e) {
             return $this->renderText(sprintf('<p class="s16 s16_error">%s</p>
                         <div class="clearfix mt30"><a class="dm cancel close_dialog button mr10">%s</a></div>', $this->getI18n()->__('There are no behaviors for this content to be sorted.'), $this->getI18n()->__('Cancel')));
         }
         try {
             $form = new dmBehaviorsSortForm($behaviors);
         } catch (Exception $e) {
             return $this->renderError($this->getI18n()->__('Error'), $e->getMessage());
         }
         if ($request->isMethod('post') && $form->bindAndValid($request) && $request->hasParameter('and_save')) {
             if ($form->saveSortOrder()) {
                 return $this->renderJson(array('error' => false, 'dm_behavior_data' => json_decode($form->getValue('behaviors'), true)));
             } else {
                 return $this->renderError($this->getI18n()->__('Error'), $this->getI18n()->__('New behaviors sequence could not be saved.'));
             }
         }
         return $this->renderAsync(array('html' => $this->getHelper()->tag('div.dm.dm_behavior_sort.dm_behavior_sort_form', $form->render('.dm_form.list.little'))), true);
     } else {
         return $this->renderError($this->getI18n()->__('Error'), $this->getI18n()->__('You must supply container for sort'));
     }
 }