Example #1
0
 /**
  * ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².
  *
  * ВытаскиваСт ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΡƒΡ€Π»Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, Π² ΠΏΠ°Ρ€Π΅ с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ
  * Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π² частности β€” ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ year, month, day.
  *
  * @return array ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.
  *
  * @param Context $ctx контСкст Π²Ρ‹Π·ΠΎΠ²Π°.
  */
 protected function getRequestOptions(Context $ctx, array $params)
 {
     if (is_array($options = parent::getRequestOptions($ctx, $params))) {
         // НуТно для подавлСния ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ.
         $options['apath'] = $ctx->query();
         // Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ парсим ΡƒΡ€Π», Ρ‚.ΠΊ. Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ΄Π³Π»ΡΠ΄Ρ‹Π²Π°Ρ‚ΡŒ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°ΠΌΠΈ.
         // FIXME: это Π½Π°Π΄ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ· контСкста.
         $url = bebop_split_url();
         if (!empty($url['args'][$this->host])) {
             // ВытаскиваСм Π½ΡƒΠΆΠ½Ρ‹Π΅ Π½Π°ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.
             foreach (array('year', 'month', 'day') as $key) {
                 // ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΆΠ΅ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ.
                 if (!array_key_exists($key, $url['args'][$this->host])) {
                     break;
                 }
                 // Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π°ΠΉΠ΄Π΅Π½ -- сохраняСм Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.
                 $options[$key] = $url['args'][$this->host][$key];
             }
         }
     }
     // Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ.
     foreach (array('year', 'month', 'day') as $key) {
         if (array_key_exists($key, $options)) {
             $options['current'][$key] = $options[$key];
         } elseif (array_key_exists($k = $this->host . '_' . $key, $_GET)) {
             $options['current'][$key] = $_GET[$k];
         }
     }
     return $options;
 }
Example #2
0
 /**
  * ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².
  *
  * @param Context $ctx контСкст запроса.
  *
  * @return array ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.
  */
 protected function getRequestOptions(Context $ctx, array $params)
 {
     $options = parent::getRequestOptions($ctx, $params);
     $options['uid'] = $this->ctx->user->id;
     // $this->get('uid');
     $options['#cache'] = false;
     return $options;
 }
Example #3
0
 protected function getRequestOptions(Context $ctx, array $params)
 {
     $options = parent::getRequestOptions($ctx, $params);
     $options['q'] = $this->get('query');
     $options['page'] = $this->get('page', 1);
     $options['limit'] = $this->per_page;
     $options['#cache'] = false;
     return $options;
 }
 /**
  * ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².
  *
  * @param Context $ctx контСкст запроса.
  *
  * @return array массив с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.
  */
 protected function getRequestOptions(Context $ctx, array $params)
 {
     $options = parent::getRequestOptions($ctx, $params);
     if (!$params['document']) {
         return false;
     }
     $options['doc'] = $params['document']['id'];
     $options['classes'] = $this->classes;
     $options['field'] = $this->field;
     $options['sort'] = $this->sort;
     return $options;
 }
Example #5
0
 protected function getRequestOptions(Context $ctx, array $params)
 {
     $options = parent::getRequestOptions($ctx, $params);
     $options['uid'] = $ctx->user->id;
     $options['mode'] = $this->get('mode');
     if (null === ($options['rel'] = $params['document'])) {
         $options['relname'] = null;
     } elseif ('user' == $ctx->document->class) {
         $options['relname'] = empty($ctx->document->fullname) ? $ctx->document->name : $ctx->document->fullname;
     } else {
         $options['relname'] = $ctx->document->name;
     }
     return $this->options = $options;
 }
