Merge pull request #12808 from owncloud/add-special-parameterlist-to-manager
Add special parameterlist to manager
This commit is contained in:
commit
4f92e4a233
|
@ -94,15 +94,46 @@ class Activity implements \OCP\Activity\IExtension {
|
||||||
case self::SUBJECT_REMOTE_SHARE_RECEIVED:
|
case self::SUBJECT_REMOTE_SHARE_RECEIVED:
|
||||||
return $l->t('You received a new remote share from %s', $params)->__toString();
|
return $l->t('You received a new remote share from %s', $params)->__toString();
|
||||||
case self::SUBJECT_REMOTE_SHARE_ACCEPTED:
|
case self::SUBJECT_REMOTE_SHARE_ACCEPTED:
|
||||||
return $l->t('%1$s accepted remote share <strong>%2$s</strong>', $params)->__toString();
|
return $l->t('%1$s accepted remote share %2$s', $params)->__toString();
|
||||||
case self::SUBJECT_REMOTE_SHARE_DECLINED:
|
case self::SUBJECT_REMOTE_SHARE_DECLINED:
|
||||||
return $l->t('%1$s declined remote share <strong>%2$s</strong>', $params)->__toString();
|
return $l->t('%1$s declined remote share %2$s', $params)->__toString();
|
||||||
case self::SUBJECT_REMOTE_SHARE_UNSHARED:
|
case self::SUBJECT_REMOTE_SHARE_UNSHARED:
|
||||||
return $l->t('%1$s unshared <strong>%2$s</strong>', $params)->__toString();
|
return $l->t('%1$s unshared %2$s', $params)->__toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The extension can define the type of parameters for translation
|
||||||
|
*
|
||||||
|
* Currently known types are:
|
||||||
|
* * file => will strip away the path of the file and add a tooltip with it
|
||||||
|
* * username => will add the avatar of the user
|
||||||
|
*
|
||||||
|
* @param string $app
|
||||||
|
* @param string $text
|
||||||
|
* @return array|false
|
||||||
|
*/
|
||||||
|
public function getSpecialParameterList($app, $text) {
|
||||||
|
if ($app === 'files_sharing') {
|
||||||
|
switch ($text) {
|
||||||
|
case self::SUBJECT_REMOTE_SHARE_RECEIVED:
|
||||||
|
return array(
|
||||||
|
0 => '',// We can not use 'username' since the user is in a different ownCloud
|
||||||
|
);
|
||||||
|
case self::SUBJECT_REMOTE_SHARE_ACCEPTED:
|
||||||
|
case self::SUBJECT_REMOTE_SHARE_DECLINED:
|
||||||
|
case self::SUBJECT_REMOTE_SHARE_UNSHARED:
|
||||||
|
return array(
|
||||||
|
0 => '',// We can not use 'username' since the user is in a different ownCloud
|
||||||
|
1 => 'file',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A string naming the css class for the icon to be used can be returned.
|
* A string naming the css class for the icon to be used can be returned.
|
||||||
* If no icon is known for the given type false is to be returned.
|
* If no icon is known for the given type false is to be returned.
|
||||||
|
|
|
@ -167,6 +167,25 @@ class ActivityManager implements IManager {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $app
|
||||||
|
* @param string $text
|
||||||
|
* @return array|false
|
||||||
|
*/
|
||||||
|
function getSpecialParameterList($app, $text) {
|
||||||
|
foreach($this->extensions as $extension) {
|
||||||
|
$c = $extension();
|
||||||
|
if ($c instanceof IExtension) {
|
||||||
|
$specialParameter = $c->getSpecialParameterList($app, $text);
|
||||||
|
if (is_array($specialParameter)) {
|
||||||
|
return $specialParameter;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $type
|
* @param string $type
|
||||||
* @return string
|
* @return string
|
||||||
|
|
|
@ -79,6 +79,19 @@ interface IExtension {
|
||||||
*/
|
*/
|
||||||
public function translate($app, $text, $params, $stripPath, $highlightParams, $languageCode);
|
public function translate($app, $text, $params, $stripPath, $highlightParams, $languageCode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The extension can define the type of parameters for translation
|
||||||
|
*
|
||||||
|
* Currently known types are:
|
||||||
|
* * file => will strip away the path of the file and add a tooltip with it
|
||||||
|
* * username => will add the avatar of the user
|
||||||
|
*
|
||||||
|
* @param string $app
|
||||||
|
* @param string $text
|
||||||
|
* @return array|false
|
||||||
|
*/
|
||||||
|
function getSpecialParameterList($app, $text);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A string naming the css class for the icon to be used can be returned.
|
* A string naming the css class for the icon to be used can be returned.
|
||||||
* If no icon is known for the given type false is to be returned.
|
* If no icon is known for the given type false is to be returned.
|
||||||
|
|
|
@ -99,6 +99,13 @@ interface IManager {
|
||||||
*/
|
*/
|
||||||
function translate($app, $text, $params, $stripPath, $highlightParams, $languageCode);
|
function translate($app, $text, $params, $stripPath, $highlightParams, $languageCode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $app
|
||||||
|
* @param string $text
|
||||||
|
* @return array|false
|
||||||
|
*/
|
||||||
|
function getSpecialParameterList($app, $text);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $type
|
* @param string $type
|
||||||
* @return string
|
* @return string
|
||||||
|
|
|
@ -59,6 +59,14 @@ class Test_ActivityManager extends \Test\TestCase {
|
||||||
$this->assertFalse($result);
|
$this->assertFalse($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testGetSpecialParameterList() {
|
||||||
|
$result = $this->activityManager->getSpecialParameterList('APP0', '');
|
||||||
|
$this->assertEquals(array(0 => 'file', 1 => 'username'), $result);
|
||||||
|
|
||||||
|
$result = $this->activityManager->getSpecialParameterList('APP1', '');
|
||||||
|
$this->assertFalse($result);
|
||||||
|
}
|
||||||
|
|
||||||
public function testTypeIcon() {
|
public function testTypeIcon() {
|
||||||
$result = $this->activityManager->getTypeIcon('NT1');
|
$result = $this->activityManager->getTypeIcon('NT1');
|
||||||
$this->assertEquals('icon-nt-one', $result);
|
$this->assertEquals('icon-nt-one', $result);
|
||||||
|
@ -132,6 +140,14 @@ class SimpleExtension implements \OCP\Activity\IExtension {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSpecialParameterList($app, $text) {
|
||||||
|
if ($app === 'APP0') {
|
||||||
|
return array(0 => 'file', 1 => 'username');
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public function getTypeIcon($type) {
|
public function getTypeIcon($type) {
|
||||||
if ($type === 'NT1') {
|
if ($type === 'NT1') {
|
||||||
return 'icon-nt-one';
|
return 'icon-nt-one';
|
||||||
|
@ -185,6 +201,10 @@ class NoOpExtension implements \OCP\Activity\IExtension {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSpecialParameterList($app, $text) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public function getTypeIcon($type) {
|
public function getTypeIcon($type) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue