本文整理汇总了PHP中Goteo\Model\Project::review方法的典型用法代码示例。如果您正苦于以下问题:PHP Project::review方法的具体用法?PHP Project::review怎么用?PHP Project::review使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Goteo\Model\Project
的用法示例。
在下文中一共展示了Project::review方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Projects
public static function Projects($debug = false)
{
// proyectos a notificar
$projects = Model\Project::review();
// para cada uno,
foreach ($projects as $project) {
// por ahora solo tratamos los de primera ronda y hasta 2 meses tras la financiación
if ($project->days > 40 || $project->days > 360) {
continue;
}
if ($debug) {
echo "Proyecto {$project->name}, Impulsor: {$project->user->name}, email: {$project->user->email}, estado {$project->status}, lleva {$project->days} dias<br />";
}
// primero los que no se bloquean
// Recuerdo al autor proyecto, 2 meses despues de campaña finalizada
if ($project->days == 140) {
// si quedan recompensas/retornos pendientes por cumplir
if (!Model\Project\Reward::areFulfilled($project->id) || !Model\Project\Reward::areFulfilled($project->id, 'social')) {
if ($debug) {
echo "Recompensas/Retornos pendientes<br />";
}
Send::toOwner('2m_after', $project);
} else {
if ($debug) {
echo "Recompensas/Retornos cumplidas, no se envía<br />";
}
}
}
// Recuerdo al autor proyecto, 8 meses despues de campaña finalizada
if ($project->days == 320) {
// si quedan retornos pendientes por cumplir
if (!Model\Project\Reward::areFulfilled($project->id, 'social')) {
if ($debug) {
echo "Retornos pendientes<br />";
}
Send::toOwner('8m_after', $project);
} else {
if ($debug) {
echo "Retornos cumplidos, no se envía<br />";
}
}
}
// ahora checkeamos bloqueo de consejos
$prefs = Model\User::getPreferences($project->owner);
if ($prefs->tips) {
if ($debug) {
echo "Bloqueado por preferencias<hr />";
}
continue;
}
// flag de aviso
$avisado = false;
// Consejos/avisos puntuales
switch ($project->days) {
// NO condicionales
case 1:
// Difunde, difunde, difunde
// Difunde, difunde, difunde
case 2:
// Comienza por lo más próximo
// Comienza por lo más próximo
case 3:
// Una acción a diario, por pequeña que sea
// Una acción a diario, por pequeña que sea
case 4:
// Llama a todas las puertas
// Llama a todas las puertas
case 5:
// Busca dónde está tu comunidad
// Busca dónde está tu comunidad
case 8:
// Agradece en público e individualmente
$template = 'tip_' . $project->days;
if ($debug) {
echo "Envío {$template}<br />";
}
Send::toOwner($template, $project);
break;
// periodico condicional
// periodico condicional
case 6:
// Publica novedades!
// y se repite cada 6 días (fechas libres) mientras no haya posts
// Publica novedades!
// y se repite cada 6 días (fechas libres) mientras no haya posts
case 12:
case 18:
case 24:
case 30:
case 36:
// si ya hay novedades, nada
if (Model\Blog::hasUpdates($project->id)) {
if ($debug) {
echo "Ya ha publicado novedades<br />";
}
} else {
if ($debug) {
echo "Envío aviso de que no ha publicado novedades<br />";
}
Send::toOwner('any_update', $project);
//.........这里部分代码省略.........