Example #6
0
 /**
  * ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².
  *
  * Π’Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΈΠ· ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ контСкстС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, относящиСся ΠΊ этому Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρƒ.
  *
  * @param Context $ctx контСкст запроса.
  *
  * @return array массив с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ.
  */
 protected function getRequestOptions(Context $ctx, array $params)
 {
     $options = parent::getRequestOptions($ctx, $params);
     if ($this->onlyiflast and isset($params['document'])) {
         return $this->halt();
     }
     if ('root' == $this->fixed) {
         $options['section'] = $params['root'];
     } elseif ('always' == $this->fallbackmode and $this->fixed) {
         $options['section'] = array('id' => $this->fixed);
     } elseif ($params['section']) {
         $options['section'] = $params['section'];
     }
     if (!empty($this->types)) {
         $options['classes'] = array_intersect((array) $this->types, $ctx->user->getAccess(ACL::READ));
     }
     if ($this->onlyathome and $options['section'] != $params['root']) {
         return $this->halt();
     }
     if ($this->skipcurrent and isset($options['document'])) {
         $options['document'] = $options['document']['id'];
     }
     if (is_array($tmp = $this->get('classes'))) {
         $options['filter']['class'] = array_unique($tmp);
     }
     // ДобавляСм Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΏΠΎ Π°Ρ€Ρ…ΠΈΠ²Ρƒ.
     foreach (array('year', 'month', 'day') as $key) {
         if (null === ($tmp = $this->get($key))) {
             break;
         }
         $options['filter']['node.created.' . $key] = $tmp;
     }
     // ДобавляСм Π²Ρ‹Π±ΠΎΡ€ страницы.
     if ($options['limit'] = $this->get('limit', $this->limit)) {
         if ($this->pager) {
             $options['page'] = $this->get('page', 1);
         } else {
             $options['page'] = 1;
         }
         $options['offset'] = ($options['page'] - 1) * $options['limit'];
     } else {
         $options['offset'] = null;
     }
     // ДобавляСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ.
     if ($tmp = $this->get('filter')) {
         $options['filter'] = $tmp;
     }
     $options['sort'] = $this->get('sort', $this->sort);
     return $options;
 }
Example #7
0
 protected function getRequestOptions(Context $ctx, array $params)
 {
     $options = parent::getRequestOptions($ctx, $params);
     $options['#cache'] = false;
     $options['action'] = $this->get('action', 'status');
     $options['vote'] = $this->get('vote');
     if (!($options['node'] = $params['document'])) {
         return $this->halt();
     }
     if (null !== ($options['rate'] = $this->get('rate'))) {
         $options['action'] = 'rate';
     }
     return $options;
 }
Example #8
0
 /**
  * ВытаскиваСт ΠΈΠ· контСкста ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.
  *
  * @return array ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹
  *
  * @param Context $ctx контСкст запроса.  Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ GET-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:
  * action, ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»Π° (Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ сосСдях), ΠΊΠΎΠ΄
  * Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° (Ссли Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ фиксированного Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°).
  */
 protected function getRequestOptions(Context $ctx, array $params)
 {
     $options = parent::getRequestOptions($ctx, $params);
     $options['action'] = 'view';
     if ($this->fixed) {
         $options['document'] = array('id' => $this->fixed);
     } elseif (!($options['document'] = $params['document'])) {
         return $this->halt();
         $options['section'] = $params['section'];
         if (null === ($options['action'] = $this->get('action', $this->mode))) {
             $options['action'] = 'view';
         }
     }
     return $options;
 }
Example #9
0
 protected function getRequestOptions(Context $ctx, array $params)
 {
     $options = parent::getRequestOptions($ctx, $params);
     $options['#cache'] = false;
     // Π Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ задаётся администратором, Π½ΠΎ пСрСопрСдСляСтся ΠΈΠ·Π²Π½Π΅.
     $options['mode'] = $this->get('mode', 'simple');
     // Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ²Π°Ρ€Π°.
     if (null !== ($options['add'] = $this->get('add'))) {
         $options['mode'] = 'add';
         $options['qty'] = $this->get('qty', 1);
     }
     if (empty($options['mode'])) {
         throw new WidgetHaltedException();
     }
     return $options;
 }
Example #10
0
 protected function getRequestOptions(Context $ctx, array $params)
 {
     $options = parent::getRequestOptions($ctx, $params);
     $options['status'] = $this->get('status');
     $options['mode'] = $this->mode;
     if (empty($options['mode'])) {
         $options['mode'] = 'list';
     }
     if ('linked' == $options['mode']) {
         $options['mode'] = 'list';
     }
     switch ($options['mode']) {
         case 'list':
             switch ($this->startwith) {
                 case 'last':
                     $options['default'] = 'last';
                     if (!($options['doc'] = $params['document'])) {
                         return $this->halt();
                     }
                     break;
                 case 'first':
                     $options['default'] = 1;
                     if (!($options['doc'] = $params['document'])) {
                         return $this->halt();
                     }
                     break;
                 case 'tracker':
                     $options['default'] = 1;
                     $options['action'] = 'tracker';
                     $options['doc'] = $params['document'];
                     if (null === $this->perpage) {
                         return $this->halt();
                     }
                     break;
             }
             break;
         case 'last':
             break;
     }
     if (empty($options['default'])) {
         $options['default'] = 1;
     }
     $options['page'] = $this->get('page', $options['default']);
     return $options;
 }
