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


PHP Croogo::dispatchEvent方法代码示例

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


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

示例1: associate

 public function associate()
 {
     $provider = $this->request->param('provider');
     if (empty($provider)) {
         throw new NotFoundException('Invalid provider');
     }
     $this->set(compact('provider'));
     if ($this->request->data('confirm_association')) {
         $this->User->recursive = -1;
         $originalUser = $this->User->findById($this->Auth->user('id'));
         $this->Session->write('Socialites.originalUser', $originalUser);
         switch ($provider) {
             case 'twitter':
                 $eventName = 'Socialites.oauthAuthorize';
                 $event = Croogo::dispatchEvent($eventName, $this);
                 return $this->redirect();
                 break;
             default:
                 $config = Configure::read('Socialites.Providers.' . $provider);
                 $fqcn = Configure::read('SocialitesProviderRegistry.' . $provider);
                 $Provider = new $fqcn($config);
                 return $this->redirect($Provider->getAuthorizationUrl());
                 break;
         }
     } else {
         if (!$this->Auth->user('id')) {
             $this->Session->setFlash(__d('socialites', 'You are not logged in'), 'flash');
             return $this->redirect($this->referer());
         }
     }
 }
开发者ID:xintesa,项目名称:socialites,代码行数:31,代码来源:SocialitesUsersController.php

示例2: admin_process

 public function admin_process()
 {
     $action = $this->request->data['Edition']['action'];
     $ids = array();
     foreach ($this->request->data['Edition'] as $id => $value) {
         if ($id != 'action' && $value['id'] == 1) {
             $ids[] = $id;
         }
     }
     if (count($ids) == 0 || $action == null) {
         $this->Session->setFlash(__d('croogo', 'No items selected.'), 'default', array('class' => 'error'));
         $this->redirect(array('action' => 'index'));
     }
     $actionProcessed = $this->Edition->processAction($action, $ids);
     $eventName = 'Controller.Editions.after' . ucfirst($action);
     if ($actionProcessed) {
         switch ($action) {
             case 'delete':
                 $messageFlash = __d('croogo', 'Edições excluidas!');
                 break;
             case 'publish':
                 $messageFlash = __d('croogo', 'Edições publicadas!');
                 break;
             case 'unpublish':
                 $messageFlash = __d('croogo', 'Edições despublicadas');
                 break;
         }
         $this->Session->setFlash($messageFlash, 'default', array('class' => 'success'));
         Croogo::dispatchEvent($eventName, $this, compact($ids));
     } else {
         $this->Session->setFlash(__d('croogo', 'An error occurred.'), 'default', array('class' => 'error'));
     }
     $this->redirect(array('action' => 'index'));
 }
开发者ID:progerio,项目名称:plugins,代码行数:34,代码来源:EditionsController.php

示例3: saveUrl

 public function saveUrl($data)
 {
     $event = Croogo::dispatchEvent('Model.Node.beforeSaveNode', $this, compact('data'));
     $this->saveWithMeta($event->data['data']);
     $event = Croogo::dispatchEvent('Model.Node.afterSaveNode', $this, $event->data);
     return true;
 }
开发者ID:xintesa,项目名称:seolite,代码行数:7,代码来源:SeoLiteUrl.php

示例4: filterBlockShortcode

 /**
  * Filter block shortcode in node body, eg [block:snippet] and replace it with
  * the block content
  *
  * @param CakeEvent $event
  * @return void
  */
 public function filterBlockShortcode($event)
 {
     static $converter = null;
     if (!$converter) {
         $converter = new StringConverter();
     }
     $View = $event->subject;
     $body = null;
     if (isset($event->data['content'])) {
         $body =& $event->data['content'];
     } elseif (isset($event->data['node'])) {
         $body =& $event->data['node'][key($event->data['node'])]['body'];
     }
     $parsed = $converter->parseString('block|b', $body, array('convertOptionsToArray' => true));
     $regex = '/\\[(block|b):([A-Za-z0-9_\\-]*)(.*?)\\]/i';
     foreach ($parsed as $blockAlias => $config) {
         $block = $View->Regions->block($blockAlias);
         preg_match_all($regex, $body, $matches);
         if (isset($matches[2][0])) {
             $replaceRegex = '/' . preg_quote($matches[0][0]) . '/';
             $body = preg_replace($replaceRegex, $block, $body);
         }
     }
     Croogo::dispatchEvent('Helper.Layout.beforeFilter', $View, array('content' => &$body, 'options' => array()));
 }
