Ejemplo n.º 1
0
 /**
  * Change password
  * @param Difra\Param\AjaxString $oldpassword
  * @param Difra\Param\AjaxString $password1
  * @param Difra\Param\AjaxString $password2
  */
 public function passwordAjaxActionAuth(Param\AjaxString $oldpassword, Param\AjaxString $password1, Param\AjaxString $password2)
 {
     $user = User::getCurrent();
     if (!$user->verifyPassword($oldpassword)) {
         Ajaxer::status('oldpassword', Locales::get('auth/password/bad_old'), 'problem');
         $ok = false;
     } else {
         $ok = true;
     }
     $reg = new Register();
     $reg->setPassword1($password1->val());
     $reg->setPassword2($password2->val());
     if (!$reg->validatePasswords()) {
         if ($ok) {
             Ajaxer::status('oldpassword', Locales::get('auth/password/old_ok'), 'ok');
         }
         $reg->callAjaxerEvents();
         return;
     }
     if (!$ok) {
         return;
     }
     $user->setPassword($password1->val());
     $this->afterPasswordChangeAjax();
 }
Ejemplo n.º 2
0
 public function savesettingsAjaxAction(\Difra\Param\AjaxString $consumerKey, \Difra\Param\AjaxString $consumerSecret, \Difra\Param\AjaxString $oauthToken, \Difra\Param\AjaxString $oauthSecret, \Difra\Param\AjaxCheckbox $postToTwitter)
 {
     $oAuthArray = ['consumerKey' => $consumerKey->val(), 'consumerSecret' => $consumerSecret->val(), 'accessToken' => $oauthToken->val(), 'accessTokenSecret' => $oauthSecret->val(), 'postToTwitter' => $postToTwitter->val()];
     \Difra\Config::getInstance()->set('oAuth', $oAuthArray);
     \Difra\Ajaxer::refresh();
     \Difra\Ajaxer::notify(\Difra\Locales::getInstance()->getXPath('twitter/adm/oAuth/settingsSaved'));
 }
Ejemplo n.º 3
0
 public function saveformAjaxAction(\Difra\Param\AjaxString $name, \Difra\Param\AjaxString $uri, \Difra\Param\AjaxString $notify, \Difra\Param\AjaxString $button, \Difra\Param\AjaxHTML $description = null, \Difra\Param\AjaxData $fieldType = null, \Difra\Param\AjaxData $fieldName = null, \Difra\Param\AjaxData $fieldDescription = null, \Difra\Param\AjaxData $fieldMandatory = null, \Difra\Param\AjaxData $selectVariants = null, \Difra\Param\AjaxInt $formId = null, \Difra\Param\AjaxString $originalUri = null)
 {
     if (is_null($fieldType) || is_null($fieldName)) {
         return $this->ajax->notify(\Difra\Locales::getInstance()->getXPath('formProcessor/adm/create/noFieldsNotify'));
     }
     $FP = \Difra\Plugins\FormProcessor::getInstance();
     $uri = $uri->val();
     $originalUri = !is_null($originalUri) ? $originalUri->val() : null;
     if (is_null($formId) && $uri != $originalUri) {
         if ($FP->checkDupUri($uri)) {
             return $this->ajax->invalid('uri', \Difra\Locales::getInstance()->getXPath('formProcessor/adm/create/duplicateUri'));
         }
     }
     $errorField = $FP->checkEmptyNameFields($fieldType, $fieldName);
     if ($errorField !== true) {
         return $this->ajax->notify($errorField);
     }
     $mainFieldsArray = ['title' => $name->val(), 'uri' => $uri, 'answer' => $notify->val(), 'submit' => $button->val(), 'description' => $description];
     $fieldMandatory = !is_null($fieldMandatory) ? $fieldMandatory->val() : null;
     $selectVariants = !is_null($selectVariants) ? $selectVariants->val() : null;
     $formFieldsArray = ['names' => $fieldName->val(), 'mandatory' => $fieldMandatory, 'types' => $fieldType->val(), 'descriptions' => $fieldDescription->val(), 'variants' => $selectVariants];
     if (!is_null($formId)) {
         if (!$FP->updateForm($formId->val(), $mainFieldsArray, $formFieldsArray)) {
             return $this->ajax->notify(\Difra\Locales::getInstance()->getXPath('formProcessor/adm/edit/idError'));
         }
         \Difra\Libs\Cookies::getInstance()->notify(\Difra\Locales::getInstance()->getXPath('formProcessor/adm/edit/formUpdated'));
     } else {
         $FP->createForm($mainFieldsArray, $formFieldsArray);
         \Difra\Libs\Cookies::getInstance()->notify(\Difra\Locales::getInstance()->getXPath('formProcessor/adm/create/formAdded'));
     }
     $this->ajax->redirect('/adm/formprocessor/manage');
 }
