本文整理汇总了PHP中Common::getComponent方法的典型用法代码示例。如果您正苦于以下问题:PHP Common::getComponent方法的具体用法?PHP Common::getComponent怎么用?PHP Common::getComponent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Common
的用法示例。
在下文中一共展示了Common::getComponent方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: beforeValidate
/**
* undocumented function
*
* @return void
* @access public
*/
function beforeValidate()
{
if (isset($this->data[__CLASS__]['default']) && $this->data[__CLASS__]['default']) {
$Session = Common::getComponent('Session');
$conditions = array('default' => '1', 'office_id' => $Session->read('Office.id'));
if (!empty($this->data[__CLASS__]['id'])) {
$conditions['id <>'] = $this->data[__CLASS__]['id'];
}
$defaultAppeal = $this->find('first', array('conditions' => $conditions, 'fields' => array('id', 'name')));
if (!empty($defaultAppeal)) {
$msg = sprintf(__('Sorry, there can only be one default appeal at the same time.
The current default appeal is: "%s".', true), $defaultAppeal[__CLASS__]['name']);
$this->invalidate('default', $msg);
return false;
}
}
$published = isset($this->data[__CLASS__]['published']) && $this->data[__CLASS__]['published'];
$templateId = false;
if (isset($this->data[__CLASS__]['template_id'])) {
$templateId = $this->data[__CLASS__]['template_id'];
} elseif (isset($this->data[__CLASS__]['id'])) {
$templateId = $this->lookup(array('id' => $this->data[__CLASS__]['id']), 'template_id', false);
}
$publishedTemplate = $this->Template->lookup(array('id' => $templateId), 'published', false);
if ($published && !$publishedTemplate) {
$msg = __('You cannot set the status to "published" if there is no published template assigned.', true);
$this->invalidate('published', $msg);
}
}
示例2: main
/**
* undocumented function
*
* todo: encryption
*
* @return void
* @access public
*/
function main()
{
$this->out('Calculating reports ..');
$reports = $this->Report->find('all');
if (empty($reports)) {
$this->out('Found 0 reports. Exiting.');
exit(1);
}
$Pgp = Common::getComponent('Pgp');
foreach ($reports as $report) {
$this->out('Processing report "' . $report['Report']['title'] . '" ..');
$conditions = array('ReportsUser.report_id' => $report['Report']['id']);
$frequency = $report['Report']['frequency'];
switch ($frequency) {
case 'daily':
$date = date('Y-m-d H:i', strtotime('-1 day'));
break;
case 'weekly':
$date = date('Y-m-d H:i', strtotime('-1 week'));
break;
case 'yearly':
$date = date('Y-m-d H:i', strtotime('-1 year'));
break;
}
// $conditions[] = "DATE_FORMAT(ReportsUser.last_sent, '%Y-%m-%d %H:%i') = '" . $date . "'";
$users = $this->ReportsUser->find('all', array('conditions' => $conditions, 'contain' => array('User'), 'order' => array('ReportsUser.created' => 'asc')));
$this->out('Found ' . count($users) . ' user(s) that need a report');
if (empty($users)) {
continue;
}
$name = ucfirst($report['Report']['frequency']) . ' Report "' . $report['Report']['title'] . '"';
foreach ($users as $user) {
$officeId = $user['User']['office_id'];
$query = $report['Report']['query'];
$query = r('%condition', 'AND Gift.office_id = "' . $officeId . '"', $query);
$results = $this->Transaction->query($query);
$content = $this->parseTemplate($report['Report']['view'], $results);
$attachment = $Pgp->encrypt(array('msg' => $content, 'recipient' => $user['User']['login']));
if (!$attachment) {
$this->out('There was a problem encrypting the report for ' . $user['User']['login']);
}
$this->ReportsUser->set(array('id' => $user['ReportsUser']['id'], 'last_sent' => date('Y-m-d H:i:s')));
$this->ReportsUser->save();
if (!Common::isDevelopment()) {
$options = array('mail' => array('to' => $user['User']['login'], 'subject' => $name, 'attachments' => array($attachment)), 'vars' => compact('content'));
Mailer::deliver('report', $options);
$this->out('Sent ' . $name . ' to ' . $user['User']['login']);
}
$Pgp->flush();
}
}
}
示例3: find
/**
* undocumented function
*
* @param string
* @param string
* @return void
* @access public
*/
function find($type, $query = array())
{
$args = func_get_args();
switch ($type) {
case 'list_for_office':
$Session = Common::getComponent('Session');
$gatewaysOffices = $this->GatewaysOffice->find('all', array('conditions' => array('GatewaysOffice.office_id' => $Session->read('Office.id')), 'contain' => array('Gateway(id, name)'), 'order' => array('Gateway.name' => 'asc')));
return Set::combine($gatewaysOffices, '/Gateway/id', '/Gateway/name');
case 'processing_options':
return ClassRegistry::init('GatewayProcessing')->find('options');
}
return call_user_func_array(array('parent', 'find'), $args);
}
示例4: get
/**
* This function logs an activity of a given $activityType together with an array of $data related to it
*
* @param mixed $activityTypeId Either the numeric foreign key value for the activity_type or a string to look it up / create
* @param array $data An array of data that will be serialized for later reference
* @param $repeatWithin Either false or a timestamp in the past / array of conditions for this to qualify as a repeated activity
* @return boolean True on success
* @access public
*/
function get($navGroup = null)
{
$Session = Common::getComponent('Session');
$navigations = array('Guests' => array(), 'Admin' => array(__('Home', true) => array('/admin/home', '#/^\\/admin(\\/statistics|\\/home).*$/iU'), __('Appeals', true) => array('/admin/appeals/index', '#/^\\/admin\\/appeals.*$/iU'), __('Templates', true) => array('/admin/templates', '#/^\\/admin\\/templates.*$/iU'), __('Gifts', true) => array('/admin/gifts/index/all', '#/\\/admin(\\/gifts|\\/exports\\/gifts).*/iU'), __('Transactions', true) => array('/admin/transactions/index/all', '#/\\/admin\\/transactions.*/iU'), __('Supporters', true) => array('/admin/supporters', '#/\\/admin\\/supporters.*/iU'), __('Office Config', true) => array('/admin/offices/edit', '#/\\/admin\\/offices(\\/edit|\\/view).*/iU', '#/\\/admin\\/(offices|users).*/iU', 'role' => 'office_manager'), __('Help', true) => array('/admin/help', '#/\\/admin\\/help.*/iU')), 'appeal_sub' => array(__('All', true) => array('/admin/appeals/index', '#/^\\/admin\\/appeals\\/index.*$/iU')), 'template_sub' => array(__('All', true) => array('/admin/appeals/index', '#/^\\/admin\\/templates.*$/iU')), 'gift_sub' => array(__('All', true) => array('/admin/gifts/index/all', '#/^\\/admin\\/gifts\\/index\\/all.*$/iU'), __('Onetime', true) => array('/admin/gifts/index/onetime', '#/^\\/admin\\/gifts\\/index\\/onetime.*$/iU'), __('Recurring', true) => array('/admin/gifts/index/recurring', '#/^\\/admin\\/gifts\\/index\\/recurring.*$/iU'), __('Favorites', true) => array('/admin/gifts/index/favorites', '#/^\\/admin\\/gifts\\/index\\/favorites.*$/iU'), __('Archived', true) => array('/admin/gifts/index/archived', '#/^\\/admin\\/gifts\\/index\\/archived.*$/iU'), __('Statistics', true) => array('/admin/gifts/stats', '#/^\\/admin\\/gifts\\/stats.*$/iU')), 'transaction_sub' => array(__('All', true) => array('/admin/transactions/index/all', '#/^\\/admin\\/transactions\\/index\\/all.*$/iU'), __('Favorites', true) => array('/admin/transactions/index/favorites', '#/^\\/admin\\/gifts\\/transactions\\/index\\/favorites.*$/iU'), __('Archived', true) => array('/admin/transactions/index/archived', '#/^\\/admin\\/gifts\\/transactions\\/index\\/archived.*$/iU')), 'user_sub' => array(__('All', true) => array('/admin/users/index/all', '#/^\\/admin\\/users\\/index\\/all.*$/iU'), __('My Office Colleagues', true) => array('/admin/users/index/colleagues', '#/^\\/admin\\/users\\/index\\/colleagues.*$/iU')), 'supporter_sub' => array(__('All', true) => array('/admin/supporters', '#/^\\/admin\\/supporters$/iU'), __('One-off', true) => array('/admin/supporters/index/oneoff', '#/^\\/admin\\/supporters\\/index\\/oneoff.*$/iU'), __('Recurring', true) => array('/admin/supporters/index/recurring', '#/^\\/admin\\/supporters\\/index\\/recurring.*$/iU'), __('Favorites', true) => array('/admin/supporters/index/favorites', '#/^\\/admin\\/supporters\\/favorites.*$/iU'), __('Signups', true) => array('/admin/supporters/index/signups', '#/^\\/admin\\/supporters\\/signups.*$/iU')), 'user_preferences' => array(__('Preferences', true) => array('/admin/users/preferences', '#/^\\/admin\\/users\\/preferences.*$/iU'), __('Edit Password', true) => array('/admin/users/edit_password', '#/^\\/admin\\/users\\/edit_password.*$/iU'), __('Public Key', true) => array('/admin/users/public_key', '#/^\\/admin\\/users\\/public_key.*$/iU'), __('Email Reports', true) => array('/admin/users/email_reports', '#/^\\/admin\\/users\\/email_reports.*$/iU', 'condition' => User::allowed('Users', 'admin_email_reports'))), 'admin_auth_sub' => array(__('Login', true) => array('/admin/auth/login', '#/^\\/admin\\/(auth\\/|)login.*$/iU'), __('Lost Password', true) => array('/admin/users/forgot_pw', '#/^\\/admin\\/users\\/forgot_pw.*$/iU')), 'admin_config_sub' => array(__('Config', true) => array('/admin/offices/edit/', '#/\\/admin\\/offices(\\/edit|\\/view)\\/.*/iU', 'role' => array('office_manager')), __('Team & Permissions', true) => array('/admin/users', '#/\\/admin\\/users\\/(index\\/[^unactivated]|view).*/iU', 'role' => array('office_manager')), __('Unactivated Users', true) => array('/admin/users/index/unactivated', '#/\\/admin\\/users\\/index\\/unactivated.*/iU', 'role' => array('office_manager'))), 'admin_help_sub' => array(__('Getting started', true) => array('/admin/help', '#/\\/admin\\/help(\\/start)/'), __('Faq', true) => array('/admin/help/faq', '#/\\/admin\\/help\\/faq\\/.*/iU')), 'admin_root_admin_sub' => array(__('Dashboard', true) => array('/admin/dashboards', '#/\\/admin\\/dashboards.*/iU'), __('Offices', true) => array('/admin/offices', '#/\\/admin\\/offices.*/iU', 'role' => 'root'), __('Users', true) => array('/admin/users', '#/\\/admin\\/users.*/iU', 'role' => 'root'), __('Roles', true) => array('/admin/roles', '#/\\/admin\\/roles.*/iU', 'role' => 'root'), __('Activity Log', true) => array('/admin/logs', '#/\\/admin\\/logs.*/iU', 'role' => 'root'), __('Smileys', true) => array('/admin/smileys', '#/\\/admin\\/smileys.*/iU', 'role' => 'root')));
if (!empty($navGroup) && isset($navigations[$navGroup])) {
return $navigations[$navGroup];
}
$navigation = $navigations['Guests'];
if (class_exists('User') && !User::is('guest')) {
$navigation = $navigations['Admin'];
}
return $navigation;
}
示例5: deliver
static function deliver($template, $options = array())
{
$options = Set::merge(array('vars' => array(), 'mail' => array('to' => array(), 'from' => Configure::read('App.emails.noReply'), 'charset' => 'utf8', 'sendAs' => 'text', 'subject' => '', 'template' => $template, 'layout' => 'email', 'attachments' => array()), 'store' => false), $options);
if (!empty($options['mail']['subject'])) {
$options['mail']['subject'] = strip_tags($options['mail']['subject']);
}
$delivery = Configure::read('App.emailDeliveryMethod');
if (!empty($delivery) && !isset($options['mail']['delivery'])) {
$options['mail']['delivery'] = $delivery;
}
if (isset($options['mail']['delivery']) && $options['mail']['delivery'] == 'smtp') {
$options['mail']['smtpOptions'] = Configure::read('App.smtpOptions');
}
if (Common::isDevelopment()) {
$options['mail']['delivery'] = 'debug';
}
App::import('Core', 'Controller');
$Email = Common::getComponent('Email');
Common::setProperties($Email, $options['mail']);
if (!isset($Email->Controller)) {
App::import('Core', 'Router');
$Email->Controller = new AppController();
}
$Email->Controller->set($options['vars']);
if ($options['store']) {
$hash = sha1(json_encode($options));
$folder = substr($hash, 0, 2);
$file = substr($hash, 2) . '.html';
$url = '/emails/' . $folder . '/' . $file;
$path = APP . 'webroot' . $url;
if (!is_dir(dirname($path))) {
@mkdir(dirname($path));
}
$url = Router::url($url, true);
$Email->Controller->set('emailUrl', $url);
$View = new View($Email->Controller, false);
$View->layout = $Email->layout;
$View->layoutPath = 'email' . DS . 'html';
$html = $View->element('email' . DS . 'html' . DS . $options['mail']['template'], array('content' => null), true);
$html = $View->renderLayout($html);
file_put_contents($path, $html);
}
if (!isset($Email->Controller->Session)) {
$Email->Controller->Session = Common::getComponent('Session');
}
$result = $Email->send();
if (Common::isDevelopment() && Configure::read('App.email_debug')) {
Common::debugEmail();
}
return $result;
}
示例6: find
/**
* undocumented function
*
* @param string
* @param string
* @return void
* @access public
*/
function find($type, $query = array())
{
$args = func_get_args();
switch ($type) {
case 'options':
$conditions = array();
if (!isset($query['all'])) {
$Session = Common::getComponent('Session');
$langs = $this->LanguagesOffice->find('all', array('conditions' => array('office_id' => $Session->read('Office.id')), 'fields' => array('language_id')));
if (!empty($langs)) {
$conditions['id'] = Set::extract('/LanguagesOffice/language_id', $langs);
}
}
return $this->find('list', array('conditions' => $conditions, 'fields' => array('code', 'name'), 'order' => array('name' => 'asc')));
}
return call_user_func_array(array('parent', 'find'), $args);
}
示例7: value
/**
* undocumented function
*
* @param string $model
* @param string $field
* @param string $default
* @param string $data
* @return void
* @access public
*/
function value($model, $field, $default, $data)
{
$result = $default;
$this->Cookie = Common::getComponent('Cookie');
$cookieValue = $this->Cookie->read($model . '.' . $field);
if (!empty($cookieValue)) {
$result = $cookieValue;
}
$this->Session = Common::getComponent('Session');
$sessValue = $this->Session->read($model . '.' . $field);
if (!empty($sessValue)) {
$result = $sessValue;
}
if (isset($data[$model][$field])) {
$result = $data[$model][$field];
}
return $result;
}
示例8: parseFile
/**
* undocumented function
*
* @param string $file
* @param string $template
* @return void
* @access public
*/
function parseFile($file, $template, $save = false, $importId = false)
{
$Session = Common::getComponent('Session');
$Transaction = ClassRegistry::init('Transaction');
$officeId = $Session->read('Office.id');
$formats = array('friends' => array('delim' => '|', 'fields' => array('parent_order_id', 'parent_currency', 'parent_amount', 'order_id', 'currency', 'amount')));
if (!array_key_exists($template, $formats)) {
return false;
}
$format = $formats[$template];
App::import('Vendor', 'csv_parser');
$csv =& new csv_bv($file, ',', '"', '\\');
$csv->SkipEmptyRows(false);
$csv->TrimFields(TRUE);
$num = 0;
$result = array('valid' => 0, 'invalid_missing_parent' => 0);
while ($row = $csv->NextLine()) {
$num++;
$values = explode($format['delim'], $row[0]);
$data = array();
foreach ($format['fields'] as $i => $field) {
$data[$field] = $values[$i];
if ($field == 'parent_order_id') {
$parent = $this->Transaction->find('first', array('conditions' => array('order_id' => $values[$i]), 'fields' => array('id', 'gift_id', 'gateway_id')));
if (empty($parent)) {
$result['invalid_missing_parent']++;
continue 2;
}
$data['parent_id'] = $parent['Transaction']['id'];
$data['gift_id'] = $parent['Transaction']['gift_id'];
$data['gateway_id'] = $parent['Transaction']['gateway_id'];
}
}
if ($save) {
$data['import_id'] = $importId;
$this->Transaction->create($data);
$this->Transaction->save();
}
$result['valid']++;
}
return $result;
}
示例9: init
/**
* undocumented function
*
* @return void
* @access public
*/
function init()
{
$config = Configure::read('Logging');
$RequestHandler = Common::getComponent('RequestHandler');
$ip = $RequestHandler->getClientIP();
$userData = User::get();
foreach ($config['models'] as $model) {
$Model = ClassRegistry::init($model);
$attached = $Model->Behaviors->_attached;
foreach ($attached as $behavior) {
$Model->Behaviors->detach($behavior);
}
$Model->Behaviors->attach('Logging.Logable');
foreach ($attached as $behavior) {
$Model->Behaviors->attach($behavior);
}
$Model->setUserData($userData);
$Model->setUserIp($ip);
}
}
示例10: trackHit
/**
* undocumented function
*
* @param string $templateId
* @param string $step
* @return void
* @access public
*/
function trackHit($templateId, $appealId, $step)
{
$conditions = array('template_id' => $templateId, 'is_thanks' => '1');
if ($step != 'thanks') {
unset($conditions['is_thanks']);
$conditions['num'] = $step;
}
$step = $this->TemplateStep->find('first', array('conditions' => $conditions, 'fields' => array('id')));
$stepId = $step['TemplateStep']['id'];
$isPageview = false;
$RequestHandler = Common::getComponent('RequestHandler');
$ip = $RequestHandler->getClientIp();
$date = date('Y-m-d H:i:s', strtotime('-1 hours'));
$visit = $this->find('first', array('conditions' => array('template_step_id' => $stepId, 'foreign_id' => $appealId, 'ip' => $ip, "DATE_FORMAT(" . __CLASS__ . ".created, '%Y-%m-%d %H:%i:%s') >= '" . $date . "'"), 'fields' => array('id', 'pageviews')));
if (!empty($visit)) {
$this->set(array('id' => $visit[__CLASS__]['id'], 'pageviews' => $visit[__CLASS__]['pageviews'] + 1));
} else {
$this->create(array('template_step_id' => $stepId, 'foreign_id' => $appealId, 'ip' => $ip, 'pageviews' => '1'));
}
return $this->save();
}
示例11: debugEmail
/**
* undocumented function
*
* @return void
* @access public
*/
function debugEmail()
{
$Session = Common::getComponent('Session');
prd($Session->read('Message.email'));
}
示例12: writeToSession
/**
* Writes all current sess messages to the session.
*
* @return void
* @access public
*/
function writeToSession()
{
$Session = Common::getComponent('Session');
$result = $Session->write($this->sessKey, $this->sessMessages);
return $result;
}
示例13: setActive
/**
* Set the user as current
* @param array $user
* @param bool $updateSession
* @param bool $generateAuthCookie
*/
static function setActive($user = null, $find = true)
{
$_this = Common::getModel('User');
//@TODO only fetch if $user is incomplete compared to find conditions
if ($find) {
if ($user != 'guest' && isset($user['User']['id']) && Common::isUuid($user['User']['id'])) {
$user = $_this->find('first', $_this->getFindOptions('userActivation', $user));
}
if ($user == 'guest' || is_null($user) || empty($user)) {
$user = $_this->find('first', $_this->getFindOptions('guestActivation'));
}
}
if (isset($user['User']['password'])) {
unset($user['User']['password']);
// just to make sure
}
Configure::write('User', $user);
$Session = Common::getComponent('Session');
$Session->write('User', $user);
return $user;
}
示例14: ip
/**
* undocumented function
*
* @return void
* @access public
*/
static function ip()
{
$RequestHandler = Common::getComponent('RequestHandler');
return $RequestHandler->getClientIP();
}
示例15: array
<?php
App::import('Model', 'Favorites.Favorite');
$Session = Common::getComponent('Session');
$officeId = $Session->read('Office.id');
$config = array('Favorites' => array('subject' => 'starred item', 'verb' => 'star', 'adjective' => 'starred', 'models' => array('Gift' => 'name', 'Transaction' => 'serial', 'Contact' => 'name', 'Comment' => 'increment'), 'loadConditions' => array('or' => array('Gift.office_id' => $officeId, 'Gift.id IS NULL')), 'urls' => array('/\\/admin\\/.*$/')));