开发者ID:ahmadhasankhan,项目名称:croogo,代码行数:32,代码来源:BlocksEventHandler.php

示例5: testVocabularyShortcode

 /**
  * Test [vocabulary] shortcode
  */
 public function testVocabularyShortcode()
 {
     $content = '[vocabulary:categories type="blog"]';
     $this->View->viewVars['vocabularies_for_layout']['categories'] = array('Vocabulary' => array('id' => 1, 'title' => 'Categories', 'alias' => 'categories'), 'threaded' => array());
     Croogo::dispatchEvent('Helper.Layout.beforeFilter', $this->View, array('content' => &$content));
     $this->assertContains('vocabulary-1', $content);
     $this->assertContains('class="vocabulary"', $content);
 }
开发者ID:dlpc,项目名称:CakeWX,代码行数:11,代码来源:TaxonomiesHelperTest.php

示例6: testNodeShortcode

 /**
  * Test [node] shortcode
  */
 public function testNodeShortcode()
 {
     $content = '[node:recent_posts conditions="Node.type:blog" order="Node.id DESC" limit="5"]';
     $this->View->viewVars['nodes_for_layout']['recent_posts'] = array(array('Node' => array('id' => 1, 'title' => 'Hello world', 'slug' => 'hello-world', 'type' => 'blog')));
     Croogo::dispatchEvent('Helper.Layout.beforeFilter', $this->View, array('content' => &$content));
     $this->assertContains('node-list-recent_posts', $content);
     $this->assertContains('class="node-list"', $content);
 }
开发者ID:Demired,项目名称:CakeWX,代码行数:11,代码来源:NodesHelperTest.php

示例7: testMenuShortcode

 /**
  * Test [menu] shortcode
  */
 public function testMenuShortcode()
 {
     $content = '[menu:blogroll]';
     $this->View->viewVars['menus_for_layout']['blogroll'] = array('Menu' => array('id' => 6, 'title' => 'Blogroll', 'alias' => 'blogroll'), 'threaded' => array());
     Croogo::dispatchEvent('Helper.Layout.beforeFilter', $this->View, array('content' => &$content));
     $this->assertContains('menu-6', $content);
     $this->assertContains('class="menu"', $content);
 }
开发者ID:saydulk,项目名称:croogo,代码行数:11,代码来源:MenusHelperTest.php

示例8: beforeDelete

 public function beforeDelete($cascade = true)
 {
     if (!parent::beforeDelete($cascade)) {
         return false;
     }
     $Event = Croogo::dispatchEvent('FileStorage.beforeDelete', $this, array('cascade' => $cascade, 'adapter' => $this->field('adapter')));
     if ($Event->isStopped()) {
         return false;
     }
     return true;
 }
开发者ID:maps90,项目名称:Assets,代码行数:11,代码来源:AssetsAsset.php

示例9: status

 /**
  * Gets valid statuses based on type
  *
  * @param string $type Status type if applicable
  * @return array Array of statuses
  */
 public function status($statusType = 'publishing', $accessType = 'public')
 {
     $values = $this->_defaultStatus($statusType);
     $data = compact('statusType', 'accessType', 'values');
     $event = Croogo::dispatchEvent('Croogo.Status.status', null, $data);
     if (array_key_exists('values', $event->data)) {
         return $event->data['values'];
     } else {
         return $values;
     }
 }
开发者ID:saydulk,项目名称:croogo,代码行数:17,代码来源:CroogoStatus.php

示例10: testDispatchHelperEvents

 /**
  * testDispatchHelperEvents
  */
 public function testDispatchHelperEvents()
 {
     $eventNames = array('Helper.Layout.afterFilter', 'Helper.Layout.beforeFilter');
     App::uses('View', 'View');
     $View = new View();
     foreach ($eventNames as $name) {
         $event = Croogo::dispatchEvent($name, $View);
         $this->assertTrue($event->result, sprintf('Event: %s', $name));
         $this->assertInstanceOf('View', $event->subject());
     }
 }
