示例#1
0
 public function SendFriendsEmails($order_id, $user_id)
 {
     $order = Orders::find('first', array('conditions' => array('_id' => new MongoID($order_id))));
     $user = Users::find('first', array('conditions' => array('_id' => new MongoID($user_id))));
     //*****************************************************************************
     //*****************************************************************************
     $mongodb = Connections::get('default')->connection;
     $Friends = Details::connection()->connection->command(array('aggregate' => 'details', 'pipeline' => array(array('$project' => array('_id' => 0, 'user_id' => '$user_id', 'username' => '$username', 'Friend' => '$Friend')), array('$unwind' => '$Friend'), array('$match' => array('Friend' => $user['username'])))));
     $friends = array();
     if (count($Friends['result']) > 0) {
         foreach ($Friends['result'] as $friend) {
             array_push($friends, $friend['username']);
         }
     }
     //		print_r($friends);
     $usersToSend = Users::find('all', array('conditions' => array('username' => array('$in' => $friends)), 'fields' => array('email', 'username')));
     foreach ($usersToSend as $userToSend) {
         $sendEmailTo = $userToSend['email'];
         $sendUserName = $userToSend['username'];
         //*****************************************************************************
         //*****************************************************************************
         $view = new View(array('loader' => 'File', 'renderer' => 'File', 'paths' => array('template' => '{:library}/views/{:controller}/{:template}.{:type}.php')));
         $body = $view->render('template', compact('order', 'sendUserName'), array('controller' => 'ex', 'template' => 'FriendRequest', 'type' => 'mail', 'layout' => false));
         $transport = Swift_MailTransport::newInstance();
         $mailer = Swift_Mailer::newInstance($transport);
         $message = Swift_Message::newInstance();
         $message->setSubject("Your friend placed an order");
         $message->setFrom(array(NOREPLY => 'Your friend placed an order'));
         $message->setTo($sendEmailTo);
         //		$message->addBcc(MAIL_1);
         //		$message->addBcc(MAIL_2);
         //		$message->addBcc(MAIL_3);
         $message->setBody($body, 'text/html');
         $mailer->send($message);
     }
 }
示例#2
0
 public function map()
 {
     if ($this->__init() == false) {
         $this->redirect('ex::dashboard');
     }
     $mongodb = Connections::get('default')->connection;
     $IPDetails = Details::connection()->connection->command(array('aggregate' => 'details', 'pipeline' => array(array('$project' => array('_id' => 0, 'ip' => '$lastconnected.IP', 'iso' => '$lastconnected.ISO')), array('$group' => array('_id' => array('iso' => '$iso'), 'count' => array('$sum' => 1))))));
     $details = Details::find('all', array('conditions' => array('lastconnected.loc' => array('$exists' => true)), 'fields' => array('lastconnected.loc', 'lastconnected.ISO', 'balance.BTC', 'balance.XGC', 'balance.USD', 'balance.EUR', 'balance.GBP'), 'sort' => array('lastconnected.ISO' => 'ASC')));
     $balance = array();
     $coun = "{";
     foreach ($IPDetails['result'] as $IP) {
         $BTC = 0;
         $XGC = 0;
         $GBP = 0;
         $USD = 0;
         $EUR = 0;
         foreach ($details as $dd) {
             if ($IP['_id']['iso'] == $dd['lastconnected']['ISO']) {
                 $BTC = $BTC + $dd['balance']['BTC'];
                 $XGC = $XGC + $dd['balance']['XGC'];
                 $GBP = $GBP + $dd['balance']['GBP'];
                 $USD = $USD + $dd['balance']['USD'];
                 $EUR = $EUR + $dd['balance']['EUR'];
             }
             $balance[$IP['_id']['iso']] = " BTC: " . number_format($BTC, 3) . " XGC: " . number_format($XGC, 3) . " GBP: " . number_format($GBP, 3) . " USD: " . number_format($USD, 3) . " EUR: " . number_format($EUR, 3);
         }
         if ($IP["_id"]["iso"] != "") {
             $coun = $coun . '"' . $IP['_id']['iso'] . '":"Users: ' . $IP["count"] . $balance[$IP["_id"]["iso"]] . '",';
         }
     }
     $coun = substr($coun, 0, -1);
     $coun = $coun . '}';
     return compact('IPDetails', 'details', 'coun');
 }