Merge branch 'develop' of projects.ceondo.com:indefero into feature.scilab
This commit is contained in:
commit
b752d1fadb
4
AUTHORS
4
AUTHORS
@ -17,18 +17,22 @@ Much appreciated contributors (in alphabetical order):
|
|||||||
Denis Kot <denis.kot@gmail.com> - Russian translation
|
Denis Kot <denis.kot@gmail.com> - Russian translation
|
||||||
Dmitry Dulepov <dmitryd>
|
Dmitry Dulepov <dmitryd>
|
||||||
Fernando Sayago Gil <mikados.mikados@gmail.com> - Spanish translation
|
Fernando Sayago Gil <mikados.mikados@gmail.com> - Spanish translation
|
||||||
|
Gert van Valkenhoef <gertvv>
|
||||||
Jakub Viták <mainiak@gmail.com> - Czech translation
|
Jakub Viták <mainiak@gmail.com> - Czech translation
|
||||||
Janez Troha <http://www.dz0ny.info> - Slovenian translation
|
Janez Troha <http://www.dz0ny.info> - Slovenian translation
|
||||||
Jean-Philippe Fleury <jpfleury>
|
Jean-Philippe Fleury <jpfleury>
|
||||||
Jerry <lxb429@gmail.com> - Chinese translation
|
Jerry <lxb429@gmail.com> - Chinese translation
|
||||||
Julien Issler <julien@issler.net>
|
Julien Issler <julien@issler.net>
|
||||||
|
Litew <litew9@gmail.com> - Russian translation
|
||||||
Ludovic Bellière <xrogaan>
|
Ludovic Bellière <xrogaan>
|
||||||
Manuel Eidenberger <eidenberger@gmail.com>
|
Manuel Eidenberger <eidenberger@gmail.com>
|
||||||
Matthew Dawson <mjd>
|
Matthew Dawson <mjd>
|
||||||
Matías Halles <matias@halles.cl>
|
Matías Halles <matias@halles.cl>
|
||||||
Mehdi Kabab <http://pioupioum.fr/>
|
Mehdi Kabab <http://pioupioum.fr/>
|
||||||
Nicolas Lassalle <nicolas@beroot.org> - Subversion support
|
Nicolas Lassalle <nicolas@beroot.org> - Subversion support
|
||||||
|
Ozan <uobasar@gmail.com> - Turkish translation
|
||||||
Patrick Georgi <patrick.georgi@coresystems.de>
|
Patrick Georgi <patrick.georgi@coresystems.de>
|
||||||
|
Pedro Kiefer <pedro@kiefer.com.br> - Brazilian Portuguese translation
|
||||||
Raphaël Emourgeon <raphael>
|
Raphaël Emourgeon <raphael>
|
||||||
Samuel Suther <info@suther.de> - German translation
|
Samuel Suther <info@suther.de> - German translation
|
||||||
Sindre R. Myren <sindrero@stud.ntnu.no>
|
Sindre R. Myren <sindrero@stud.ntnu.no>
|
||||||
|
10
Makefile
10
Makefile
@ -62,11 +62,11 @@ pot-update: pluf_path
|
|||||||
fi
|
fi
|
||||||
touch src/IDF/locale/idf.pot;
|
touch src/IDF/locale/idf.pot;
|
||||||
# Extract string
|
# Extract string
|
||||||
@cd src; php $(PLUF_PATH)/extracttemplates.php IDF/conf/idf.php IDF/gettexttemplates
|
@cd src; php "$(PLUF_PATH)/extracttemplates.php" IDF/conf/idf.php IDF/gettexttemplates
|
||||||
@cd src; for phpfile in `find . -iname "*.php"`; do \
|
@cd src; for phpfile in `find . -iname "*.php"`; do \
|
||||||
printf "Parsing file : "$$phpfile"\n"; \
|
printf "Parsing file : "$$phpfile"\n"; \
|
||||||
xgettext -o idf.pot -p ./IDF/locale/ --from-code=UTF-8 -j \
|
xgettext -o idf.pot -p ./IDF/locale/ --from-code=UTF-8 -j \
|
||||||
--keyword --keyword=__ --keyword=_n:1,2 -L PHP $$phpfile ; \
|
--keyword --keyword=__ --keyword=_n:1,2 -L PHP "$$phpfile" ; \
|
||||||
done
|
done
|
||||||
# Remove tmp folder
|
# Remove tmp folder
|
||||||
rm -Rf src/IDF/gettexttemplates
|
rm -Rf src/IDF/gettexttemplates
|
||||||
@ -76,7 +76,7 @@ pot-update: pluf_path
|
|||||||
po-update: pluf_path
|
po-update: pluf_path
|
||||||
@for pofile in `ls src/IDF/locale/*/idf.po`; do \
|
@for pofile in `ls src/IDF/locale/*/idf.po`; do \
|
||||||
printf "Updating file : "$$pofile"\n"; \
|
printf "Updating file : "$$pofile"\n"; \
|
||||||
msgmerge -v -U $$pofile src/IDF/locale/idf.pot; \
|
msgmerge -v -U "$$pofile" src/IDF/locale/idf.pot; \
|
||||||
printf "\n"; \
|
printf "\n"; \
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -144,7 +144,7 @@ po-stats:
|
|||||||
--pretty=format:%h`.zip
|
--pretty=format:%h`.zip
|
||||||
|
|
||||||
db-install:
|
db-install:
|
||||||
@cd src && php $(PLUF_PATH)/migrate.php --conf=IDF/conf/idf.php -a -d -i
|
@cd src && php "$(PLUF_PATH)/migrate.php" --conf=IDF/conf/idf.php -a -d -i
|
||||||
|
|
||||||
db-update:
|
db-update:
|
||||||
@cd src && php $(PLUF_PATH)/migrate.php --conf=IDF/conf/idf.php -a -d
|
@cd src && php "$(PLUF_PATH)/migrate.php" --conf=IDF/conf/idf.php -a -d
|
||||||
|
25
NEWS.mdtext
25
NEWS.mdtext
@ -40,7 +40,19 @@ or newer to properly run this version of Indefero!
|
|||||||
- Indefero no longer confuses a non-owner of an issue with a notification that
|
- Indefero no longer confuses a non-owner of an issue with a notification that
|
||||||
a particular ticket has been opened and assigned to him (fixes issue 562)
|
a particular ticket has been opened and assigned to him (fixes issue 562)
|
||||||
|
|
||||||
# InDefero 1.2 - xxx xxx xx xx:xx 2011 UTC
|
# InDefero 1.2.1 - XXX XXX XX XX:XX:XX UTC 201X
|
||||||
|
|
||||||
|
## Bugfixes
|
||||||
|
|
||||||
|
- The diff view now renders properly in Firefox when a minimum font size
|
||||||
|
is configured or the user zooms the web page (fixes issue 773)
|
||||||
|
|
||||||
|
## Language and Translations
|
||||||
|
|
||||||
|
- Multiple fixes to English source strings (fixes issues 763, 766, and 772,
|
||||||
|
thanks to JP Fleury!)
|
||||||
|
|
||||||
|
# InDefero 1.2 - Sun Nov 6 23:04:00 UTC 2011
|
||||||
|
|
||||||
ATTENTION: You need Pluf [46b7f251](http://projects.ceondo.com/p/pluf/source/commit/46b7f251)
|
ATTENTION: You need Pluf [46b7f251](http://projects.ceondo.com/p/pluf/source/commit/46b7f251)
|
||||||
or newer to properly run this version of Indefero!
|
or newer to properly run this version of Indefero!
|
||||||
@ -92,9 +104,13 @@ or newer to properly run this version of Indefero!
|
|||||||
middle (issue 697)
|
middle (issue 697)
|
||||||
- Indefero now sends the MD5 checksum as HTTP header when downloading a file from the
|
- Indefero now sends the MD5 checksum as HTTP header when downloading a file from the
|
||||||
download area; additionally, a unneeded redirect has been removed (issue 716)
|
download area; additionally, a unneeded redirect has been removed (issue 716)
|
||||||
- Avatar URL generation use correctly the configuration (issue 732)
|
|
||||||
- Source links without a specific revision did not work due to a wrong regex
|
- Source links without a specific revision did not work due to a wrong regex
|
||||||
(issue 730)
|
(issue 730)
|
||||||
|
- Avatar URL generation use correctly the configuration (issue 732)
|
||||||
|
- The SyncGit plugin no longer fails to remove a non-existing post-update hook
|
||||||
|
on repository creation (issue 752)
|
||||||
|
- When uploading a project logo, an existing uploaded file with the same name
|
||||||
|
no longer leads to an error, but is simple overwritten (fixes issue 740)
|
||||||
- The error detection and reporting in the SyncMonotone plugin has been improved
|
- The error detection and reporting in the SyncMonotone plugin has been improved
|
||||||
- The branch links users of the Subversion frontend get when they enter a wrong
|
- The branch links users of the Subversion frontend get when they enter a wrong
|
||||||
revision are fixed; this list is now also only displayed (for any SCM) if
|
revision are fixed; this list is now also only displayed (for any SCM) if
|
||||||
@ -113,6 +129,11 @@ or newer to properly run this version of Indefero!
|
|||||||
|
|
||||||
## Translations
|
## Translations
|
||||||
|
|
||||||
|
- The Russian translation has been enabled by default (thanks for all the great
|
||||||
|
work, Denis Kot and Litew!)
|
||||||
|
- Brazilian Portuguese translation started (thanks to Pedro Kiefer!)
|
||||||
|
- Turkish translation started (thanks to Ozan!)
|
||||||
|
|
||||||
# InDefero 1.1.2 - Thu May 26 07:42:25 2011 UTC
|
# InDefero 1.1.2 - Thu May 26 07:42:25 2011 UTC
|
||||||
|
|
||||||
## Bugfixes
|
## Bugfixes
|
||||||
|
@ -235,7 +235,7 @@ class IDF_Commit extends Pluf_Model
|
|||||||
</tr>
|
</tr>
|
||||||
<tr class="extra">
|
<tr class="extra">
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
<div class="helptext right">'.sprintf(__('Commit %s, by %s'), '<a href="'.$url.'" class="mono">'.$this->scm_id.'</a>', $user).'</div></td></tr>';
|
<div class="helptext right">'.sprintf(__('Commit %1$s, by %2$s'), '<a href="'.$url.'" class="mono">'.$this->scm_id.'</a>', $user).'</div></td></tr>';
|
||||||
return Pluf_Template::markSafe($out);
|
return Pluf_Template::markSafe($out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -334,7 +334,7 @@ class IDF_Commit extends Pluf_Model
|
|||||||
// commits are usually not updated, therefor we do not
|
// commits are usually not updated, therefor we do not
|
||||||
// distinguish between create and update here
|
// distinguish between create and update here
|
||||||
$tplfile = 'idf/source/commit-created-email.txt';
|
$tplfile = 'idf/source/commit-created-email.txt';
|
||||||
$subject = __('New commit %s - %s (%s)');
|
$subject = __('New Commit %1$s - %2$s (%3$s)');
|
||||||
|
|
||||||
$tmpl = new Pluf_Template($tplfile);
|
$tmpl = new Pluf_Template($tplfile);
|
||||||
$text_email = $tmpl->render($context);
|
$text_email = $tmpl->render($context);
|
||||||
|
@ -184,12 +184,12 @@ class IDF_Diff
|
|||||||
$added = $added[0] + $added[1];
|
$added = $added[0] + $added[1];
|
||||||
$leftwidth = 0;
|
$leftwidth = 0;
|
||||||
if ($added > 0)
|
if ($added > 0)
|
||||||
$leftwidth = ((ceil(log10($added)) + 1) * 8) + 12;
|
$leftwidth = ((ceil(log10($added)) + 1) * 8) + 17;
|
||||||
|
|
||||||
$removed = $removed[0] + $removed[1];
|
$removed = $removed[0] + $removed[1];
|
||||||
$rightwidth = 0;
|
$rightwidth = 0;
|
||||||
if ($removed > 0)
|
if ($removed > 0)
|
||||||
$rightwidth = ((ceil(log10($removed)) + 1) * 8) + 12;
|
$rightwidth = ((ceil(log10($removed)) + 1) * 8) + 17;
|
||||||
|
|
||||||
// we need to correct the width of a single column a little
|
// we need to correct the width of a single column a little
|
||||||
// to take less space and to hide the empty one
|
// to take less space and to hide the empty one
|
||||||
@ -411,11 +411,11 @@ class IDF_Diff
|
|||||||
|
|
||||||
$leftwidth = 1;
|
$leftwidth = 1;
|
||||||
if ($max_lineno_left > 0)
|
if ($max_lineno_left > 0)
|
||||||
$leftwidth = ((ceil(log10($max_lineno_left)) + 1) * 8) + 12;
|
$leftwidth = ((ceil(log10($max_lineno_left)) + 1) * 8) + 17;
|
||||||
|
|
||||||
$rightwidth = 1;
|
$rightwidth = 1;
|
||||||
if ($max_lineno_right > 0)
|
if ($max_lineno_right > 0)
|
||||||
$rightwidth = ((ceil(log10($max_lineno_right)) + 1) * 8) + 12;
|
$rightwidth = ((ceil(log10($max_lineno_right)) + 1) * 8) + 17;
|
||||||
|
|
||||||
$inner_linecounts_left =
|
$inner_linecounts_left =
|
||||||
'<table class="diff-linecounts">' ."\n".
|
'<table class="diff-linecounts">' ."\n".
|
||||||
|
@ -206,7 +206,7 @@ class IDF_Form_Admin_ProjectCreate extends Pluf_Form
|
|||||||
$mtn_master_branch)) {
|
$mtn_master_branch)) {
|
||||||
throw new Pluf_Form_Invalid(__(
|
throw new Pluf_Form_Invalid(__(
|
||||||
'The master branch is empty or contains illegal characters, '.
|
'The master branch is empty or contains illegal characters, '.
|
||||||
'please use only letters, digits, dashs and dots as separators.'
|
'please use only letters, digits, dashes and dots as separators.'
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -161,7 +161,7 @@ class IDF_Form_Admin_UserUpdate extends Pluf_Form
|
|||||||
'label' => __('Staff'),
|
'label' => __('Staff'),
|
||||||
'initial' => $this->user->staff,
|
'initial' => $this->user->staff,
|
||||||
'widget' => 'Pluf_Form_Widget_CheckboxInput',
|
'widget' => 'Pluf_Form_Widget_CheckboxInput',
|
||||||
'help_text' => __('If you give staff rights to a user, you really need to trust them.'),
|
'help_text' => __('If you give staff rights to a user, you really need to trust him.'),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -214,7 +214,7 @@ class IDF_Form_IssueCreate extends Pluf_Form
|
|||||||
else $count[$class] += 1;
|
else $count[$class] += 1;
|
||||||
if (in_array($class, $onemax) and $count[$class] > 1) {
|
if (in_array($class, $onemax) and $count[$class] > 1) {
|
||||||
if (!isset($this->errors['label'.$i])) $this->errors['label'.$i] = array();
|
if (!isset($this->errors['label'.$i])) $this->errors['label'.$i] = array();
|
||||||
$this->errors['label'.$i][] = sprintf(__('You cannot provide more than label from the %s class to an issue.'), $class);
|
$this->errors['label'.$i][] = sprintf(__('You cannot provide more than one label from the %s class to an issue.'), $class);
|
||||||
throw new Pluf_Form_Invalid(__('You provided an invalid label.'));
|
throw new Pluf_Form_Invalid(__('You provided an invalid label.'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -130,7 +130,7 @@ duplicates, is duplicated by';
|
|||||||
|
|
||||||
$this->fields['labels_issue_one_max'] = new Pluf_Form_Field_Varchar(
|
$this->fields['labels_issue_one_max'] = new Pluf_Form_Field_Varchar(
|
||||||
array('required' => false,
|
array('required' => false,
|
||||||
'label' => __('Each issue may have at most one label with each of these classes'),
|
'label' => __('Each issue may have at most one label with each of these classes.'),
|
||||||
'initial' => self::init_one_max,
|
'initial' => self::init_one_max,
|
||||||
'widget_attrs' => array('size' => 60),
|
'widget_attrs' => array('size' => 60),
|
||||||
));
|
));
|
||||||
@ -139,7 +139,7 @@ duplicates, is duplicated by';
|
|||||||
array('required' => true,
|
array('required' => true,
|
||||||
'label' => __('Issue relations'),
|
'label' => __('Issue relations'),
|
||||||
'initial' => self::init_relations,
|
'initial' => self::init_relations,
|
||||||
'help_text' => __('You can define bidirectional relations like "is related to" or "blocks, is blocked by".'),
|
'help_text' => __('You can define bidirectional relations like "is related to" or "blocks, is blocked by". For standard relations pre-configured translations exist, new relations should however be defined in a language that is understood by all project members.'),
|
||||||
'widget_attrs' => array('rows' => 7,
|
'widget_attrs' => array('rows' => 7,
|
||||||
'cols' => 75),
|
'cols' => 75),
|
||||||
'widget' => 'Pluf_Form_Widget_TextareaInput',
|
'widget' => 'Pluf_Form_Widget_TextareaInput',
|
||||||
|
@ -73,6 +73,7 @@ class IDF_Form_ProjectConf extends Pluf_Form
|
|||||||
'move_function_params' =>
|
'move_function_params' =>
|
||||||
array('upload_path' => $upload_path,
|
array('upload_path' => $upload_path,
|
||||||
'upload_path_create' => true,
|
'upload_path_create' => true,
|
||||||
|
'upload_overwrite' => true,
|
||||||
'file_name' => $filename,
|
'file_name' => $filename,
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
@ -94,7 +94,7 @@ class IDF_Form_Register extends Pluf_Form
|
|||||||
{
|
{
|
||||||
$this->cleaned_data['email'] = mb_strtolower(trim($this->cleaned_data['email']));
|
$this->cleaned_data['email'] = mb_strtolower(trim($this->cleaned_data['email']));
|
||||||
if (Pluf::factory('IDF_EmailAddress')->get_user_for_email_address($this->cleaned_data['email']) != null) {
|
if (Pluf::factory('IDF_EmailAddress')->get_user_for_email_address($this->cleaned_data['email']) != null) {
|
||||||
throw new Pluf_Form_Invalid(sprintf(__('The email "%s" is already used. If you need to, click on the help link to recover your password.'), $this->cleaned_data['email']));
|
throw new Pluf_Form_Invalid(sprintf(__('The email "%1$s" is already used. If you need to, you can <a href="%2$s">recover your password</a>.'), $this->cleaned_data['email'], Pluf_HTTP_URL_urlForView('IDF_Views::passwordRecoveryAsk')));
|
||||||
}
|
}
|
||||||
return $this->cleaned_data['email'];
|
return $this->cleaned_data['email'];
|
||||||
}
|
}
|
||||||
|
@ -107,7 +107,7 @@ class IDF_Form_RegisterConfirmation extends Pluf_Form
|
|||||||
throw new Pluf_Form_Invalid($error);
|
throw new Pluf_Form_Invalid($error);
|
||||||
}
|
}
|
||||||
if ($users[0]->active) {
|
if ($users[0]->active) {
|
||||||
throw new Pluf_Form_Invalid(__('This account has already been confirmed. Maybe should you try to recover your password using the help link.'));
|
throw new Pluf_Form_Invalid(sprintf(__('This account has already been confirmed. Maybe should you try to <a href="%s">recover your password</a>.'), Pluf_HTTP_URL_urlForView('IDF_Views::passwordRecoveryAsk')));
|
||||||
}
|
}
|
||||||
$this->_user_id = $email_id[1];
|
$this->_user_id = $email_id[1];
|
||||||
return $this->cleaned_data['key'];
|
return $this->cleaned_data['key'];
|
||||||
|
@ -53,6 +53,7 @@ class IDF_Form_SourceConf extends Pluf_Form
|
|||||||
array('required' => false,
|
array('required' => false,
|
||||||
'label' => __('Webhook URL'),
|
'label' => __('Webhook URL'),
|
||||||
'initial' => $this->conf->getVal('webhook_url', ''),
|
'initial' => $this->conf->getVal('webhook_url', ''),
|
||||||
|
'help_text' => sprintf(__('Learn more about the <a href="%s">post-commit webhooks</a>.'), $url),
|
||||||
'widget_attrs' => array('size' => 35),
|
'widget_attrs' => array('size' => 35),
|
||||||
));
|
));
|
||||||
|
|
||||||
|
@ -106,7 +106,7 @@ class IDF_Form_UpdateUpload extends Pluf_Form
|
|||||||
else $count[$class] += 1;
|
else $count[$class] += 1;
|
||||||
if (in_array($class, $onemax) and $count[$class] > 1) {
|
if (in_array($class, $onemax) and $count[$class] > 1) {
|
||||||
if (!isset($this->errors['label'.$i])) $this->errors['label'.$i] = array();
|
if (!isset($this->errors['label'.$i])) $this->errors['label'.$i] = array();
|
||||||
$this->errors['label'.$i][] = sprintf(__('You cannot provide more than label from the %s class to an issue.'), $class);
|
$this->errors['label'.$i][] = sprintf(__('You cannot provide more than one label from the %s class to an issue.'), $class);
|
||||||
throw new Pluf_Form_Invalid(__('You provided an invalid label.'));
|
throw new Pluf_Form_Invalid(__('You provided an invalid label.'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ class IDF_Form_Upload extends Pluf_Form
|
|||||||
else $count[$class] += 1;
|
else $count[$class] += 1;
|
||||||
if (in_array($class, $onemax) and $count[$class] > 1) {
|
if (in_array($class, $onemax) and $count[$class] > 1) {
|
||||||
if (!isset($this->errors['label'.$i])) $this->errors['label'.$i] = array();
|
if (!isset($this->errors['label'.$i])) $this->errors['label'.$i] = array();
|
||||||
$this->errors['label'.$i][] = sprintf(__('You cannot provide more than label from the %s class to a download.'), $class);
|
$this->errors['label'.$i][] = sprintf(__('You cannot provide more than one label from the %s class to a download.'), $class);
|
||||||
throw new Pluf_Form_Invalid(__('You provided an invalid label.'));
|
throw new Pluf_Form_Invalid(__('You provided an invalid label.'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -95,7 +95,7 @@ class IDF_Form_UploadArchive extends Pluf_Form
|
|||||||
else $count[$class] += 1;
|
else $count[$class] += 1;
|
||||||
if (in_array($class, $onemax) and $count[$class] > 1) {
|
if (in_array($class, $onemax) and $count[$class] > 1) {
|
||||||
throw new Pluf_Form_Invalid(
|
throw new Pluf_Form_Invalid(
|
||||||
sprintf(__('You cannot provide more than label from the %s class to a download (%s).'), $class, $name)
|
sprintf(__('You cannot provide more than label from the %1$s class to a download (%2$s).'), $class, $name)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,7 @@ class IDF_Form_UserAccount extends Pluf_Form
|
|||||||
|
|
||||||
$this->fields['email'] = new Pluf_Form_Field_Email(
|
$this->fields['email'] = new Pluf_Form_Field_Email(
|
||||||
array('required' => true,
|
array('required' => true,
|
||||||
'label' => __('Your mail'),
|
'label' => __('Your email'),
|
||||||
'initial' => $this->user->email,
|
'initial' => $this->user->email,
|
||||||
'help_text' => __('If you change your email address, an email will be sent to the new address to confirm it.'),
|
'help_text' => __('If you change your email address, an email will be sent to the new address to confirm it.'),
|
||||||
));
|
));
|
||||||
@ -168,9 +168,9 @@ class IDF_Form_UserAccount extends Pluf_Form
|
|||||||
|
|
||||||
$this->fields['secondary_mail'] = new Pluf_Form_Field_Email(
|
$this->fields['secondary_mail'] = new Pluf_Form_Field_Email(
|
||||||
array('required' => false,
|
array('required' => false,
|
||||||
'label' => __('Add a secondary mail address'),
|
'label' => __('Add a secondary email address'),
|
||||||
'initial' => '',
|
'initial' => '',
|
||||||
'help_text' => __('You will get a mail to confirm that you own the address you specify.'),
|
'help_text' => __('You will get an email to confirm that you own the address you specify.'),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,7 +147,7 @@ Add your content here. Format your content with:
|
|||||||
else $count[$class] += 1;
|
else $count[$class] += 1;
|
||||||
if (in_array($class, $onemax) and $count[$class] > 1) {
|
if (in_array($class, $onemax) and $count[$class] > 1) {
|
||||||
if (!isset($this->errors['label'.$i])) $this->errors['label'.$i] = array();
|
if (!isset($this->errors['label'.$i])) $this->errors['label'.$i] = array();
|
||||||
$this->errors['label'.$i][] = sprintf(__('You cannot provide more than label from the %s class to a page.'), $class);
|
$this->errors['label'.$i][] = sprintf(__('You cannot provide more than one label from the %s class to a page.'), $class);
|
||||||
throw new Pluf_Form_Invalid(__('You provided an invalid label.'));
|
throw new Pluf_Form_Invalid(__('You provided an invalid label.'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -158,7 +158,7 @@ class IDF_Form_WikiPageUpdate extends Pluf_Form
|
|||||||
else $count[$class] += 1;
|
else $count[$class] += 1;
|
||||||
if (in_array($class, $onemax) and $count[$class] > 1) {
|
if (in_array($class, $onemax) and $count[$class] > 1) {
|
||||||
if (!isset($this->errors['label'.$i])) $this->errors['label'.$i] = array();
|
if (!isset($this->errors['label'.$i])) $this->errors['label'.$i] = array();
|
||||||
$this->errors['label'.$i][] = sprintf(__('You cannot provide more than label from the %s class to a page.'), $class);
|
$this->errors['label'.$i][] = sprintf(__('You cannot provide more than one label from the %s class to a page.'), $class);
|
||||||
throw new Pluf_Form_Invalid(__('You provided an invalid label.'));
|
throw new Pluf_Form_Invalid(__('You provided an invalid label.'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -86,7 +86,7 @@ class IDF_Form_WikiResourceUpdate extends Pluf_Form
|
|||||||
list($mimeType, , $extension) = IDF_FileUtil::getMimeType($this->getTempUploadPath().$this->cleaned_data['file']);
|
list($mimeType, , $extension) = IDF_FileUtil::getMimeType($this->getTempUploadPath().$this->cleaned_data['file']);
|
||||||
if ($this->resource->mime_type != $mimeType) {
|
if ($this->resource->mime_type != $mimeType) {
|
||||||
throw new Pluf_Form_Invalid(sprintf(
|
throw new Pluf_Form_Invalid(sprintf(
|
||||||
__('The mime type of the uploaded file "%s" does not match the mime type of this resource "%s"'),
|
__('The mime type of the uploaded file "%1$s" does not match the mime type of this resource "%2$s"'),
|
||||||
$mimeType, $this->resource->mime_type
|
$mimeType, $this->resource->mime_type
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
@ -211,7 +211,7 @@ class IDF_Issue extends Pluf_Model
|
|||||||
$ic = (in_array($this->status, $request->project->getTagIdsByStatus('closed'))) ? 'issue-c' : 'issue-o';
|
$ic = (in_array($this->status, $request->project->getTagIdsByStatus('closed'))) ? 'issue-c' : 'issue-o';
|
||||||
$out .= sprintf(__('<a href="%1$s" class="%2$s" title="View issue">Issue %3$d</a>, %4$s'), $url, $ic, $this->id, Pluf_esc($this->summary)).'</td>';
|
$out .= sprintf(__('<a href="%1$s" class="%2$s" title="View issue">Issue %3$d</a>, %4$s'), $url, $ic, $this->id, Pluf_esc($this->summary)).'</td>';
|
||||||
$out .= "\n".'<tr class="extra"><td colspan="2">
|
$out .= "\n".'<tr class="extra"><td colspan="2">
|
||||||
<div class="helptext right">'.sprintf(__('Creation of <a href="%s" class="%s">issue %d</a>, by %s'), $url, $ic, $this->id, $user).'</div></td></tr>';
|
<div class="helptext right">'.sprintf(__('Creation of <a href="%1$s" class="%2$s">issue %3$d</a>, by %4$s'), $url, $ic, $this->id, $user).'</div></td></tr>';
|
||||||
return Pluf_Template::markSafe($out);
|
return Pluf_Template::markSafe($out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -221,7 +221,7 @@ class IDF_Issue extends Pluf_Model
|
|||||||
.Pluf_HTTP_URL_urlForView('IDF_Views_Issue::view',
|
.Pluf_HTTP_URL_urlForView('IDF_Views_Issue::view',
|
||||||
array($request->project->shortname,
|
array($request->project->shortname,
|
||||||
$this->id));
|
$this->id));
|
||||||
$title = sprintf(__('%s: Issue %d created - %s'),
|
$title = sprintf(__('%1$s: Issue %2$d created - %3$s'),
|
||||||
$request->project->name,
|
$request->project->name,
|
||||||
$this->id, $this->summary);
|
$this->id, $this->summary);
|
||||||
$cts = $this->get_comments_list(array('order' => 'id ASC',
|
$cts = $this->get_comments_list(array('order' => 'id ASC',
|
||||||
@ -304,11 +304,11 @@ class IDF_Issue extends Pluf_Model
|
|||||||
));
|
));
|
||||||
|
|
||||||
$tplfile = 'idf/issues/issue-created-email.txt';
|
$tplfile = 'idf/issues/issue-created-email.txt';
|
||||||
$subject = __('Issue %s - %s (%s)');
|
$subject = __('Issue %1$s - %2$s (%3$s)');
|
||||||
$headers = array('Message-ID' => $messageId);
|
$headers = array('Message-ID' => $messageId);
|
||||||
if (!$create) {
|
if (!$create) {
|
||||||
$tplfile = 'idf/issues/issue-updated-email.txt';
|
$tplfile = 'idf/issues/issue-updated-email.txt';
|
||||||
$subject = __('Updated Issue %s - %s (%s)');
|
$subject = __('Updated Issue %1$s - %2$s (%3$s)');
|
||||||
$headers = array('References' => $messageId);
|
$headers = array('References' => $messageId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -324,4 +324,4 @@ class IDF_Issue extends Pluf_Model
|
|||||||
|
|
||||||
Pluf_Translation::loadSetLocale($current_locale);
|
Pluf_Translation::loadSetLocale($current_locale);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -177,7 +177,7 @@ class IDF_IssueComment extends Pluf_Model
|
|||||||
}
|
}
|
||||||
$out .= '</td></tr>';
|
$out .= '</td></tr>';
|
||||||
$out .= "\n".'<tr class="extra"><td colspan="2">
|
$out .= "\n".'<tr class="extra"><td colspan="2">
|
||||||
<div class="helptext right">'.sprintf(__('Comment on <a href="%s" class="%s">issue %d</a>, by %s'), $url, $ic, $issue->id, $user).'</div></td></tr>';
|
<div class="helptext right">'.sprintf(__('Comment on <a href="%1$s" class="%2$s">issue %3$d</a>, by %4$s'), $url, $ic, $issue->id, $user).'</div></td></tr>';
|
||||||
return Pluf_Template::markSafe($out);
|
return Pluf_Template::markSafe($out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -188,7 +188,7 @@ class IDF_IssueComment extends Pluf_Model
|
|||||||
.Pluf_HTTP_URL_urlForView('IDF_Views_Issue::view',
|
.Pluf_HTTP_URL_urlForView('IDF_Views_Issue::view',
|
||||||
array($request->project->shortname,
|
array($request->project->shortname,
|
||||||
$issue->id));
|
$issue->id));
|
||||||
$title = sprintf(__('%s: Comment on issue %d - %s'),
|
$title = sprintf(__('%1$s: Comment on issue %2$d - %3$s'),
|
||||||
Pluf_esc($request->project->name),
|
Pluf_esc($request->project->name),
|
||||||
$issue->id, Pluf_esc($issue->summary));
|
$issue->id, Pluf_esc($issue->summary));
|
||||||
$url .= '#ic'.$this->id;
|
$url .= '#ic'.$this->id;
|
||||||
|
@ -210,22 +210,23 @@ class IDF_Plugin_SyncGit_Serve
|
|||||||
// Indefero's one.
|
// Indefero's one.
|
||||||
$p = realpath(dirname(__FILE__).'/../../../../scripts/git-post-update');
|
$p = realpath(dirname(__FILE__).'/../../../../scripts/git-post-update');
|
||||||
$p = Pluf::f('idf_plugin_syncgit_post_update', $p);
|
$p = Pluf::f('idf_plugin_syncgit_post_update', $p);
|
||||||
if (!@unlink($fullpath.'/hooks/post-update')) {
|
$post_update_hook = $fullpath.'/hooks/post-update';
|
||||||
|
if (file_exists($post_update_hook) && !@unlink($post_update_hook)) {
|
||||||
Pluf_Log::warn(array('IDF_Plugin_Git_Serve::initRepository',
|
Pluf_Log::warn(array('IDF_Plugin_Git_Serve::initRepository',
|
||||||
'post-update hook removal error.',
|
'post-update hook removal error.',
|
||||||
$fullpath.'/hooks/post-update'));
|
$post_update_hook));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$out = array();
|
$out = array();
|
||||||
$res = 0;
|
$res = 0;
|
||||||
exec(sprintf(Pluf::f('idf_exec_cmd_prefix', '').'ln -s %s %s',
|
exec(sprintf(Pluf::f('idf_exec_cmd_prefix', '').'ln -s %s %s',
|
||||||
escapeshellarg($p),
|
escapeshellarg($p),
|
||||||
escapeshellarg($fullpath.'/hooks/post-update')),
|
escapeshellarg($post_update_hook)),
|
||||||
$out, $res);
|
$out, $res);
|
||||||
if ($res != 0) {
|
if ($res != 0) {
|
||||||
Pluf_Log::warn(array('IDF_Plugin_Git_Serve::initRepository',
|
Pluf_Log::warn(array('IDF_Plugin_Git_Serve::initRepository',
|
||||||
'post-update hook creation error.',
|
'post-update hook creation error.',
|
||||||
$fullpath.'/hooks/post-update'));
|
$post_update_hook));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Pluf_Log::debug(array('IDF_Plugin_Git_Serve::initRepository',
|
Pluf_Log::debug(array('IDF_Plugin_Git_Serve::initRepository',
|
||||||
|
@ -306,7 +306,7 @@ class IDF_Plugin_SyncMonotone
|
|||||||
}
|
}
|
||||||
catch (Exception $e) {
|
catch (Exception $e) {
|
||||||
$this->_diagnoseProblem(sprintf(
|
$this->_diagnoseProblem(sprintf(
|
||||||
__('Could not parse usher configuration in "%s": %s'),
|
__('Could not parse usher configuration in "%1$s": %2$s'),
|
||||||
$usher_config, $e->getMessage()
|
$usher_config, $e->getMessage()
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
@ -522,7 +522,7 @@ class IDF_Plugin_SyncMonotone
|
|||||||
}
|
}
|
||||||
catch (Exception $e) {
|
catch (Exception $e) {
|
||||||
$this->_diagnoseProblem(sprintf(
|
$this->_diagnoseProblem(sprintf(
|
||||||
__('Could not parse usher configuration in "%s": %s'),
|
__('Could not parse usher configuration in "%1$s": %2$s'),
|
||||||
$usher_config, $e->getMessage()
|
$usher_config, $e->getMessage()
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
@ -596,7 +596,7 @@ class IDF_Plugin_SyncMonotone
|
|||||||
}
|
}
|
||||||
catch (Exception $e) {
|
catch (Exception $e) {
|
||||||
$this->_diagnoseProblem(sprintf(
|
$this->_diagnoseProblem(sprintf(
|
||||||
__('Could not parse read-permissions for project "%s": %s'),
|
__('Could not parse read-permissions for project "%1$s": %2$s'),
|
||||||
$shortname, $e->getMessage()
|
$shortname, $e->getMessage()
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
@ -715,7 +715,7 @@ class IDF_Plugin_SyncMonotone
|
|||||||
}
|
}
|
||||||
catch (Exception $e) {
|
catch (Exception $e) {
|
||||||
$this->_diagnoseProblem(sprintf(
|
$this->_diagnoseProblem(sprintf(
|
||||||
__('Could not parse read-permissions for project "%s": %s'),
|
__('Could not parse read-permissions for project "%1$s": %2$s'),
|
||||||
$shortname, $e->getMessage()
|
$shortname, $e->getMessage()
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
@ -67,7 +67,7 @@ class IDF_Project extends Pluf_Model
|
|||||||
'blank' => false,
|
'blank' => false,
|
||||||
'size' => 50,
|
'size' => 50,
|
||||||
'verbose' => __('short name'),
|
'verbose' => __('short name'),
|
||||||
'help_text' => __('Used in the url to access the project, must be short with only letters and numbers.'),
|
'help_text' => __('Used in the URL to access the project, must be short with only letters and numbers.'),
|
||||||
'unique' => true,
|
'unique' => true,
|
||||||
),
|
),
|
||||||
'shortdesc' =>
|
'shortdesc' =>
|
||||||
@ -84,7 +84,7 @@ class IDF_Project extends Pluf_Model
|
|||||||
'blank' => false,
|
'blank' => false,
|
||||||
'size' => 250,
|
'size' => 250,
|
||||||
'verbose' => __('description'),
|
'verbose' => __('description'),
|
||||||
'help_text' => __('The description can be extended using the markdown syntax.'),
|
'help_text' => __('The description can be extended using the Markdown syntax.'),
|
||||||
),
|
),
|
||||||
'private' =>
|
'private' =>
|
||||||
array(
|
array(
|
||||||
|
@ -138,7 +138,7 @@ class IDF_Review_Comment extends Pluf_Model
|
|||||||
$ic = (in_array($review->status, $request->project->getTagIdsByStatus('closed'))) ? 'issue-c' : 'issue-o';
|
$ic = (in_array($review->status, $request->project->getTagIdsByStatus('closed'))) ? 'issue-c' : 'issue-o';
|
||||||
$out .= sprintf(__('<a href="%1$s" class="%2$s" title="View review">Review %3$d</a>, %4$s'), $url, $ic, $review->id, Pluf_esc($review->summary)).'</td>';
|
$out .= sprintf(__('<a href="%1$s" class="%2$s" title="View review">Review %3$d</a>, %4$s'), $url, $ic, $review->id, Pluf_esc($review->summary)).'</td>';
|
||||||
$out .= "\n".'<tr class="extra"><td colspan="2">
|
$out .= "\n".'<tr class="extra"><td colspan="2">
|
||||||
<div class="helptext right">'.sprintf(__('Update of <a href="%s" class="%s">review %d</a>, by %s'), $url, $ic, $review->id, $user).'</div></td></tr>';
|
<div class="helptext right">'.sprintf(__('Update of <a href="%1$s" class="%2$s">review %3$d</a>, by %4$s'), $url, $ic, $review->id, $user).'</div></td></tr>';
|
||||||
return Pluf_Template::markSafe($out);
|
return Pluf_Template::markSafe($out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -148,7 +148,7 @@ class IDF_Review_Comment extends Pluf_Model
|
|||||||
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Review::view',
|
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Review::view',
|
||||||
array($request->project->shortname,
|
array($request->project->shortname,
|
||||||
$review->id));
|
$review->id));
|
||||||
$title = sprintf(__('%s: Updated review %d - %s'),
|
$title = sprintf(__('%1$s: Updated review %2$d - %3$s'),
|
||||||
Pluf_esc($request->project->name),
|
Pluf_esc($request->project->name),
|
||||||
$review->id, Pluf_esc($review->summary));
|
$review->id, Pluf_esc($review->summary));
|
||||||
$url .= '#ic'.$this->id;
|
$url .= '#ic'.$this->id;
|
||||||
@ -219,7 +219,7 @@ class IDF_Review_Comment extends Pluf_Model
|
|||||||
|
|
||||||
// reviews only updated through comments, see IDF_Review_Patch::notify()
|
// reviews only updated through comments, see IDF_Review_Patch::notify()
|
||||||
$tplfile = 'idf/review/review-updated-email.txt';
|
$tplfile = 'idf/review/review-updated-email.txt';
|
||||||
$subject = __('Updated Code Review %s - %s (%s)');
|
$subject = __('Updated Code Review %1$s - %2$s (%3$s)');
|
||||||
$headers = array('References' => $messageId);
|
$headers = array('References' => $messageId);
|
||||||
|
|
||||||
$tmpl = new Pluf_Template($tplfile);
|
$tmpl = new Pluf_Template($tplfile);
|
||||||
|
@ -150,7 +150,7 @@ class IDF_Review_Patch extends Pluf_Model
|
|||||||
$ic = (in_array($review->status, $request->project->getTagIdsByStatus('closed'))) ? 'issue-c' : 'issue-o';
|
$ic = (in_array($review->status, $request->project->getTagIdsByStatus('closed'))) ? 'issue-c' : 'issue-o';
|
||||||
$out .= sprintf(__('<a href="%1$s" class="%2$s" title="View review">Review %3$d</a>, %4$s'), $url, $ic, $review->id, Pluf_esc($review->summary)).'</td>';
|
$out .= sprintf(__('<a href="%1$s" class="%2$s" title="View review">Review %3$d</a>, %4$s'), $url, $ic, $review->id, Pluf_esc($review->summary)).'</td>';
|
||||||
$out .= "\n".'<tr class="extra"><td colspan="2">
|
$out .= "\n".'<tr class="extra"><td colspan="2">
|
||||||
<div class="helptext right">'.sprintf(__('Creation of <a href="%s" class="%s">review %d</a>, by %s'), $url, $ic, $review->id, $user).'</div></td></tr>';
|
<div class="helptext right">'.sprintf(__('Creation of <a href="%1$s" class="%2$s">review %3$d</a>, by %4$s'), $url, $ic, $review->id, $user).'</div></td></tr>';
|
||||||
return Pluf_Template::markSafe($out);
|
return Pluf_Template::markSafe($out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -160,7 +160,7 @@ class IDF_Review_Patch extends Pluf_Model
|
|||||||
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Review::view',
|
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Review::view',
|
||||||
array($request->project->shortname,
|
array($request->project->shortname,
|
||||||
$review->id));
|
$review->id));
|
||||||
$title = sprintf(__('%s: Creation of Review %d - %s'),
|
$title = sprintf(__('%1$s: Creation of Review %2$d - %3$s'),
|
||||||
Pluf_esc($request->project->name),
|
Pluf_esc($request->project->name),
|
||||||
$review->id, Pluf_esc($review->summary));
|
$review->id, Pluf_esc($review->summary));
|
||||||
$date = Pluf_Date::gmDateToGmString($this->creation_dtime);
|
$date = Pluf_Date::gmDateToGmString($this->creation_dtime);
|
||||||
@ -205,7 +205,7 @@ class IDF_Review_Patch extends Pluf_Model
|
|||||||
|
|
||||||
// reviews are updated through comments, see IDF_Review_Comment::notify()
|
// reviews are updated through comments, see IDF_Review_Comment::notify()
|
||||||
$tplfile = 'idf/review/review-created-email.txt';
|
$tplfile = 'idf/review/review-created-email.txt';
|
||||||
$subject = __('New Code Review %s - %s (%s)');
|
$subject = __('New Code Review %1$s - %2$s (%3$s)');
|
||||||
$headers = array('Message-ID' => $messageId);
|
$headers = array('Message-ID' => $messageId);
|
||||||
|
|
||||||
$tmpl = new Pluf_Template($tplfile);
|
$tmpl = new Pluf_Template($tplfile);
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
# ***** END LICENSE BLOCK ***** */
|
# ***** END LICENSE BLOCK ***** */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage of the occurence of the words.
|
* Storage of the occurrence of the words.
|
||||||
*/
|
*/
|
||||||
class IDF_Search_Occ extends Pluf_Model
|
class IDF_Search_Occ extends Pluf_Model
|
||||||
{
|
{
|
||||||
@ -30,7 +30,7 @@ class IDF_Search_Occ extends Pluf_Model
|
|||||||
|
|
||||||
function init()
|
function init()
|
||||||
{
|
{
|
||||||
$this->_a['verbose'] = __('occurence');
|
$this->_a['verbose'] = __('occurrence');
|
||||||
$this->_a['table'] = 'idf_search_occs';
|
$this->_a['table'] = 'idf_search_occs';
|
||||||
$this->_a['model'] = 'IDF_Search_Occ';
|
$this->_a['model'] = 'IDF_Search_Occ';
|
||||||
$this->_a['cols'] = array(
|
$this->_a['cols'] = array(
|
||||||
@ -72,13 +72,13 @@ class IDF_Search_Occ extends Pluf_Model
|
|||||||
array(
|
array(
|
||||||
'type' => 'Pluf_DB_Field_Integer',
|
'type' => 'Pluf_DB_Field_Integer',
|
||||||
'blank' => false,
|
'blank' => false,
|
||||||
'verbose' => __('occurences'),
|
'verbose' => __('occurrences'),
|
||||||
),
|
),
|
||||||
'pondocc' =>
|
'pondocc' =>
|
||||||
array(
|
array(
|
||||||
'type' => 'Pluf_DB_Field_Float',
|
'type' => 'Pluf_DB_Field_Float',
|
||||||
'blank' => false,
|
'blank' => false,
|
||||||
'verbose' => __('ponderated occurence'),
|
'verbose' => __('ponderated occurrence'),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
$this->_a['idx'] = array(
|
$this->_a['idx'] = array(
|
||||||
|
@ -201,7 +201,7 @@ class IDF_Upload extends Pluf_Model
|
|||||||
$out .= sprintf(__('<a href="%1$s" title="View download">Download %2$d</a>, %3$s'), $url, $this->id, Pluf_esc($this->summary)).'</td>';
|
$out .= sprintf(__('<a href="%1$s" title="View download">Download %2$d</a>, %3$s'), $url, $this->id, Pluf_esc($this->summary)).'</td>';
|
||||||
$out .= '</tr>';
|
$out .= '</tr>';
|
||||||
$out .= "\n".'<tr class="extra"><td colspan="2">
|
$out .= "\n".'<tr class="extra"><td colspan="2">
|
||||||
<div class="helptext right">'.sprintf(__('Addition of <a href="%s">download %d</a>, by %s'), $url, $this->id, $user).'</div></td></tr>';
|
<div class="helptext right">'.sprintf(__('Addition of <a href="%1$s">download %2$d</a>, by %3$s'), $url, $this->id, $user).'</div></td></tr>';
|
||||||
return Pluf_Template::markSafe($out);
|
return Pluf_Template::markSafe($out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -211,7 +211,7 @@ class IDF_Upload extends Pluf_Model
|
|||||||
.Pluf_HTTP_URL_urlForView('IDF_Views_Download::view',
|
.Pluf_HTTP_URL_urlForView('IDF_Views_Download::view',
|
||||||
array($request->project->shortname,
|
array($request->project->shortname,
|
||||||
$this->id));
|
$this->id));
|
||||||
$title = sprintf(__('%s: Download %d added - %s'),
|
$title = sprintf(__('%1$s: Download %2$d added - %3$s'),
|
||||||
$request->project->name,
|
$request->project->name,
|
||||||
$this->id, $this->summary);
|
$this->id, $this->summary);
|
||||||
$date = Pluf_Date::gmDateToGmString($this->creation_dtime);
|
$date = Pluf_Date::gmDateToGmString($this->creation_dtime);
|
||||||
@ -295,11 +295,11 @@ class IDF_Upload extends Pluf_Model
|
|||||||
));
|
));
|
||||||
|
|
||||||
$tplfile = 'idf/downloads/download-created-email.txt';
|
$tplfile = 'idf/downloads/download-created-email.txt';
|
||||||
$subject = __('New download - %s (%s)');
|
$subject = __('New download - %1$s (%2$s)');
|
||||||
$headers = array('Message-ID' => $messageId);
|
$headers = array('Message-ID' => $messageId);
|
||||||
if (!$create) {
|
if (!$create) {
|
||||||
$tplfile = 'idf/downloads/download-updated-email.txt';
|
$tplfile = 'idf/downloads/download-updated-email.txt';
|
||||||
$subject = __('Updated download - %s (%s)');
|
$subject = __('Updated download - %1$s (%2$s)');
|
||||||
$headers = array('References' => $messageId);
|
$headers = array('References' => $messageId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -119,6 +119,7 @@ class IDF_Views_Issue
|
|||||||
}
|
}
|
||||||
$ownerStatistics[$key] = array($nb, (int)(100 * $nb / $opened), $login);
|
$ownerStatistics[$key] = array($nb, (int)(100 * $nb / $opened), $login);
|
||||||
}
|
}
|
||||||
|
arsort($ownerStatistics);
|
||||||
|
|
||||||
// Issue class tag statistics
|
// Issue class tag statistics
|
||||||
$grouped_tags = $prj->getTagCloud();
|
$grouped_tags = $prj->getTagCloud();
|
||||||
@ -126,6 +127,12 @@ class IDF_Views_Issue
|
|||||||
foreach ($tags as $tag) {
|
foreach ($tags as $tag) {
|
||||||
$tagStatistics[$class][$tag->name] = array($tag->nb_use, $tag->id);
|
$tagStatistics[$class][$tag->name] = array($tag->nb_use, $tag->id);
|
||||||
}
|
}
|
||||||
|
uasort($tagStatistics[$class], function ($a, $b) {
|
||||||
|
if ($a[0] === $b[0])
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return ($a[0] > $b[0]) ? -1 : 1;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
foreach($tagStatistics as $k => $v) {
|
foreach($tagStatistics as $k => $v) {
|
||||||
$nbIssueInClass = 0;
|
$nbIssueInClass = 0;
|
||||||
@ -136,10 +143,6 @@ class IDF_Views_Issue
|
|||||||
$tagStatistics[$k][$kk] = array($vv[0], (int)(100 * $vv[0] / $nbIssueInClass), $vv[1]);
|
$tagStatistics[$k][$kk] = array($vv[0], (int)(100 * $vv[0] / $nbIssueInClass), $vv[1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sort
|
|
||||||
krsort($tagStatistics);
|
|
||||||
arsort($ownerStatistics);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -338,19 +341,19 @@ class IDF_Views_Issue
|
|||||||
if (count($ctags) == 0) $ctags[] = 0;
|
if (count($ctags) == 0) $ctags[] = 0;
|
||||||
switch ($match[3]) {
|
switch ($match[3]) {
|
||||||
case 'submit':
|
case 'submit':
|
||||||
$titleFormat = __('%s %s Submitted %s Issues');
|
$titleFormat = __('%1$s %2$s Submitted %3$s Issues');
|
||||||
$f_sql = new Pluf_SQL('project=%s AND submitter=%s AND status IN ('.implode(', ', $otags).')', array($prj->id, $user->id));
|
$f_sql = new Pluf_SQL('project=%s AND submitter=%s AND status IN ('.implode(', ', $otags).')', array($prj->id, $user->id));
|
||||||
break;
|
break;
|
||||||
case 'submitclosed':
|
case 'submitclosed':
|
||||||
$titleFormat = __('%s %s Closed Submitted %s Issues');
|
$titleFormat = __('%1$s %2$s Closed Submitted %3$s Issues');
|
||||||
$f_sql = new Pluf_SQL('project=%s AND submitter=%s AND status IN ('.implode(', ', $ctags).')', array($prj->id, $user->id));
|
$f_sql = new Pluf_SQL('project=%s AND submitter=%s AND status IN ('.implode(', ', $ctags).')', array($prj->id, $user->id));
|
||||||
break;
|
break;
|
||||||
case 'ownerclosed':
|
case 'ownerclosed':
|
||||||
$titleFormat = __('%s %s Closed Working %s Issues');
|
$titleFormat = __('%1$s %2$s Closed Working %3$s Issues');
|
||||||
$f_sql = new Pluf_SQL('project=%s AND owner=%s AND status IN ('.implode(', ', $ctags).')', array($prj->id, $user->id));
|
$f_sql = new Pluf_SQL('project=%s AND owner=%s AND status IN ('.implode(', ', $ctags).')', array($prj->id, $user->id));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
$titleFormat = __('%s %s Working %s Issues');
|
$titleFormat = __('%1$s %2$s Working %3$s Issues');
|
||||||
$f_sql = new Pluf_SQL('project=%s AND owner=%s AND status IN ('.implode(', ', $otags).')', array($prj->id, $user->id));
|
$f_sql = new Pluf_SQL('project=%s AND owner=%s AND status IN ('.implode(', ', $otags).')', array($prj->id, $user->id));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -427,7 +430,7 @@ class IDF_Views_Issue
|
|||||||
array($prj->shortname, $issue->id));
|
array($prj->shortname, $issue->id));
|
||||||
$issue->notify($request->conf);
|
$issue->notify($request->conf);
|
||||||
if ($api) return $issue;
|
if ($api) return $issue;
|
||||||
$request->user->setMessage(sprintf(__('<a href="%s">Issue %d</a> has been created.'), $url, $issue->id));
|
$request->user->setMessage(sprintf(__('<a href="%1$s">Issue %2$d</a> has been created.'), $url, $issue->id));
|
||||||
return new Pluf_HTTP_Response_Redirect($url);
|
return new Pluf_HTTP_Response_Redirect($url);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -598,7 +601,7 @@ class IDF_Views_Issue
|
|||||||
|
|
||||||
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Issue::view',
|
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Issue::view',
|
||||||
array($prj->shortname, $issue->id));
|
array($prj->shortname, $issue->id));
|
||||||
$title = Pluf_Template::markSafe(sprintf(__('Issue <a href="%s">%d</a>: %s'), $url, $issue->id, $issue->summary));
|
$title = Pluf_Template::markSafe(sprintf(__('Issue <a href="%1$s">%2$d</a>: %3$s'), $url, $issue->id, $issue->summary));
|
||||||
$form = false; // The form is available only if logged in.
|
$form = false; // The form is available only if logged in.
|
||||||
$starred = false;
|
$starred = false;
|
||||||
$closed = in_array($issue->status, $prj->getTagIdsByStatus('closed'));
|
$closed = in_array($issue->status, $prj->getTagIdsByStatus('closed'));
|
||||||
@ -622,7 +625,7 @@ class IDF_Views_Issue
|
|||||||
$issue->notify($request->conf, false);
|
$issue->notify($request->conf, false);
|
||||||
$comments = $issue->get_comments_list(array('order' => 'id DESC'));
|
$comments = $issue->get_comments_list(array('order' => 'id DESC'));
|
||||||
$url .= '#ic' . $comments[0]->id;
|
$url .= '#ic' . $comments[0]->id;
|
||||||
$request->user->setMessage(sprintf(__('<a href="%s">Issue %d</a> has been updated.'), $url, $issue->id));
|
$request->user->setMessage(sprintf(__('<a href="%1$s">Issue %2$d</a> has been updated.'), $url, $issue->id));
|
||||||
return new Pluf_HTTP_Response_Redirect($url);
|
return new Pluf_HTTP_Response_Redirect($url);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -993,9 +996,8 @@ class IDF_Views_Issue
|
|||||||
$r = $project->getRelationsFromConfig();
|
$r = $project->getRelationsFromConfig();
|
||||||
$auto['auto_relation_types'] = '';
|
$auto['auto_relation_types'] = '';
|
||||||
foreach ($r as $rt) {
|
foreach ($r as $rt) {
|
||||||
$esc = Pluf_esc($rt);
|
|
||||||
$auto['auto_relation_types'] .= sprintf('{ name: "%s", to: "%s" }, ',
|
$auto['auto_relation_types'] .= sprintf('{ name: "%s", to: "%s" }, ',
|
||||||
$esc, $esc);
|
Pluf_esc(__($rt)), Pluf_esc($rt));
|
||||||
}
|
}
|
||||||
$auto['auto_relation_types'] = substr($auto['auto_relation_types'], 0, -2);
|
$auto['auto_relation_types'] = substr($auto['auto_relation_types'], 0, -2);
|
||||||
return $auto;
|
return $auto;
|
||||||
|
@ -91,7 +91,7 @@ class IDF_Views_Review
|
|||||||
$review = $form->save();
|
$review = $form->save();
|
||||||
$urlr = Pluf_HTTP_URL_urlForView('IDF_Views_Review::view',
|
$urlr = Pluf_HTTP_URL_urlForView('IDF_Views_Review::view',
|
||||||
array($prj->shortname, $review->id));
|
array($prj->shortname, $review->id));
|
||||||
$request->user->setMessage(sprintf(__('The <a href="%s">code review %d</a> has been created.'), $urlr, $review->id));
|
$request->user->setMessage(sprintf(__('The <a href="%1$s">code review %2$d</a> has been created.'), $urlr, $review->id));
|
||||||
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Review::index',
|
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Review::index',
|
||||||
array($prj->shortname));
|
array($prj->shortname));
|
||||||
return new Pluf_HTTP_Response_Redirect($url);
|
return new Pluf_HTTP_Response_Redirect($url);
|
||||||
@ -137,7 +137,7 @@ class IDF_Views_Review
|
|||||||
$prj->inOr404($review);
|
$prj->inOr404($review);
|
||||||
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Review::view',
|
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Review::view',
|
||||||
array($prj->shortname, $review->id));
|
array($prj->shortname, $review->id));
|
||||||
$title = Pluf_Template::markSafe(sprintf(__('Review <a href="%s">%d</a>: %s'), $url, $review->id, $review->summary));
|
$title = Pluf_Template::markSafe(sprintf(__('Review <a href="%1$s">%2$d</a>: %3$s'), $url, $review->id, $review->summary));
|
||||||
|
|
||||||
$patches = $review->get_patches_list();
|
$patches = $review->get_patches_list();
|
||||||
$patch = $patches[0];
|
$patch = $patches[0];
|
||||||
@ -157,7 +157,7 @@ class IDF_Views_Review
|
|||||||
$review = $patch->get_review();
|
$review = $patch->get_review();
|
||||||
$urlr = Pluf_HTTP_URL_urlForView('IDF_Views_Review::view',
|
$urlr = Pluf_HTTP_URL_urlForView('IDF_Views_Review::view',
|
||||||
array($prj->shortname, $review->id));
|
array($prj->shortname, $review->id));
|
||||||
$request->user->setMessage(sprintf(__('Your <a href="%s">code review %d</a> has been published.'), $urlr, $review->id));
|
$request->user->setMessage(sprintf(__('Your <a href="%1$s">code review %2$d</a> has been published.'), $urlr, $review->id));
|
||||||
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Review::index',
|
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Review::index',
|
||||||
array($prj->shortname));
|
array($prj->shortname));
|
||||||
$review_comment->notify($request->conf);
|
$review_comment->notify($request->conf);
|
||||||
|
@ -308,7 +308,7 @@ class IDF_Views_Source
|
|||||||
throw new Exception('could not retrieve commit object for '. $commit);
|
throw new Exception('could not retrieve commit object for '. $commit);
|
||||||
}
|
}
|
||||||
$title = sprintf(__('%s Commit Details'), (string) $request->project);
|
$title = sprintf(__('%s Commit Details'), (string) $request->project);
|
||||||
$page_title = sprintf(__('%s Commit Details - %s'), (string) $request->project, $commit);
|
$page_title = sprintf(__('%1$s Commit Details - %2$s'), (string) $request->project, $commit);
|
||||||
$rcommit = IDF_Commit::getOrAdd($cobject, $request->project);
|
$rcommit = IDF_Commit::getOrAdd($cobject, $request->project);
|
||||||
$diff = new IDF_Diff($cobject->diff, $scm->getDiffPathStripLevel());
|
$diff = new IDF_Diff($cobject->diff, $scm->getDiffPathStripLevel());
|
||||||
$cobject->diff = null;
|
$cobject->diff = null;
|
||||||
|
@ -219,7 +219,8 @@ class IDF_Views_Wiki
|
|||||||
$page = $form->save();
|
$page = $form->save();
|
||||||
$urlpage = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::viewPage',
|
$urlpage = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::viewPage',
|
||||||
array($prj->shortname, $page->title));
|
array($prj->shortname, $page->title));
|
||||||
$request->user->setMessage(sprintf(__('The page <a href="%s">%s</a> has been created.'), $urlpage, Pluf_esc($page->title)));
|
$request->user->setMessage(sprintf(__('The page <a href="%1$s">%2$s</a> has been created.'),
|
||||||
|
$urlpage, Pluf_esc($page->title)));
|
||||||
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::listPages',
|
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::listPages',
|
||||||
array($prj->shortname));
|
array($prj->shortname));
|
||||||
return new Pluf_HTTP_Response_Redirect($url);
|
return new Pluf_HTTP_Response_Redirect($url);
|
||||||
@ -261,7 +262,7 @@ class IDF_Views_Wiki
|
|||||||
$resource = $form->save();
|
$resource = $form->save();
|
||||||
$urlresource = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::viewResource',
|
$urlresource = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::viewResource',
|
||||||
array($prj->shortname, $resource->title));
|
array($prj->shortname, $resource->title));
|
||||||
$request->user->setMessage(sprintf(__('The resource <a href="%s">%s</a> has been created.'), $urlresource, Pluf_esc($resource->title)));
|
$request->user->setMessage(sprintf(__('The resource <a href="%1$s">%2$s</a> has been created.'), $urlresource, Pluf_esc($resource->title)));
|
||||||
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::listResources',
|
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::listResources',
|
||||||
array($prj->shortname));
|
array($prj->shortname));
|
||||||
return new Pluf_HTTP_Response_Redirect($url);
|
return new Pluf_HTTP_Response_Redirect($url);
|
||||||
@ -457,7 +458,8 @@ class IDF_Views_Wiki
|
|||||||
$page = $form->save();
|
$page = $form->save();
|
||||||
$urlpage = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::viewPage',
|
$urlpage = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::viewPage',
|
||||||
array($prj->shortname, $page->title));
|
array($prj->shortname, $page->title));
|
||||||
$request->user->setMessage(sprintf(__('The page <a href="%s">%s</a> has been updated.'), $urlpage, Pluf_esc($page->title)));
|
$request->user->setMessage(sprintf(__('The page <a href="%1$s">%2$s</a> has been updated.'),
|
||||||
|
$urlpage, Pluf_esc($page->title)));
|
||||||
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::listPages',
|
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::listPages',
|
||||||
array($prj->shortname));
|
array($prj->shortname));
|
||||||
return new Pluf_HTTP_Response_Redirect($url);
|
return new Pluf_HTTP_Response_Redirect($url);
|
||||||
@ -508,7 +510,7 @@ class IDF_Views_Wiki
|
|||||||
$page = $form->save();
|
$page = $form->save();
|
||||||
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::viewResource',
|
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::viewResource',
|
||||||
array($prj->shortname, $resource->title));
|
array($prj->shortname, $resource->title));
|
||||||
$request->user->setMessage(sprintf(__('The resource <a href="%s">%s</a> has been updated.'),
|
$request->user->setMessage(sprintf(__('The resource <a href="%1$s">%2$s</a> has been updated.'),
|
||||||
$url, Pluf_esc($resource->title)));
|
$url, Pluf_esc($resource->title)));
|
||||||
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::listResources',
|
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::listResources',
|
||||||
array($prj->shortname));
|
array($prj->shortname));
|
||||||
|
@ -195,7 +195,7 @@ class IDF_Wiki_Page extends Pluf_Model
|
|||||||
$user = $stag->start($this->get_submitter(), $request, '', false);
|
$user = $stag->start($this->get_submitter(), $request, '', false);
|
||||||
$out .= sprintf(__('<a href="%1$s" title="View page">%2$s</a>, %3$s'), $url, Pluf_esc($this->title), Pluf_esc($this->summary)).'</td>';
|
$out .= sprintf(__('<a href="%1$s" title="View page">%2$s</a>, %3$s'), $url, Pluf_esc($this->title), Pluf_esc($this->summary)).'</td>';
|
||||||
$out .= "\n".'<tr class="extra"><td colspan="2">
|
$out .= "\n".'<tr class="extra"><td colspan="2">
|
||||||
<div class="helptext right">'.sprintf(__('Creation of <a href="%s">page %s</a>, by %s'), $url, Pluf_esc($this->title), $user).'</div></td></tr>';
|
<div class="helptext right">'.sprintf(__('Creation of <a href="%1$s">page %2$s</a>, by %3$s'), $url, Pluf_esc($this->title), $user).'</div></td></tr>';
|
||||||
return Pluf_Template::markSafe($out);
|
return Pluf_Template::markSafe($out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -205,7 +205,7 @@ class IDF_Wiki_Page extends Pluf_Model
|
|||||||
.Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::viewPage',
|
.Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::viewPage',
|
||||||
array($request->project->shortname,
|
array($request->project->shortname,
|
||||||
$this->title));
|
$this->title));
|
||||||
$title = sprintf(__('%s: Documentation page %s added - %s'),
|
$title = sprintf(__('%1$s: Documentation page %2$s added - %3$s'),
|
||||||
$request->project->name,
|
$request->project->name,
|
||||||
$this->title, $this->summary);
|
$this->title, $this->summary);
|
||||||
$date = Pluf_Date::gmDateToGmString($this->creation_dtime);
|
$date = Pluf_Date::gmDateToGmString($this->creation_dtime);
|
||||||
@ -221,4 +221,4 @@ class IDF_Wiki_Page extends Pluf_Model
|
|||||||
$tmpl = new Pluf_Template('idf/wiki/feedfragment.xml');
|
$tmpl = new Pluf_Template('idf/wiki/feedfragment.xml');
|
||||||
return $tmpl->render($context);
|
return $tmpl->render($context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -186,7 +186,7 @@ class IDF_Wiki_PageRevision extends Pluf_Model
|
|||||||
}
|
}
|
||||||
$out .= '</td></tr>';
|
$out .= '</td></tr>';
|
||||||
$out .= "\n".'<tr class="extra"><td colspan="2">
|
$out .= "\n".'<tr class="extra"><td colspan="2">
|
||||||
<div class="helptext right">'.sprintf(__('Change of <a href="%s">%s</a>, by %s'), $url, Pluf_esc($page->title), $user).'</div></td></tr>';
|
<div class="helptext right">'.sprintf(__('Change of <a href="%1$s">%2$s</a>, by %3$s'), $url, Pluf_esc($page->title), $user).'</div></td></tr>';
|
||||||
return Pluf_Template::markSafe($out);
|
return Pluf_Template::markSafe($out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -205,7 +205,7 @@ class IDF_Wiki_PageRevision extends Pluf_Model
|
|||||||
array($request->project->shortname,
|
array($request->project->shortname,
|
||||||
$page->title));
|
$page->title));
|
||||||
}
|
}
|
||||||
$title = sprintf(__('%s: Documentation page %s updated - %s'),
|
$title = sprintf(__('%1$s: Documentation page %2$s updated - %3$s'),
|
||||||
$request->project->name,
|
$request->project->name,
|
||||||
$page->title, $page->summary);
|
$page->title, $page->summary);
|
||||||
$date = Pluf_Date::gmDateToGmString($this->creation_dtime);
|
$date = Pluf_Date::gmDateToGmString($this->creation_dtime);
|
||||||
@ -267,11 +267,11 @@ class IDF_Wiki_PageRevision extends Pluf_Model
|
|||||||
));
|
));
|
||||||
|
|
||||||
$tplfile = 'idf/wiki/wiki-created-email.txt';
|
$tplfile = 'idf/wiki/wiki-created-email.txt';
|
||||||
$subject = __('New Documentation Page %s - %s (%s)');
|
$subject = __('New Documentation Page %1$s - %2$s (%3$s)');
|
||||||
$headers = array('Message-ID' => $messageId);
|
$headers = array('Message-ID' => $messageId);
|
||||||
if (!$create) {
|
if (!$create) {
|
||||||
$tplfile = 'idf/wiki/wiki-updated-email.txt';
|
$tplfile = 'idf/wiki/wiki-updated-email.txt';
|
||||||
$subject = __('Documentation Page Changed %s - %s (%s)');
|
$subject = __('Documentation Page Changed %1$s - %2$s (%3$s)');
|
||||||
$headers = array('References' => $messageId);
|
$headers = array('References' => $messageId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -175,7 +175,7 @@ class IDF_Wiki_Resource extends Pluf_Model
|
|||||||
$user = $stag->start($this->get_submitter(), $request, '', false);
|
$user = $stag->start($this->get_submitter(), $request, '', false);
|
||||||
$out .= sprintf(__('<a href="%1$s" title="View resource">%2$s</a>, %3$s'), $url, Pluf_esc($this->title), Pluf_esc($this->summary)).'</td>';
|
$out .= sprintf(__('<a href="%1$s" title="View resource">%2$s</a>, %3$s'), $url, Pluf_esc($this->title), Pluf_esc($this->summary)).'</td>';
|
||||||
$out .= "\n".'<tr class="extra"><td colspan="2">
|
$out .= "\n".'<tr class="extra"><td colspan="2">
|
||||||
<div class="helptext right">'.sprintf(__('Creation of <a href="%s">page %s</a>, by %s'), $url, Pluf_esc($this->title), $user).'</div></td></tr>';
|
<div class="helptext right">'.sprintf(__('Creation of <a href="%1$s">page %2$s</a>, by %3$s'), $url, Pluf_esc($this->title), $user).'</div></td></tr>';
|
||||||
return Pluf_Template::markSafe($out);
|
return Pluf_Template::markSafe($out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -185,7 +185,7 @@ class IDF_Wiki_Resource extends Pluf_Model
|
|||||||
.Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::viewResource',
|
.Pluf_HTTP_URL_urlForView('IDF_Views_Wiki::viewResource',
|
||||||
array($request->project->shortname,
|
array($request->project->shortname,
|
||||||
$this->title));
|
$this->title));
|
||||||
$title = sprintf(__('%s: Documentation page %s added - %s'),
|
$title = sprintf(__('%1$s: Documentation page %2$s added - %3$s'),
|
||||||
$request->project->name,
|
$request->project->name,
|
||||||
$this->title, $this->summary);
|
$this->title, $this->summary);
|
||||||
$date = Pluf_Date::gmDateToGmString($this->creation_dtime);
|
$date = Pluf_Date::gmDateToGmString($this->creation_dtime);
|
||||||
@ -201,4 +201,4 @@ class IDF_Wiki_Resource extends Pluf_Model
|
|||||||
$tmpl = new Pluf_Template('idf/wiki/feedfragment.xml');
|
$tmpl = new Pluf_Template('idf/wiki/feedfragment.xml');
|
||||||
return $tmpl->render($context);
|
return $tmpl->render($context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -119,7 +119,7 @@ $cfg['time_zone'] = 'Europe/Berlin';
|
|||||||
# Configure which languages should be available in your forge.
|
# Configure which languages should be available in your forge.
|
||||||
# If you want to enable an additional language, ensure that the
|
# If you want to enable an additional language, ensure that the
|
||||||
# language file in question resides in 'src/IDF/locale'.
|
# language file in question resides in 'src/IDF/locale'.
|
||||||
$cfg['languages'] = array('en', 'fr', 'de', 'es_ES');
|
$cfg['languages'] = array('en', 'fr', 'de', 'es_ES', 'ru');
|
||||||
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------- #
|
# ---------------------------------------------------------------------------- #
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
4587
src/IDF/locale/pt_BR/idf.po
Normal file
4587
src/IDF/locale/pt_BR/idf.po
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
4581
src/IDF/locale/tr/idf.po
Normal file
4581
src/IDF/locale/tr/idf.po
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -5,7 +5,7 @@
|
|||||||
{block body}
|
{block body}
|
||||||
{if $trackerEmpty}
|
{if $trackerEmpty}
|
||||||
{aurl 'create_url', 'IDF_Views_Issue::create', array($project.shortname)}
|
{aurl 'create_url', 'IDF_Views_Issue::create', array($project.shortname)}
|
||||||
<p>{blocktrans}The issue tracker is empty.<br />You can create your first issue <a href="{$create_url}">here</a>.{/blocktrans}</p>
|
<p>{blocktrans}The issue tracker is empty.<br /><a href="{$create_url}">Create your first issue</a>.{/blocktrans}</p>
|
||||||
{else}
|
{else}
|
||||||
<div class='issue-summary'>
|
<div class='issue-summary'>
|
||||||
{foreach $tagStatistics as $key => $class}
|
{foreach $tagStatistics as $key => $class}
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
{block body}
|
{block body}
|
||||||
<div class="issue-prev-next">
|
<div class="issue-prev-next">
|
||||||
{if $previous_issue_id}
|
{if $previous_issue_id}
|
||||||
<a href="{url 'IDF_Views_Issue::view', array($project.shortname, $previous_issue_id)}" title="{if $closed}{trans 'Click here to view the previous closed issue'}{else}{trans 'Click here to view the previous open issue'}{/if}">Previous issue</a>
|
<a href="{url 'IDF_Views_Issue::view', array($project.shortname, $previous_issue_id)}" title="{if $closed}{trans 'View the previous closed issue'}{else}{trans 'View the previous open issue'}{/if}">Previous issue</a>
|
||||||
{/if}
|
{/if}
|
||||||
{if $previous_issue_id and $next_issue_id} - {/if}
|
{if $previous_issue_id and $next_issue_id} - {/if}
|
||||||
{if $next_issue_id}
|
{if $next_issue_id}
|
||||||
<a href="{url 'IDF_Views_Issue::view', array($project.shortname, $next_issue_id)}" title="{if $closed}{trans 'Click here to view the next closed issue'}{else}{trans 'Click here to view the next open issue'}{/if}">Next issue</a>
|
<a href="{url 'IDF_Views_Issue::view', array($project.shortname, $next_issue_id)}" title="{if $closed}{trans 'View the next closed issue'}{else}{trans 'View the next open issue'}{/if}">Next issue</a>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
{assign $i = 0}
|
{assign $i = 0}
|
||||||
@ -190,6 +190,7 @@
|
|||||||
{if count($related_issues) > 0}
|
{if count($related_issues) > 0}
|
||||||
{foreach $related_issues as $verb => $rel_issues}
|
{foreach $related_issues as $verb => $rel_issues}
|
||||||
<p>
|
<p>
|
||||||
|
{assign $verb = __($verb)}
|
||||||
<strong>{blocktrans}This issue {$verb}{/blocktrans}</strong><br />
|
<strong>{blocktrans}This issue {$verb}{/blocktrans}</strong><br />
|
||||||
{foreach $rel_issues as $rel_issue}
|
{foreach $rel_issues as $rel_issue}
|
||||||
<span class="label">
|
<span class="label">
|
||||||
|
@ -30,6 +30,6 @@ document.getElementById('id_login').focus()
|
|||||||
<div class="issue-submit-info">
|
<div class="issue-submit-info">
|
||||||
<h3>{trans 'Welcome.'}</h3>
|
<h3>{trans 'Welcome.'}</h3>
|
||||||
{aurl 'url', 'IDF_Views::register', array()}
|
{aurl 'url', 'IDF_Views::register', array()}
|
||||||
<p>{blocktrans}If you don't have an account yet, you can create one <a href="{$url}">here</a>.{/blocktrans}</a></p>
|
<p>{blocktrans}You can <a href="{$url}">create an account</a> if you don't have one yet.{/blocktrans}</a></p>
|
||||||
<p>{trans 'It takes less than a minute to create your account.'}</p></div>
|
<p>{trans 'It takes less than a minute to create your account.'}</p></div>
|
||||||
{/block}
|
{/block}
|
||||||
|
@ -15,14 +15,14 @@
|
|||||||
{foreach $downloads as $download}
|
{foreach $downloads as $download}
|
||||||
<span class="label"><a href="{url 'IDF_Views_Download::view', array($project.shortname, $download.id)}" title="{$download.summary}">{$download}</a></span><br />
|
<span class="label"><a href="{url 'IDF_Views_Download::view', array($project.shortname, $download.id)}" title="{$download.summary}">{$download}</a></span><br />
|
||||||
{/foreach}
|
{/foreach}
|
||||||
<span class="label"> </span><span class="note"><a href="{url 'IDF_Views_Download::index', array($project.shortname)}">{trans 'show more...'}</a></span>
|
<span class="label"> </span><span class="note"><a href="{url 'IDF_Views_Download::index', array($project.shortname)}" title="{trans 'Show more featured downloads'}">{trans 'show more...'}</a></span>
|
||||||
{/if}
|
{/if}
|
||||||
{if count($pages) > 0}
|
{if count($pages) > 0}
|
||||||
<p><strong>{trans 'Featured Documentation'}</strong><br />
|
<p><strong>{trans 'Featured Documentation'}</strong><br />
|
||||||
{foreach $pages as $page}
|
{foreach $pages as $page}
|
||||||
<span class="label"><a href="{url 'IDF_Views_Wiki::viewPage', array($project.shortname, $page.title)}" title="{$page.summary}">{$page.title}</a></span><br />
|
<span class="label"><a href="{url 'IDF_Views_Wiki::viewPage', array($project.shortname, $page.title)}" title="{$page.summary}">{$page.title}</a></span><br />
|
||||||
{/foreach}
|
{/foreach}
|
||||||
<span class="label"> </span><span class="note"><a href="{url 'IDF_Views_Wiki::listPages', array($project.shortname)}">{trans 'show more...'}</a></span>
|
<span class="label"> </span><span class="note"><a href="{url 'IDF_Views_Wiki::listPages', array($project.shortname)}" title="{trans 'Show more featured documentation'}">{trans 'show more...'}</a></span>
|
||||||
{/if}
|
{/if}
|
||||||
{assign $ko = 'owners'}
|
{assign $ko = 'owners'}
|
||||||
{assign $km = 'members'}
|
{assign $km = 'members'}
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
<td>
|
<td>
|
||||||
{if $form.f.terms.errors}{$form.f.terms.fieldErrors}{/if}
|
{if $form.f.terms.errors}{$form.f.terms.fieldErrors}{/if}
|
||||||
{$form.f.terms|unsafe} <strong>{$form.f.terms.labelTag}</strong><br />
|
{$form.f.terms|unsafe} <strong>{$form.f.terms.labelTag}</strong><br />
|
||||||
<span class="helptext">{blocktrans}Read the <a id="showterms" href="#theterms">terms and conditions</a> – basically <em>"Please be nice, we respect you"</em>.{/blocktrans}</span>
|
<span class="helptext">{blocktrans}Read the <a id="showterms" href="#theterms">terms and conditions</a> – basically <em>"Please be nice, we respect you"</em>.{/blocktrans}</span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -49,7 +49,7 @@
|
|||||||
<div class="issue-submit-info">
|
<div class="issue-submit-info">
|
||||||
<p>{trans 'Be sure to provide a valid email address, as we are sending a validation link by email.'}</p>
|
<p>{trans 'Be sure to provide a valid email address, as we are sending a validation link by email.'}</p>
|
||||||
{aurl 'url', 'IDF_Views::passwordRecoveryAsk'}
|
{aurl 'url', 'IDF_Views::passwordRecoveryAsk'}
|
||||||
<p>{blocktrans}If you have just forgotten your login information, then there is no need to create a new account. Just go <a href="{$url}">here</a> to recover your login name and password.{/blocktrans}</p>
|
<p>{blocktrans}If you have just forgotten your login information, then there is no need to create a new account. You can just <a href="{$url}">recover your login name and password</a>.{/blocktrans}</p>
|
||||||
<p><strong>{trans 'Did you know?'}</strong><br />
|
<p><strong>{trans 'Did you know?'}</strong><br />
|
||||||
{aurl 'url', 'IDF_Views::faq'}
|
{aurl 'url', 'IDF_Views::faq'}
|
||||||
{blocktrans}With your account, you will able to participate in the life of all the projects hosted here. Participating in a software project must be fun, so if you have troubles, you can <a href="{$url}">let us know about your issues at anytime</a>!{/blocktrans}</p>
|
{blocktrans}With your account, you will able to participate in the life of all the projects hosted here. Participating in a software project must be fun, so if you have troubles, you can <a href="{$url}">let us know about your issues at anytime</a>!{/blocktrans}</p>
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
<tr><td><span class="scm-action patched" title="{trans 'modified'}">M</span></td><td><a href="{url 'IDF_Views_Source::tree', array($project.shortname, $commit, $filename)}">{$filename}</a>{if !empty($diff.files[$filename])}{assign $ndiff = count($diff.files[$filename]['chunks'])} (<a href="#diff-{$filename|md5}">{blocktrans $ndiff}{$ndiff} diff{plural}{$ndiff} diffs{/blocktrans}</a>){/if}</td></tr>
|
<tr><td><span class="scm-action patched" title="{trans 'modified'}">M</span></td><td><a href="{url 'IDF_Views_Source::tree', array($project.shortname, $commit, $filename)}">{$filename}</a>{if !empty($diff.files[$filename])}{assign $ndiff = count($diff.files[$filename]['chunks'])} (<a href="#diff-{$filename|md5}">{blocktrans $ndiff}{$ndiff} diff{plural}{$ndiff} diffs{/blocktrans}</a>){/if}</td></tr>
|
||||||
{/foreach}
|
{/foreach}
|
||||||
{foreach $changes.properties as $filename => $properties}
|
{foreach $changes.properties as $filename => $properties}
|
||||||
<tr><td><span class="scm-action property-changed" title="{trans 'properies changed'}">P</span></td><td><a href="{url 'IDF_Views_Source::tree', array($project.shortname, $commit, $filename)}">{$filename}</a>
|
<tr><td><span class="scm-action property-changed" title="{trans 'properties changed'}">P</span></td><td><a href="{url 'IDF_Views_Source::tree', array($project.shortname, $commit, $filename)}">{$filename}</a>
|
||||||
<table class="properties">
|
<table class="properties">
|
||||||
{foreach $properties as $key => $value}
|
{foreach $properties as $key => $value}
|
||||||
<tr><td>{$key}</td>
|
<tr><td>{$key}</td>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
return array(
|
return array(
|
||||||
'version' => '1.2-dev',
|
'version' => '1.3-dev',
|
||||||
'revision' => '$Format:%H$',
|
'revision' => '$Format:%H$',
|
||||||
);
|
);
|
||||||
|
@ -89,6 +89,7 @@ a.soft:visited {
|
|||||||
}
|
}
|
||||||
|
|
||||||
div.context {
|
div.context {
|
||||||
|
padding-top: 0.5em;
|
||||||
padding-left: 1em;
|
padding-left: 1em;
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 0;
|
top: 0;
|
||||||
@ -382,6 +383,9 @@ span.active {
|
|||||||
.helptext {
|
.helptext {
|
||||||
font-size: 80%;
|
font-size: 80%;
|
||||||
color: #555753;
|
color: #555753;
|
||||||
|
max-width: 600px;
|
||||||
|
margin-top: 0.25em;
|
||||||
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.container {
|
div.container {
|
||||||
@ -652,7 +656,7 @@ table.diff-contents {
|
|||||||
|
|
||||||
table.diff-linecounts tr,
|
table.diff-linecounts tr,
|
||||||
table.diff-contents tr {
|
table.diff-contents tr {
|
||||||
height: 18px;
|
height: 22px;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.diff-linecounts tr {
|
table.diff-linecounts tr {
|
||||||
@ -664,8 +668,9 @@ table.diff-linecounts tr:first-child {
|
|||||||
}
|
}
|
||||||
|
|
||||||
table.diff-linecounts td {
|
table.diff-linecounts td {
|
||||||
|
line-height: 12px;
|
||||||
font-size: 90%;
|
font-size: 90%;
|
||||||
padding: 1px 10px;
|
padding: 2px 10px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
border-left: 1px solid #d3d7cf;
|
border-left: 1px solid #d3d7cf;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user