This commit is contained in:
Paula Quispe
2017-09-12 16:59:06 -04:00
parent 8699650919
commit cfc18ca200

View File

@@ -1,128 +1,101 @@
<?php <?php
/**
* language_Ajax.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/
try { try {
$filter = new InputFilter(); $filter = new InputFilter();
$_POST = $filter->xssFilterHard($_POST); $_POST = $filter->xssFilterHard($_POST);
if (isset( $_POST['form'] )) { if (isset($_POST['form'])) {
$_POST = $_POST['form']; $_POST = $_POST['form'];
} }
$_POST['function'] = get_ajax_value( 'function' ); $_POST['function'] = get_ajax_value('function');
$_POST['function'] = $filter->xssFilterHard($_POST['function']); $_POST['function'] = $filter->xssFilterHard($_POST['function']);
switch ($_POST['function']) { switch ($_POST['function']) {
case 'savePredetermined': case 'savePredetermined':
$tranlationsList = Translation::getTranslationEnvironments(); $tranlationsList = Translation::getTranslationEnvironments();
g::pr( $tranlationsList ); G::pr($tranlationsList);
die(); if (isset($meta['LAN_ID']) && $meta['LAN_ID'] == $_POST['lang']) {
if (isset( $meta['LAN_ID'] ) && $meta['LAN_ID'] == $_POST['lang']) {
echo 'The Setting was saved successfully!'; echo 'The Setting was saved successfully!';
} else { } else {
echo 'Some error occured while the setting was being save, try later please.'; echo 'Some error occured while the setting was being save, try later please.';
} }
break; break;
case 'languagesList': case 'languagesList':
$isoCountry = new IsoCountry(); $isoCountry = new IsoCountry();
$translationRow = new Translation(); $translationRow = new Translation();
$response = new stdClass(); $response = new stdClass();
$translationsEnvList = $translationRow->getTranslationEnvironments(); $translationsEnvList = $translationRow->getTranslationEnvironments();
//print_r($translationsEnvList); die;
$i = 0; $i = 0;
foreach ($translationsEnvList as $locale => $translationRow) { foreach ($translationsEnvList as $locale => $translationRow) {
$countryId = $translationRow['IC_UID'];
$COUNTRY_ID = $translationRow['IC_UID']; if ($countryId != '') {
if ($COUNTRY_ID != '') { $isoCountryRecord = $isoCountry->findById(strtoupper($countryId));
$isoCountryRecord = $isoCountry->findById( strtoupper( $COUNTRY_ID ) ); $flag = strtolower($isoCountryRecord['IC_UID']);
$flag = strtolower( $isoCountryRecord['IC_UID'] );
$countryName = $translationRow['HEADERS']['X-Poedit-Country']; $countryName = $translationRow['HEADERS']['X-Poedit-Country'];
} else { } else {
$flag = 'international'; $flag = 'international';
$countryName = G::LoadTranslation( 'ID_INTERNATIONAL' ); $countryName = G::LoadTranslation('ID_INTERNATIONAL');
} }
$conf = new Configurations(); $conf = new Configurations();
$confCasesList = $conf->getConfiguration( 'casesList', 'todo' ); $confCasesList = $conf->getConfiguration('casesList', 'todo');
//echo date($confCasesList['dateformat'], '2010-01-01');
if (isset($confCasesList['dateformat'])) {
if (isset( $confCasesList['dateformat'] )) { $datetime = explode(' ', $translationRow['DATE']);
$datetime = explode( ' ', $translationRow['DATE'] ); $date = explode('-', $datetime[0]);
if (count($datetime) == 2) {
$date = explode( '-', $datetime[0] ); $time = explode(':', $datetime[1]);
if (count( $datetime ) == 2)
$time = explode( ':', $datetime[1] );
if (count( $date ) == 3) {
if (count( $time ) >= 2) {
$DATE = date( $confCasesList['dateformat'], mktime( $time[0], $time[1], 0, $date[1], $date[2], $date[0] ) );
} else {
$DATE = date( $confCasesList['dateformat'], mktime( 0, 0, 0, $date[1], $date[2], $date[0] ) );
}
} else {
$DATE = $translationRow['DATE'];
} }
$datetime = explode( ' ', $translationRow['HEADERS']['PO-Revision-Date'] ); if (count($date) == 3) {
if (count($time) >= 2) {
$date = explode( '-', $datetime[0] ); $dateFormat = date($confCasesList['dateformat'],
if (count( $datetime ) == 2) mktime($time[0], $time[1], 0, $date[1], $date[2], $date[0]));
$time = explode( ':', $datetime[1] );
if (count( $date ) == 3) {
if (count( $time ) >= 2) {
$REV_DATE = date( $confCasesList['dateformat'], mktime( $time[0], substr( $time[1], 0, 2 ), 0, $date[1], $date[2], $date[0] ) );
} else { } else {
$REV_DATE = date( $confCasesList['dateformat'], mktime( 0, 0, 0, $date[1], $date[2], $date[0] ) ); $dateFormat = date($confCasesList['dateformat'], mktime(0, 0, 0, $date[1], $date[2], $date[0]));
} }
} else { } else {
$REV_DATE = $translationRow['HEADERS']['PO-Revision-Date']; $dateFormat = $translationRow['DATE'];
}
$datetime = explode(' ', $translationRow['HEADERS']['PO-Revision-Date']);
$date = explode('-', $datetime[0]);
if (count($datetime) == 2) {
$time = explode(':', $datetime[1]);
}
if (count($date) == 3) {
if (count($time) >= 2) {
$revDate = date($confCasesList['dateformat'],
mktime($time[0], substr($time[1], 0, 2), 0, $date[1], $date[2], $date[0]));
} else {
$revDate = date($confCasesList['dateformat'],
mktime(0, 0, 0, $date[1], $date[2], $date[0]));
}
} else {
$revDate = $translationRow['HEADERS']['PO-Revision-Date'];
} }
} else { } else {
$DATE = $translationRow['DATE']; $dateFormat = $translationRow['DATE'];
$REV_DATE = $translationRow['HEADERS']['PO-Revision-Date']; $revDate = $translationRow['HEADERS']['PO-Revision-Date'];
} }
$languagesList[$i]['LAN_ID'] = $translationRow['LAN_ID']; $languagesList[$i]['LAN_ID'] = $translationRow['LAN_ID'];
$languagesList[$i]['LOCALE'] = $translationRow['LOCALE']; $languagesList[$i]['LOCALE'] = $translationRow['LOCALE'];
$languagesList[$i]['LAN_FLAG'] = $flag; $languagesList[$i]['LAN_FLAG'] = $flag;
$languagesList[$i]['NUM_RECORDS'] = $translationRow['NUM_RECORDS']; $languagesList[$i]['NUM_RECORDS'] = $translationRow['NUM_RECORDS'];
$languagesList[$i]['DATE'] = $DATE; $languagesList[$i]['DATE'] = $dateFormat;
$languagesList[$i]['LAN_NAME'] = $translationRow['HEADERS']['X-Poedit-Language']; $languagesList[$i]['LAN_NAME'] = $translationRow['HEADERS']['X-Poedit-Language'];
$languagesList[$i]['COUNTRY_NAME'] = $countryName; $languagesList[$i]['COUNTRY_NAME'] = $countryName;
$languagesList[$i]['TRANSLATOR'] = htmlentities( $translationRow['HEADERS']['Last-Translator'] ); $languagesList[$i]['TRANSLATOR'] = htmlentities($translationRow['HEADERS']['Last-Translator']);
$languagesList[$i]['REV_DATE'] = $REV_DATE; $languagesList[$i]['REV_DATE'] = $revDate;
$languagesList[$i]['VERSION'] = $translationRow['HEADERS']['Project-Id-Version']; $languagesList[$i]['VERSION'] = $translationRow['HEADERS']['Project-Id-Version'];
$i ++; $i++;
} }
$translationRow = new Translation(); $translationRow = new Translation();
$response->data = $languagesList; $response->data = $languagesList;
print (G::json_encode($response));
print (G::json_encode( $response )) ;
break; break;
case 'delete': case 'delete':
include_once 'classes/model/Translation.php'; include_once 'classes/model/Translation.php';
@@ -130,48 +103,34 @@ try {
$locale = $_POST['LOCALE']; $locale = $_POST['LOCALE'];
$trn = new Translation(); $trn = new Translation();
if (strpos( $locale, Translation::$localeSeparator )) if (strpos($locale, Translation::$localeSeparator)) {
list ($LAN_ID, $IC_UID) = explode( Translation::$localeSeparator, $locale ); list ($LAN_ID, $IC_UID) = explode(Translation::$localeSeparator, $locale);
else {
$LAN_ID = $locale;
$LAN_ID = '';
} }
$oCriteria = new Criteria( 'workflow' ); //Verify if is the default language 'en'
//$oCriteria->addSelectColumn('COUNT('.ContentPeer::CON_CATEGORY.')'); if ($locale != "en") {
$oCriteria->addSelectColumn(ApplicationPeer::APP_TITLE); //Verify if is the current language
$oDataset = ApplicationPeer::doSelectRS( $oCriteria ); if ($locale != SYS_LANG) {
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); try {
$oDataset->next(); Content::removeLanguageContent($locale);
$aRow = $oDataset->getRow(); $trn->removeTranslationEnvironment($locale);
echo G::LoadTranslation('ID_LANGUAGE_DELETED_SUCCESSFULLY');
if ($locale != "en") { //Default Language 'en' } catch (Exception $e) {
if ($locale != SYS_LANG) { //Current Language $token = strtotime("now");
//THERE IS NO ANY CASE STARTED FROM THIS LANGUAGE PMException::registerErrorLog($e, $token);
if (empty($aRow)) { //so we can delete this language G::outRes(G::LoadTranslation("ID_EXCEPTION_LOG_INTERFAZ", array($token)));
try {
Content::removeLanguageContent($locale);
$trn->removeTranslationEnvironment($locale);
echo G::LoadTranslation('ID_LANGUAGE_DELETED_SUCCESSFULLY');
} catch (Exception $e) {
$token = strtotime("now");
PMException::registerErrorLog($e, $token);
G::outRes(G::LoadTranslation("ID_EXCEPTION_LOG_INTERFAZ", array($token)));
}
} else {
echo str_replace('{0}', $aRow['APP_TITLE'], G::LoadTranslation('ID_LANGUAGE_CANT_DELETE'));
} }
} else { } else {
echo str_replace('{0}', $aRow['APP_TITLE'], G::LoadTranslation('ID_LANGUAGE_CANT_DELETE_CURRENTLY')); echo G::LoadTranslation('ID_LANGUAGE_CANT_DELETE_CURRENTLY');
} }
} else { } else {
echo str_replace('{0}', $aRow['APP_TITLE'], G::LoadTranslation('ID_LANGUAGE_CANT_DELETE_DEFAULT')); echo G::LoadTranslation('ID_LANGUAGE_CANT_DELETE_DEFAULT');
} }
break; break;
} }
} catch (Exception $oException) { } catch (Exception $oException) {
$token = strtotime("now"); $token = strtotime("now");
PMException::registerErrorLog($oException, $token); PMException::registerErrorLog($oException, $token);
G::outRes( G::LoadTranslation("ID_EXCEPTION_LOG_INTERFAZ", array($token)) ); G::outRes(G::LoadTranslation("ID_EXCEPTION_LOG_INTERFAZ", array($token)));
} }