Ejemplo n.º 4
0
 public function saveAjaxAction(\Difra\Param\AjaxInt $perpage, \Difra\Param\AjaxString $imgSizes, \Difra\Param\AjaxString $format, \Difra\Param\AjaxCheckbox $waterOn, \Difra\Param\AjaxCheckbox $waterPreviewOn, \Difra\Param\AjaxString $waterText = null, \Difra\Param\AjaxFile $waterFile = null)
 {
     $imgSizes2 = explode("\n", str_replace("\r", '', $imgSizes));
     $imgSizes3 = [];
     foreach ($imgSizes2 as $str) {
         $arr = explode(' ', $str);
         if (sizeof($arr) != 3 or !ctype_alpha($arr[0]) or !ctype_digit($arr[1]) or !ctype_digit($arr[2]) or $arr[0] == 'f' or isset($imgSizes3[$arr[0]]) or !$arr[1] or !$arr[2]) {
             $this->ajax->invalid('imgSizes');
             return;
         }
         $imgSizes3[$arr[0]] = [(int) $arr[1], (int) $arr[2]];
     }
     $conf = \Difra\Config::getInstance();
     $conf->setValue('gallery', 'perpage', $perpage->val());
     $conf->setValue('gallery', 'imgSizes', $imgSizes3);
     $conf->setValue('gallery', 'watermark', $waterOn->val());
     $conf->setValue('gallery', 'waterOnPreview', $waterPreviewOn->val());
     $waterText = !is_null($waterText) ? $waterText->val() : '';
     $conf->setValue('gallery', 'waterText', $waterText);
     $conf->setValue('gallery', 'format', $format->val());
     if (!is_null($waterFile)) {
         $path = DIR_DATA . 'gallery/';
         @mkdir($path, 0777, true);
         file_put_contents($path . 'watermark.png', \Difra\Libs\Images::convert($waterFile->val(), 'png'));
     }
     $this->ajax->notify($this->locale->getXPath('gallery/adm/config/saved'));
 }
Ejemplo n.º 5
0
 public function createaliaseAjaxAction(\Difra\Param\AjaxInt $tagId, \Difra\Param\AjaxString $module, \Difra\Param\AjaxString $aliase)
 {
     if (\Difra\Plugins\Tags::getInstance()->createAliase($module->val(), $tagId->val(), $aliase->val())) {
         \Difra\Libs\Cookies::getInstance()->notify(\Difra\Locales::getInstance()->getXPath('tags/adm/aliasCreated'));
         $this->ajax->reload();
     } else {
         $this->ajax->notify(\Difra\Locales::getInstance()->getXPath('tags/adm/aliasCreateError'));
     }
 }
Ejemplo n.º 6
0
 public function saveAjaxAction(\Difra\Param\AjaxString $name, \Difra\Param\AjaxInt $parent = null, \Difra\Param\AjaxInt $id = null)
 {
     if (!$id) {
         \Difra\Plugins\Catalog::getInstance()->addCategory($name->val(), $parent ? $parent->val() : null);
     } else {
         \Difra\Plugins\Catalog::getInstance()->updateCategory($id->val(), $name->val(), $parent ? $parent->val() : null);
     }
     $this->ajax->redirect('/adm/catalog/categories');
 }
Ejemplo n.º 7
0
 public function saveAjaxAction(\Difra\Param\AjaxString $name, \Difra\Param\AjaxString $description, \Difra\Param\AjaxCheckbox $hidden, \Difra\Param\AjaxInt $id = null)
 {
     if ($id) {
         \Difra\Plugins\Gallery::getInstance()->albumUpdate($id->val(), $name->val(), $description->val(), !$hidden->val());
     } else {
         \Difra\Plugins\Gallery::getInstance()->albumAdd($name->val(), $description->val(), !$hidden->val());
     }
     $this->ajax->redirect('/adm/gallery/albums/');
 }
