当前位置: 首页>>代码示例>>PHP>>正文


PHP CakeEvent类代码示例

本文整理汇总了PHP中CakeEvent的典型用法代码示例。如果您正苦于以下问题:PHP CakeEvent类的具体用法?PHP CakeEvent怎么用?PHP CakeEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了CakeEvent类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: formAfterSubmit

 /**
  * Form After Submit
  *
  * フォームの保存ボタンの前後に、一覧、プレビュー、削除ボタンを配置する
  * プレビューを配置する場合は、設定にて、preview を true にする
  *
  * @param CakeEvent $event
  * @return string
  */
 public function formAfterSubmit(CakeEvent $event)
 {
     if (!BcUtil::isAdminSystem()) {
         return;
     }
     $View = $event->subject();
     $data = $View->request->data;
     if (!preg_match('/(AdminEditForm|AdminEditAliasForm)$/', $event->data['id'])) {
         return;
     }
     $output = $View->BcHtml->link('一覧に戻る', array('plugin' => '', 'admin' => true, 'controller' => 'contents', 'action' => 'index'), array('class' => 'button'));
     $setting = Configure::read('BcContents.items.' . $data['Content']['plugin'] . '.' . $data['Content']['type']);
     if (!empty($setting['preview']) && $data['Content']['type'] != 'ContentFolder') {
         $output .= "\n" . $View->BcForm->button('プレビュー', array('class' => 'button', 'id' => 'BtnPreview'));
     }
     $output .= $event->data['out'];
     if (empty($data['Content']['site_root'])) {
         if ($data['Content']['alias_id']) {
             $deleteText = '削除';
         } else {
             $deleteText = 'ゴミ箱へ移動';
         }
         $output .= $View->BcForm->button($deleteText, array('class' => 'button', 'id' => 'BtnDelete'));
     }
     return $output;
 }
开发者ID:baserproject,项目名称:basercms,代码行数:35,代码来源:BcContentsEventListener.php

示例2: formAfterEnd

 /**
  * formAfterCreate
  * 
  * @param CakeEvent $event
  * @return array
  */
 public function formAfterEnd(CakeEvent $event)
 {
     $Form = $event->subject();
     if ($Form->request->params['controller'] == 'blog_posts') {
         if (!empty($Form->request->data['PetitBlogCustomFieldConfig']['status'])) {
             // ブログ記事追加画面にプチ・カスタムフィールド編集欄を追加する
             if ($Form->request->action == 'admin_add') {
                 if ($event->data['id'] == 'BlogPostForm') {
                     $event->data['out'] = $event->data['out'] . $Form->element('PetitBlogCustomField.petit_blog_custom_field_form');
                 }
             }
             // ブログ記事編集画面にプチ・カスタムフィールド編集欄を追加する
             if ($Form->request->action == 'admin_edit') {
                 if ($event->data['id'] == 'BlogPostForm') {
                     $event->data['out'] = $event->data['out'] . $Form->element('PetitBlogCustomField.petit_blog_custom_field_form');
                 }
             }
         }
     }
     if ($Form->request->params['controller'] == 'blog_contents') {
         // ブログ設定編集画面にプチ・カスタムフィールド設定欄を表示する
         if ($Form->request->action == 'admin_edit') {
             if ($event->data['id'] == 'BlogContentAdminEditForm') {
                 $event->data['out'] = $event->data['out'] . $Form->element('PetitBlogCustomField.petit_blog_custom_field_config_form');
             }
         }
         // ブログ追加画面にプチ・カスタムフィールド設定欄を表示する
         if ($Form->request->action == 'admin_add') {
             if ($event->data['id'] == 'BlogContentAdminAddForm') {
                 $event->data['out'] = $event->data['out'] . $Form->element('PetitBlogCustomField.petit_blog_custom_field_config_form');
             }
         }
     }
     return $event->data['out'];
 }
开发者ID:gondoh,项目名称:petit_blog_custom_field,代码行数:41,代码来源:PetitBlogCustomFieldHelperEventListener.php

