Permalink
Browse files

Merge commit 'upstream/master'

  • Loading branch information...
2 parents cb57c39 + 1377b2c commit be20309259de9310da3be703c93c4e42def2541b @andyst andyst committed Feb 21, 2010
@@ -743,6 +743,11 @@ div#g-action-status {
margin-right: .4em;
}
+.rtl #g-admin-comment-button {
+ right: inherit;
+ left: 0;
+}
+
/* RTL Superfish ~~~~~~~~~~~~~~~~~~~~~~~~~ */
.rtl .sf-menu a {
@@ -1,6 +1,6 @@
<?php defined("SYSPATH") or die("No direct script access.") ?>
<a href="<?= url::site("form/add/comments/{$item->id}") ?>" id="g-admin-comment-button"
- class="g-button ui-corner-all ui-icon-left ui-state-default right">
+ class="g-button ui-corner-all ui-icon-left ui-state-default">
<span class="ui-icon ui-icon-comment"></span>
<?= t("Add a comment") ?>
</a>
@@ -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;
@@ -55,6 +55,34 @@
margin: 0;
}
+/* User profile ~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+#g-user-profile h1 {
+ margin: 1em 0;
+}
+
+#g-user-profile .g-avatar {
+ margin-right: .6em;
+}
+
+#g-user-profile .g-block {
+ margin-top: 0;
+}
+
+#g-user-profile .g-block-content {
+ margin-top: 0;
+}
+
+#g-user-profile th,
+#g-user-profile td {
+ border: none;
+}
+
+#g-user-profile th {
+ white-space: nowrap;
+ width: 1%;
+}
+
/** *******************************************************************
* 2) Admin
**********************************************************************/
@@ -96,4 +124,8 @@
.rtl #g-block-admin .g-left {
margin-left: 1em;
margin-right: 0;
-}
+}
+
+.rtl #g-user-profile .g-avatar {
+ margin-left: .6em;
+}
@@ -413,7 +413,7 @@ static function show_user_profile($data) {
$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();
@@ -423,9 +423,6 @@ static function show_user_profile($data) {
if ($field == "locale") {
$value = locales::display_name($value);
}
- if ($field == "full_name") {
- $value = t($value);
- }
$v->user_profile_data[(string) $label] = $value;
}
}
@@ -131,9 +131,6 @@ public function translate($message, $options=array()) {
$count = isset($options['count']) ? $options['count'] : null;
$values = $options;
unset($values['locale']);
- if ($message instanceof SafeString) {
- $message = (string) $message;
- }
$this->log($message, $options);
$entry = $this->lookup($locale, $message);
@@ -930,11 +930,11 @@ public function as_restful_array() {
}
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);
@@ -5,7 +5,7 @@
<tr>
<th> </th>
<? foreach ($groups as $group): ?>
- <th> <?= html::clean(t($group->name)) ?> </th>
+ <th> <?= html::clean($group->name) ?> </th>
<? endforeach ?>
</tr>
@@ -112,7 +112,7 @@
<? else: // can_upgrade ?>
<h1> <?= t("Who are you?") ?> </h1>
<p>
- <?= t("You're not logged in as an administrator, so we have to verify you to make sure it's ok for you to do an upgrade. To prove you can run an upgrade, create a file called <b>%name</b> in your <b>%tmp_dir_path</b> directory.",
+ <?= t("You're not logged in as an administrator, so we have to verify you to make sure it's ok for you to do an upgrade. To prove you can run an upgrade, create a file called <b> %name </b> in your <b>%tmp_dir_path</b> directory.",
array("name" => "$upgrade_token",
"tmp_dir_path" => "gallery3/var/tmp")) ?>
</p>
@@ -1,27 +1,4 @@
<?php defined("SYSPATH") or die("No direct script access.") ?>
-<style>
- #g-user-profile div {
- margin-top: 1em;
- }
-
- #g-user-profile fieldset {
- border: 1px solid #CCCCCC;
- padding: 0 1em 0.8em;
- }
-
- #g-user-profile fieldset label {
- font-weight: bold;
- }
-
- #g-user-profile fieldset div {
- padding-left: 1em;
- }
-
- #g-user-profile td {
- border: none;
- padding: 0;
- }
-</style>
<script type="text/javascript">
$(document).ready(function() {
$("#g-profile-return").click(function(event) {
@@ -31,45 +8,40 @@
});
</script>
<div id="g-user-profile">
- <h1>
- <a href="#">
- <img src="<?= $user->avatar_url(40, $theme->url("images/avatar.jpg", true)) ?>"
- alt="<?= html::clean_attribute($user->display_name()) ?>"
- class="g-avatar" width="40" height="40" />
- </a>
- <?= t("%name Profile", array("name" => $user->display_name())) ?>
- </h1>
- <? foreach ($info_parts as $info): ?>
- <div>
- <fieldset>
- <label><?= html::purify($info->title) ?></label>
- <div>
- <?= $info->view ?>
- </div>
- </fieldset>
- </div>
- <? endforeach ?>
- <div id="g-profile-buttons" class="ui-helper-clearfix g-right">
- <? if (!$user->guest && $not_current && !empty($user->email)): ?>
- <a class="g-button ui-icon-right ui-state-default ui-corner-all g-dialog-link"
- href="<?= url::site("user_profile/contact/{$user->id}") ?>">
- <?= t("Contact") ?>
+ <div class="ui-helper-clearfix">
+ <a id="g-profile-return" class="g-button g-right ui-state-default ui-corner-all" href="#">
+ <?= t("Return") ?>
</a>
- <? endif ?>
<? if ($editable): ?>
- <a class="g-button ui-icon-right ui-state-default ui-corner-all g-dialog-link" href="<?= url::site("form/edit/users/{$user->id}") ?>">
- <?= t("Edit") ?>
+ <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 ui-icon-right ui-state-default ui-corner-all g-dialog-link" href="<?= url::site("users/form_change_password/{$user->id}") ?>">
+ <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>
- <a class="g-button ui-icon-right ui-state-default ui-corner-all g-dialog-link" href="<?= url::site("users/form_change_email/{$user->id}") ?>">
- <?= t("Change email") ?>
+ <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 ?>
-
- <a id="g-profile-return" class="g-button ui-icon-right ui-state-default ui-corner-all" href="#">
- <?= t("Return") ?>
+ <? 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") ?>
</a>
+ <? endif ?>
</div>
+ <h1>
+ <img src="<?= $user->avatar_url(40, $theme->url("images/avatar.jpg", true)) ?>"
+ alt="<?= html::clean_attribute($user->display_name()) ?>"
+ class="g-avatar g-left" width="40" height="40" />
+ <?= t("User profile: %name", array("name" => $user->display_name())) ?>
+ </h1>
+ <? foreach ($info_parts as $info): ?>
+ <div class="g-block">
+ <h2><?= html::purify($info->title) ?></h2>
+ <div class="g-block-content">
+ <?= $info->view ?>
+ </div>
+ </div>
+ <? endforeach ?>
</div>
@@ -2,7 +2,7 @@
<table>
<? foreach ($user_profile_data as $label => $value): ?>
<tr>
- <td><?= html::clean($label) ?></td>
+ <th><?= html::clean($label) ?></th>
<td><?= html::purify($value) ?></td>
</tr>
<? endforeach ?>
@@ -128,23 +128,31 @@ static function site_menu($menu, $theme) {
}
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);
+ }
}
}
@@ -23,9 +23,13 @@ static function reply($data=array()) {
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");
@@ -76,19 +76,27 @@ static function _get_access_key_form($user, $form) {
}
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);
}
}
@@ -98,25 +98,25 @@ static function initialize() {
DEFAULT CHARSET=utf8;");
$everybody = ORM::factory("group");
- $everybody->name = (string) t("Everybody", array("locale" => "root"));
+ $everybody->name = "Everybody";
$everybody->special = true;
$everybody->save();
$registered = ORM::factory("group");
- $registered->name = (string) t("Registered Users", array("locale" => "root"));
+ $registered->name = "Registered Users";
$registered->special = true;
$registered->save();
$guest = ORM::factory("user");
$guest->name = "guest";
- $guest->full_name = (string) t("Guest User", array("locale" => "root"));
+ $guest->full_name = "Guest User";
$guest->password = "";
$guest->guest = true;
$guest->save();
$admin = ORM::factory("user");
$admin->name = "admin";
- $admin->full_name = (string) t("Gallery Administrator", array("locale" => "root"));
+ $admin->full_name = "Gallery Administrator";
$admin->password = "admin";
$admin->email = "unknown@unknown.com";
$admin->admin = true;
Oops, something went wrong.

0 comments on commit be20309

Please sign in to comment.