Ejemplo n.º 8
0
 /**
  * Save page
  * @param \Difra\Param\AjaxString $title
  * @param \Difra\Param\AjaxString $tag
  * @param \Difra\Param\AjaxHTML $body
  * @param \Difra\Param\AjaxInt $id
  */
 public function saveAjaxAction(\Difra\Param\AjaxString $title, \Difra\Param\AjaxString $tag, \Difra\Param\AjaxHTML $body, \Difra\Param\AjaxInt $id = null)
 {
     if ($id) {
         $page = \Difra\Plugins\CMS\Page::get($id->val());
     } else {
         $page = \Difra\Plugins\CMS\Page::create();
     }
     $page->setTitle($title->val());
     $page->setUri($tag->val());
     $page->setBody($body);
     Ajaxer::redirect('/adm/content/pages');
 }
Ejemplo n.º 9
0
 public function saveAjaxAction(\Difra\Param\AjaxString $name, \Difra\Param\AjaxInt $set, \Difra\Param\AjaxInt $group, \Difra\Param\AjaxInt $id = null)
 {
     if (!$id) {
         $ext = \Difra\Plugins\Catalog::getInstance()->addExt($name->val(), $set->val(), $group->val());
     } else {
         $ext = \Difra\Plugins\Catalog::getInstance()->editExt($id->val(), $name->val(), $set->val(), $group->val());
     }
     if ($set->val()) {
         $this->ajax->redirect('/adm/catalog/ext/values/' . $ext->getId());
     } else {
         $this->ajax->redirect('/adm/catalog/ext');
     }
 }
Ejemplo n.º 10
0
 /**
  * Edit user (submit)
  * @param Param\AnyInt $id
  * @param Param\AjaxEmail $email
  * @param Param\AjaxCheckbox $change_pw
  * @param Param\AjaxString|null $new_pw
  * @param Param\AjaxData|null $fieldName
  * @param Param\AjaxData|null $fieldValue
  */
 public function saveAjaxAction(Param\AnyInt $id, Param\AjaxEmail $email, Param\AjaxCheckbox $change_pw, Param\AjaxString $new_pw = null, Param\AjaxData $fieldName = null, Param\AjaxData $fieldValue = null)
 {
     $user = User::getById($id->val());
     $user->setEmail($email->val());
     //        $userData['addonFields'] = !is_null($fieldName) ? $fieldName->val() : null;
     //        $userData['addonValues'] = !is_null($fieldValue) ? $fieldValue->val() : null;
     if ($change_pw->val() and $new_pw and $new_pw->val()) {
         $user->setPassword($new_pw->val());
         Ajaxer::notify(Locales::get('auth/adm/userDataSavedPassChanged'));
     } else {
         Ajaxer::notify(Locales::get('auth/adm/userDataSaved'));
     }
     Ajaxer::refresh();
 }
Ejemplo n.º 11
0
 public function saveAjaxAction(\Difra\Param\AjaxString $title, \Difra\Param\AjaxString $pubDate, \Difra\Param\AjaxString $viewDate, \Difra\Param\AjaxCheckbox $visible, \Difra\Param\AjaxCheckbox $important, \Difra\Param\AjaxHTML $body, \Difra\Param\AjaxString $stopDate = null, \Difra\Param\AjaxHTML $announcement = null, \Difra\Param\AjaxString $sourceName = null, \Difra\Param\AjaxString $sourceURL = null, \Difra\Param\AjaxInt $id = null)
 {
     $data = ['title' => $title->val(), 'pubDate' => $pubDate->val(), 'viewDate' => $viewDate->val(), 'visible' => $visible->val(), 'important' => $important->val(), 'body' => $body];
     $data['stopDate'] = !is_null($stopDate) ? $stopDate->val() : null;
     $data['announcement'] = !is_null($announcement) ? $announcement : null;
     $data['sourceName'] = !is_null($sourceName) ? $sourceName->val() : null;
     $data['sourceURL'] = !is_null($sourceURL) ? $sourceURL->val() : null;
     $data['id'] = !is_null($id) ? $id->val() : null;
     \Difra\Plugins\News::getInstance()->addNews($data);
     if (!is_null($id)) {
         $this->ajax->notify(\Difra\Locales::getInstance()->getXPath('news/adm/updated'));
     } else {
         $this->ajax->notify(\Difra\Locales::getInstance()->getXPath('news/adm/add/added'));
     }
     $this->ajax->redirect('/adm/news/');
 }
