| Server IP : 195.130.67.5 / Your IP : 216.73.217.154 Web Server : Microsoft-IIS/10.0 System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586 User : IUSR ( 0) PHP Version : 7.4.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Old Sites/Engineering/V2/administrator/modules/mod_translate/ |
Upload File : |
<?php
/**
* Joom!Fish - Multi Lingual extention and translation manager for Joomla!
* Copyright (C) 2003-2009 Think Network GmbH, Munich
*
* All rights reserved. The Joom!Fish project is a set of extentions for
* the content management system Joomla!. It enables Joomla!
* to manage multi lingual sites especially in all dynamic information
* which are stored in the database.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,USA.
*
* The "GNU General Public License" (GPL) is available at
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* -----------------------------------------------------------------------------
* $Id: mod_translate.php 1361 2009-06-22 20:06:09Z akede $
* @package joomfish
* @subpackage mod_translate
*
*/
// ensure this file is being included by a parent file
defined( '_JEXEC' ) or die( 'Direct Access to this location is not allowed.' );
include_once( JPATH_SITE .DS. 'components' .DS. 'com_joomfish' .DS. 'helpers' .DS. 'defines.php' );
JLoader::register('JoomfishManager', JOOMFISH_ADMINPATH .DS. 'classes' .DS. 'JoomfishManager.class.php' );
JLoader::register('JoomFishVersion', JOOMFISH_ADMINPATH .DS. 'version.php' );
JHTML::_('behavior.modal');
$linkType = $params->get("linktype","newwindow");
$value = array();
$value[]="com_content#content#cid#task#!edit";
$value[]="com_frontpage#content#cid#task#!edit";
$value[]="com_sections#sections#cid#task#!edit";
$value[]="com_categories#categories#cid#task#!edit";
$value[]="com_contact#contact_details#cid#!edit";
$value[]="com_menus#menu#cid#task#!edit";
$value[]="com_modules#modules#cid#task#!edit#client#!1";
$value[]="com_newsfeeds#newsfeeds#cid#task#!edit";
$value[]="com_poll#polls#cid#task#!edit";
$components = $params->get("components",$value);
$mapping=null;
foreach ($components as $component){
$map = explode("#",$component);
if (count($map)>=3 && trim($map[0])==$option){
if (count($map)>3 && (count($map)-3)%2==0){
$matched=true;
for ($p=0;$p<(count($map)-3)/2;$p++){
$testParam = JRequest::getVar( trim($map[3+$p*2]), '');
if ((strpos(trim($map[4+$p*2]),"!")!==false && strpos(trim($map[4+$p*2]),"!")==0)){
if ($testParam == substr(trim($map[4+$p*2]),1)){
$matched=false;
break;
}
}
else {
if ($testParam != trim($map[4+$p*2])){
$matched=false;
break;
}
}
}
if ($matched) {
$mapping=$map;
break;
}
}
else {
$mapping=$map;
break;
}
}
}
// Add the standard style to the site
JHTML::stylesheet("mod_translate.css","administrator/modules/mod_translate/");
$joomFishManager = & JoomFishManager::getInstance();// JoomFishManager(JPATH_ADMINISTRATOR."/components/com_joomfish");
if ($mapping!=null){
//Global definitions
if( !defined('DS') ) {
define( 'DS', DIRECTORY_SEPARATOR );
}
if( !defined('JOOMFISH_PATH') ) {
define( 'JOOMFISH_PATH', JPATH_SITE .'components'.DS.'com_joomfish' );
define( 'JOOMFISH_ADMINPATH', JPATH_ADMINISTRATOR .DS.'components'.DS.'com_joomfish' );
define( 'JOOMFISH_LIBPATH', JOOMFISH_ADMINPATH .DS. 'libraries' );
define( 'JOOMFISH_LANGPATH', JOOMFISH_PATH .DS. 'language' );
define( 'JOOMFISH_URL', '/components/com_joomfish');
}
$lang = JFactory::getLanguage();
$lang->load('com_joomfish');
// load languages via translation model
JLoader::register('TranslateModelTranslate', JOOMFISH_ADMINPATH.DS.'models'.DS.'translate.php');
$model = new TranslateModelTranslate();
$langActive = $model->getLanguages(); // all languages even non active once
$defaultLang = $model->getDefaultLanguage();
$params = JComponentHelper::getParams('com_joomfish');
$showDefaultLanguageAdmin = $params->get("showDefaultLanguageAdmin", true);
$langOptions[] = JHTML::_('select.option', -1, JText::_("SELECT LANGUAGE") );
if ( count($langActive)>0 ) {
foreach( $langActive as $language )
{
if($language->code != $defaultLang || $showDefaultLanguageAdmin) {
$langOptions[] = JHTML::_('select.option', $language->id, $language->name );
}
}
}
$langlist = JHTML::_('select.genericlist', $langOptions, 'select_language_id', 'id="select_language_id" class="inputbox" size="1" onChange="translateItem(\''.$linkType.'\');"', 'value', 'text', -1);//$langActive[0]->id );
// I also need to trap component specific actions e.g. pony gallery uses
?>
<span class='modtranslate'>
<script language="JavaScript" type="text/javascript">
function translateItem(linktype){
var langCode=document.getElementById('select_language_id').value;
var option="<?php echo trim($mapping[1]);?>";
if( linktype == '' ) linktype = 'squeezebox';
if( langCode == -1 ) return;
if (document.adminForm.boxchecked.value==0) {
alert("<?php echo JText::sprintf( 'Please make a selection from the list to', JText::_("translate") ); ?>")
return
<?php
$setlang="&select_language_id=\"+langCode+\"";
$targetURL = JURI::root()."administrator/index2.php?option=com_joomfish&task=translate.edit&catid=\"+option+\"".$setlang;
?>
openTranslationDialog(targetURL, linktype);
return;// SqueezeBox.call(SqueezeBox, true);
}
if (document.adminForm.boxchecked.value!=1) {
alert( "<?php echo JText::_("You must select exactly one item to translate");?>");
return;
}
if (langCode==-1){
alert( "<?php echo JText::_("You must select a language");?>");
return;
}
// not all components use "cid" e.g. ponygallery uses act=pictures or act=showcatg
var cid = "<?php echo trim($mapping[2]);?>[]";
var checkboxes = document.getElementsByName(cid);
for (var i=0;i<checkboxes.length;i++){
if (checkboxes[i].checked){
//alert("you want to edit item "+(i+1)+" content item id = "+checkboxes[i].value);
// second part is language id 1=Cymraeg,5=German etc!
<?php
$targetURL = JURI::root()."administrator/index2.php?task=translate.edit&boxchecked=1&catid=\"+option+\"&cid[]=0|\"+checkboxes[i].value+\"|\"+langCode+\"&option=com_joomfish";
?>
targetURL = "<?php echo $targetURL;?>";
openTranslationDialog(targetURL, linktype);
return;// SqueezeBox.call(SqueezeBox, true);
}
}
alert("There was a problem");
}
function openTranslationDialog(target, linktype) {
switch (linktype) {
case 'newwindow':
target += '&direct=2';
window.open(target,"translation","innerwidth=800,innerheight=500,menubar=yes,status=yes,location=yes,resizable=yes,scrollbars=yes");
break;
case 'samewindow':
document.location.replace(target);
break;
case 'squeezebox':
default:
target += '&direct=1';
SqueezeBox.initialize({});
SqueezeBox.setOptions(SqueezeBox.presets,{'handler': 'iframe','size': {'x': 1000, 'y': 600},'closeWithOverlay': 0});
SqueezeBox.url = target;
SqueezeBox.setContent('iframe', SqueezeBox.url );
}
return;// SqueezeBox.call(SqueezeBox, true);
}
</script>
<a href="javascript:translateItem('<?php echo $linkType;?>')" title="<?php echo JText::_('translate this item'); ?>"><?php echo JText::_('translate to'); ?></a>:
<?php echo $langlist; ?>
</span>
<?php
}
else {
?>
<span class='modtranslate'>
<?php
$params = JComponentHelper::getParams('com_languages');
$language = $joomFishManager->getLanguageByCode($params->get("site", 'en-GB'));
if(isset($language) && $language) {
echo JText::_('Default language') .': ';
$langImg = '/components/com_joomfish/images/flags/' .$language->getLanguageCode() .".gif";
if( isset($language->image) && $language->image!="" ) {
$langImg = '/images/' .$language->image;
}
$outString = $language->name;
if( file_exists( JPATH_SITE . $langImg ) ) {
$outString = '<img src="' .JURI::root(true) . $langImg. '" alt="' .$language->name. '" title="' .$language->name. '" />';
}
echo $outString;
}
?>
</span>
<?php
}
?>