开发者ID:laiello,项目名称:plankonindia,代码行数:14,代码来源:CroogoEventsTest.php

示例11: testLoginSuccessful

 /**
  * Test login succesfull event
  */
 public function testLoginSuccessful()
 {
     $cookie = $this->autoLogin->readCookie('User');
     $this->assertNull($cookie);
     $request = new CakeRequest();
     $request->data = array('User' => array('username' => 'rchavik', 'password' => 'rchavik', 'remember' => true));
     $this->controller->request = $request;
     $subject = $this->controller;
     $compare = $this->autoLogin->cookie($request);
     $_SERVER['REQUEST_METHOD'] = 'POST';
     Croogo::dispatchEvent('Controller.Users.adminLoginSuccessful', $subject);
     $cookie = $this->autoLogin->readCookie('User');
     $this->assertNotNull($cookie);
     $this->assertEquals($compare, $cookie);
 }
开发者ID:dlpc,项目名称:CakeWX,代码行数:18,代码来源:AclAutoLoginComponentTest.php

示例12: transform

 public function transform($markdownText)
 {
     $environment = Environment::createCommonMarkEnvironment();
     $beforeParseEvent = Croogo::dispatchEvent('Helper.Markdown.beforeMarkdownParse', $this->_View, array('environment' => $environment, 'markdown' => $markdownText));
     $markdownText = $beforeParseEvent->data['markdown'];
     $environment = $beforeParseEvent->data['environment'];
     $parser = new DocParser($environment);
     $htmlRenderer = new HtmlRenderer($environment);
     $documentAST = $parser->parse($markdownText);
     $beforeRenderEvent = Croogo::dispatchEvent('Helper.Markdown.beforeMarkdownRender', $this->_View, array('ast' => $documentAST));
     $documentAST = $beforeRenderEvent->data['ast'];
     $rendered = $htmlRenderer->renderBlock($documentAST);
     $afterRenderEvent = Croogo::dispatchEvent('Helper.Markdown.afterMarkdownRender', $this->_View, array('rendered' => $rendered));
     return $afterRenderEvent->data['rendered'];
 }
开发者ID:dakota,项目名称:croogomark,代码行数:15,代码来源:MarkdownHelper.php

示例13: admin_restore_login

 public function admin_restore_login()
 {
     $formerUser = $this->Session->read('Chameleon.User');
     if (empty($formerUser)) {
         $this->Session->setFlash('Invalid request', 'flash', array('class' => 'error'));
         return $this->redirect('/');
     }
     if ($this->Session->delete('Chameleon.User')) {
         Croogo::dispatchEvent('Controller.Users.adminLogoutSuccessful', $this);
     }
     Croogo::dispatchEvent('Controller.Chameleon.beforeAdminLogin', $this);
     if ($this->Auth->login($formerUser)) {
         Croogo::dispatchEvent('Controller.Users.adminLoginSuccessful', $this);
         return $this->redirect(Configure::read('Croogo.dashboardUrl'));
     }
 }
开发者ID:xintesa,项目名称:chameleon,代码行数:16,代码来源:ChameleonController.php