Ejemplo n.º 12
0
 public function savesettingsAjaxAction(\Difra\Param\AjaxCheckbox $onLine, \Difra\Param\AjaxString $title, \Difra\Param\AjaxString $link, \Difra\Param\AjaxInt $ttl, \Difra\Param\AjaxInt $size, \Difra\Param\AjaxCheckbox $image, \Difra\Param\AjaxCheckbox $cache, \Difra\Param\AjaxString $desc = null, \Difra\Param\AjaxString $copyright = null, \Difra\Param\AjaxFile $rsslogo = null)
 {
     $settingsArray = ['onLine' => $onLine->val(), 'title' => $title->val(), 'link' => $link->val(), 'ttl' => $ttl->val(), 'size' => $size->val(), 'image' => $image->val(), 'cache' => $cache->val()];
     if (!is_null($desc)) {
         $settingsArray['description'] = $desc->val();
     }
     if (!is_null($copyright)) {
         $settingsArray['copyright'] = $copyright->val();
     }
     if (!is_null($rsslogo)) {
         $settingsArray['logo'] = $rsslogo;
     }
     Difra\Plugins\Rss::saveSettings($settingsArray);
     $this->ajax->notify(\Difra\Locales::getInstance()->getXPath('rss/adm/saved'));
     $this->ajax->refresh();
 }
Ejemplo n.º 13
0
 public function saveAction(\Difra\Param\AjaxString $name, \Difra\Param\AjaxString $url = null, \Difra\Param\AjaxString $address = null, \Difra\Param\AjaxString $phone = null, \Difra\Param\AjaxString $info = null, \Difra\Param\AjaxInt $id = null)
 {
     $url = !is_null($url) ? $url->val() : null;
     $address = !is_null($address) ? $address->val() : null;
     $phone = !is_null($phone) ? $phone->val() : null;
     $info = !is_null($info) ? $info->val() : null;
     $dataArray = ['name' => $name->val(), 'url' => $url, 'address' => $address, 'phone' => $phone, 'info' => $info];
     $id = !is_null($id) ? $id->val() : null;
     \Difra\Plugins\Announcements::getInstance()->saveLocation($dataArray, $id);
     if (!is_null($id)) {
         $this->ajax->notify(\Difra\Locales::getInstance()->getXPath('announcements/adm/locations/updated'));
         $this->ajax->redirect('/adm/announcements/locations/');
     } else {
         $this->ajax->notify(\Difra\Locales::getInstance()->getXPath('announcements/adm/locations/added'));
         $this->ajax->refresh();
     }
 }
Ejemplo n.º 14
0
 public function saveAjaxAction(\Difra\Param\AjaxString $name, \Difra\Param\AjaxString $alias, \Difra\Param\AjaxInt $id = null, \Difra\Param\AjaxString $originalAlias = null)
 {
     $id = !is_null($id) ? $id->val() : null;
     if (is_null($id) || $originalAlias->val() != $alias->val()) {
         if (\Difra\Plugins\Announcements\Additionals::checkAlias($alias->val())) {
             \Difra\Ajaxer::getInstance()->invalid('alias', \Difra\Locales::getInstance()->getXPath('announcements/adm/additionals/duplicateName'));
             return;
         }
     }
     \Difra\Plugins\Announcements::getInstance()->saveAdditionalField($name->val(), $alias->val(), $id);
     if (is_null($id)) {
         \Difra\Ajaxer::getInstance()->notify(\Difra\Locales::getInstance()->getXPath('announcements/adm/additionals/added'));
     } else {
         \Difra\Ajaxer::getInstance()->notify(\Difra\Locales::getInstance()->getXPath('announcements/adm/additionals/updated'));
     }
     \Difra\Ajaxer::getInstance()->refresh();
 }
