]> source.dussan.org Git - nextcloud-server.git/commitdiff
Pass view in \OC_Avatar to constructor and use $_ for enable_avatars
authorkondou <kondou@ts.unde.re>
Mon, 9 Sep 2013 14:57:46 +0000 (16:57 +0200)
committerkondou <kondou@ts.unde.re>
Mon, 9 Sep 2013 14:57:46 +0000 (16:57 +0200)
core/avatar/controller.php
lib/avatar.php
settings/personal.php
settings/templates/personal.php
settings/templates/users.php
settings/users.php
tests/lib/avatar.php

index bc0eb6eff3bff571c26c9b3c3712e98f32f73a7d..c7624b90b659b2ee5b1f4a190dc2396681061e71 100644 (file)
@@ -23,8 +23,8 @@ class Controller {
                        $size = 64;
                }
 
-               $avatar = new \OC_Avatar();
-               $image = $avatar->get($user, $size);
+               $avatar = new \OC_Avatar($user);
+               $image = $avatar->get($size);
 
                \OC_Response::disableCaching();
                \OC_Response::setLastModifiedHeader(time());
@@ -63,8 +63,8 @@ class Controller {
                }
 
                try {
-                       $avatar = new \OC_Avatar();
-                       $avatar->set($user, $newAvatar);
+                       $avatar = new \OC_Avatar($user);
+                       $avatar->set($newAvatar);
                        \OC_JSON::success();
                } catch (\OC\NotSquareException $e) {
                        $image = new \OC_Image($newAvatar);
@@ -96,8 +96,8 @@ class Controller {
                $user = \OC_User::getUser();
 
                try {
-                       $avatar = new \OC_Avatar();
-                       $avatar->remove($user);
+                       $avatar = new \OC_Avatar($user);
+                       $avatar->remove();
                        \OC_JSON::success();
                } catch (\Exception $e) {
                        \OC_JSON::error(array("data" => array("message" => $e->getMessage()) ));
@@ -145,8 +145,8 @@ class Controller {
                $image = new \OC_Image($tmpavatar);
                $image->crop($crop['x'], $crop['y'], $crop['w'], $crop['h']);
                try {
-                       $avatar = new \OC_Avatar();
-                       $avatar->set($user, $image->data());
+                       $avatar = new \OC_Avatar($user);
+                       $avatar->set($$image->data());
                        // Clean up
                        \OC_Cache::remove('tmpavatar');
                        \OC_JSON::success();
index e58a596e13d7cde689a953e73ec6b6e1d319492b..c07ef537d502ed6eea6e88e93f06a1594d233a41 100644 (file)
  */
 
 class OC_Avatar {
+
+       private $view;
+
+       /**
+        * @brief constructor
+        * @param $user string user to do avatar-management with
+       */
+       public function __construct ($user) {
+               $this->view = new \OC\Files\View('/'.$user);
+       }
+
        /**
         * @brief get the users avatar
-        * @param $user string which user to get the avatar for
         * @param $size integer size in px of the avatar, defaults to 64
         * @return boolean|\OC_Image containing the avatar or false if there's no image
        */
-       public function get ($user, $size = 64) {
-               $view = new \OC\Files\View('/'.$user);
-
-               if ($view->file_exists('avatar.jpg')) {
+       public function get ($size = 64) {
+               if ($thus->view->file_exists('avatar.jpg')) {
                        $ext = 'jpg';
-               } elseif ($view->file_exists('avatar.png')) {
+               } elseif ($this->view->file_exists('avatar.png')) {
                        $ext = 'png';
                } else {
                        return false;
                }
 
                $avatar = new OC_Image();
-               $avatar->loadFromData($view->file_get_contents('avatar.'.$ext));
+               $avatar->loadFromData($this->view->file_get_contents('avatar.'.$ext));
                $avatar->resize($size);
                return $avatar;
        }
 
        /**
         * @brief sets the users avatar
-        * @param $user string user to set the avatar for
         * @param $data mixed imagedata or path to set a new avatar
         * @throws Exception if the provided file is not a jpg or png image
         * @throws Exception if the provided image is not valid
         * @throws \OC\NotSquareException if the image is not square
         * @return void
        */
-       public function set ($user, $data) {
+       public function set ($data) {
                if (\OC_App::isEnabled('files_encryption')) {
                        $l = \OC_L10N::get('lib');
                        throw new \Exception($l->t("Custom profile pictures don't work with encryption yet"));
                }
 
-               $view = new \OC\Files\View('/'.$user);
-
                $img = new OC_Image($data);
                $type = substr($img->mimeType(), -3);
                if ($type === 'peg') { $type = 'jpg'; }
@@ -68,19 +73,17 @@ class OC_Avatar {
                        throw new \OC\NotSquareException();
                }
 
-               $view->unlink('avatar.jpg');
-               $view->unlink('avatar.png');
-               $view->file_put_contents('avatar.'.$type, $data);
+               $this->view->unlink('avatar.jpg');
+               $this->view->unlink('avatar.png');
+               $this->view->file_put_contents('avatar.'.$type, $data);
        }
 
        /**
         * @brief remove the users avatar
-        * @param $user string user to delete the avatar from
         * @return void
        */
-       public function remove ($user) {
-               $view = new \OC\Files\View('/'.$user);
-               $view->unlink('avatar.jpg');
-               $view->unlink('avatar.png');
+       public function remove () {
+               $this->view->unlink('avatar.jpg');
+               $this->view->unlink('avatar.png');
        }
 }
index 88e8802663d8ac0b62ad166c523251e98fb5937c..670e18e20ef56497951ac5dc7489146b8423b322 100644 (file)
@@ -89,6 +89,7 @@ $tmpl->assign('passwordChangeSupported', OC_User::canUserChangePassword(OC_User:
 $tmpl->assign('displayNameChangeSupported', OC_User::canUserChangeDisplayName(OC_User::getUser()));
 $tmpl->assign('displayName', OC_User::getDisplayName());
 $tmpl->assign('enableDecryptAll' , $enableDecryptAll);
+$tmpl->assign('enableAvatars', \OC_Config::getValue('enable_avatars', true));
 
 $forms=OC_App::getForms('personal');
 $tmpl->assign('forms', array());
index 9215115503ae1a1c3843609bae70ffc6a43cb2cb..d2ca8154f160bdf20754e773c7c29588030c75c0 100644 (file)
@@ -80,7 +80,7 @@ if($_['passwordChangeSupported']) {
 }
 ?>
 
-<?php if (\OC_Config::getValue('enable_avatars', true) === true): ?>
+<?php if ($_['enableAvatars']): ?>
 <form id="avatar" method="post" action="<?php p(\OC_Helper::linkToRoute('core_avatar_post')); ?>">
        <fieldset class="personalblock">
                <legend><strong><?php p($l->t('Profile picture')); ?></strong></legend>
index 445e5ce2fd50ee5aa0b8691bedcdb5f317b84a49..747d052a7bd959c7f99b534261f2db2e1f6a9627 100644 (file)
@@ -81,7 +81,7 @@ $_['subadmingroups'] = array_flip($items);
 <table class="hascontrols" data-groups="<?php p(json_encode($allGroups));?>">
        <thead>
                <tr>
-                       <?php if (\OC_Config::getValue('enable_avatars', true) === true): ?>
+                       <?php if ($_['enableAvatars']): ?>
                        <th id='headerAvatar'></th>
                        <?php endif; ?>
                        <th id='headerName'><?php p($l->t('Username'))?></th>
@@ -99,7 +99,7 @@ $_['subadmingroups'] = array_flip($items);
                <?php foreach($_["users"] as $user): ?>
                <tr data-uid="<?php p($user["name"]) ?>"
                        data-displayName="<?php p($user["displayName"]) ?>">
-                       <?php if (\OC_Config::getValue('enable_avatars', true) === true): ?>
+                       <?php if ($_['enableAvatars']): ?>
                        <td class="avatar"><div class="avatardiv"></div></td>
                        <?php endif; ?>
                        <td class="name"><?php p($user["name"]); ?></td>
index 213d1eecfda01ef0d921531705dc923619fbcbbf..2f1c63a0b59856900109f277c0ff93e5aa3366bd 100644 (file)
@@ -81,4 +81,5 @@ $tmpl->assign( 'quota_preset', $quotaPreset);
 $tmpl->assign( 'default_quota', $defaultQuota);
 $tmpl->assign( 'defaultQuotaIsUserDefined', $defaultQuotaIsUserDefined);
 $tmpl->assign( 'recoveryAdminEnabled', $recoveryAdminEnabled);
+$tmpl->assign('enableAvatars', \OC_Config::getValue('enable_avatars', true));
 $tmpl->printPage();
index 027e88d726d5f2324f89da246e87863f247e1f46..1c5195f8eb1952d6174c8c7c04770509ee0cbfb0 100644 (file)
@@ -11,16 +11,16 @@ class Test_Avatar extends PHPUnit_Framework_TestCase {
        public function testAvatar() {
                $this->markTestSkipped("Setting custom avatars with encryption doesn't work yet");
 
-               $avatar = new \OC_Avatar();
+               $avatar = new \OC_Avatar(\OC_User::getUser());
 
-               $this->assertEquals(false, $avatar->get(\OC_User::getUser()));
+               $this->assertEquals(false, $avatar->get());
 
                $expected = new OC_Image(\OC::$SERVERROOT.'/tests/data/testavatar.png');
-               $avatar->set(\OC_User::getUser(), $expected->data());
+               $avatar->set($expected->data());
                $expected->resize(64);
-               $this->assertEquals($expected->data(), $avatar->get(\OC_User::getUser())->data());
+               $this->assertEquals($expected->data(), $avatar->get()->data());
 
-               $avatar->remove(\OC_User::getUser());
-               $this->assertEquals(false, $avatar->get(\OC_User::getUser()));
+               $avatar->remove();
+               $this->assertEquals(false, $avatar->get());
        }
 }