示例14: dashboards

 /**
  * Gets the dashboard markup
  *
  * @return string
  */
 public function dashboards()
 {
     $registered = Configure::read('Dashboards');
     $userId = AuthComponent::user('id');
     if (empty($userId)) {
         return '';
     }
     $columns = array(CroogoDashboard::LEFT => array(), CroogoDashboard::RIGHT => array(), CroogoDashboard::FULL => array());
     if (empty($this->Role)) {
         $this->Role = ClassRegistry::init('Users.Role');
         $this->Role->Behaviors->attach('Croogo.Aliasable');
     }
     $currentRole = $this->Role->byId($this->Layout->getRoleId());
     $cssSetting = $this->Layout->themeSetting('css');
     if (!empty($this->_View->viewVars['boxes_for_dashboard'])) {
         $boxesForLayout = Hash::combine($this->_View->viewVars['boxes_for_dashboard'], '{n}.DashboardsDashboard.alias', '{n}.DashboardsDashboard');
         $dashboards = array();
         $registeredUnsaved = array_diff_key($registered, $boxesForLayout);
         foreach ($boxesForLayout as $alias => $userBox) {
             if (isset($registered[$alias]) && $userBox['status']) {
                 $dashboards[$alias] = array_merge($registered[$alias], $userBox);
             }
         }
         $dashboards = Hash::merge($dashboards, $registeredUnsaved);
         $dashboards = Hash::sort($dashboards, '{s}.weight', 'ASC');
     } else {
         $dashboards = Hash::sort($registered, '{s}.weight', 'ASC');
     }
     foreach ($dashboards as $alias => $dashboard) {
         if ($currentRole != 'admin' && !in_array($currentRole, $dashboard['access'])) {
             continue;
         }
         $opt = array('alias' => $alias, 'dashboard' => $dashboard);
         Croogo::dispatchEvent('Croogo.beforeRenderDashboard', $this->_View, compact('alias', 'dashboard'));
         $dashboardBox = $this->_View->element('Extensions.admin/dashboard', $opt);
         Croogo::dispatchEvent('Croogo.afterRenderDashboard', $this->_View, compact('alias', 'dashboard', 'dashboardBox'));
         if ($dashboard['column'] === false) {
             $dashboard['column'] = count($columns[0]) <= count($columns[1]) ? CroogoDashboard::LEFT : CroogoDashboard::RIGHT;
         }
         $columns[$dashboard['column']][] = $dashboardBox;
     }
     $dashboardTag = $this->settings['dashboardTag'];
     $columnDivs = array(0 => $this->Html->tag($dashboardTag, implode('', $columns[CroogoDashboard::LEFT]), array('class' => $cssSetting['dashboardLeft'] . ' ' . $cssSetting['dashboardClass'], 'id' => 'column-0')), 1 => $this->Html->tag($dashboardTag, implode('', $columns[CroogoDashboard::RIGHT]), array('class' => $cssSetting['dashboardRight'] . ' ' . $cssSetting['dashboardClass'], 'id' => 'column-1')));
     $fullDiv = $this->Html->tag($dashboardTag, implode('', $columns[CroogoDashboard::FULL]), array('class' => $cssSetting['dashboardFull'] . ' ' . $cssSetting['dashboardClass'], 'id' => 'column-2'));
     return $this->Html->tag('div', $fullDiv, array('class' => $cssSetting['row'])) . $this->Html->tag('div', implode('', $columnDivs), array('class' => $cssSetting['row']));
 }
开发者ID:saydulk,项目名称:croogo,代码行数:51,代码来源:DashboardsHelper.php

示例15: register

 public function register()
 {
     if (!$this->request->is('post')) {
         return;
     }
     $customerUserId = $this->CustomerUser->Customer->createWithUser($this->request->data);
     if (!$customerUserId) {
         Croogo::dispatchEvent('Controller.Users.registrationFailure', $this);
         $this->Session->setFlash(__d('croogo', 'The User could not be saved. Please, try again.'), 'flash', array('class' => 'error'));
         return;
     }
     $customerUser = $this->CustomerUser->find('first', array('conditions' => array('CustomerUser.id' => $customerUserId), 'recursive' => -1));
     $user = $this->CustomerUser->User->read(null, $customerUser['CustomerUser']['user_id']);
     Croogo::dispatchEvent('Controller.Users.registrationSuccessful', $this);
     $this->_sendEmail(array(Configure::read('Site.title'), $this->_getSenderEmail()), $user['User']['email'], __d('croogo', '[%s] Please activate your account', Configure::read('Site.title')), 'Users.register', 'user activation', $this->theme, array('user' => $user));
     $this->Session->setFlash(__d('croogo', 'You have successfully registered an account. An email has been sent with further instructions.'), 'flash', array('class' => 'success'));
     $this->redirect(array('plugin' => 'users', 'controller' => 'users', 'action' => 'login'));
     return;
 }
开发者ID:cvo-technologies,项目名称:webshop-customer-users,代码行数:19,代码来源:CustomerUsersController.php


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