summaryrefslogtreecommitdiff
path: root/modules/user
diff options
context:
space:
mode:
Diffstat (limited to 'modules/user')
-rw-r--r--modules/user/controllers/admin_users.php9
-rw-r--r--modules/user/helpers/user.php14
-rw-r--r--modules/user/libraries/drivers/IdentityProvider/Gallery.php2
-rw-r--r--modules/user/models/user.php4
-rw-r--r--modules/user/views/admin_users.html.php4
-rw-r--r--modules/user/views/admin_users_delete_user.html.php7
6 files changed, 36 insertions, 4 deletions
diff --git a/modules/user/controllers/admin_users.php b/modules/user/controllers/admin_users.php
index 24478aa5..c22fcc2e 100644
--- a/modules/user/controllers/admin_users.php
+++ b/modules/user/controllers/admin_users.php
@@ -95,7 +95,10 @@ class Admin_Users_Controller extends Admin_Controller {
if (empty($user)) {
throw new Kohana_404_Exception();
}
- print $this->_get_user_delete_form_admin($user);
+ $v = new View("admin_users_delete_user.html");
+ $v->user = $user;
+ $v->form = $this->_get_user_delete_form_admin($user);
+ print $v;
}
public function edit_user($id) {
@@ -364,8 +367,8 @@ class Admin_Users_Controller extends Admin_Controller {
$form = new Forge("admin/users/delete_user/$user->id", "", "post",
array("id" => "g-delete-user-form"));
$group = $form->group("delete_user")->label(
- t("Are you sure you want to delete user %name?", array("name" => $user->name)));
- $group->submit("")->value(t("Delete user %name", array("name" => $user->name)));
+ t("Delete user %name?", array("name" => $user->display_name())));
+ $group->submit("")->value(t("Delete"));
return $form;
}
diff --git a/modules/user/helpers/user.php b/modules/user/helpers/user.php
index 55153263..be50d6d1 100644
--- a/modules/user/helpers/user.php
+++ b/modules/user/helpers/user.php
@@ -36,6 +36,20 @@ class user_Core {
}
/**
+ * Return an admin user. Prefer the currently logged in user, if possible.
+ *
+ * @return User_Model
+ */
+ static function admin_user() {
+ $active = identity::active_user();
+ if ($active->admin) {
+ return $active;
+ }
+
+ return ORM::factory("user")->where("admin", "=", 1)->order_by("id", "ASC")->find();
+ }
+
+ /**
* Is the password provided correct?
*
* @param user User Model
diff --git a/modules/user/libraries/drivers/IdentityProvider/Gallery.php b/modules/user/libraries/drivers/IdentityProvider/Gallery.php
index 44433ad7..73ac9bd0 100644
--- a/modules/user/libraries/drivers/IdentityProvider/Gallery.php
+++ b/modules/user/libraries/drivers/IdentityProvider/Gallery.php
@@ -32,7 +32,7 @@ class IdentityProvider_Gallery_Driver implements IdentityProvider_Driver {
* @see IdentityProvider_Driver::guest.
*/
public function admin_user() {
- return self::lookup_user(2);
+ return user::admin_user();
}
/**
diff --git a/modules/user/models/user.php b/modules/user/models/user.php
index 78d74aa3..b28288be 100644
--- a/modules/user/models/user.php
+++ b/modules/user/models/user.php
@@ -88,6 +88,10 @@ class User_Model extends ORM implements User_Definition {
* @return ORM User_Model
*/
public function save() {
+ if ($this->full_name === null) {
+ $this->full_name = "";
+ }
+
if (!$this->loaded()) {
// New user
$this->add(group::everybody());
diff --git a/modules/user/views/admin_users.html.php b/modules/user/views/admin_users.html.php
index b2526bd8..f067cae8 100644
--- a/modules/user/views/admin_users.html.php
+++ b/modules/user/views/admin_users.html.php
@@ -64,6 +64,7 @@
<th><?= t("Full name") ?></th>
<th><?= t("Email") ?></th>
<th><?= t("Last login") ?></th>
+ <th><?= t("Albums/Photos") ?></th>
<th><?= t("Actions") ?></th>
</tr>
@@ -87,6 +88,9 @@
<?= ($user->last_login == 0) ? "" : gallery::date($user->last_login) ?>
</td>
<td>
+ <?= db::build()->from("items")->where("owner_id", "=", $user->id)->count_records() ?>
+ </td>
+ <td>
<a href="<?= url::site("admin/users/edit_user_form/$user->id") ?>"
open_text="<?= t("Close") ?>"
class="g-panel-link g-button ui-state-default ui-corner-all ui-icon-left">
diff --git a/modules/user/views/admin_users_delete_user.html.php b/modules/user/views/admin_users_delete_user.html.php
new file mode 100644
index 00000000..44777ae5
--- /dev/null
+++ b/modules/user/views/admin_users_delete_user.html.php
@@ -0,0 +1,7 @@
+<?php defined("SYSPATH") or die("No direct script access.") ?>
+<div id="g-admin-users-delete-user">
+ <p>
+ <?= t("Really delete <b>%name</b>? Any photos, movies or albums owned by this user will transfer ownership to <b>%new_owner</b>.", array("name" => $user->display_name(), "new_owner" => identity::active_user()->display_name())) ?>
+ </p>
+ <?= $form ?>
+</div>