Skip to content
This repository has been archived by the owner on Sep 25, 2023. It is now read-only.

Commit

Permalink
*5543* Localization spec, step 1
Browse files Browse the repository at this point in the history
  • Loading branch information
asmecher committed Jul 1, 2010
1 parent 00c5eb0 commit 714ee67
Show file tree
Hide file tree
Showing 14 changed files with 93 additions and 84 deletions.
1 change: 1 addition & 0 deletions classes/author/form/submit/AuthorSubmitStep1Form.inc.php
Expand Up @@ -116,6 +116,7 @@ function execute() {
$user =& Request::getUser();

$this->paper = new Paper();
$this->paper->setLocale(Locale::getLocale()); // FIXME in bug #5543
$this->paper->setUserId($user->getId());
$this->paper->setSchedConfId($schedConf->getId());
$this->paper->setTrackId($this->getData('trackId'));
Expand Down
59 changes: 31 additions & 28 deletions classes/paper/PaperDAO.inc.php
Expand Up @@ -122,6 +122,7 @@ function _paperFromRow(&$paper, &$row) {
$conferenceId = $schedConf->getConferenceId();

$paper->setId($row['paper_id']);
$paper->setLocale($row['locale']);
$paper->setUserId($row['user_id']);
$paper->setSchedConfId($row['sched_conf_id']);
$paper->setTrackId($row['track_id']);
Expand Down Expand Up @@ -166,36 +167,38 @@ function _paperFromRow(&$paper, &$row) {
function insertPaper(&$paper) {
$paper->stampModified();
$this->update(
sprintf('INSERT INTO papers
(user_id,
sched_conf_id,
track_id,
language,
comments_to_dr,
citations,
date_submitted,
date_status_modified,
last_modified,
date_reminded,
start_time,
end_time,
date_to_presentations,
date_to_archive,
status,
submission_progress,
review_mode,
current_round,
submission_file_id,
revised_file_id,
review_file_id,
layout_file_id,
director_file_id,
pages,
comments_status)
VALUES
(?, ?, ?, ?, ?, ?, %s, %s, %s, %s, %s, %s, %s, %s, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)',
sprintf('INSERT INTO papers (
locale,
user_id,
sched_conf_id,
track_id,
language,
comments_to_dr,
citations,
date_submitted,
date_status_modified,
last_modified,
date_reminded,
start_time,
end_time,
date_to_presentations,
date_to_archive,
status,
submission_progress,
review_mode,
current_round,
submission_file_id,
revised_file_id,
review_file_id,
layout_file_id,
director_file_id,
pages,
comments_status
) VALUES
(?, ?, ?, ?, ?, ?, ?, %s, %s, %s, %s, %s, %s, %s, %s, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)',
$this->datetimeToDB($paper->getDateSubmitted()), $this->datetimeToDB($paper->getDateStatusModified()), $this->datetimeToDB($paper->getLastModified()), $this->datetimeToDB($paper->getDateReminded()), $this->datetimeToDB($paper->getStartTime()), $this->datetimeToDB($paper->getEndTime()), $this->datetimeToDB($paper->getDateToPresentations()), $this->datetimeToDB($paper->getDateToArchive())),
array(
$paper->getLocale(),
$paper->getUserId(),
$paper->getSchedConfId(),
$paper->getTrackId(),
Expand Down
20 changes: 9 additions & 11 deletions classes/paper/PublishedPaperDAO.inc.php
Expand Up @@ -164,17 +164,16 @@ function &getPublishedPapersInTracks($schedConfId, $trackId = null, $searchField
$publishedPapers = array();

$params = array(
'title', // Paper title
$primaryLocale,
'title', // Paper title
'title', // Paper title (current locale)
$locale,
'title', // Track title
'title', // Paper title (paper locale)
'title', // Track title (primary locale)
$primaryLocale,
'title', // Track title
'title', // Track title (current locale)
$locale,
'abbrev',
'abbrev', // Track abbrev (primary locale)
$primaryLocale,
'abbrev',
'abbrev', // Track abbrev (current locale)
$locale,
$schedConfId
);
Expand Down Expand Up @@ -209,7 +208,7 @@ function &getPublishedPapersInTracks($schedConfId, $trackId = null, $searchField
papers p
LEFT JOIN published_papers pa ON (p.paper_id = pa.paper_id)
LEFT JOIN paper_settings ptl ON (p.paper_id = ptl.paper_id AND ptl.setting_name = ? AND ptl.locale = ?)
LEFT JOIN paper_settings ptpl ON (p.paper_id = ptpl.paper_id AND ptpl.setting_name = ? AND ptpl.locale = ?)
LEFT JOIN paper_settings ptpl ON (p.paper_id = ptpl.paper_id AND ptpl.setting_name = ? AND ptpl.locale = p.locale)
LEFT JOIN tracks t ON t.track_id = p.track_id
LEFT JOIN track_settings ttpl ON (t.track_id = ttpl.track_id AND ttpl.setting_name = ? AND ttpl.locale = ?)
LEFT JOIN track_settings ttl ON (t.track_id = ttl.track_id AND ttl.setting_name = ? AND ttl.locale = ?)
Expand Down Expand Up @@ -461,8 +460,7 @@ function &getPublishedPaperIdsAlphabetizedByTitle($conferenceId = null, $schedCo
$params = array(
'cleanTitle',
Locale::getLocale(),
'cleanTitle',
Locale::getPrimaryLocale()
'cleanTitle'
);
if ($conferenceId) $params[] = $conferenceId;
if ($schedConfId) $params[] = $schedConfId;
Expand All @@ -476,7 +474,7 @@ function &getPublishedPaperIdsAlphabetizedByTitle($conferenceId = null, $schedCo
papers p
' . ($conferenceId?'LEFT JOIN sched_confs sc ON sc.sched_conf_id = p.sched_conf_id':'') . '
LEFT JOIN paper_settings ptl ON (ptl.setting_name = ? AND ptl.paper_id = p.paper_id AND ptl.locale = ?)
LEFT JOIN paper_settings ptpl ON (ptpl.setting_name = ? AND ptpl.paper_id = p.paper_id AND ptpl.locale = ?)
LEFT JOIN paper_settings ptpl ON (ptpl.setting_name = ? AND ptpl.paper_id = p.paper_id AND ptpl.locale = p.locale)
WHERE pp.paper_id = p.paper_id AND
p.status = ' . STATUS_PUBLISHED . '
' . ($schedConfId?'AND p.sched_conf_id = ?':'') . '
Expand Down
1 change: 1 addition & 0 deletions classes/site/ImportOCS1.inc.php
Expand Up @@ -684,6 +684,7 @@ function importPapers() {
// Bring in the basic entry for the paper
$paper = new Paper();
$paper->setUserId($userId);
$paper->setLocale(Locale::getPrimaryLocale());
$paper->setSchedConfId($schedConfId);

$oldTrackId = $row['primary_track_id'];
Expand Down
18 changes: 8 additions & 10 deletions classes/submission/author/AuthorSubmissionDAO.inc.php
Expand Up @@ -205,14 +205,14 @@ function &getAuthorSubmissions($authorId, $schedConfId, $active = true, $rangeIn
$locale = Locale::getLocale();
$result =& $this->retrieveRange(
'SELECT p.*,
COALESCE(ptl.setting_value, pptl.setting_value) AS submission_title,
COALESCE(ptl.setting_value, ptpl.setting_value) AS submission_title,
pa.last_name AS author_name,
(SELECT SUM(g.views) FROM paper_galleys g WHERE (g.paper_id = p.paper_id AND g.locale = ?)) AS galley_views,
COALESCE(ttl.setting_value, ttpl.setting_value) AS track_title,
COALESCE(tal.setting_value, tapl.setting_value) AS track_abbrev
FROM papers p
LEFT JOIN authors pa ON (pa.submission_id = p.paper_id AND pa.primary_contact = 1)
LEFT JOIN paper_settings pptl ON (p.paper_id = pptl.paper_id AND pptl.setting_name = ? AND pptl.locale = ?)
LEFT JOIN paper_settings ptpl ON (p.paper_id = ptpl.paper_id AND ptpl.setting_name = ? AND ptpl.locale = p.locale)
LEFT JOIN paper_settings ptl ON (p.paper_id = ptl.paper_id AND ptl.setting_name = ? AND ptl.locale = ?)
LEFT JOIN tracks t ON (t.track_id = p.track_id)
LEFT JOIN track_settings ttpl ON (t.track_id = ttpl.track_id AND ttpl.setting_name = ? AND ttpl.locale = ?)
Expand All @@ -226,18 +226,16 @@ function &getAuthorSubmissions($authorId, $schedConfId, $active = true, $rangeIn
)) .
($sortBy?(' ORDER BY ' . $this->getSortMapping($sortBy) . ' ' . $this->getDirectionMapping($sortDirection)) : ''),
array(
'cleanTitle', // Paper title (paper locale)
'cleanTitle', // Paper title (current locale)
$locale,
'cleanTitle',
'title', // Track title (primary locale)
$primaryLocale,
'cleanTitle',
'title', // Track title (current locale)
$locale,
'title',
$primaryLocale,
'title',
$locale,
'abbrev',
'abbrev', // Track abbrev (primary locale)
$primaryLocale,
'abbrev',
'abbrev', // Track abbrev (current locale)
$locale,
$schedConfId,
$authorId
Expand Down
19 changes: 9 additions & 10 deletions classes/submission/director/DirectorSubmissionDAO.inc.php
Expand Up @@ -181,17 +181,16 @@ function &_getUnfilteredDirectorSubmissions($schedConfId, $trackId = 0, $directo
$primaryLocale = Locale::getPrimaryLocale();
$locale = Locale::getLocale();
$params = array(
'title', // Track title
'title', // Track title (primary locale)
$primaryLocale,
'title',
'title', // Track title (current locale)
$locale,
'abbrev', // Track abbrev
'abbrev', // Track abbrev (primary locale)
$primaryLocale,
'abbrev',
'abbrev', // Track abbrev (current locale)
$locale,
'cleanTitle', // Paper title
$primaryLocale,
'cleanTitle', // Paper title
'cleanTitle', // Paper title (paper locale)
'cleanTitle', // Paper title (current locale)
$locale,
$schedConfId
);
Expand Down Expand Up @@ -233,7 +232,7 @@ function &_getUnfilteredDirectorSubmissions($schedConfId, $trackId = 0, $directo

$sql = 'SELECT DISTINCT
p.*,
COALESCE(ptl.setting_value, pptl.setting_value) AS submission_title,
COALESCE(ptl.setting_value, ptpl.setting_value) AS submission_title,
pap.last_name AS author_name,
t.seq, pp.seq,
COALESCE(ttl.setting_value, ttpl.setting_value) AS track_title,
Expand All @@ -251,8 +250,8 @@ function &_getUnfilteredDirectorSubmissions($schedConfId, $trackId = 0, $directo
LEFT JOIN track_settings ttl ON (t.track_id = ttl.track_id AND ttl.setting_name = ? AND ttl.locale = ?)
LEFT JOIN track_settings tapl ON (t.track_id = tapl.track_id AND tapl.setting_name = ? AND tapl.locale = ?)
LEFT JOIN track_settings tal ON (t.track_id = tal.track_id AND tal.setting_name = ? AND tal.locale = ?)
LEFT JOIN paper_settings pptl ON (p.paper_id = pptl.paper_id AND pptl.setting_name = ? AND pptl.locale = ?)
LEFT JOIN paper_settings ptl ON (p.paper_id = ptl.paper_id AND ptl.setting_name = ? AND pptl.locale = ?)
LEFT JOIN paper_settings ptpl ON (p.paper_id = ptpl.paper_id AND ptpl.setting_name = ? AND ptpl.locale = ?)
LEFT JOIN paper_settings ptl ON (p.paper_id = ptl.paper_id AND ptl.setting_name = ? AND ptpl.locale = ?)
LEFT JOIN edit_assignments ea ON (p.paper_id = ea.paper_id)
LEFT JOIN edit_assignments ea2 ON (p.paper_id = ea2.paper_id AND ea.edit_id < ea2.edit_id)
WHERE p.sched_conf_id = ?
Expand Down
20 changes: 10 additions & 10 deletions classes/submission/trackDirector/TrackDirectorSubmissionDAO.inc.php
Expand Up @@ -278,17 +278,17 @@ function &_getUnfilteredTrackDirectorSubmissions($trackDirectorId, $schedConfId,
$locale = Locale::getLocale();

$params = array(
'title', // Track title
'title', // Track title (primary locale)
$primaryLocale,
'title',
'title', // Track title (current locale)
$locale,
'abbrev', // Track abbrev
'abbrev', // Track abbrev (primary locale)
$primaryLocale,
'abbrev',
'abbrev', // Track abbrev (current locale)
$locale,
'cleanTitle', // Paper title
'cleanTitle', // Paper title
$primaryLocale,
'cleanTitle', // Paper title (current locale)
$locale,
'cleanTitle', // Paper title (paper locale)
$schedConfId,
$trackDirectorId
);
Expand Down Expand Up @@ -357,7 +357,7 @@ function &_getUnfilteredTrackDirectorSubmissions($trackDirectorId, $schedConfId,
$sql = 'SELECT DISTINCT
p.*,
r2.review_revision,
COALESCE(ptl.setting_value, pptl.setting_value) AS submission_title,
COALESCE(ptl.setting_value, ptpl.setting_value) AS submission_title,
pap.last_name AS author_name,
COALESCE(ttl.setting_value, ttpl.setting_value) AS track_title,
COALESCE(tal.setting_value, tapl.setting_value) AS track_abbrev
Expand All @@ -372,8 +372,8 @@ function &_getUnfilteredTrackDirectorSubmissions($trackDirectorId, $schedConfId,
LEFT JOIN track_settings ttl ON (t.track_id = ttl.track_id AND ttl.setting_name = ? AND ttl.locale = ?)
LEFT JOIN track_settings tapl ON (t.track_id = tapl.track_id AND tapl.setting_name = ? AND tapl.locale = ?)
LEFT JOIN track_settings tal ON (t.track_id = tal.track_id AND tal.setting_name = ? AND tal.locale = ?)
LEFT JOIN paper_settings ptl ON (p.paper_id = ptl.paper_id AND ptl.setting_name = ?)
LEFT JOIN paper_settings pptl ON (p.paper_id = pptl.paper_id AND pptl.setting_name = ? AND pptl.locale = ?)
LEFT JOIN paper_settings ptl ON (p.paper_id = ptl.paper_id AND ptl.setting_name = ? AND ptl.locale = ?)
LEFT JOIN paper_settings ptpl ON (p.paper_id = ptpl.paper_id AND ptpl.setting_name = ? AND ptpl.locale = p.locale)
WHERE p.sched_conf_id = ?
' . (!empty($additionalWhereSql)?" AND ($additionalWhereSql)":'') . '
AND e.director_id = ?';
Expand Down
1 change: 1 addition & 0 deletions dbscripts/xml/ocs_schema.xml
Expand Up @@ -399,6 +399,7 @@
<KEY />
<AUTOINCREMENT />
</field>
<field name="locale" type="C2" size="5" />
<field name="user_id" type="I8">
<NOTNULL />
</field>
Expand Down
9 changes: 9 additions & 0 deletions dbscripts/xml/upgrade/2.3.2_update.xml
Expand Up @@ -16,4 +16,13 @@
<sql>
<query>UPDATE notes SET assoc_type = 257</query><!-- ASSOC_TYPE_ARTICLE -->
</sql>
<!-- Bug #5543: Implement multilingual specification -->
<sql>
<query driver="mysql">
UPDATE papers p, conferences c, sched_confs sc SET p.locale = c.primary_locale WHERE p.sched_conf_id = sc.sched_conf_id AND sc.conference_id = c.conference_id
</query>
<query driver="postgres7">
UPDATE papers SET locale = c.primary_locale FROM sched_confs sc, conferences c WHERE papers.sched_conf_id = sc.sched_conf_id AND sc.conference_id = c.conference_id
</query>
</sql>
</data>
2 changes: 1 addition & 1 deletion lib/pkp
Submodule pkp updated 38 files
+2 −0 classes/citation/CitationListTokenizerFilter.inc.php
+1 −1 classes/citation/NlmCitationDemultiplexerFilter.inc.php
+1 −1 classes/citation/lookup/pubmed/PubmedNlmCitationSchemaFilter.inc.php
+1 −1 classes/citation/lookup/worldcat/WorldcatNlmCitationSchemaFilter.inc.php
+0 −4 classes/controllers/grid/DataObjectGridCellProvider.inc.php
+1 −0 classes/controllers/grid/GridAction.inc.php
+15 −58 classes/controllers/grid/citation/PKPCitationGridHandler.inc.php
+7 −0 classes/core/DataObject.inc.php
+3 −4 classes/core/PKPApplication.inc.php
+10 −14 classes/core/PKPRequest.inc.php
+321 −0 classes/filter/CompositeFilter.inc.php
+106 −67 classes/filter/Filter.inc.php
+213 −28 classes/filter/FilterDAO.inc.php
+3 −3 classes/filter/FilterSetting.inc.php
+23 −7 classes/filter/GenericFilter.inc.php
+4 −19 classes/filter/GenericMultiplexerFilter.inc.php
+4 −20 classes/filter/GenericSequencerFilter.inc.php
+1 −1 classes/filter/TypeDescriptionFactory.inc.php
+2 −1 classes/handler/PKPHandler.inc.php
+1 −0 classes/metadata/MetadataDataObjectAdapter.inc.php
+2 −2 classes/site/VersionDAO.inc.php
+41 −1 classes/submission/Submission.inc.php
+1 −1 classes/template/PKPTemplateManager.inc.php
+3 −3 classes/xslt/XSLTransformer.inc.php
+2 −3 includes/functions.inc.php
+4 −0 js/modal.js
+1 −1 locale/en_US/submission.xml
+1 −1 templates/controllers/grid/citation/form/citationForm.tpl
+1 −1 templates/controllers/grid/filter/form/filterForm.tpl
+0 −77 tests/DatabaseTestCase.inc.php
+1 −7 tests/PKPTestCase.inc.php
+4 −4 tests/classes/core/PKPComponentRouterTest.inc.php
+11 −11 tests/classes/core/PKPPageRouterTest.inc.php
+2 −2 tests/classes/core/PKPRouterTest.inc.php
+0 −2 tests/classes/db/DBConnectionTest.inc.php
+75 −2 tests/classes/filter/FilterDAOTest.inc.php
+53 −2 tests/classes/filter/FilterTest.inc.php
+8 −4 xml/schema/metadata.xml
1 change: 1 addition & 0 deletions plugins/importexport/native/NativeImportDom.inc.php
Expand Up @@ -245,6 +245,7 @@ function handlePaperNode(&$conference, &$schedConf, &$paperNode, &$track, &$pape
$paperDao =& DAORegistry::getDAO('PaperDAO');

$paper = new Paper();
$paper->setLocale(Locale::getLocale()); // FIXME in bug #5543
$paper->setSchedConfId($schedConf->getId());
$paper->setUserId($user->getId());
$paper->setTrackId($track->getId());
Expand Down
Expand Up @@ -312,6 +312,7 @@ function executeCLI($scriptName, &$args) {
$result = $this->handleImport($context, $doc, $errors, $papers, true);
if ($result) {
echo Locale::translate('plugins.importexport.native.import.success.description') . "\n\n";
Locale::requireComponents(array(LOCALE_COMPONENT_APPLICATION_COMMON));
if (!empty($papers)) echo Locale::translate('paper.papers') . ":\n";
foreach ($papers as $paper) {
echo "\t" . $paper->getLocalizedTitle() . "\n";
Expand Down
18 changes: 8 additions & 10 deletions plugins/reports/papers/PaperReportDAO.inc.php
Expand Up @@ -43,26 +43,24 @@ function getPaperReport($conferenceId, $schedConfId) {
p.language AS language
FROM papers p
LEFT JOIN published_papers pp ON (p.paper_id = pp.paper_id)
LEFT JOIN paper_settings pspl1 ON (pspl1.paper_id=p.paper_id AND pspl1.setting_name = ? AND pspl1.locale = ?)
LEFT JOIN paper_settings pspl1 ON (pspl1.paper_id=p.paper_id AND pspl1.setting_name = ? AND pspl1.locale = p.locale)
LEFT JOIN paper_settings psl1 ON (psl1.paper_id=p.paper_id AND psl1.setting_name = ? AND psl1.locale = ?)
LEFT JOIN paper_settings pspl2 ON (pspl2.paper_id=p.paper_id AND pspl2.setting_name = ? AND pspl2.locale = ?)
LEFT JOIN paper_settings pspl2 ON (pspl2.paper_id=p.paper_id AND pspl2.setting_name = ? AND pspl2.locale = p.locale)
LEFT JOIN paper_settings psl2 ON (psl2.paper_id=p.paper_id AND psl2.setting_name = ? AND psl2.locale = ?)
LEFT JOIN track_settings tpl ON (tpl.track_id=p.track_id AND tpl.setting_name = ? AND tpl.locale = ?)
LEFT JOIN track_settings tl ON (tl.track_id=p.track_id AND tl.setting_name = ? AND tl.locale = ?)
WHERE p.sched_conf_id = ?
ORDER BY p.paper_id',
array(
'title',
$primaryLocale,
'title',
'title', // Paper title (paper locale)
'title', // Paper title (current locale)
$locale,
'abstract',
$primaryLocale,
'abstract',
'abstract', // Paper abstract (paper locale)
'abstract', // Paper abstract (current locale)
$locale,
'title',
'title', // Track title (primary locale)
$primaryLocale,
'title',
'title', // Track title (current locale)
$locale,
$schedConfId
)
Expand Down
7 changes: 3 additions & 4 deletions plugins/reports/reviews/ReviewReportDAO.inc.php
Expand Up @@ -63,15 +63,14 @@ function getReviewReport($schedConfId) {
FROM review_assignments r
LEFT JOIN papers p ON (r.submission_id = p.paper_id)
LEFT JOIN paper_settings psl ON (p.paper_id=psl.paper_id AND psl.locale=? AND psl.setting_name=?)
LEFT JOIN paper_settings pspl ON (p.paper_id=pspl.paper_id AND pspl.locale=? AND pspl.setting_name=?),
LEFT JOIN paper_settings pspl ON (p.paper_id=pspl.paper_id AND pspl.locale=p.locale AND pspl.setting_name=?),
users u
WHERE u.user_id=r.reviewer_id AND p.sched_conf_id= ?
ORDER BY paper',
array(
$locale,
'title',
$primaryLocale,
$locale, // Paper title (current locale)
'title',
'title', // Paper title (paper locale)
$schedConfId
)
);
Expand Down

0 comments on commit 714ee67

Please sign in to comment.