Example #11
0
 protected function getRequestOptions(Context $ctx, array $params)
 {
     $options = parent::getRequestOptions($ctx, $params);
     if ($params['section'] or $params['document']) {
         mcms::debug("Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ {$this->getInstanceName()} Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° страницах, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΊΠΎΠ΄ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π° ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.");
         throw new WidgetHaltedException();
     }
     if (count($ctx->apath) == 1) {
         $options['user'] = $ctx->apath[0];
     } elseif (count($ctx->apath) > 1) {
         throw new PageNotFoundException();
     } else {
         $options['user'] = null;
     }
     $options['limit'] = $this->limit ? $this->limit : 10;
     $options['page'] = $this->get('page', 1);
     return $options;
 }
Example #12
0
 /**
  * ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².
  *
  * @param Context $ctx контСкст запроса.
  *
  * @return array Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΈΠ· контСкста ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, относящиСся ΠΊ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρƒ.
  */
 protected function getRequestOptions(Context $ctx, array $params)
 {
     $options = parent::getRequestOptions($ctx, $params);
     $options['root'] = $params['section']['id'];
     switch ($this->fixed) {
         case 'root':
             $options['root'] = $params['root']['id'];
             break;
         case 'parent':
             $options['parent'] = true;
             break;
         default:
             if (is_numeric($this->fixed)) {
                 $options['root'] = $this->fixed;
             }
     }
     return $this->options = $options;
 }
Example #13
0
 /**
  * ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².
  *
  * @param Context $ctx ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса.
  *
  * @return array массив с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.
  */
 protected function getRequestOptions(Context $ctx, array $params)
 {
     $options = parent::getRequestOptions($ctx, $params);
     if ($this->forcefixed) {
         if ('page' == ($options['root'] = $this->fixed)) {
             $options['root'] = $params['root'];
         }
     } else {
         $options['root'] = $params['section'];
     }
     $options['dynamic'] = $params['section'] !== null;
     if ($this->illcache) {
         $options['anchor'] = $params['section'];
     }
     if (!empty($options['root']) and !is_numeric($options['root']) and !is_object($options['root'])) {
         throw new InvalidArgumentException(t('ВмСсто ΠΊΠΎΠ΄Π° Ρ€Π°Π·Π΄Π΅Π»Π° Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ %name ΠΏΡ€ΠΈΡˆΡ‘Π» ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ мусор: %trash.', array('%name' => $this->name, '%trash' => $options['root'])));
     }
     return $options;
 }
Example #14
0
 public function getRequestOptions(Context $ctx, array $params)
 {
     $options = parent::getRequestOptions($ctx, $params);
     $options['type'] = $this->get('type', $this->type);
     $options['default'] = $this->get('default', array());
     $options['#cache'] = false;
     if (null === ($options['root'] = $params['section']['id'])) {
         $options['root'] = $this->section_default;
     }
     if ('default' != ($options['status'] = $this->get('status', 'default'))) {
         $options['node'] = $this->get('node');
     }
     $options['stripped'] = empty($this->stripped) ? 0 : 1;
     if (null !== ($tmp = $this->get('parent')) and is_numeric($tmp)) {
         $options['parent_id'] = intval($tmp);
     } else {
         $options['parent_id'] = null;
     }
     return $this->options = $options;
 }
 protected function getRequestOptions(Context $ctx, array $params)
 {
     $options = parent::getRequestOptions($ctx, $params);
     $options['#cache'] = false;
     return $options;
 }
Example #16
0
 /**
  * ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².
  *
  * @param Context $ctx контСкст запроса.
  *
  * @return array массив с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°.
  */
 protected function getRequestOptions(Context $ctx, array $params)
 {
     $options = parent::getRequestOptions($ctx, $params);
     $options['types'] = $this->classes;
     return $options;
 }