/** * @todo НЕ ИСПОЛЬЗУЕТСЯ * * @deprecated since 0026073 * * Рассылка о новых проектах. Вызывается раз в день из hourly.php * * @param array $uids - массив идентификаторов пользователей, которым уже отправленя новая рассылка (см. NewProjForMissingMoreThan24h) * * @return int количество получивших рассылку */ public function NewProj($uids) { $projects = projects::GetNewProjects($error, true, 600, 50); $groups = professions::GetAllGroupsLite(true); $page = 0; $count = 0; if (empty($projects)) { return 0; } $this->subject = 'Новые проекты на FL.ru'; $message = '<p> Данное письмо отправлено почтовым роботом сервера FL.ru и не требует ответа. </p> <p> На сайте <a href="' . $GLOBALS['host'] . $this->_addUrlParams('f') . '">' . $GLOBALS['host'] . '</a> опубликованы новые Проекты </p> %MESSAGE% <p> Если вы хотите оперативно получать информацию об опубликованных на FL.ru проектах, скачайте и установите бесплатное приложение-информер <a href="' . $GLOBALS['host'] . '/promo/freetray/' . $this->_addUrlParams('f') . '">Free-tray</a>. </p>'; $this->message = $this->GetHtml('%USER_NAME%', $message, array('header' => 'default', 'footer' => 'default'), array('target_footer' => true)); $this->recipient = ''; $massId = $this->send('text/html'); foreach ($projects as $i => $prj) { $url = $GLOBALS['host'] . getFriendlyURL('project', $projects[$i]['id']); $projects[$i]['html'] = array('post_date' => date('d.m.y', strtotimeEx($prj['post_date'])), 'name' => $prj['name'] ? reformat($prj['name'], 100, 0, 1) : '', 'descr' => reformat($prj['descr'], 100, 0, 1), 'url' => "<a href='{$url}{$this->_addUrlParams('f')}'>{$url}</a>"); } while ($users = freelancer::GetPrjRecps($error, ++$page, 50, $uids)) { $this->recipient = array(); foreach ($users as $user) { if (empty($user['mailer'])) { continue; } $subj = array(); foreach ($groups as $group) { if (freelancer::isSubmited($user['mailer_str'], array(array('category_id' => $group['id'])))) { $subj[$group['id']] = $group['name']; } } $lastKind = 0; $message = ''; foreach ($projects as $prj) { if (!freelancer::isSubmited($user['mailer_str'], $prj['specs'])) { continue; } if ($lastKind != $prj['kind']) { $kindName = ''; switch ($prj['kind']) { case 1: $kindName = 'Попроектно'; break; case 2: $kindName = 'Конкурсы'; break; case 3: $kindName = 'На зарплату'; break; case 4: $kindName = 'В офис'; break; case 7: $kindName = 'Конкурсы'; break; } $message .= "\n"; $message .= "<div>-----------------------------------------------------------------------------------</div>\n"; $message .= "<div>{$kindName}</div>\n"; $message .= "<div>-----------------------------------------------------------------------------------</div>\n"; $lastKind = $prj['kind']; } $message .= "\n<div> </div><div>-----</div>\n"; $message .= "<div>{$prj['html']['post_date']}</div>\n"; $message .= "<div>{$prj['html']['name']}</div>\n"; $message .= "<div>-----</div>\n"; $message .= "<div>{$prj['html']['descr']}</div>\n"; $message .= "<div>{$prj['html']['url']}</div>\n"; $message .= "<div>-----------------------------------</div>\n"; } if (empty($message)) { continue; } $message = '<div>(' . implode('/', $subj) . ')</div><div> </div>' . $message; if (!$user['unsubscribe_key']) { $user['unsubscribe_key'] = users::GetUnsubscribeKey($user['login']); } $this->recipient[] = array('email' => $user['uname'] . ' ' . $user['usurname'] . ' [' . $user['login'] . '] <' . $user['email'] . '>', 'extra' => array('USER_NAME' => $user['uname'], 'USER_SURNAME' => $user['usurname'], 'USER_LOGIN' => $user['login'], 'MESSAGE' => $message, 'UNSUBSCRIBE_KEY' => $user['unsubscribe_key'])); ++$count; } $this->bind($massId, true); } return $count; }