本文整理汇总了PHP中Goteo\Model\Project::ofmine方法的典型用法代码示例。如果您正苦于以下问题:PHP Project::ofmine方法的具体用法?PHP Project::ofmine怎么用?PHP Project::ofmine使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Goteo\Model\Project
的用法示例。
在下文中一共展示了Project::ofmine方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: projList
public static function projList($user)
{
$lists = array();
// mis proyectos
$projects = Model\Project::ofmine($user->id);
if (!empty($projects)) {
$lists['my_projects'] = Listing::get($projects);
}
// proyectos que cofinancio
$invested = Model\User::invested($user->id, false);
if (!empty($invested)) {
$lists['invest_on'] = Listing::get($invested);
}
return $lists;
}
示例2: verifyProject
/**
* Verificación de proyecto de trabajo
*
* @param object $user instancia Model\User del convocador
* @param string $action por si es 'select'
* @return array(project, projects)
*/
public static function verifyProject($user, $action)
{
$projects = Model\Project::ofmine($user->id);
// sus proyectos
// si no tiene, no debería estar aquí
if (empty($projects) || !is_array($projects)) {
return array(null, null);
}
// comprobamos que tenga los permisos para editar y borrar
foreach ($projects as $proj) {
// comprueba que puede editar sus proyectos
if (!ACL::check('/project/edit/' . $proj->id)) {
ACL::allow('/project/edit/' . $proj->id . '/', '*', 'user', $user);
}
// y borrarlos
if (!ACL::check('/project/delete/' . $proj->id)) {
ACL::allow('/project/delete/' . $proj->id . '/', '*', 'user', $user);
}
}
// si está seleccionando otro proyecto
if ($action == 'select' && !empty($_POST['project'])) {
$project = Model\Project::get($_POST['project']);
} elseif (!empty($_SESSION['project']->id)) {
// mantener los datos del proyecto de trabajo
$project = Model\Project::get($_SESSION['project']->id);
}
// si aun no tiene proyecto de trabajo, coge el primero
if (empty($project)) {
$project = $projects[0];
}
// tiene que volver con un proyecto de trabajo
if ($project instanceof \Goteo\Model\Project) {
$_SESSION['project'] = $project;
// lo guardamos en sesión para la próxima verificación
} else {
Message::Error('No se puede trabajar con el proyecto seleccionado, contacta con nosotros');
$project = null;
}
// devolvemos lista de proyectos y proyecto de trabajo
return array($project, $projects);
}
示例3: profile
/**
* Perfil público de usuario.
*
* @param string $id Nombre de usuario
*/
public function profile($id, $show = 'profile', $category = null)
{
if (!in_array($show, array('profile', 'investors', 'sharemates', 'message'))) {
$show = 'profile';
}
$user = Model\User::get($id, LANG);
if (!$user instanceof Model\User || $user->hide) {
throw new Error('404', Text::html('fatal-error-user'));
}
//--- para usuarios públicos---
if (empty($_SESSION['user'])) {
// la subpágina de mensaje también está restringida
if ($show == 'message') {
$_SESSION['jumpto'] = '/user/profile/' . $id . '/message';
Message::Info(Text::get('user-login-required-to_message'));
throw new Redirection(SEC_URL . "/user/login");
}
// a menos que este perfil sea de un vip, no pueden verlo
if (!isset($user->roles['vip'])) {
$_SESSION['jumpto'] = '/user/profile/' . $id . '/' . $show;
Message::Info(Text::get('user-login-required-to_see'));
throw new Redirection(SEC_URL . "/user/login");
}
/*
// subpágina de cofinanciadores
if ($show == 'investors') {
Message::Info(Text::get('user-login-required-to_see-supporters'));
throw new Redirection('/user/profile/' . $id);
}
*/
}
//--- el resto pueden seguir ---
// impulsor y usuario solamente pueden comunicarse si:
if ($show == 'message') {
$is_author = false;
// si es autor de un proyecto publicado
$is_investor = false;
// si es cofinanciador
$is_messeger = false;
// si es participante
// si el usuario logueado es impulsor (autro de proyecto publicado
$user_created = Model\Project::ofmine($_SESSION['user']->id, true);
if (!empty($user_created)) {
$is_author = true;
}
// si el usuario del perfil es cofin. o partic.
// proyectos que es cofinanciador este usuario (el del perfil)
$user_invested = Model\User::invested($id, true);
foreach ($user_invested as $a_project) {
if ($a_project->owner == $_SESSION['user']->id) {
$is_investor = true;
break;
}
}
// proyectos que es participante este usuario (el del perfil) (que ha enviado algún mensaje)
$user_messeged = Model\Message::getMesseged($id, true);
foreach ($user_messeged as $a_project) {
if ($a_project->owner == $_SESSION['user']->id) {
$is_messeger = true;
break;
}
}
// si el usuario logueado es el usuario cofin./partic.
// si el usuario del perfil es impulsor de un proyecto cofinanciado o en el que ha participado
// proyectos que es cofinanciador el usuario logueado
$user_invested = Model\User::invested($_SESSION['user']->id, true);
foreach ($user_invested as $a_project) {
if ($a_project->owner == $id) {
$is_investor = true;
break;
}
}
// proyectos que es participante el usuario logueado (que ha enviado algún mensaje)
$user_messeged = Model\Message::getMesseged($_SESSION['user']->id, true);
foreach ($user_messeged as $a_project) {
if ($a_project->owner == $id) {
$is_messeger = true;
break;
}
}
if (!$is_investor && !$is_messeger && !$is_author) {
Message::Info(Text::get('user-message-restricted'));
throw new Redirection('/user/profile/' . $id);
} else {
$_SESSION['message_autorized'] = true;
}
}
// vip profile
$viewData = array();
$viewData['user'] = $user;
$projects = Model\Project::ofmine($id, true);
$viewData['projects'] = $projects;
//mis cofinanciadores
// array de usuarios con:
// foto, nombre, nivel, cantidad a mis proyectos, fecha ultimo aporte, nº proyectos que cofinancia
//.........这里部分代码省略.........