Beispiel #1
1
 private static function getPrefixCookieName()
 {
     try {
         $ua = new Zend_Http_UserAgent();
         return $ua->getDevice()->getType() . $ua->getDevice()->getBrowser();
     } catch (Exception $e) {
         return 'unknowdevice';
     }
 }
Beispiel #2
0
 /**
  * Рисуем элемент
  *
  * @param string $name Имя HTML-элемента
  * @param mixed $value Значение элемента
  * @param array $params Массив параметров
  * @param array $attribs Массив атрибутов HTML-элемента
  * @return string
  */
 public function mediaFile($name, $value = null, array $params = array(), $attribs = null)
 {
     $translate = $params['translate'];
     unset($params['translate']);
     $jquery_handler = ZendX_JQuery_View_Helper_JQuery::getJQueryHandler();
     /**
      * Переделываем свойство mediatype в data-mediatype (для совместимости с JQuery.data())
      */
     if (!isset($params['mediatype'])) {
         $params['mediatype'] = 'image';
     }
     $params['data-mediatype'] = $params['mediatype'];
     unset($params['mediatype']);
     /**
      * Имя элемента типа File делаем просто рандомным, на форме обрабатываться будет поле hidden
      */
     $params['id'] = uniqid();
     /**
      * Значение может быть массивом MediaInfo или числом mediaid
      * Если значение не является массивом, то приводим его к массиву MediaInfo
      */
     if (!is_array($value) && $value > 0) {
         require_once 'Phorm/Media.php';
         $Media = new Phorm_Media();
         if ($MediaInfo = $Media->getMediaInfo($value)) {
             $value = $MediaInfo;
         }
     }
     /**
      * Добавляем базовый JS
      */
     //$this->jquery->addJavascriptFile($this->view->BaseUrl().'/ui/phorm/phorm.js');
     $this->jquery->addJavascriptFile($this->view->BaseUrl() . '/ui/js/jquery.livequery.min.js');
     $this->jquery->addJavascriptFile($this->view->BaseUrl() . '/ui/blueimp/js/jquery.fileupload.js');
     /** @todo мб перенести в phorm.js поскольку подпорка под IE требует переопределения Phorm_Controller_Module_Control_Media::uploadAction */
     $forceIframeTransport = false;
     $agent = new Zend_Http_UserAgent();
     $device = $agent->getDevice();
     if (strtolower($device->getBrowser()) == 'internet explorer' && $device->getBrowserVersion() <= 8) {
         $this->jquery->addJavascriptFile($this->view->BaseUrl() . '/ui/blueimp/js/jquery.iframe-transport.js');
         $forceIframeTransport = true;
     }
     $url = isset($params['url']) ? ', url: "' . $params['url'] . '"' : '';
     $js = sprintf('var %s; %s("#%s").livequery(function(){%s = %s(this).phormMediaUploader(%s)});', 'var_' . $params['id'], $jquery_handler, $params['id'], 'var_' . $params['id'], $jquery_handler, '{type:"' . $params['data-mediatype'] . '", forceIframeTransport: ' . (int) $forceIframeTransport . $url . '}');
     $js = sprintf('%s("%s").livequery(function(){%s(this).phormMediaUploader(%s).setValue($(this).data("mediainfo"))});', $jquery_handler, '[data-mediatype]', $jquery_handler, '{type:"' . $params['data-mediatype'] . '", forceIframeTransport: ' . (int) $forceIframeTransport . $url . '}');
     $this->jquery->addOnLoad($js);
     /**
      * Устанавливаем пришедшие значения
      */
     if (!empty($value)) {
         $params['data-mediainfo'] = Zend_Json::encode($value);
         //$js = sprintf('%s.setValue(%s)','var_' . $params['id'],Zend_Json::encode($value));
         //$this->jquery->addOnLoad($js);
     }
     /**
      * Возвращаем поле выбора файла и hidden в котором хранится mediaid
      */
     return $this->view->formFile($params['id'], $params) . $this->view->formHidden($name);
 }
Beispiel #3
0
 public function indexAction()
 {
     $request = $this->getRequest();
     $form = new Application_Form_Index();
     $sort = new Application_Form_Sort();
     $messages = new Application_Model_DbTable_Message();
     $users = new Application_Model_DbTable_User();
     if ($request->isPost()) {
         if (isset($request->getPost()['submit2'])) {
             $yandex = new Application_Model_YandexReferat();
             $message['name'] = 'Иван';
             $message['email'] = '*****@*****.**';
             $message['title'] = $yandex->yandex_referat()['title'];
             $message['text'] = $yandex->yandex_referat()['body'];
             $user = $users->getUser(NULL, $message['email']);
             if (empty($user)) {
                 $userAgent = new Zend_Http_UserAgent();
                 $user_id = $users->addUser($message['name'], $message['email'], $userAgent->getDevice()->getUserAgent());
             } else {
                 $user_id = $user['user_id'];
             }
             $messages->addMessage($user_id, $message['title'], $message['text']);
             $this->_helper->redirector('index');
         } else {
             if ($form->isValid($request->getPost())) {
                 $messages = new Application_Model_DbTable_Message();
                 $users = new Application_Model_DbTable_User();
                 $message = $form->getValues();
                 $user = $users->getUser(NULL, $message['email']);
                 if (empty($user)) {
                     $userAgent = new Zend_Http_UserAgent();
                     $user_id = $users->addUser($message['name'], $message['email'], $userAgent->getDevice()->getUserAgent());
                 } else {
                     $user_id = $user['user_id'];
                 }
                 $messages->addMessage($user_id, $message['title'], $message['text']);
                 $this->_helper->redirector('index');
             }
         }
     }
     $this->view->form = $form;
     $this->view->sort = $sort;
     if (isset($request->getQuery()['sort'])) {
         $sortable = $request->getQuery();
         $sort->populate(array('sortby' => $sortable['sortby'], 'orderby' => $sortable['orderby']));
     } else {
         $sortable['sortby'] = 'message_id';
         $sortable['orderby'] = 'ASC';
     }
     $page_messages = $messages->getMessages($sortable);
     $paginator = Zend_Paginator::factory($page_messages);
     $page = $this->_getParam('page', 1);
     $paginator->setCurrentPageNumber($page);
     $paginator->setItemCountPerPage(5);
     $this->view->messages = $paginator;
 }
 /**
  * @group ZF-10595
  */
 public function testAGroupDefinedAndSerialized()
 {
     $config = $this->config;
     $userAgent = new Zend_Http_UserAgent($config);
     $device = $userAgent->getDevice();
     $userAgent = unserialize(serialize($userAgent));
     $device = $userAgent->getDevice();
     $groups = $device->getAllGroups();
 }
<?php

$exampleUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';
$userAgent = new \Zend_Http_UserAgent();
$userAgent->setUserAgent($exampleUserAgent);
$device = @$userAgent->getDevice();
echo $device->getBrowser();
exit;