示例3: beforeDispatch

 /**
  * Checks if a requested asset exists and sends it to the browser
  *
  * @param CakeEvent $event containing the request and response object
  * @return mixed The resulting response.
  * @throws NotFoundException When asset not found
  */
 public function beforeDispatch(CakeEvent $event)
 {
     $url = urldecode($event->data['request']->url);
     if (strpos($url, '..') !== false || strpos($url, '.') === false) {
         return;
     }
     // CUSTOMIZE DELETE 2014/07/02 ryuring
     // >>>
     /*if ($result = $this->_filterAsset($event)) {
     			$event->stopPropagation();
     			return $result;
     		}*/
     // <<<
     $assetFile = $this->_getAssetFile($url);
     if ($assetFile === null || !file_exists($assetFile)) {
         return null;
     }
     $response = $event->data['response'];
     $event->stopPropagation();
     $response->modified(filemtime($assetFile));
     if ($response->checkNotModified($event->data['request'])) {
         return $response;
     }
     $pathSegments = explode('.', $url);
     $ext = array_pop($pathSegments);
     $this->_deliverAsset($response, $assetFile, $ext);
     return $response;
 }
开发者ID:kenz,项目名称:basercms,代码行数:35,代码来源:BcAssetDispatcher.php

示例4: modelConstruct

 public function modelConstruct(CakeEvent $Event)
 {
     $Model = $Event->subject();
     // Because, by default, the SQL is only logged and displayed if debug > 2; using the `DebugKit`
     // new 'autoRun' and/or 'forceEnable' still doesn't help in profiling SQL calls in production.
     // This will force the current model's datasource to log all SQL calls ONLY when in production
     // mode and DebugKit is used with either 'autoRun' or 'forceEnable'.
     if (Reveal::is('DebugKit.running') && !Reveal::is('Page.test')) {
         $Model->getDatasource()->fullDebug = true;
     }
     if (!isset($Model->belongsToForeignModels)) {
         return;
     }
     // Get all foreign models used if not defined by current model.
     if (empty($Model->belongsToForeignModels)) {
         $foreignModels = $Model->find('all', array('fields' => array('DISTINCT' => 'foreign_model'), 'recursive' => -1, 'callbacks' => false));
         foreach ($foreignModels as $foreignModel) {
             // Rarely, some tokens are not associated with any other model.
             if (empty($foreignModel[$Model->alias]['foreign_model'])) {
                 continue;
             }
             list($plugin, $name) = pluginSplit($foreignModel[$Model->alias]['foreign_model']);
             $Model->belongsToForeignModels[$name] = array('className' => $foreignModel[$Model->alias]['foreign_model'], 'foreignKey' => 'foreign_key', 'conditions' => null, 'fields' => null, 'order' => null, 'counterCache' => false);
         }
     }
     // Associate foreign `belongsTo` models.
     $Event->result = Hash::merge((array) $Event->result, array('belongsTo' => array_merge($Model->belongsTo, $Model->belongsToForeignModels)));
 }
开发者ID:gourmet,项目名称:common,代码行数:28,代码来源:CommonEventListener.php

示例5: onAdminLoginSuccessful

 /**
  * onAdminLoginSuccessful
  *
  * @param CakeEvent $event
  * @return void
  */
 public function onAdminLoginSuccessful($event)
 {
     $Controller = $event->subject();
     $message = __('Welcome %s.  Have a nice day', $Controller->Auth->user('name'));
     $Controller->Session->setFlash($message);
     $Controller->redirect(array('admin' => true, 'plugin' => 'example', 'controller' => 'example', 'action' => 'index'));
 }
开发者ID:laiello,项目名称:plankonindia,代码行数:13,代码来源:ExampleEventHandler.php

