Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
project
drupal
Commits
e78b7890
Commit
e78b7890
authored
Oct 16, 2007
by
Gábor Hojtsy
Browse files
#181577
by Crell: split up translation module
parent
385c2afa
Changes
2
Hide whitespace changes
Inline
Side-by-side
modules/translation/translation.module
View file @
e78b7890
...
...
@@ -53,6 +53,7 @@ function translation_menu() {
'access arguments'
=>
array
(
1
),
'type'
=>
MENU_LOCAL_TASK
,
'weight'
=>
2
,
'file'
=>
'translation.pages.inc'
,
);
return
$items
;
}
...
...
@@ -165,58 +166,6 @@ function translation_link($type, $node = NULL, $teaser = FALSE) {
return
$links
;
}
/**
* Overview page for a node's translations.
*
* @param $node
* Node object.
*/
function
translation_node_overview
(
$node
)
{
if
(
$node
->
tnid
)
{
// Already part of a set, grab that set.
$tnid
=
$node
->
tnid
;
$translations
=
translation_node_get_translations
(
$node
->
tnid
);
}
else
{
// We have no translation source nid, this could be a new set, emulate that.
$tnid
=
$node
->
nid
;
$translations
=
array
(
$node
->
language
=>
$node
);
}
$header
=
array
(
t
(
'Language'
),
t
(
'Title'
),
t
(
'Status'
),
t
(
'Operations'
));
foreach
(
language_list
()
as
$language
)
{
$options
=
array
();
$language_name
=
$language
->
name
;
if
(
isset
(
$translations
[
$language
->
language
]))
{
// Existing translation in the translation set: display status.
// We load the full node to check whether the user can edit it.
$translation_node
=
node_load
(
$translations
[
$language
->
language
]
->
nid
);
$title
=
l
(
$translation_node
->
title
,
'node/'
.
$translation_node
->
nid
);
if
(
node_access
(
'update'
,
$translation_node
))
{
$options
[]
=
l
(
t
(
'edit'
),
"node/
$translation_node->nid
/edit"
);
}
$status
=
$translation_node
->
status
?
t
(
'Published'
)
:
t
(
'Not published'
);
$status
.
=
$translation_node
->
translate
?
' - <span class="marker">'
.
t
(
'outdated'
)
.
'</span>'
:
''
;
if
(
$translation_node
->
nid
==
$tnid
)
{
$language_name
=
'<strong>'
.
$language_name
.
'</strong> (source)'
;
}
}
else
{
// No such translation in the set yet: help user to create it.
$title
=
t
(
'n/a'
);
if
(
node_access
(
'create'
,
$node
))
{
$options
[]
=
l
(
t
(
'add translation'
),
'node/add/'
.
$node
->
type
,
array
(
'query'
=>
"translation=
$node->nid
&language=
$language->language
"
));
}
$status
=
t
(
'Not translated'
);
}
$rows
[]
=
array
(
$language_name
,
$title
,
$status
,
implode
(
" | "
,
$options
));
}
drupal_set_title
(
t
(
'Translations of %title'
,
array
(
'%title'
=>
$node
->
title
)));
return
theme
(
'table'
,
$header
,
$rows
);
}
/**
* Implementation of hook_nodeapi().
*
...
...
modules/translation/translation.pages.inc
0 → 100644
View file @
e78b7890
<?php
// $Id$
/**
* @file
* User page callbacks for the translation module.
*/
/**
* Overview page for a node's translations.
*
* @param $node
* Node object.
*/
function
translation_node_overview
(
$node
)
{
if
(
$node
->
tnid
)
{
// Already part of a set, grab that set.
$tnid
=
$node
->
tnid
;
$translations
=
translation_node_get_translations
(
$node
->
tnid
);
}
else
{
// We have no translation source nid, this could be a new set, emulate that.
$tnid
=
$node
->
nid
;
$translations
=
array
(
$node
->
language
=>
$node
);
}
$header
=
array
(
t
(
'Language'
),
t
(
'Title'
),
t
(
'Status'
),
t
(
'Operations'
));
foreach
(
language_list
()
as
$language
)
{
$options
=
array
();
$language_name
=
$language
->
name
;
if
(
isset
(
$translations
[
$language
->
language
]))
{
// Existing translation in the translation set: display status.
// We load the full node to check whether the user can edit it.
$translation_node
=
node_load
(
$translations
[
$language
->
language
]
->
nid
);
$title
=
l
(
$translation_node
->
title
,
'node/'
.
$translation_node
->
nid
);
if
(
node_access
(
'update'
,
$translation_node
))
{
$options
[]
=
l
(
t
(
'edit'
),
"node/
$translation_node->nid
/edit"
);
}
$status
=
$translation_node
->
status
?
t
(
'Published'
)
:
t
(
'Not published'
);
$status
.
=
$translation_node
->
translate
?
' - <span class="marker">'
.
t
(
'outdated'
)
.
'</span>'
:
''
;
if
(
$translation_node
->
nid
==
$tnid
)
{
$language_name
=
'<strong>'
.
$language_name
.
'</strong> (source)'
;
}
}
else
{
// No such translation in the set yet: help user to create it.
$title
=
t
(
'n/a'
);
if
(
node_access
(
'create'
,
$node
))
{
$options
[]
=
l
(
t
(
'add translation'
),
'node/add/'
.
$node
->
type
,
array
(
'query'
=>
"translation=
$node->nid
&language=
$language->language
"
));
}
$status
=
t
(
'Not translated'
);
}
$rows
[]
=
array
(
$language_name
,
$title
,
$status
,
implode
(
" | "
,
$options
));
}
drupal_set_title
(
t
(
'Translations of %title'
,
array
(
'%title'
=>
$node
->
title
)));
return
theme
(
'table'
,
$header
,
$rows
);
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment