Add translatable guest postfix for guests

pull/1/head
Victor Dubiniuk 10 years ago
parent 61576a8374
commit 8f47b86278

@ -15,15 +15,16 @@ namespace OCA\Documents;
class SessionController extends Controller{
public static function joinAsGuest($args){
$postfix = self::preDispatchGuest();
self::preDispatchGuest();
$uid = Helper::getArrayValueByKey($_POST, 'name');
$guestUid = substr($uid, 0, 16) .' '. $postfix;
$guestUid = substr($uid, 0, 16);
try {
$token = Helper::getArrayValueByKey($args, 'token');
$fileId = File::getIdByShareToken($token);
self::join($guestUid, $fileId);
$session = Db_Session::start($uid, $fileId, true);
\OCP\JSON::success($session);
} catch (\Exception $e){
Helper::warnLog('Starting a session failed. Reason: ' . $e->getMessage());
\OCP\JSON::error();
@ -40,7 +41,8 @@ class SessionController extends Controller{
$path = $view->getPath($fileId);
if ($view->isUpdatable($path)) {
self::join($uid, $fileId);
$session = Db_Session::start($uid, $fileId, false);
\OCP\JSON::success($session);
} else {
$info = $view->getFileInfo();
\OCP\JSON::success(array(
@ -56,11 +58,6 @@ class SessionController extends Controller{
}
}
protected static function join($uid, $fileId){
$session = Db_Session::start($uid, $fileId);
\OCP\JSON::success($session);
exit();
}
/**
* Store the document content to its origin

@ -45,12 +45,15 @@ class UserController extends Controller{
$member = new Db_Member();
$member->load($memberId);
$memberData = $member->getData();
if (count($memberData) && $memberData['status']==Db_Member::MEMBER_STATUS_ACTIVE
&& preg_match('/.* \(guest\)$/', $memberData['uid'])
if (count($memberData)
&& $memberData['status']==Db_Member::MEMBER_STATUS_ACTIVE
&& $memberData['is_guest']
){
if (!preg_match('/.* \(guest\)$/', $name)){
$name .= ' (guest)';
$guestMark = Db_Member::getGuestPostfix();
if (substr($name, -strlen($guestMark)) !== $guestMark){
$name = $name . ' ' . $guestMark;
}
$op = new Db_Op();
$op->changeNick($memberData['es_id'], $memberId, $name);
}

@ -15,6 +15,10 @@ namespace OCA\Documents;
class Config {
const APP_NAME = 'documents';
public static function getL10n(){
return \OCP\Util::getL10N(self::APP_NAME);
}
public static function getConverter(){
return self::getAppValue('converter', 'local');
}

@ -15,7 +15,7 @@ namespace OCA\Documents;
class Db_Member extends Db{
const DB_TABLE = '`*PREFIX*documents_member`';
const ACTIVITY_THRESHOLD = 90; // 1.5 Minutes
const MEMBER_STATUS_ACTIVE = 1;
@ -23,11 +23,16 @@ class Db_Member extends Db{
protected $tableName = '`*PREFIX*documents_member`';
protected $insertStatement = 'INSERT INTO `*PREFIX*documents_member` (`es_id`, `uid`, `color`, `last_activity`)
VALUES (?, ?, ?, ?)';
protected $insertStatement = 'INSERT INTO `*PREFIX*documents_member` (`es_id`, `uid`, `color`, `last_activity`, `is_guest`)
VALUES (?, ?, ?, ?, ?)';
protected $loadStatement = 'SELECT * FROM `*PREFIX*documents_member` WHERE `member_id`= ?';
public static function getGuestPostfix(){
return '(' . Config::getL10n()->t('guest') . ')';
}
public function updateActivity($memberId){
return $this->execute(
'UPDATE ' . $this->tableName . ' SET `last_activity`=?, `status`=? WHERE `member_id`=?',

@ -35,7 +35,7 @@ class Db_Session extends \OCA\Documents\Db {
* @return array
* @throws \Exception
*/
public static function start($uid, $fileId){
public static function start($uid, $fileId, $isGuest){
$file = new File($fileId);
list($ownerView, $path) = $file->getOwnerViewAndPath();
@ -72,7 +72,8 @@ class Db_Session extends \OCA\Documents\Db {
$session['es_id'],
$uid,
$memberColor,
time()
time(),
intval($isGuest)
));
if ($member->insert()){
@ -101,14 +102,15 @@ class Db_Session extends \OCA\Documents\Db {
*/
}
$displayName = $isGuest ? $uid . ' ' . Db_Member::getGuestPostfix() : \OCP\User::getDisplayName($uid);
$session['member_id'] = (string) $member->getLastInsertId();
$op = new Db_Op();
$op->addMember(
$session['es_id'],
$session['member_id'],
\OCP\User::getDisplayName($uid),
$displayName,
$memberColor,
$imageUrl
);
@ -116,6 +118,8 @@ class Db_Session extends \OCA\Documents\Db {
throw new \Exception('Failed to add member into database');
}
$session['permissions'] = $ownerView->getFilePermissions($path);
return $session;

Loading…
Cancel
Save