本文整理汇总了PHP中Goteo\Model\Project::getTranslates方法的典型用法代码示例。如果您正苦于以下问题:PHP Project::getTranslates方法的具体用法?PHP Project::getTranslates怎么用?PHP Project::getTranslates使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Goteo\Model\Project
的用法示例。
在下文中一共展示了Project::getTranslates方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: process
//.........这里部分代码省略.........
// Evento Feed
$log = new Feed();
$log->setTarget($userData->id, 'user');
$log->populate($what . ' traduccion (admin)', '/admin/translates', \vsprintf('El admin %s ha %s a %s la traducción del proyecto %s', array(Feed::item('user', $_SESSION['user']->name, $_SESSION['user']->id), Feed::item('relevant', $what), Feed::item('user', $userData->name, $userData->id), Feed::item('project', $project->name, $project->id))));
$log->doAdmin('admin');
unset($log);
}
$action = 'edit';
}
// fin asignar o desasignar
// añadir o actualizar
// se guarda el idioma original y si la traducción está abierta o cerrada
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['save'])) {
if (empty($id)) {
Message::Error(Text::_('Hemos perdido de vista el proyecto'));
throw new Redirection('/admin/translates');
}
// ponemos los datos que llegan
$sql = "UPDATE project SET lang = :lang, translate = 1 WHERE id = :id";
if (Model\Project::query($sql, array(':lang' => $_POST['lang'], ':id' => $id))) {
if ($action == 'add') {
Message::Info('El proyecto ' . $project->name . ' se ha habilitado para traducir');
} else {
Message::Info(Text::_('Datos de traducción actualizados'));
}
if ($action == 'add') {
// Evento Feed
$log = new Feed();
$log->setTarget($project->id);
$log->populate(Text::_('proyecto habilitado para traducirse (admin)'), '/admin/translates', \vsprintf('El admin %s ha %s la traducción del proyecto %s', array(Feed::item('user', $_SESSION['user']->name, $_SESSION['user']->id), Feed::item('relevant', 'Habilitado'), Feed::item('project', $project->name, $project->id))));
$log->doAdmin('admin');
unset($log);
throw new Redirection('/admin/translates/edit/' . $project->id);
} else {
throw new Redirection('/admin/translates');
}
} else {
if ($action == 'add') {
Message::Error(Text::_('Ha fallado al habilitar la traducción del proyecto ') . $project->name);
} else {
Message::Error(Text::_('Ha fallado al actualizar los datos de la traducción'));
}
}
}
if ($action == 'send') {
// Informar al autor de que la traduccion está habilitada
// Obtenemos la plantilla para asunto y contenido
$template = Template::get(26);
// Sustituimos los datos
$subject = str_replace('%PROJECTNAME%', $project->name, $template->title);
$search = array('%OWNERNAME%', '%PROJECTNAME%', '%SITEURL%');
$replace = array($project->user->name, $project->name, SITE_URL);
$content = \str_replace($search, $replace, $template->text);
// iniciamos mail
$mailHandler = new Mail();
$mailHandler->to = $project->user->email;
$mailHandler->toName = $project->user->name;
// blind copy a goteo desactivado durante las verificaciones
// $mailHandler->bcc = 'comunicaciones@goteo.org';
$mailHandler->subject = $subject;
$mailHandler->content = $content;
$mailHandler->html = true;
$mailHandler->template = $template->id;
if ($mailHandler->send()) {
Message::Info('Se ha enviado un email a <strong>' . $project->user->name . '</strong> a la dirección <strong>' . $project->user->email . '</strong>');
} else {
Message::Error('Ha fallado al enviar el mail a <strong>' . $project->user->name . '</strong> a la dirección <strong>' . $project->user->email . '</strong>');
}
unset($mailHandler);
$action = 'edit';
}
$project->translators = Model\User\Translate::translators($id);
$translators = Model\User::getAll(array('role' => 'translator'));
// añadimos al dueño del proyecto en el array de traductores
array_unshift($translators, $project->user);
return new View('view/admin/index.html.php', array('folder' => 'translates', 'file' => 'edit', 'action' => $action, 'availables' => $availables, 'translators' => $translators, 'project' => $project));
break;
case 'close':
// la sentencia aqui mismo
// el campo translate del proyecto $id a false
$sql = "UPDATE project SET translate = 0 WHERE id = :id";
if (Model\Project::query($sql, array(':id' => $id))) {
Message::Info('La traducción del proyecto ' . $project->name . ' se ha finalizado');
Model\Project::query("DELETE FROM user_translate WHERE type = 'project' AND item = :id", array(':id' => $id));
// Evento Feed
$log = new Feed();
$log->setTarget($project->id);
$log->populate(Text::_('traducción finalizada (admin)'), '/admin/translates', \vsprintf('El admin %s ha dado por %s la traducción del proyecto %s', array(Feed::item('user', $_SESSION['user']->name, $_SESSION['user']->id), Feed::item('relevant', 'Finalizada'), Feed::item('project', $project->name, $project->id))));
$log->doAdmin('admin');
unset($log);
} else {
Message::Error(Text::_('Falló al finalizar la traducción'));
}
break;
}
$projects = Model\Project::getTranslates($filters, $node);
$owners = Model\User::getOwners();
$translators = Model\User::getAll(array('role' => 'translator'));
return new View('view/admin/index.html.php', array('folder' => 'translates', 'file' => 'list', 'projects' => $projects, 'filters' => $filters, 'fields' => array('owner', 'translator'), 'owners' => $owners, 'translators' => $translators));
}