protected function execute($arguments = array(), $options = array()) { parent::execute($arguments, $options); sfContext::createInstance($this->createConfiguration('pc_frontend', 'prod'), 'pc_frontend'); $pcGadgets = Doctrine::getTable('Gadget')->retrieveGadgetsByTypesName('dailyNews'); $mobileGadgets = Doctrine::getTable('Gadget')->retrieveGadgetsByTypesName('mobileDailyNews'); $targetMembers = Doctrine::getTable('Member')->findAll(); foreach ($targetMembers as $member) { if (!$member->getConfig('daily_news')) { continue; } if (1 == $member->getConfig('daily_news') && !$this->isDailyNewsDay()) { continue; } $address = $member->getEmailAddress(); $gadgets = $pcGadgets['dailyNewsContents']; if (opToolkit::isMobileEmailAddress($address)) { $gadgets = $mobileGadgets['mobileDailyNewsContents']; } $filteredGadgets = array(); if ($gadgets) { foreach ($gadgets as $gadget) { if ($gadget->isEnabled()) { $filteredGadgets[] = array('component' => array('module' => $gadget->getComponentModule(), 'action' => $gadget->getComponentAction()), 'gadget' => $gadget, 'member' => $member); } } } $context = $this->getContextByEmailAddress($address); $params = array('member' => $member, 'gadgets' => $filteredGadgets, 'subject' => $context->getI18N()->__('デイリーニュース'), 'today' => time()); opMailSend::sendTemplateMail('dailyNews', $address, opConfig::get('admin_mail_address'), $params, $context); } }
protected function execute($arguments = array(), $options = array()) { parent::execute($arguments, $options); $connection = Doctrine_Manager::connection(); $this->connectionOptions = $connection->getOptions(); sfContext::createInstance($this->createConfiguration('pc_frontend', 'prod'), 'pc_frontend'); sfOpenPNEApplicationConfiguration::registerZend(); $this->adminMailAddress = opConfig::get('admin_mail_address'); $helpers = array_unique(array_merge(array('Helper', 'Url', 'Asset', 'Tag', 'Escaping'), sfConfig::get('sf_standard_helpers'))); sfContext::getInstance()->getConfiguration()->loadHelpers($helpers); if (null !== $options['log-file']) { $this->logger = new sfFileLogger($this->dispatcher, array('file' => $options['log-file'])); } }
protected function execute($arguments = array(), $options = array()) { parent::execute($arguments, $options); $expectedOptions = array('pc_frontend', 'mobile_frontend'); if (isset($options['app'])) { if (in_array($options['app'], $expectedOptions)) { $this->sendDailyNews($options['app']); } else { throw new Exception('invalid option'); } } else { $php = $this->findPhpBinary(); foreach ($expectedOptions as $app) { exec($php . ' ' . sfConfig::get('sf_root_dir') . '/symfony openpne:send-daily-news --app=' . $app); } } }
protected function execute($arguments = array(), $options = array()) { parent::execute($arguments, $options); opApplicationConfiguration::unregisterZend(); $birthday = Doctrine::getTable('Profile')->retrieveByName('op_preset_birthday'); if (!$birthday) { throw new sfException('This project doesn\'t have the op_preset_birthday profile item.'); } $profiles = Doctrine::getTable('MemberProfile')->createQuery()->where('profile_id = ?', $birthday->id)->andWhere('DATE_FORMAT(value_datetime, ?) = ?', array('%m-%d', date('m-d', strtotime('+ 1 week'))))->execute(); opApplicationConfiguration::registerZend(); $context = sfContext::createInstance($this->createConfiguration('pc_frontend', 'prod')); $i18n = $context->getI18N(); foreach ($profiles as $profile) { $birthMember = $profile->getMember(); foreach ($birthMember->getFriends() as $member) { $params = array('member' => $member, 'birthMember' => $birthMember, 'subject' => $i18n->__('There is your %my_friend% that its birthday is coming soon')); opMailSend::sendTemplateMailToMember('birthday', $member, $params, array(), $context); } } }