Ejemplo n.º 15
0
 public function saveAjaxAction(\Difra\Param\AjaxString $categoryName, \Difra\Param\AjaxString $categoryAlias, \Difra\Param\AjaxInt $catId = null, \Difra\Param\AjaxString $originalAlias = null)
 {
     $catId = !is_null($catId) ? $catId->val() : null;
     $Announcements = \Difra\Plugins\Announcements::getInstance();
     if (is_null($catId) || $originalAlias->val() != $categoryAlias->val()) {
         if (\Difra\Plugins\Announcements\Category::checkName($categoryAlias->val())) {
             $this->ajax->invalid('categoryAlias', \Difra\Locales::getInstance()->getXPath('announcements/adm/category/duplicateName'));
             return;
         }
     }
     $Announcements->saveCategory($categoryAlias->val(), $categoryName->val(), $catId);
     if (is_null($catId)) {
         $this->ajax->notify(\Difra\Locales::getInstance()->getXPath('announcements/adm/category/added'));
     } else {
         $this->ajax->notify(\Difra\Locales::getInstance()->getXPath('announcements/adm/category/updated'));
     }
     $this->ajax->refresh();
 }
Ejemplo n.º 16
0
 public function updateAjaxAction(\Difra\Param\AjaxString $title, \Difra\Param\AjaxString $eventDate, \Difra\Param\AjaxString $beginDate, \Difra\Param\AjaxInt $priorityValue, \Difra\Param\AjaxCheckbox $visible, \Difra\Param\AjaxSafeHTML $shortDescription, \Difra\Param\AjaxInt $id, \Difra\Param\AjaxSafeHTML $description = null, \Difra\Param\AjaxInt $group = null, \Difra\Param\AjaxString $endDate = null, \Difra\Param\AjaxFile $eventImage = null)
 {
     $data = ['title' => $title->val(), 'eventDate' => $eventDate->val(), 'beginDate' => $beginDate->val(), 'id' => $id->val(), 'priority' => $priorityValue->val(), 'visible' => $visible->val(), 'shortDescription' => $shortDescription->val()];
     $data['description'] = is_null($description) ? null : $description->val();
     $data['group'] = is_null($group) ? null : $group->val();
     $data['endDate'] = is_null($endDate) ? null : $endDate->val();
     // из админки пока ставим так, потом добавим выбор юзера.
     $data['user'] = 1;
     $Announcements = \Difra\Plugins\Announcements::getInstance();
     // апдейтим анонс
     $eventId = $Announcements->create($data);
     if (is_null($eventId)) {
         $this->ajax->error(\Difra\Locales::getInstance()->getXPath('announcements/adm/notify/updateError'));
         return;
     }
     if (!is_null($eventImage)) {
         $Announcements->saveImage($eventId, $eventImage->val());
     }
     \Difra\Libs\Cookies::getInstance()->notify(\Difra\Locales::getInstance()->getXPath('announcements/adm/notify/goodUpdate'));
     $this->ajax->redirect('/adm/announcements/');
 }
Ejemplo n.º 17
0
 public function test_String()
 {
     $this->assertTrue(\Difra\Param\AjaxString::verify(10));
     $this->assertTrue(\Difra\Param\AjaxString::verify(0));
     $this->assertTrue(\Difra\Param\AjaxString::verify('0'));
     $this->assertTrue(\Difra\Param\AjaxString::verify('10'));
     $this->assertTrue(\Difra\Param\AjaxString::verify('10a'));
     $this->assertTrue(\Difra\Param\AjaxString::verify('0x00'));
     $this->assertTrue(\Difra\Param\AjaxString::verify('0xff'));
     $this->assertTrue(\Difra\Param\AjaxString::verify(-4));
     $this->assertTrue(\Difra\Param\AjaxString::verify('-4'));
     $this->assertTrue(\Difra\Param\AjaxString::verify('a'));
     $this->assertFalse(\Difra\Param\AjaxString::verify(null));
     $this->assertTrue(\Difra\Param\AjaxString::verify(3.8));
     $this->assertTrue(\Difra\Param\AjaxString::verify(-4.6));
     $this->assertTrue(\Difra\Param\AjaxString::verify('3.8'));
     $this->assertTrue(\Difra\Param\AjaxString::verify('-4.6'));
     $this->assertFalse(\Difra\Param\AjaxString::verify(['abc']));
     $this->assertFalse(\Difra\Param\AjaxString::verify([10]));
     $i = new \Difra\Param\AjaxString('-10a');
     $this->assertEquals($i->val(), '-10a');
     $this->assertEquals($i->raw(), '-10a');
     $this->assertEquals((string) $i, '-10a');
 }
