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; } }