123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- <?php
- /**
- * cron actions.
- *
- * @package www.katao.fr
- * @subpackage cron
- * @author Your name here
- * @version SVN: $Id: actions.class.php 9301 2008-05-27 01:08:46Z dwhittle $
- */
- class cronActions extends sfActions {
- public function preExecute() {
- parent::preExecute();
- sfLoader::loadHelpers(array('Tag', 'Url'));
- }
- public function executeCheckOutdatedMemberDeposits($request) {
- // retrieve all deposits with pending status and "valid until" date before current time
- $criteria = new Criteria();
- $criteria->add(KataoMemberDepositPeer::STATUS, KataoMemberDeposit::STATUS_PENDING);
- $criteria->add(KataoMemberDepositPeer::VALID_UNTIL, date('Y-m-d H:i:s'), Criteria::LESS_THAN);
- $katao_member_deposits = KataoMemberDepositPeer::doSelectJoinKataoMember($criteria);
- if (0 < count($katao_member_deposits)) {
- $mailer = new wpMail();
- foreach ($katao_member_deposits as/*(KataoMemberDeposit)*/ $katao_member_deposit) {
- // set deposit status to expired
- $katao_member_deposit->setStatus(KataoMemberDeposit::STATUS_EXPIRED);
- $katao_member_deposit->save();
- // update member current amount to cancel deposit
- $katao_member =/*(KataoMember)*/ $katao_member_deposit->getKataoMember();
- if (KataoMemberDeposit::PAYMENT_MODE_WITHDRAWAL == $katao_member_deposit->getPaymentMode()) {
- $katao_member->setInitialAmount($katao_member->getCurrentAmount() + $katao_member_deposit->getAmount());
- } else {
- $katao_member->setInitialAmount($katao_member->getCurrentAmount() - $katao_member_deposit->getAmount());
- }
- $katao_member->save();
- // send an email to seo to notify him/her
- if (null != $katao_user = $katao_member->getFirstKataoUser()) {
- $katao_member_seo = wpConfig::getInstance()->getKataoMember();
- if (null != $katao_user_seo = $katao_member_seo->getFirstKataoUser()) {
- try {
- $swift_message = new Swift_Message('Votre dépot ne nous est pas parvenu à ce jour', sprintf('%s,
- Attention, tu t\'étais engagé(e) le %s a nous envoyer %s
- avant le %s afin d\'honorer le paiement de tes demandes.
- Cette date vient d\'arriver à échéance.
- Si ton solde %s est inferieur à ta prochaine demande,
- ELLE NE SERA PAS PRIS EN COMPTE DANS LES COMMANDES FOURNISSEURS.
- Merci de prendre contact rapidement avec %s au %s
- afin de régulariser ta situation
- %s', $katao_member->getFirstName(), $katao_member_deposit->getCreatedAtStr(), $katao_member_deposit->getAmountStr(), CatalyzDate::formatShort($katao_member_deposit->getValidUntil(null)), $katao_member->getCurrentAmountEuroStr(), $katao_member_seo->getFirstName(), $katao_user_seo->getPhone(), Utils::getKataoEmailFooter()));
- $mailer->send($swift_message, new Swift_Address($katao_member->getFirstKataoUser()->getEmail(), $katao_member->getFullName()), sfConfig::get('app_mail_from'));
- $mailer->send($swift_message, new Swift_Address($katao_user_seo->getEmail(), $katao_user_seo->getFullName()), sfConfig::get('app_mail_from'));
- }
- catch (Exception $e) {
- $mailer->disconnect();
- }
- }
- }
- }
- $mailer->disconnect();
- }
- return sfView::HEADER_ONLY;
- }
- public function executeValidateAllCartsBeforeOrderPeriod($request) {
- // retrieve active period
- if (null != $katao_period = KataoPeriodPeer::getActivePeriod()) {
- // check if we are after the delay before automatic validation
- if (date('Y-m-d') == date('Y-m-d', strtotime(sprintf('-%d days', wpConfig::getCartValidationDaysNumber()), $katao_period->getOrderEndedAt(null)))) {
- // retrieve all carts with pending status for current period
- $criteria = new Criteria();
- $criteria->addJoin(KataoCartPeer::KATAO_USER_ID, KataoUserPeer::ID);
- $criteria->add(KataoCartPeer::STATUS, KataoCart::STATUS_IN_PROGRESS);
- $criteria->add(KataoCartPeer::KATAO_PERIOD_ID, $katao_period->getId());
- $criteria->add(KataoUserPeer::IS_MEMBER, true);
- foreach (KataoCartPeer::doSelectJoinKataoUser($criteria) as/*(KataoCart)*/ $katao_cart) {
- // set cart status to validated
- $katao_cart->setStatus(KataoCart::STATUS_VALIDATED);
- $katao_cart->save();
- // send an email to member with a link to unvalidate his cart
- if (null != $katao_user = $katao_cart->getKataoUser()) {
- try {
- $mailer = new wpMail();
- $mailer->send(new Swift_Message('KATAO : validation automatique de votre panier', sprintf('Bonjour %s,
- Votre panier vient d\'être automatiquement validé car la période de commande se termine bientôt.
- Cliquez sur le lien ci-dessous pour accèder à votre panier si vous souhaitez y faire des modifications.
- %smon-panier
- A bientôt,
- L\'équipe KATAO', $katao_user->getFullName(), $katao_user->getLogin(), $katao_user->getPassword(), sfConfig::get('app_katao_frontend_url'))), new Swift_Address($katao_user->getEmail(), $katao_user->getFullName()), sfConfig::get('app_mail_from'));
- $mailer->disconnect();
- }
- catch (Exception $e) {
- $mailer->disconnect();
- }
- }
- }
- }
- }
- return sfView::HEADER_ONLY;
- }
- public function executeDisableAllMembers($request) {
- if ('01-01' == date('m-d')) {
- $criteria = new Criteria();
- $criteria->addJoin(KataoUserPeer::KATAO_MEMBER_ID, KataoMemberPeer::ID);
- $criteria->add(KataoUserPeer::EMAIL, null, Criteria::NOT_EQUAL);
- $criteria->add(KataoUserPeer::EMAIL, '', Criteria::NOT_EQUAL);
- $criteria->add(KataoMemberPeer::IS_MEMBER, true);
- $katao_users = KataoUserPeer::doSelectJoinKataoMember($criteria);
- if (0 < count($katao_users)) {
- if (null != $katao_member_seo = wpConfig::getInstance()->getKataoMember()) {
- $year = date('Y');
- $katao_user_seo = $katao_member_seo->getFirstKataoUser();
- $katao_node_transactions = array();
- $katao_node_transactions[0]['members'] = Utils::getKataoMembersCount(false);
- $katao_node_transactions[0]['count'] = Utils::getKataoTransactionsCount(false, $year);
- $katao_node_transactions[0]['sum'] = Utils::getKataoTransactionsSum(false, $year);
- foreach (KataoNodePeer::getAllArray() as $katao_node_id => $katao_node_city) {
- $katao_node_transactions[$katao_node_id]['members'] = Utils::getKataoMembersCount($katao_node_id);
- $katao_node_transactions[$katao_node_id]['count'] = Utils::getKataoTransactionsCount($katao_node_id, $year);
- $katao_node_transactions[$katao_node_id]['sum'] = Utils::getKataoTransactionsSum($katao_node_id, $year);
- }
- $mailer = new wpMail();
- foreach ($katao_users as/*(KataoUser)*/ $katao_user) {
- $katao_member = $katao_user->getKataoMember();
- $katao_node = $katao_member->getKataoNode();
- try {
- $mailer->send(new Swift_Message(sprintf('KATAO : Bonne année %d', $year), sprintf('%s,
- Toute l\'équipe de katao te souhaite une bonne et heureuse année %d.
- Que toi et ta famille profitent au mieux de ce nouveau tour de soleil pour réaliser tout ce qui ne nuit pas à autrui et à notre bonne et vielle planète !
- A ce titre, dans le respect des hommes et de la nature, dans notre noeud %s nous sommes %d et avons l\'année dernière réalisé %d transactions pour un montant de %s
- Sur tout le réseau katao, nous sommes %d et avons l\'année dernière réalisé %d transactions pour un montant de %s
- Continuons donc notre marche pour réduire notre empreinte écologique tout en nous faisant plaisr !
- Comme chaque année, ton compte vient d\'être désactivé.
- Si tu veux continuer cette année à réaliser tes achats sur notre réseau, il te faut renouveller ton adhésion en faisant un chèque de %s à l\'ordre de "KATAO ASSOCIATION" et l\'envoyer à l\'adresse :
- %s
- %s
- Pour toute information, prend contact avec %s au %s.
- %s', $katao_member->getFirstName(), $year, $katao_node->getCity(),
- $katao_node_transactions[$katao_node->getId()]['members'], $katao_node_transactions[$katao_node->getId()]['count'], $katao_node_transactions[$katao_node->getId()]['sum'],
- $katao_node_transactions[0]['members'], $katao_node_transactions[0]['count'], $katao_node_transactions[0]['sum'],
- wpConfig::getMemberFeeStr(), $katao_user_seo->getFullName(), $katao_user_seo->getFullAdress(), $katao_member_seo->getFirstName(), $katao_user_seo->getPhone(),
- Utils::getKataoEmailFooter())), new Swift_Address($katao_user->getEmail(), $katao_user->getFullName()), sfConfig::get('app_mail_from'));
- }
- catch (Exception $e) {
- $mailer->disconnect();
- }
- $katao_member->setIsMember(false);
- $katao_member->save();
- }
- $mailer->disconnect();
- }
- }
- }
- return sfView::HEADER_ONLY;
- }
- }
|