Ejemplo n.º 18
0
 public function saveAjaxAction(\Difra\Param\AjaxString $name, \Difra\Param\AjaxHTML $description, \Difra\Param\AjaxString $release = null, \Difra\Param\AjaxString $link = null, \Difra\Param\AjaxString $link_caption = null, \Difra\Param\AjaxString $software = null, \Difra\Param\AjaxInt $id = null, \Difra\Param\AjaxData $roles = null, \Difra\Param\AjaxFiles $image = null)
 {
     if (is_null($id) && !\Difra\Plugins\Portfolio::checkURI($name->val())) {
         $this->ajax->invalid('name');
         $this->ajax->status('name', \Difra\Locales::getInstance()->getXPath('portfolio/adm/notify/dupName'), 'problem');
         return;
     }
     if ($id) {
         $entry = \Difra\Unify::getObj('PortfolioEntry', (string) $id);
     } else {
         $entry = \Difra\Unify::createObj('PortfolioEntry');
     }
     $entry->name = $name;
     if (!is_null($release)) {
         $release = strtotime($release->val() . ' 00:00:00');
         $release = date('Y-m-d', $release);
     }
     $entry->description = $description;
     $entry->release = $release;
     $entry->link = $link;
     $entry->link_caption = $link_caption;
     $entry->software = $software;
     $entry->uri = \Difra\Locales::getInstance()->makeLink($name->val());
     $sortedAuthors = [];
     if (!is_null($roles)) {
         $authors = $roles->val();
         if (!empty($authors)) {
             foreach ($authors as $line) {
                 if (empty($line)) {
                     continue;
                 }
                 $role = false;
                 $contributors = [];
                 foreach ($line as $k => $v) {
                     if ($k === 'role') {
                         $role = $v;
                     } else {
                         $contributors[] = $v;
                     }
                 }
                 if ($role and !empty($contributors)) {
                     $sortedAuthors[] = ['role' => $role, 'contibutors' => $contributors];
                 }
             }
         }
     }
     $entry->authors = $sortedAuthors;
     try {
         $entry->save();
     } catch (\Difra\Exception $x) {
         $x->notify();
         $this->ajax->notify($x->getMessage());
         return;
     }
     if (!is_null($image)) {
         if ($id) {
             $eId = $id->val();
         } else {
             $eId = $entry->getPrimaryValue();
         }
         try {
             \Difra\Plugins\Portfolio::saveImages($eId, $image);
         } catch (\Difra\Exception $x) {
             $x->notify();
             $this->ajax->notify($x->getMessage());
             return;
         }
     }
     $Locales = \Difra\Locales::getInstance();
     if ($id) {
         $notify = $Locales->getXPath('portfolio/adm/notify/edited');
     } else {
         $notify = $Locales->getXPath('portfolio/adm/notify/added');
     }
     $this->ajax->notify($notify);
     $this->ajax->redirect('/adm/content/portfolio/');
 }
Ejemplo n.º 19
0
 public function deletenotifyAjaxActionAuth(Param\AjaxString $id = null, Param\AjaxString $module = null)
 {
     $this->ajax->display(Difra\Locales::getInstance()->getXPath('comments/notifies/delete') . '<br/><br/><div href="#" onclick="comments.delete( ' . intval($id->val()) . ', \'' . $module->val() . '\' );" class="button">Да</div>' . '<a href="#" style="display: inline-block; margin-left:15px;" class="button" onclick="ajaxer.close(this)">Нет</a>');
 }
Ejemplo n.º 20
0
 /**
  * Change password using recovery link
  * @param AnyString $code
  * @param AjaxString $password1
  * @param AjaxString $password2
  * @throws Exception
  */
 public function submitAjaxAction(AnyString $code, AjaxString $password1, AjaxString $password2)
 {
     try {
         Recover::verify($code->val());
     } catch (\Difra\Plugins\Users\UsersException $ex) {
         Ajaxer::notify(Locales::get('auth/recover/' . $ex->getMessage()));
         return;
     }
     // verify passwords
     $register = new \Difra\Plugins\Users\Register();
     $register->setPassword1($password1->val());
     $register->setPassword2($password2->val());
     if (!$register->validatePasswords()) {
         $register->callAjaxerEvents();
         return;
     }
     Recover::recoverSetPassword($code->val(), $password1->val());
     Cookies::getInstance()->notify(Locales::get('auth/recover/done'));
     Ajaxer::redirect('/');
 }
