array( 'id' => 'test_email_templates', 'action' => BX_DOL_URL_ROOT . '_ml.php', 'method' => 'post', ), 'params' => array ( 'db' => array( 'submit_name' => 'do_submit', ), ), 'inputs' => array( 'l_new' => array( 'type' => 'textarea', 'name' => 'l_new', 'caption' => 'New Language', ), 'l_old' => array( 'type' => 'textarea', 'name' => 'l_old', 'caption' => 'Old Language', ), 'module_lang_file' => array( 'type' => 'checkbox', 'name' => 'module_lang_file', 'caption' => 'Module language file', 'value' => 1, 'checked' => true, ), 'submit' => array( 'type' => 'submit', 'name' => 'do_submit', 'value' => _t('_Submit'), ), ), ); $oForm = new BxTemplFormView($aForm); $oForm->initChecker(); if ($oForm->isSubmittedAndValid()) { $isModuleLangFile = $_POST['module_lang_file'] ? true : false; $aLang71 = getLangArray(process_pass_data($_POST['l_new']), $isModuleLangFile); $aLang70 = getLangArray(process_pass_data($_POST['l_old']), $isModuleLangFile); if (is_array($aLang71) && is_array($aLang70)) { $s .= prepareTextarea ('Added Keys', findAddedKeys($aLang71, $aLang70)); $s .= prepareTextarea ('Changed Keys', findChangedKeys($aLang71, $aLang70)); $aDeletedKeys = findDeletedKeys($aLang71, $aLang70); $s .= prepareTextarea ('Deleted Keys', $aDeletedKeys); $s .= prepareTextareaWithDeltedKeys ($aDeletedKeys); } else { $s = MsgBox("Invalid arrays") . $oForm->getCode(); } } else { $s = $oForm->getCode(); } return DesignBoxContent($GLOBALS['_page']['header'], $s, 11); } function getLangArray ($s, $isModuleLangFile) { eval($s); return $isModuleLangFile ? $aLangContent : $LANG; } function findDeletedKeys ($aLang71, $aLang70) { $a = array (); foreach ($aLang70 as $k => $v) if (!isset($aLang71[$k])) $a[$k] = $v; return $a; } function findAddedKeys ($aLang71, $aLang70) { $a = array (); foreach ($aLang71 as $k => $v) if (!isset($aLang70[$k])) $a[$k] = $v; return $a; } function findChangedKeys ($aLang71, $aLang70) { $a = array (); foreach ($aLang71 as $k => $v) if (isset($aLang70[$k]) && $aLang70[$k] != $aLang71[$k]) $a[$k] = $v; return $a; } function prepareTextarea ($sTitle, $a) { ksort($a); return '