summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2010-02-21 14:41:05 -0800
committerTim Almdal <tnalmdal@shaw.ca>2010-02-21 14:41:05 -0800
commit9f810150532a2511bfc5f03c9d24fd592d2f803f (patch)
tree7e4c1d8547b1eb3977f5b634270d51334f4fe910 /modules
parenta6c3e8f0a26661afd353c75bea496532999f2ca5 (diff)
parentbe20309259de9310da3be703c93c4e42def2541b (diff)
Merge branch 'master' into talmdal_dev
Diffstat (limited to 'modules')
-rw-r--r--modules/gallery/controllers/user_profile.php16
-rw-r--r--modules/gallery/helpers/gallery_event.php2
-rw-r--r--modules/gallery/models/item.php6
-rw-r--r--modules/gallery/views/user_profile.html.php4
-rw-r--r--modules/notification/helpers/notification_event.php36
-rw-r--r--modules/rest/helpers/rest.php10
-rw-r--r--modules/rest/helpers/rest_event.php28
-rw-r--r--modules/user/views/admin_users_group.html.php4
8 files changed, 64 insertions, 42 deletions
diff --git a/modules/gallery/controllers/user_profile.php b/modules/gallery/controllers/user_profile.php
index 05373466..b89bc358 100644
--- a/modules/gallery/controllers/user_profile.php
+++ b/modules/gallery/controllers/user_profile.php
@@ -21,21 +21,21 @@ class User_Profile_Controller extends Controller {
public function show($id) {
// If we get here, then we should have a user id other than guest.
$user = identity::lookup_user($id);
- $active_user = identity::active_user();
- $is_current_active = $active_user->id == $id;
- $can_edit = $is_current_active && !$active_user->guest;
- $display_all = $active_user->admin || $can_edit;
+ if (!$user) {
+ throw new Kohana_404_Exception();
+ }
$v = new Theme_View("page.html", "other", "profile");
$v->page_title = t("%name Profile", array("name" => $user->display_name()));
$v->content = new View("user_profile.html");
- // @todo modify user_home to supply a link to their album,
$v->content->user = $user;
- $v->content->not_current = !$is_current_active;
- $v->content->editable = identity::is_writable() && $can_edit;
+ $v->content->contactable =
+ !$user->guest && $user->id != identity::active_user()->id && $user->email;
+ $v->content->editable =
+ identity::is_writable() && !$user->guest && $user->id == identity::active_user()->id;
- $event_data = (object)array("user" => $user, "display_all" => $display_all, "content" => array());
+ $event_data = (object)array("user" => $user, "content" => array());
module::event("show_user_profile", $event_data);
$v->content->info_parts = $event_data->content;
diff --git a/modules/gallery/helpers/gallery_event.php b/modules/gallery/helpers/gallery_event.php
index faf1c0c6..36f91142 100644
--- a/modules/gallery/helpers/gallery_event.php
+++ b/modules/gallery/helpers/gallery_event.php
@@ -413,7 +413,7 @@ class gallery_event_Core {
$fields = array("name" => t("Name"), "locale" => t("Language Preference"),
"email" => t("Email"), "full_name" => t("Full name"), "url" => "Web site");
- if (!$data->display_all) {
+ if (!$data->user->guest) {
$fields = array("name" => t("Name"), "full_name" => t("Full name"), "url" => "Web site");
}
$v->user_profile_data = array();
diff --git a/modules/gallery/models/item.php b/modules/gallery/models/item.php
index a64bcb49..d747b84d 100644
--- a/modules/gallery/models/item.php
+++ b/modules/gallery/models/item.php
@@ -930,11 +930,11 @@ class Item_Model extends ORM_MPTT {
}
unset($data["album_cover_item_id"]);
- if (access::can("view_fillsize", $this) && $this->is_photo()) {
- $data["fullsize_url"] = $this->abs_url(true);
+ if (access::can("view_full", $this) && $this->is_photo()) {
+ $data["file_url"] = $this->file_url(true);
}
- if ($tmp = $this->resize_url(true) && $this->is_photo()) {
+ if (($tmp = $this->resize_url(true)) && $this->is_photo()) {
$data["resize_url"] = $tmp;
}
$data["thumb_url"] = $this->thumb_url(true);
diff --git a/modules/gallery/views/user_profile.html.php b/modules/gallery/views/user_profile.html.php
index 53e8dc1e..257bd7ca 100644
--- a/modules/gallery/views/user_profile.html.php
+++ b/modules/gallery/views/user_profile.html.php
@@ -12,18 +12,18 @@
<a id="g-profile-return" class="g-button g-right ui-state-default ui-corner-all" href="#">
<?= t("Return") ?>
</a>
+ <? if ($editable): ?>
<a class="g-button g-right ui-state-default ui-corner-all g-dialog-link" href="<?= url::site("users/form_change_email/{$user->id}") ?>">
<?= t("Change email") ?>
</a>
<a class="g-button g-right ui-state-default ui-corner-all g-dialog-link" href="<?= url::site("users/form_change_password/{$user->id}") ?>">
<?= t("Change password") ?>
</a>
- <? if ($editable): ?>
<a class="g-button g-right ui-state-default ui-corner-all g-dialog-link" href="<?= url::site("form/edit/users/{$user->id}") ?>">
<?= t("Edit") ?>
</a>
<? endif ?>
- <? if (!$user->guest && $not_current && !empty($user->email)): ?>
+ <? if ($contactable): ?>
<a class="g-button g-right ui-state-default ui-corner-all g-dialog-link"
href="<?= url::site("user_profile/contact/{$user->id}") ?>">
<?= t("Contact") ?>
diff --git a/modules/notification/helpers/notification_event.php b/modules/notification/helpers/notification_event.php
index c8628ae4..19e8dedb 100644
--- a/modules/notification/helpers/notification_event.php
+++ b/modules/notification/helpers/notification_event.php
@@ -128,23 +128,31 @@ class notification_event_Core {
}
static function show_user_profile($data) {
- if ($data->display_all) {
- $view = new View("user_profile_notification.html");
- $view->subscriptions = array();
- foreach(ORM::factory("subscription")
- ->where("user_id", "=", $data->user->id)
- ->find_all() as $subscription) {
- $item = ORM::factory("item")
+ // Guests don't see comment listings
+ if (identity::active_user()->guest) {
+ return;
+ }
+
+ // Only logged in users can see their comment listings
+ if (identity::active_user()->id != $data->user->id) {
+ return;
+ }
+
+ $view = new View("user_profile_notification.html");
+ $view->subscriptions = array();
+ foreach(ORM::factory("subscription")
+ ->where("user_id", "=", $data->user->id)
+ ->find_all() as $subscription) {
+ $item = ORM::factory("item")
->where("id", "=", $subscription->item_id)
->find();
- if ($item->loaded()) {
- $view->subscriptions[] = (object)array("id" => $subscription->id, "title" => $item->title,
- "url" => $item->url());
- }
- }
- if (count($view->subscriptions) > 0) {
- $data->content[] = (object)array("title" => t("Watching"), "view" => $view);
+ if ($item->loaded()) {
+ $view->subscriptions[] = (object)array("id" => $subscription->id, "title" => $item->title,
+ "url" => $item->url());
}
}
+ if (count($view->subscriptions) > 0) {
+ $data->content[] = (object)array("title" => t("Watching"), "view" => $view);
+ }
}
} \ No newline at end of file
diff --git a/modules/rest/helpers/rest.php b/modules/rest/helpers/rest.php
index 3c53784d..1ee72aed 100644
--- a/modules/rest/helpers/rest.php
+++ b/modules/rest/helpers/rest.php
@@ -23,9 +23,13 @@ class rest_Core {
if (Input::instance()->get("output") == "html") {
header("Content-type: text/html");
- $html = preg_replace(
- "#([\w]+?://[\w]+[^ \'\"\n\r\t<]*)#ise", "'<a href=\"\\1\" >\\1</a>'",
- var_export(!empty($data) ? $data : t("Empty response"), 1));
+ if ($data) {
+ $html = preg_replace(
+ "#([\w]+?://[\w]+[^ \'\"\n\r\t<]*)#ise", "'<a href=\"\\1\" >\\1</a>'",
+ var_export($data, 1));
+ } else {
+ $html = t("Empty response");
+ }
print "<pre>$html</pre>";
} else {
header("Content-type: application/json");
diff --git a/modules/rest/helpers/rest_event.php b/modules/rest/helpers/rest_event.php
index f9aa34e3..c46e65c4 100644
--- a/modules/rest/helpers/rest_event.php
+++ b/modules/rest/helpers/rest_event.php
@@ -76,19 +76,27 @@ class rest_event {
}
static function show_user_profile($data) {
- if ($data->display_all) {
- $view = new View("user_profile_rest.html");
- $key = ORM::factory("user_access_token")
+ // Guests can't see a REST key
+ if (identity::active_user()->guest) {
+ return;
+ }
+
+ // Only logged in users can see their own REST key
+ if (identity::active_user()->id != $data->user->id) {
+ return;
+ }
+
+ $view = new View("user_profile_rest.html");
+ $key = ORM::factory("user_access_token")
->where("user_id", "=", $data->user->id)
->find();
- if (!$key->loaded()) {
- $key->user_id = $data->user->id;
- $key->access_key = md5($data->user->name . rand());
- $key->save();
- }
- $view->rest_key = $key->access_key;
- $data->content[] = (object)array("title" => t("Rest api"), "view" => $view);
+ if (!$key->loaded()) {
+ $key->user_id = $data->user->id;
+ $key->access_key = md5($data->user->name . rand());
+ $key->save();
}
+ $view->rest_key = $key->access_key;
+ $data->content[] = (object)array("title" => t("Rest api"), "view" => $view);
}
}
diff --git a/modules/user/views/admin_users_group.html.php b/modules/user/views/admin_users_group.html.php
index 6c6c341e..2362e42b 100644
--- a/modules/user/views/admin_users_group.html.php
+++ b/modules/user/views/admin_users_group.html.php
@@ -1,6 +1,8 @@
<?php defined("SYSPATH") or die("No direct script access.") ?>
<h4>
- <?= html::clean($group->name) ?>
+ <a href="<?= url::site("admin/users/edit_group_form/$group->id") ?>"
+ title="<?= t("Edit the %name group's name", array("name" => $group->name))->for_html_attr() ?>"
+ class="g-dialog-link"><?= html::clean($group->name) ?></a>
<? if (!$group->special): ?>
<a href="<?= url::site("admin/users/delete_group_form/$group->id") ?>"
title="<?= t("Delete the %name group", array("name" => $group->name))->for_html_attr() ?>"