Ejemplo n.º 21
0
 public function updateAjaxActionAuth(Param\AjaxInt $id, Param\AjaxString $title, Param\AjaxSafeHTML $text, Param\AjaxString $tags = null)
 {
     if (!($post = Blogs\Post::getById($id))) {
         \Difra\Libs\Cookies::getInstance()->notify(\Difra\Locales::getInstance()->getXPath('blogs/notifies/post_not_found'), true);
         $this->view->redirect('/');
     }
     $Auth = \Difra\Auth::getInstance();
     if ($post->getUser() != $Auth->getEmail() && !$Auth->isModerator()) {
         $group = $post->getBlog()->getGroup();
         if (!$group or $group->getOwner() != \Difra\Auth::getInstance()->getEmail()) {
             \Difra\Libs\Cookies::getInstance()->notify(\Difra\Locales::getInstance()->getXPath('blogs/notifies/edit_post_denied'), true);
             $this->view->redirect('/');
         }
     }
     $post->setTitle($title->val());
     $post->setText($text->val());
     $post->setVisible(1);
     $post->save();
     $post = $post->getBlog()->getPost($post->getId());
     if (class_exists('Difra\\Plugins\\Tags')) {
         $tagsArray = Difra\Plugins\Tags::getInstance()->tagsFromString($tags);
         Difra\Plugins\Tags::getInstance()->update('posts', $id->val(), $tagsArray);
     }
     // убираем метку о редактировании поста
     unset($_SESSION['editPost']);
     $this->ajax->redirect($post->getUrl());
 }
Ejemplo n.º 22
0
 public function updateAjaxAction(\Difra\Param\AjaxString $title, \Difra\Param\AjaxString $eventDate, \Difra\Param\AjaxString $beginDate, \Difra\Param\AjaxInt $priorityValue, \Difra\Param\AjaxCheckbox $visible, \Difra\Param\AjaxInt $id, \Difra\Param\AjaxHTML $description, \Difra\Param\AjaxInt $group = null, \Difra\Param\AjaxString $shortDescription = null, \Difra\Param\AjaxString $endDate = null, \Difra\Param\AjaxFile $eventImage = null, \Difra\Param\AjaxData $additionalField = null, \Difra\Param\AjaxString $fromEventDate = null, \Difra\Param\AjaxInt $category = null, \Difra\Param\AjaxString $scheduleName = null, \Difra\Param\AjaxData $scheduleField = null, \Difra\Param\AjaxData $scheduleValue = null, \Difra\Param\AjaxInt $location = null, Param\AjaxInt $userId = null)
 {
     $data = ['title' => $title->val(), 'eventDate' => $eventDate->val(), 'beginDate' => $beginDate->val(), 'id' => $id->val(), 'priority' => $priorityValue->val(), 'visible' => $visible->val(), 'description' => $description];
     $data['shortDescription'] = is_null($shortDescription) ? null : $shortDescription->val();
     $data['group'] = is_null($group) ? null : $group->val();
     $data['endDate'] = is_null($endDate) ? null : $endDate->val();
     $data['category'] = is_null($category) ? null : $category->val();
     $data['fromEventDate'] = is_null($fromEventDate) ? null : $fromEventDate->val();
     $data['location'] = is_null($location) ? null : $location->val();
     if (is_null($data['fromEventDate']) || $data['fromEventDate'] == '' || $data['fromEventDate'] == 'null') {
         $data['fromEventDate'] = $eventDate->val();
     }
     // из админки пока ставим так, потом добавим выбор юзера.
     if (!is_null($userId)) {
         $data['user'] = $userId->val();
     } else {
         $data['user'] = 1;
     }
     $Announcements = \Difra\Plugins\Announcements::getInstance();
     // апдейтим анонс
     $eventId = $Announcements->create($data);
     if (is_null($eventId)) {
         $this->ajax->error(\Difra\Locales::getInstance()->getXPath('announcements/adm/notify/updateError'));
         return;
     }
     // сохраняем дополнительные поля
     if (!is_null($additionalField)) {
         \Difra\Plugins\Announcements\Additionals::saveData($eventId, $additionalField->val());
     }
     if (!is_null($eventImage)) {
         $Announcements->saveImage($eventId, $eventImage);
     }
     // смотрим есть ли расписание
     if (!is_null($scheduleField) && !is_null($scheduleValue)) {
         $scheduleName = !is_null($scheduleName) ? $scheduleName->val() : null;
         $Announcements->saveSchedules($eventId, $scheduleName, $scheduleField->val(), $scheduleValue->val());
     }
     $this->ajax->notify(\Difra\Locales::getInstance()->getXPath('announcements/adm/notify/goodUpdate'));
     $this->ajax->redirect('/adm/announcements/');
 }
