PHP 8 Compatibility
This commit is contained in:
@@ -83,8 +83,10 @@ class TaskEmail extends Base
|
||||
$subject = $this->getParam('subject');
|
||||
|
||||
foreach ($data["task"] as $key => $value) {
|
||||
$placeholder = sprintf('{{%s}}', $key);
|
||||
$subject = str_replace($placeholder, $value, $subject);
|
||||
if ($value !== null) {
|
||||
$placeholder = sprintf('{{%s}}', $key);
|
||||
$subject = str_replace($placeholder, $value, $subject);
|
||||
}
|
||||
}
|
||||
|
||||
if (! empty($user['email'])) {
|
||||
|
||||
@@ -14,12 +14,10 @@ class CommentListController extends BaseController
|
||||
{
|
||||
public function show()
|
||||
{
|
||||
$project = $this->getProject();
|
||||
$task = $this->getTask();
|
||||
$commentSortingDirection = $this->userMetadataCacheDecorator->get(UserMetadataModel::KEY_COMMENT_SORTING_DIRECTION, 'ASC');
|
||||
|
||||
$this->response->html($this->template->render('comment_list/show', array(
|
||||
'project' => $project,
|
||||
'task' => $task,
|
||||
'comments' => $this->commentModel->getAll($task['id'], $commentSortingDirection),
|
||||
'editable' => $this->helper->user->hasProjectAccess('CommentController', 'edit', $task['project_id']),
|
||||
|
||||
@@ -38,7 +38,7 @@ class TaskAjaxController extends BaseController
|
||||
$filter->withFilter(new TaskIdExclusionFilter(array($exclude_task_id)));
|
||||
}
|
||||
|
||||
if (ctype_digit($search)) {
|
||||
if (ctype_digit((string) $search)) {
|
||||
$filter->withFilter(new TaskIdFilter($search));
|
||||
} else {
|
||||
$filter->withFilter(new TaskTitleFilter($search));
|
||||
|
||||
@@ -175,7 +175,7 @@ class DateParser extends Base
|
||||
*/
|
||||
public function getTimestamp($value)
|
||||
{
|
||||
if (ctype_digit($value)) {
|
||||
if (ctype_digit((string) $value)) {
|
||||
return (int) $value;
|
||||
}
|
||||
|
||||
@@ -263,7 +263,7 @@ class DateParser extends Base
|
||||
*/
|
||||
public function getTimestampFromIsoFormat($value)
|
||||
{
|
||||
return $this->removeTimeFromTimestamp(ctype_digit($value) ? $value : strtotime($value));
|
||||
return $this->removeTimeFromTimestamp(ctype_digit((string) $value) ? $value : strtotime($value));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -291,7 +291,7 @@ class DateParser extends Base
|
||||
{
|
||||
foreach ($fields as $field) {
|
||||
if (! empty($values[$field])) {
|
||||
if (ctype_digit($values[$field])) {
|
||||
if (ctype_digit((string) $values[$field])) {
|
||||
$values[$field] = date($format, $values[$field]);
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -112,7 +112,7 @@ class RememberMeCookie extends Base
|
||||
'',
|
||||
time() - 3600,
|
||||
$this->helper->url->dir(),
|
||||
null,
|
||||
'',
|
||||
$this->request->isHTTPS(),
|
||||
true
|
||||
);
|
||||
|
||||
@@ -79,7 +79,7 @@ class Request extends Base
|
||||
*/
|
||||
public function getIntegerParam($name, $default_value = 0)
|
||||
{
|
||||
return isset($this->get[$name]) && ctype_digit($this->get[$name]) ? (int) $this->get[$name] : $default_value;
|
||||
return isset($this->get[$name]) && ctype_digit((string) $this->get[$name]) ? (int) $this->get[$name] : $default_value;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -318,7 +318,7 @@ class User
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getGroupAdminDn()
|
||||
public function getGroupAdminDn(): string
|
||||
{
|
||||
return strtolower(LDAP_GROUP_ADMIN_DN);
|
||||
}
|
||||
@@ -329,7 +329,7 @@ class User
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getGroupManagerDn()
|
||||
public function getGroupManagerDn(): string
|
||||
{
|
||||
return LDAP_GROUP_MANAGER_DN;
|
||||
}
|
||||
|
||||
@@ -24,32 +24,38 @@ class SessionHandler implements SessionHandlerInterface
|
||||
$this->db = $db;
|
||||
}
|
||||
|
||||
#[\ReturnTypeWillChange]
|
||||
public function close()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
#[\ReturnTypeWillChange]
|
||||
public function destroy($sessionID)
|
||||
{
|
||||
return $this->db->table(self::TABLE)->eq('id', $sessionID)->remove();
|
||||
}
|
||||
|
||||
#[\ReturnTypeWillChange]
|
||||
public function gc($maxlifetime)
|
||||
{
|
||||
return $this->db->table(self::TABLE)->lt('expire_at', time())->remove();
|
||||
}
|
||||
|
||||
#[\ReturnTypeWillChange]
|
||||
public function open($savePath, $name)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
#[\ReturnTypeWillChange]
|
||||
public function read($sessionID)
|
||||
{
|
||||
$result = $this->db->table(self::TABLE)->eq('id', $sessionID)->findOneColumn('data');
|
||||
return $result ?: '';
|
||||
}
|
||||
|
||||
#[\ReturnTypeWillChange]
|
||||
public function write($sessionID, $data)
|
||||
{
|
||||
$lifetime = time() + (ini_get('session.gc_maxlifetime') ?: 1440);
|
||||
|
||||
@@ -61,7 +61,7 @@ class Translator
|
||||
array_unshift($args, $this->get($identifier, $identifier));
|
||||
|
||||
foreach ($args as &$arg) {
|
||||
$arg = htmlspecialchars($arg, ENT_QUOTES, 'UTF-8', false);
|
||||
$arg = htmlspecialchars((string) $arg, ENT_QUOTES, 'UTF-8', false);
|
||||
}
|
||||
|
||||
return call_user_func_array(
|
||||
|
||||
@@ -41,6 +41,7 @@ class GenericEvent extends BaseEvent implements ArrayAccess
|
||||
return $this->container;
|
||||
}
|
||||
|
||||
#[\ReturnTypeWillChange]
|
||||
public function offsetSet($offset, $value)
|
||||
{
|
||||
if (is_null($offset)) {
|
||||
@@ -50,16 +51,19 @@ class GenericEvent extends BaseEvent implements ArrayAccess
|
||||
}
|
||||
}
|
||||
|
||||
#[\ReturnTypeWillChange]
|
||||
public function offsetExists($offset)
|
||||
{
|
||||
return isset($this->container[$offset]);
|
||||
}
|
||||
|
||||
#[\ReturnTypeWillChange]
|
||||
public function offsetUnset($offset)
|
||||
{
|
||||
unset($this->container[$offset]);
|
||||
}
|
||||
|
||||
#[\ReturnTypeWillChange]
|
||||
public function offsetGet($offset)
|
||||
{
|
||||
return isset($this->container[$offset]) ? $this->container[$offset] : null;
|
||||
|
||||
@@ -27,6 +27,7 @@ class EventIteratorBuilder implements Iterator {
|
||||
return $this;
|
||||
}
|
||||
|
||||
#[\ReturnTypeWillChange]
|
||||
public function rewind() {
|
||||
$this->position = 0;
|
||||
}
|
||||
@@ -34,18 +35,22 @@ class EventIteratorBuilder implements Iterator {
|
||||
/**
|
||||
* @return BaseEventBuilder
|
||||
*/
|
||||
#[\ReturnTypeWillChange]
|
||||
public function current() {
|
||||
return $this->builders[$this->position];
|
||||
}
|
||||
|
||||
#[\ReturnTypeWillChange]
|
||||
public function key() {
|
||||
return $this->position;
|
||||
}
|
||||
|
||||
#[\ReturnTypeWillChange]
|
||||
public function next() {
|
||||
++$this->position;
|
||||
}
|
||||
|
||||
#[\ReturnTypeWillChange]
|
||||
public function valid() {
|
||||
return isset($this->builders[$this->position]);
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ class ProjectStatusFilter extends BaseFilter implements FilterInterface
|
||||
*/
|
||||
public function apply()
|
||||
{
|
||||
if (is_int($this->value) || ctype_digit($this->value)) {
|
||||
if (is_int($this->value) || ctype_digit((string) $this->value)) {
|
||||
$this->query->eq(ProjectModel::TABLE.'.is_active', $this->value);
|
||||
} elseif ($this->value === 'inactive' || $this->value === 'closed' || $this->value === 'disabled') {
|
||||
$this->query->eq(ProjectModel::TABLE.'.is_active', 0);
|
||||
|
||||
@@ -32,7 +32,7 @@ class ProjectTypeFilter extends BaseFilter implements FilterInterface
|
||||
*/
|
||||
public function apply()
|
||||
{
|
||||
if (is_int($this->value) || ctype_digit($this->value)) {
|
||||
if (is_int($this->value) || ctype_digit((string) $this->value)) {
|
||||
$this->query->eq(ProjectModel::TABLE.'.is_private', $this->value);
|
||||
} elseif ($this->value === 'private') {
|
||||
$this->query->eq(ProjectModel::TABLE.'.is_private', ProjectModel::TYPE_PRIVATE);
|
||||
|
||||
@@ -54,7 +54,7 @@ class TaskAssigneeFilter extends BaseFilter implements FilterInterface
|
||||
*/
|
||||
public function apply()
|
||||
{
|
||||
if (is_int($this->value) || ctype_digit($this->value)) {
|
||||
if (is_int($this->value) || ctype_digit((string) $this->value)) {
|
||||
$this->query->eq(TaskModel::TABLE.'.owner_id', $this->value);
|
||||
} else {
|
||||
switch ($this->value) {
|
||||
|
||||
@@ -33,7 +33,7 @@ class TaskCategoryFilter extends BaseFilter implements FilterInterface
|
||||
*/
|
||||
public function apply()
|
||||
{
|
||||
if (is_int($this->value) || ctype_digit($this->value)) {
|
||||
if (is_int($this->value) || ctype_digit((string) $this->value)) {
|
||||
$this->query->eq(TaskModel::TABLE.'.category_id', $this->value);
|
||||
} elseif ($this->value === 'none') {
|
||||
$this->query->eq(TaskModel::TABLE.'.category_id', 0);
|
||||
|
||||
@@ -33,7 +33,7 @@ class TaskColumnFilter extends BaseFilter implements FilterInterface
|
||||
*/
|
||||
public function apply()
|
||||
{
|
||||
if (is_int($this->value) || ctype_digit($this->value)) {
|
||||
if (is_int($this->value) || ctype_digit((string) $this->value)) {
|
||||
$this->query->eq(TaskModel::TABLE.'.column_id', $this->value);
|
||||
} else {
|
||||
$this->query->eq(ColumnModel::TABLE.'.title', $this->value);
|
||||
|
||||
@@ -53,7 +53,7 @@ class TaskCreatorFilter extends BaseFilter implements FilterInterface
|
||||
*/
|
||||
public function apply()
|
||||
{
|
||||
if (is_int($this->value) || ctype_digit($this->value)) {
|
||||
if (is_int($this->value) || ctype_digit((string) $this->value)) {
|
||||
$this->query->eq(TaskModel::TABLE.'.creator_id', $this->value);
|
||||
} else {
|
||||
switch ($this->value) {
|
||||
|
||||
@@ -33,7 +33,7 @@ class TaskProjectFilter extends BaseFilter implements FilterInterface
|
||||
*/
|
||||
public function apply()
|
||||
{
|
||||
if (is_int($this->value) || ctype_digit($this->value)) {
|
||||
if (is_int($this->value) || ctype_digit((string) $this->value)) {
|
||||
$this->query->eq(TaskModel::TABLE.'.project_id', $this->value);
|
||||
} else {
|
||||
$this->query->ilike(ProjectModel::TABLE.'.name', $this->value);
|
||||
|
||||
@@ -34,7 +34,7 @@ class TaskStatusFilter extends BaseFilter implements FilterInterface
|
||||
{
|
||||
if ($this->value === 'open' || $this->value === 'closed') {
|
||||
$this->query->eq(TaskModel::TABLE.'.is_active', $this->value === 'open' ? TaskModel::STATUS_OPEN : TaskModel::STATUS_CLOSED);
|
||||
} elseif (is_int($this->value) || ctype_digit($this->value)) {
|
||||
} elseif (is_int($this->value) || ctype_digit((string) $this->value)) {
|
||||
$this->query->eq(TaskModel::TABLE.'.is_active', $this->value);
|
||||
}
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@ class TaskSubtaskAssigneeFilter extends BaseFilter implements FilterInterface
|
||||
*/
|
||||
protected function applySubQueryFilter(Table $subquery)
|
||||
{
|
||||
if (is_int($this->value) || ctype_digit($this->value)) {
|
||||
if (is_int($this->value) || ctype_digit((string) $this->value)) {
|
||||
$subquery->eq(SubtaskModel::TABLE.'.user_id', $this->value);
|
||||
} else {
|
||||
switch ($this->value) {
|
||||
|
||||
@@ -32,7 +32,7 @@ class TaskTitleFilter extends BaseFilter implements FilterInterface
|
||||
*/
|
||||
public function apply()
|
||||
{
|
||||
if (ctype_digit($this->value) || (strlen($this->value) > 1 && $this->value[0] === '#' && ctype_digit(substr($this->value, 1)))) {
|
||||
if (ctype_digit((string) $this->value) || (strlen($this->value) > 1 && $this->value[0] === '#' && ctype_digit(substr($this->value, 1)))) {
|
||||
$this->query->beginOr();
|
||||
$this->query->eq(TaskModel::TABLE.'.id', str_replace('#', '', $this->value));
|
||||
$this->query->ilike(TaskModel::TABLE.'.title', '%'.$this->value.'%');
|
||||
|
||||
@@ -38,7 +38,7 @@ class DateHelper extends Base
|
||||
return '';
|
||||
}
|
||||
|
||||
if (! ctype_digit($value)) {
|
||||
if (! ctype_digit((string) $value)) {
|
||||
$value = strtotime($value);
|
||||
}
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ class UserMentionJob extends BaseJob
|
||||
{
|
||||
$users = array();
|
||||
|
||||
if (preg_match_all('/@([^\s,!:?]+)/', $text, $matches)) {
|
||||
if ($text !== null && preg_match_all('/@([^\s,!:?]+)/', $text, $matches)) {
|
||||
array_walk($matches[1], function (&$username) { $username = rtrim($username, '.'); });
|
||||
$users = $this->db->table(UserModel::TABLE)
|
||||
->columns('id', 'username', 'name', 'email', 'language')
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
// 'XBT - Bitcoin' => '',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
// 'XBT - Bitcoin' => '',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - Bitcoin',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - Bitcoin',
|
||||
'You must select a file to upload as your avatar!' => 'Vælg fil som overføres som profil billede!',
|
||||
'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => 'Overført fil er ikke et gyldigt billede! (*.gif, *.jpg, *.jpeg eller *.png)',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - Bitcoin',
|
||||
'You must select a file to upload as your avatar!' => 'Sie müssen eine Datei auswählen, die als Avatar hochgeladen werden soll!',
|
||||
'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => 'Die hochgeladene Datei ist kein gültiges Bild! (Nur *.gif, *.jpg, *.jpeg and *.png sind erlaubt!)',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - Bitcoin',
|
||||
'You must select a file to upload as your avatar!' => 'Du musst eine Datei auswählen, die als Avatar hochgeladen werden soll!',
|
||||
'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => 'Die hochgeladene Datei ist kein gültiges Bild! (Nur *.gif, *.jpg, *.jpeg and *.png sind erlaubt!)',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
// 'XBT - Bitcoin' => '',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - Bitcoin',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - Bitcoin',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - بیت کوین',
|
||||
'You must select a file to upload as your avatar!' => 'برای بارگذاری تصویر نمایه تان باید فایلی انتخاب کنید!',
|
||||
'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => 'فایلی که بارگذاری کردید یک تصویر معتبر نیست! (فقط *.gif, *.jpg, *.jpeg و *.png مجاز هستند!)',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
// 'XBT - Bitcoin' => '',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - Bitcoin',
|
||||
'You must select a file to upload as your avatar!' => 'Vous devez sélectionner un fichier à télécharger pour votre avatar !',
|
||||
'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => 'Le fichier que vous avez téléchargé n\'est pas une image valide ! (Seuls * .gif, * .jpg, * .jpeg et * .png sont autorisés !)',
|
||||
'Automatically set the due date when the task is moved away from a specific column' => 'Changer automatiquement la date d\'échéance lorsque la tâche est déplacée dans une colonne spécifique',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
// 'XBT - Bitcoin' => '',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT – bitcoin',
|
||||
'You must select a file to upload as your avatar!' => 'Ki kell választania egy fájlt a profilképként való feltöltéshez!',
|
||||
'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => 'A feltöltött fájl nem érvényes kép! Csak *.gif, *.jpg, *.jpeg és *.png engedélyezett.',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - Bitcoin',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
// 'XBT - Bitcoin' => '',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - Bitcoin',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
// 'XBT - Bitcoin' => '',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - биткоин',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
// 'XBT - Bitcoin' => '',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
// 'XBT - Bitcoin' => '',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
// 'XBT - Bitcoin' => '',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - Bitcoin',
|
||||
'You must select a file to upload as your avatar!' => 'Musisz wybrać plik, który chcesz przesłać jako swój awatar!',
|
||||
'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => 'Przesłany plik nie jest prawidłowym obrazem! (Tylko *.gif, *.jpg, *.jpeg i *.png są dozwolone!)',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - Bitcoin',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - Bitcoin',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
// 'XBT - Bitcoin' => '',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - Биткоин',
|
||||
'You must select a file to upload as your avatar!' => 'Вы должны выбрать файл для загрузки в качестве аватара!',
|
||||
'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => 'Выбранный вами файл не является изображением! (Допустимые расширения: *.gif, *.jpg, *.jpeg, *.png)',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT – Bitcoin',
|
||||
'You must select a file to upload as your avatar!' => 'Musíte zvoliť súbor na nahratie ako svoj avatar',
|
||||
'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => 'nahraný súbor nie je paltný obrázok! (Povolené sú len *.gif, *.jpg, *.jpeg a *.png!)',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - Bitkoin',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1148,6 +1148,40 @@ return array(
|
||||
'Remove this role' => 'Ta bort denna rollen',
|
||||
'There is no restriction for this role.' => 'Det finns inga restriktioner för denna rollen',
|
||||
'Only moving task between those columns is permitted' => 'Endast tillåtet att flytta uppgifter mellan dessa kolumner',
|
||||
// 'Close a task in a specific column when not moved during a given period' => '',
|
||||
// 'Edit columns' => '',
|
||||
// 'The column restriction has been created successfully.' => '',
|
||||
// 'Unable to create this column restriction.' => '',
|
||||
// 'Column restriction removed successfully.' => '',
|
||||
// 'Unable to remove this restriction.' => '',
|
||||
// 'Your custom project role has been created successfully.' => '',
|
||||
// 'Unable to create custom project role.' => '',
|
||||
// 'Your custom project role has been updated successfully.' => '',
|
||||
// 'Unable to update custom project role.' => '',
|
||||
// 'Custom project role removed successfully.' => '',
|
||||
// 'Unable to remove this project role.' => '',
|
||||
// 'The project restriction has been created successfully.' => '',
|
||||
// 'Unable to create this project restriction.' => '',
|
||||
// 'Project restriction removed successfully.' => '',
|
||||
// 'You cannot create tasks in this column.' => '',
|
||||
// 'Task creation is permitted for this column' => '',
|
||||
// 'Closing or opening a task is permitted for this column' => '',
|
||||
// 'Task creation is blocked for this column' => '',
|
||||
// 'Closing or opening a task is blocked for this column' => '',
|
||||
// 'Task creation is not permitted' => '',
|
||||
// 'Closing or opening a task is not permitted' => '',
|
||||
// 'New drag and drop restriction for the role "%s"' => '',
|
||||
// 'People belonging to this role will be able to move tasks only between the source and the destination column.' => '',
|
||||
// 'Remove a column restriction' => '',
|
||||
// 'Do you really want to remove this column restriction: "%s" to "%s"?' => '',
|
||||
// 'New column restriction for the role "%s"' => '',
|
||||
// 'Rule' => '',
|
||||
// 'Do you really want to remove this column restriction?' => '',
|
||||
// 'Custom roles' => '',
|
||||
// 'New custom project role' => '',
|
||||
// 'Edit custom project role' => '',
|
||||
// 'Remove a custom role' => '',
|
||||
// 'Do you really want to remove this custom role: "%s"? All people assigned to this role will become project member.' => '',
|
||||
'There is no custom role for this project.' => 'Det finns ingen anpassad roll för detta projekt.',
|
||||
'New project restriction for the role "%s"' => 'Ny projektrestriktion för roll "%s"',
|
||||
'Restriction' => 'Restriktion',
|
||||
@@ -1390,7 +1424,8 @@ return array(
|
||||
'MXN - Mexican Peso' => 'MXN - Mexikansk peso',
|
||||
'Estimated vs actual time per column' => 'Uppskattad kontra faktisk tid per kolumn',
|
||||
'HUF - Hungarian Forint' => 'HUF - Ungersk forint',
|
||||
'XBT - bitcoin' => 'XBT - bitcoin',
|
||||
// 'XBT - Bitcoin' => '',
|
||||
'You must select a file to upload as your avatar!' => 'Du måste välja en fil att uppladda som din avatar!',
|
||||
'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => 'Filen du laddade upp är inte ett giltigt bildformat! (Endast *.gif *.jpg *.jpeg samt *.png är tillåtet!)',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
// 'XBT - Bitcoin' => '',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - Bitcoin',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT – Біткоїн',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
// 'XBT - Bitcoin' => '',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
'XBT - Bitcoin' => 'XBT - 比特币',
|
||||
'You must select a file to upload as your avatar!' => '你必须选择一张图片作为你的头像',
|
||||
'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '你所上传的文件不是有效图像!(只有*.gif, *.jpg, *.jpeg and *.png才被允许!)',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -1427,4 +1427,5 @@ return array(
|
||||
// 'XBT - Bitcoin' => '',
|
||||
// 'You must select a file to upload as your avatar!' => '',
|
||||
// 'The file you uploaded is not a valid image! (Only *.gif, *.jpg, *.jpeg and *.png are allowed!)' => '',
|
||||
// 'Automatically set the due date when the task is moved away from a specific column' => '',
|
||||
);
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
<?= $this->render('comment/show', array(
|
||||
'comment' => $comment,
|
||||
'task' => $task,
|
||||
'project' => $project,
|
||||
'editable' => $editable,
|
||||
'is_public' => isset($is_public) && $is_public,
|
||||
)) ?>
|
||||
|
||||
@@ -34,8 +34,3 @@ foreach (array('gd', 'mbstring', 'hash', 'openssl', 'json', 'hash', 'ctype', 'fi
|
||||
if (ini_get('arg_separator.output') === '&') {
|
||||
ini_set('arg_separator.output', '&');
|
||||
}
|
||||
|
||||
// Make sure we can read files with "\r", "\r\n" and "\n"
|
||||
if (ini_get('auto_detect_line_endings') != 1) {
|
||||
ini_set("auto_detect_line_endings", 1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user