示例6: formAfterInput

 /**
  * formAfterInput
  * 
  * @param CakeEvent $event
  * @return string
  */
 public function formAfterInput(CakeEvent $event)
 {
     if (!BcUtil::isAdminSystem()) {
         return $event->data['out'];
     }
     $View = $event->subject();
     if (!in_array($View->request->params['controller'], $this->targetController)) {
         return $event->data['out'];
     }
     if (!in_array($View->request->params['action'], $this->targetAction)) {
         return $event->data['out'];
     }
     if (!isset($View->request->data['KeywordConfig'])) {
         return $event->data['out'];
     }
     if (!$View->request->data['KeywordConfig']['status']) {
         return $event->data['out'];
     }
     // 固定ページ:入力欄の下にキーワード入力欄を表示する
     if ($event->data['fieldName'] == 'Page.description') {
         $event->data['out'] = $event->data['out'] . $View->element('Keyword.keyword_form');
     }
     // ブログ記事:記事タイトル入力欄の下にキーワード入力欄を表示する
     if ($event->data['fieldName'] == 'BlogPost.name') {
         $event->data['out'] = $event->data['out'] . $View->element('Keyword.keyword_form');
     }
     return $event->data['out'];
 }
开发者ID:ichi280,项目名称:keyword,代码行数:34,代码来源:KeywordHelperEventListener.php

示例7: beforeDispatch

 /**
  * Checks whether the response was cached and set the body accordingly.
  *
  * @param CakeEvent $event containing the request and response object
  * @return CakeResponse with cached content if found, null otherwise
  */
 public function beforeDispatch(CakeEvent $event)
 {
     if (Configure::read('Cache.check') !== true) {
         return;
     }
     $path = $event->data['request']->here();
     if ($path === '/') {
         $path = 'home';
     }
     $prefix = Configure::read('Cache.viewPrefix');
     if ($prefix) {
         $path = $prefix . '_' . $path;
     }
     $path = strtolower(Inflector::slug($path));
     $filename = CACHE . 'views' . DS . $path . '.php';
     if (!file_exists($filename)) {
         $filename = CACHE . 'views' . DS . $path . '_index.php';
     }
     if (file_exists($filename)) {
         $controller = null;
         $view = new View($controller);
         $result = $view->renderCache($filename, microtime(true));
         if ($result !== false) {
             $event->stopPropagation();
             $event->data['response']->body($result);
             return $event->data['response'];
         }
     }
 }
开发者ID:ophilli,项目名称:Inventory,代码行数:35,代码来源:CacheDispatcher.php

示例8: beforeDispatch

 public function beforeDispatch(CakeEvent $event)
 {
     $MaintenanceMode = Configure::read('MaintenanceMode');
     /* Not in maintenance mode*/
     if (!$MaintenanceMode['enabled']) {
         return;
     }
     /* Allow access from following IPS*/
     if (!empty($MaintenanceMode['ip_filters'])) {
         if (!is_array($MaintenanceMode['ip_filters'])) {
             $ips = array($MaintenanceMode['ip_filters']);
         } else {
             $ips = $MaintenanceMode['ip_filters'];
         }
         $userIP = $this->_getUserIpAddr();
         foreach ($ips as $ip) {
             if ($this->_compareIp($userIP, $ip)) {
                 return;
             }
         }
     }
     $statusCode = 503;
     $body = 'Currently undergoing maintenance';
     if (!empty($MaintenanceMode['code'])) {
         $statusCode = $MaintenanceMode['code'];
     }
     if (!empty($MaintenanceMode['view']['template'])) {
         $View = $this->_getView();
         $body = $View->render($MaintenanceMode['view']['template'], $MaintenanceMode['view']['layout']);
     }
     $event->data['response']->statusCode($statusCode);
     $event->data['response']->body($body);
     $event->stopPropagation();
     return $event->data['response'];
 }
开发者ID:awebdeveloper,项目名称:cakephp-maintenance-mode,代码行数:35,代码来源:MaintenanceMode.php

示例9: testPropagation

 /**
  * Tests the event propagation stopping property
  *
  * @return void
  * @triggers fake.event
  */
 public function testPropagation()
 {
     $event = new CakeEvent('fake.event');
     $this->assertFalse($event->isStopped());
     $event->stopPropagation();
     $this->assertTrue($event->isStopped());
 }
开发者ID:keetamhoang,项目名称:lotdephong,代码行数:13,代码来源:CakeEventTest.php

示例10: afterRender

 /**
  * After Render
  * 
  * @param CakeEvent $event
  */
 public function afterRender(CakeEvent $event)
 {
     if (BcUtil::isAdminSystem()) {
         return;
     }
     $View = $event->subject();
     $this->_execShortCode($View);
 }
开发者ID:baserproject,项目名称:basercms,代码行数:13,代码来源:BcShortCodeEventListener.php

示例11: onLogin

 /**
  * AuthController onLogin
  * @param CakeEvent $event
  */
 public function onLogin($event)
 {
     $this->log(__("User '%s' just logged in", $event->data['username']), 'auth');
     //Write LastLogin Date
     $event->subject()->BackendUser->id = $event->data['id'];
     $event->subject()->BackendUser->saveField('last_login', date("Y-m-d H:i:s"));
     //return $redirectUri;
 }
开发者ID:fm-labs,项目名称:cakephp-backend,代码行数:12,代码来源:BackendEventListener.php

示例12: blogBlogBeforeRender

 /**
  * 拡張BlogHelperを呼び出しに追加
  *
  */
 public function blogBlogBeforeRender(CakeEvent $event)
 {
     $path = App::pluginPath('ExHelper');
     // ヘルパーのパスを追加
     App::build(array('View/Helper' => array($path . 'View' . DS . 'Helper' . DS)), APP::APPEND);
     $Controller = $event->subject();
     $Controller->helpers[] = 'ExBlog';
 }
开发者ID:n1215,项目名称:ExHelper,代码行数:12,代码来源:ExHelperControllerEventListener.php

示例13: onSubscribeNewTopic

 /**
  * Start the keep alive timer when the first client subscribes
  *
  * @param CakeEvent $event
  */
 public function onSubscribeNewTopic(CakeEvent $event)
 {
     if (Configure::read('Ratchet.Connection.keepaliveInterval') > 0) {
         $this->__timer = $this->__loop->addPeriodicTimer(Configure::read('Ratchet.Connection.keepaliveInterval'), function () use($event) {
             $event->subject()->broadcast('Rachet.connection.keepAlive', ['ping']);
         });
         $event->subject()->broadcast('Rachet.connection.keepAlive', ['ping']);
     }
 }
开发者ID:schnauss,项目名称:Ratchet,代码行数:14,代码来源:RatchetKeepAliveListener.php

示例14: handleAfterCreateComment

 /**
  * Test event listener for before create comment
  *
  * @param CakeEvent $event
  * @return mixed
  */
 public function handleAfterCreateComment(CakeEvent $event)
 {
     $data = $event->data;
     $model = $event->subject();
     $comment = $model->Comment->read(null, $data['Comment']['id']);
     $comment['Comment']['body'] = 'Changed in afterComment!';
     $model->Comment->save($comment);
     return $data;
 }
开发者ID:jxav,项目名称:comments,代码行数:15,代码来源:CommentEventListener.php

示例15: blogBlogStartup

 function blogBlogStartup(CakeEvent $event)
 {
     $Controller = $event->subject();
     if (!isset($Controller->contentId) || $Controller->contentId != Configure::read('BlogShare.contentId')) {
         return;
     }
     $dbConfigName = Configure::read('BlogShare.dbConfigName');
     $Controller->BlogPost->setDataSource($dbConfigName);
     $Controller->BlogPost->BlogCategory->setDataSource($dbConfigName);
     $Controller->BlogPost->BlogTag->setDataSource($dbConfigName);
 }
开发者ID:ryuring,项目名称:basercms-blog_share,代码行数:11,代码来源:BlogShareControllerEventListener.php


注:本文中的CakeEvent类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。