Ejemplo n.º 23
0
 public function createchannelAjaxAction(Param\AjaxString $name, Param\AjaxString $mount, Param\AjaxString $siteDescription = null, Param\AjaxString $description = null, Param\AjaxString $genre = null, Param\AjaxString $url, Param\AjaxInt $bitrate, Param\AjaxInt $samplerate, Param\AjaxString $hostname, Param\AjaxInt $port, Param\AjaxString $password, Param\AjaxInt $reencode, Param\AjaxInt $debug, Param\AjaxInt $onLine, Param\AjaxInt $minSongInQuery, Param\AjaxInt $minArtistInQuery, Param\AjaxInt $tracksCount)
 {
     $errors = false;
     $Radio = \Difra\Plugins\Radio::getInstance();
     $Locales = \Difra\Locales::getInstance();
     // проверяем точку монтирования
     if ($Radio->checkMount($mount->val())) {
         $errors = true;
         $this->ajax->invalid('mount', $Locales->getXPath('radio/errors/dupMount'));
     }
     // проверяем валидность битрейта
     if (!$Radio->checkBitrate($bitrate->val())) {
         $errors = true;
         $this->ajax->invalid('bitrate', $Locales->getXPath('radio/errors/invalidBitrate'));
     }
     // проверяем сэмплрейт
     if (!$Radio->checkSampleRate($samplerate->val())) {
         $errors = true;
         $this->ajax->invalid('samplerate', $Locales->getXPath('radio/errors/invalidSampleRate'));
     }
     if (mb_strlen($password->val()) <= 6) {
         $errors = true;
         $this->ajax->invalid('password', $Locales->getXPath('radio/errors/shortPassword'));
     }
     $dataArray = ['name' => $name->val(), 'mount' => $mount->val(), 'siteDescription' => $siteDescription->val(), 'description' => $description->val(), 'genre' => $genre->val(), 'url' => $url->val(), 'bitrate' => $bitrate->val(), 'samplerate' => $samplerate->val(), 'hostname' => $hostname->val(), 'port' => $port->val(), 'password' => $password->val(), 'reencode' => $reencode->val(), 'debug' => $debug->val(), 'onLine' => $onLine->val(), 'minSongInQuery' => $minSongInQuery->val(), 'minArtistInQuery' => $minArtistInQuery->val(), 'tracksCount' => $tracksCount->val()];
     if (!$errors) {
         $result = $Radio->createChannel($dataArray);
         if ($result !== true) {
             $this->ajax->error($Locales->getXPath('radio/errors/' . $result));
         } else {
             $this->ajax->display($Locales->getXPath('radio/channelAdded') . '<br/><br/><a class="button" onclick="ajaxer.close(this); switcher.page( \'/adm/radio/channels\' )">Закрыть</a>');
         }
     }
 }
Ejemplo n.º 24
0
 public function changenameAjaxAction(\Difra\Param\AjaxInt $videoId, \Difra\Param\AjaxString $name)
 {
     $Locale = \Difra\Locales::getInstance();
     \Difra\Plugins\videoManager::getInstance()->changeName($videoId->val(), $name->val());
     $this->ajax->display($Locale->getXPath('videoManager/adm/notify/nameChanged') . '<br/><br/><a class="button" href="#" onclick="window.location.reload();">' . $Locale->getXPath('videoManager/adm/close') . '</a>');
 }
Ejemplo n.º 25
0
 public function editAjaxAction(\Difra\Param\AjaxString $host, \Difra\Param\AjaxInt $port, \Difra\Param\AnyInt $id)
 {
     \Difra\Plugins\CDN::getInstance()->saveHost($id->val(), $host->val(), $port->val());
     $this->ajax->display(\Difra\Locales::getInstance()->getXPath('cdn/adm/notify/saved') . '<div><a href="#" class="button" onclick="window.location = \'/adm/cdn/hosts\';">' . \Difra\Locales::getInstance()->getXPath('cdn/adm/close') . '</a></div>');
 }