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