0byt3m1n1
Path:
/
data
/
applications
/
aps.bak
/
coppermine
/
1.5.12-0
/
standard
/
htdocs
/
[
Home
]
File: langmgr.php
<?php /************************* Coppermine Photo Gallery ************************ Copyright (c) 2003-2011 Coppermine Dev Team v1.0 originally written by Gregory Demar This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation. ******************************************** Coppermine version: 1.5.12 $HeadURL: https://coppermine.svn.sourceforge.net/svnroot/coppermine/trunk/cpg1.5.x/langmgr.php $ $Revision: 8154 $ **********************************************/ define('IN_COPPERMINE', true); define('ADMIN_PHP', true); define('LANGMGR_PHP', true); /* TODO: make sure that the default language is not disabled */ require_once('include/init.inc.php'); require_once('include/sql_parse.php'); js_include('js/langmgr.js'); $query_output_ok = '<li style="list-style-image:url(images/icons/ok.png)">%s</li>'.$LINEBREAK; $query_output_error = '<li style="list-style-image:url(images/icons/cancel.png)">%s</li>'.$LINEBREAK; $query_output = ''; if (!GALLERY_ADMIN_MODE) { cpg_die(ERROR, $lang_errors['access_denied'], __FILE__, __LINE__); } $help = array(); $help['language_manager'] = ' ' . cpg_display_help('f=languages.htm&as=language_manager&ae=language_manager_end', '450', '300'); $help['default'] = ' ' . cpg_display_help('f=languages.htm&as=language_manager_columns_default&ae=language_manager_columns_default_end', '450', '300'); $help['name'] = ' ' . cpg_display_help('f=languages.htm&as=language_manager_columns_name&ae=language_manager_columns_name_end', '450', '300'); $help['english'] = ' ' . cpg_display_help('f=languages.htm&as=language_manager_columns_name_english&ae=language_manager_columns_name_english_end', '450', '300'); $help['native'] = ' ' . cpg_display_help('f=languages.htm&as=language_manager_columns_name_native&ae=language_manager_columns_name_native_end', '450', '300'); $help['custom'] = ' ' . cpg_display_help('f=languages.htm&as=language_manager_columns_name_custom&ae=language_manager_columns_name_custom_end', '450', '300'); $help['flag'] = ' ' . cpg_display_help('f=languages.htm&as=language_manager_columns_flag&ae=language_manager_columns_flag_end', '450', '300'); $help['file'] = ' ' . cpg_display_help('f=languages.htm&as=language_manager_columns_file&ae=language_manager_columns_file_end', '450', '300'); $help['available'] = ' ' . cpg_display_help('f=languages.htm&as=language_manager_columns_file_available&ae=language_manager_columns_file_available_end', '450', '300'); $help['complete'] = ' ' . cpg_display_help('f=languages.htm&as=language_manager_columns_file_complete&ae=language_manager_columns_file_complete_end', '450', '300'); $help['enabled'] = ' ' . cpg_display_help('f=languages.htm&as=language_manager_columns_enabled&ae=language_manager_columns_enabled_end', '450', '300'); pageheader($lang_langmgr_php['title']); print '<form action="'.$CPG_PHP_SELF.'" method="post" name="cpgform" id="cpgform" onsubmit="return form_submit();">'; $hide_icon = cpg_fetch_icon('hide_table_row', 2); $show_icon = cpg_fetch_icon('show_table_row', 2); // Form has been submit --- start if ($superCage->post->keyExists('submit')) { $posted_lang_id_array = $superCage->post->getEscaped('lang_id'); foreach ($posted_lang_id_array as $posted_lang_id) { // Create the query if ($superCage->post->getAlpha('new_'.$posted_lang_id) == 'YES') { $query = "INSERT INTO `".$CONFIG['TABLE_LANGUAGE']. "` ( `lang_id` , `english_name` , `native_name` , `custom_name` , `flag` , `available` , `enabled` , `complete` ) VALUES ("; $query .= "'".$posted_lang_id."', "; $query .= "'".$superCage->post->getEscaped('english_name_'.$posted_lang_id)."', "; $query .= "'".$superCage->post->getEscaped('native_name_'.$posted_lang_id)."', "; $query .= "'".$superCage->post->getEscaped('custom_name_'.$posted_lang_id)."', "; if ($superCage->post->getAlpha('flag_'.$posted_lang_id) != '' && $superCage->post->getAlpha('flag_'.$posted_lang_id) != $lang_langmgr_php['pick_a_flag']) { $query .= "'".$superCage->post->getAlpha('flag_'.$posted_lang_id)."', "; } else { $query .= "'', "; } if ($superCage->post->getAlpha('available_'.$posted_lang_id) == 'YES') { $query .= "'YES', "; } else { $query .= "'NO', "; } if ($superCage->post->getAlpha('enable_'.$posted_lang_id) == 'YES') { $query .= "'YES', "; } else { $query .= "'NO', "; } if ($superCage->post->getAlpha('complete_'.$posted_lang_id) == 'YES') { $query .= "'YES', "; } else { $query .= "'NO', "; } $query = rtrim(trim($query), ','); $query .= ");"; } else { $query = "UPDATE `".$CONFIG['TABLE_LANGUAGE']. "` SET "; $query .= "`english_name` = '".$superCage->post->getEscaped('english_name_'.$posted_lang_id)."', "; $query .= "`native_name` = '".$superCage->post->getEscaped('native_name_'.$posted_lang_id)."', "; $query .= "`custom_name` = '".$superCage->post->getEscaped('custom_name_'.$posted_lang_id)."', "; if ($superCage->post->getAlpha('flag_'.$posted_lang_id) != '' && $superCage->post->getAlpha('flag_'.$posted_lang_id) != $lang_langmgr_php['pick_a_flag']) { $query .= "`flag` = '".$superCage->post->getAlpha('flag_'.$posted_lang_id)."', "; } if ($superCage->post->getAlpha('available_'.$posted_lang_id) == 'YES') { $query .= "`available` = 'YES', "; } else { $query .= "`available` = 'NO', "; } if ($superCage->post->getAlpha('enable_'.$posted_lang_id) == 'YES') { $query .= "`enabled` = 'YES', "; } else { $query .= "`enabled` = 'NO', "; } if ($superCage->post->getAlpha('complete_'.$posted_lang_id) == 'YES') { $query .= "`complete` = 'YES', "; } else { $query .= "`complete` = 'NO', "; } // Strip the whitespace and coma from the query $query = rtrim(trim($query), ','); $query .= " WHERE `lang_id` = '".$posted_lang_id."' LIMIT 1;"; } $result = cpg_db_query($query); $query = ''; } // foreach loop end // Now let's set the default language // DEFAULT_LANGUAGE $submit_default_id = $superCage->post->getEscaped('is_default'); if ($submit_default_id != DEFAULT_LANGUAGE) { // only write the change if the submit default language differs from the current default language // Check if the "new" default language is enabled in the first place if ($superCage->post->getAlpha('enable_'.$submit_default_id) == 'YES') { $CONFIG['lang'] = $CONFIG['lang_config']; cpg_config_set('lang', $submit_default_id); $CONFIG['default_lang'] = $submit_default_id; $query_output .= sprintf($query_output_ok, sprintf($lang_langmgr_php['default_language'], $submit_default_id)); } else { $query_output .= sprintf($query_output_error, $lang_langmgr_php['enable_default']); } } // Output status messages if applicable if ($query_output != '') { starttable('100%', cpg_fetch_icon('info', 2).$lang_langmgr_php['status'], 1); print <<< EOT <tr> <td class="tableb"> <ul> {$query_output} </ul> </td> </tr> EOT; endtable(); print '<br />'.$LINEBREAK; } } // Form has been submit --- end // Populate an array of available flags $flag_array = form_get_foldercontent('images/flags/', 'file', 'png'); // Populate an array of files existing inside the lang folder $lang_file_array = form_get_foldercontent('lang/', 'file', 'php'); $lang_file_orphan_array = $lang_file_array; // Let's populate the language list from the database $results = cpg_db_query("SELECT * FROM {$CONFIG['TABLE_LANGUAGE']}"); while ($row = mysql_fetch_array($results)) { $lang_language_data[$row['lang_id']]['lang_id'] = $row['lang_id']; $lang_language_data[$row['lang_id']]['english_name'] = $row['english_name']; $lang_language_data[$row['lang_id']]['native_name'] = $row['native_name']; $lang_language_data[$row['lang_id']]['custom_name'] = $row['custom_name']; $lang_language_data[$row['lang_id']]['flag'] = $row['flag']; $lang_language_data[$row['lang_id']]['available'] = $row['available']; $lang_language_data[$row['lang_id']]['enabled'] = $row['enabled']; $lang_language_data[$row['lang_id']]['complete'] = $row['complete']; if (in_array($lang_language_data[$row['lang_id']]['lang_id'], $lang_file_orphan_array) == TRUE) { unset($lang_file_orphan_array[array_search($lang_language_data[$row['lang_id']]['lang_id'],$lang_file_orphan_array)]); } $lang_language_data[$row['lang_id']]['new'] = 'NO'; } // while mysql_free_result($results); unset($row); // Now let's merge the orphaned files (i.e. the files that exist on file system level, but not in the database) into the array that will compose the form output foreach ($lang_file_orphan_array as $orphans) { $lang_language_data[$orphans]['lang_id'] = $orphans; $lang_language_data[$orphans]['english_name'] = ucfirst($orphans); $lang_language_data[$orphans]['native_name'] = ''; $lang_language_data[$orphans]['custom_name'] = ''; $lang_language_data[$orphans]['flag'] = ''; $lang_language_data[$orphans]['available'] = 'NO'; $lang_language_data[$orphans]['enabled'] = 'NO'; $lang_language_data[$orphans]['complete'] = 'NO'; $lang_language_data[$orphans]['new'] = 'YES'; } // sort the array by English name ksort($lang_language_data); starttable('100%', '<h2>' . cpg_fetch_icon('babelfish', 2) . $lang_langmgr_php['title'] . $help['language_manager']. '</h2>', 9); print <<< EOT <tr> <td class="tableh2" colspan="6"> </td> <td class="tableh2" colspan="2" align="center"> <span id="expand_all_top" style="display:none"><a href="javascript:;" class="admin_menu" onclick="show_section('expand_all_bottom');show_section('collapse_all_bottom');show_section('expand_all_top');show_section('collapse_all_top');toggleExpandCollpaseButtons('expand');">{$show_icon}{$lang_langmgr_php['show_details']}</a></span> <span id="collapse_all_top" style="display:none"><a href="javascript:;" class="admin_menu" onclick="show_section('expand_all_bottom');show_section('collapse_all_bottom');show_section('expand_all_top');show_section('collapse_all_top');toggleExpandCollpaseButtons('collapse');">{$hide_icon}{$lang_langmgr_php['hide_details']}</a></span> </td> </tr> <tr> <th class="tableh2" rowspan="2" align="center"> <span class="album_stat">{$lang_langmgr_php['default']}</span>{$help['default']} </th> <th class="tableh2" colspan="3"> <span class="album_stat">{$lang_langmgr_php['language_name']}</span>{$help['name']} </th> <th class="tableh2" rowspan="2"> <span class="album_stat">{$lang_langmgr_php['flag']}</span>{$help['flag']} </th> <th class="tableh2" colspan="2"> <span class="album_stat">{$lang_langmgr_php['language_file']}</span>{$help['file']} </th> <th class="tableh2" rowspan="2"> <span class="album_stat">{$lang_langmgr_php['enabled']}</span>{$help['enabled']} </th> </tr> <tr> <th class="tableh2"> <span class="album_stat">{$lang_langmgr_php['english_language_name']}</span>{$help['english']} </th> <th class="tableh2"> <span class="album_stat">{$lang_langmgr_php['native_language_name']}</span>{$help['native']} </th> <th class="tableh2"> <span class="album_stat">{$lang_langmgr_php['custom_language_name']}</span>{$help['custom']} </th> <th class="tableh2"> <span class="album_stat">{$lang_langmgr_php['file_available']}</span>{$help['file']} </th> <th class="tableh2"> <span class="album_stat">{$lang_langmgr_php['complete']}</span>{$help['complete']} </th> </tr> EOT; $loopCounter = 0; $cpg_version_determination = 'Coppermine' . ' ' . 'version:'; foreach ($lang_language_data as $language) { $availability_output = ''; $file_lookup_errors = 0; $version_warning = ''; $version_output = ''; $filesize_output = ''; $additional_output = ''; if ($language['available'] == 'YES' || in_array($language['lang_id'], $lang_file_array) == TRUE) { // Open the file to see if they're complete translations $handle = @fopen('lang/'. $language['lang_id'] . '.php', 'r'); if ($handle == FALSE) { // We haven't been able to open the file, so let's drop it from the list $language['available'] = 'NO'; $language['broken'] = 'YES'; } else { $language['broken'] = 'NO'; //$filesize = filesize('lang/'. $language['lang_id'] . '.php'); $blob = @fread($handle, 2000); $blob = str_replace('<?php','',$blob); // Perform the version comparison $language['version'] = substr($blob,strpos($blob, $cpg_version_determination)); // chop off the first bit up to the string $cpg_version_determination $double_slash_position = strpos($language['version'], '//'); if ($double_slash_position) { $language['version'] = substr($language['version'],0,$double_slash_position); } $language['version'] = trim(str_replace($cpg_version_determination, '', $language['version'])); $language['version'] = trim(str_replace('#', '', $language['version'])); $language['version'] = trim(substr($language['version'], 0, strpos($language['version'], '$'))); if (strlen($language['version']) > 6) { // Version numbers larger than 6 are not likely at all $language['version'] = 0; } $versionCompare = version_compare($language['version'],COPPERMINE_VERSION); if ($versionCompare == 0) { $language['complete'] = 'YES'; } else { $language['complete'] = 'NO'; $version_warning = $lang_langmgr_php['version_does_not_match']; } // Perform the lookup for the native language name $language['file_native'] = strings_from_language_file('lang_name_native'); if ($language['file_native'] == '') { $file_lookup_errors++; } if ($language['native_name'] == '') { $language['native_name'] = $language['file_native']; // Populate the native name field from the file if emtpy } if ($language['file_native'] != $language['native_name'] && $language['file_native'] != '') { $reset_native = '<a href="javascript:;" title="' . sprintf($lang_langmgr_php['replace_x_with_y'], '"'.$language['native_name'].'"', '"'.$language['file_native'].'"') . '" id="reset_native_'.$loopCounter.'" onclick="document.getElementById(\'native_name_'.$language['lang_id'].'\').value = \''.$language['file_native'].'\';document.getElementById(\'reset_native_'.$loopCounter.'\').style.display = \'none\';">' . cpg_fetch_icon('undo',0) . '</a>'; } else { $reset_native = ''; } // Perform the lookup for the English language name $language['file_english'] = strings_from_language_file('lang_name_english'); if ($language['file_english'] == '') { $file_lookup_errors++; } if ($language['english_name'] == '') { $language['english_name'] = $language['file_english']; // Populate the english name field from the file if emtpy } if ($language['file_english'] != $language['english_name'] && $language['file_english'] != '') { $reset_english = '<a href="javascript:;" title="' . sprintf($lang_langmgr_php['replace_x_with_y'], '"'.$language['english_name'].'"', '"'.$language['file_english'].'"') . '" id="reset_english_'.$loopCounter.'" onclick="document.getElementById(\'english_name_'.$language['lang_id'].'\').value = \''.$language['file_english'].'\';document.getElementById(\'reset_english_'.$loopCounter.'\').style.display = \'none\';">' . cpg_fetch_icon('undo',0) . '</a>'; } else { $reset_english = ''; } // Look up the translator name $language['translator_name'] = strings_from_language_file('trans_name'); // Look up the translator website $language['translator_website'] = strings_from_language_file('trans_website'); // Look up the default country code $language['file_flag'] = strings_from_language_file('lang_country_code'); if ($language['file_flag'] == '') { $file_lookup_errors++; } } @fclose($handle); $language['file_size'] = filesize('lang/'. $language['lang_id'] . '.php'); // Alternating colors if ($loopCounter/2 == floor($loopCounter/2)) { $cellstyle = 'tableb'; } else { $cellstyle = 'tableb tableb_alternate'; } // Default language if ($language['lang_id'] == $CONFIG['default_lang']) { $default_checked = 'checked="checked"'; } else { $default_checked = ''; } // Completeness --- start if ($language['complete'] == 'YES') { $completeness_output = cpg_fetch_icon('ok', 0); $completeness_output .= '<input type="hidden" name="complete_'.$language['lang_id'].'" id="complete_' . $language['lang_id'] .'" value="YES" />'; } else { $completeness_output = cpg_fetch_icon('cancel', 0); $completeness_output .= '<input type="hidden" name="complete_'.$language['lang_id'].'" id="complete_' . $language['lang_id'] .'" value="NO" />'; } // Completeness --- end if ($language['available'] == 'YES') { // availability --- start if (in_array($language['lang_id'], $lang_file_array) == TRUE) { // Language file is in database and in lang folder $availability_output = cpg_fetch_icon('ok', 0, 'lang/'.$language['lang_id'].'.php ' . $lang_langmgr_php['exists_in_db_and_file']); $availability_output .= '<input type="hidden" name="available_'.$language['lang_id'].'" id="available_' . $language['lang_id'] .'" value="YES" />'; $enable_greyed_out = ''; } else { // Language file is in database, but not in lang folder $availability_output = cpg_fetch_icon('stop', 0, 'lang/'.$language['lang_id'].'.php '.$lang_langmgr_php['missing']); $availability_output .= '<input type="hidden" name="available_'.$language['lang_id'].'" id="available_' . $language['lang_id'] .'" value="NO" />'; $enable_greyed_out = 'disabled="disabled"'; } } else { if (in_array($language['lang_id'], $lang_file_array) == TRUE) { // Language file is not database but in lang folder $availability_output = cpg_fetch_icon('add', 0, 'lang/'.$language['lang_id'].'.php ' . $lang_langmgr_php['exists_as_file_only']); $availability_output .= '<input type="hidden" name="available_'.$language['lang_id'].'" id="available_' . $language['lang_id'] .'" value="YES" />'; $enable_greyed_out = ''; } else { // Language file is not database nor in lang folder - this case should never be true $availability_output = cpg_fetch_icon('stop', 0, 'lang/'.$language['lang_id'].'.php ' . $lang_langmgr_php['missing']); $availability_output .= '<input type="hidden" name="available_'.$language['lang_id'].'" id="available_' . $language['lang_id'] .'" value="NO" />'; $enable_greyed_out = 'disabled="disabled"'; } if ($language['broken'] == 'YES') { $availability_output = cpg_fetch_icon('stop', 0, 'lang/'.$language['lang_id'].'.php ' . $lang_langmgr_php['broken']); $availability_output .= '<input type="hidden" name="available_'.$language['lang_id'].'" id="available_' . $language['lang_id'] .'" value="NO" />'; $enable_greyed_out = 'disabled="disabled"'; } } // availability --- end // Flag new records accordingly --- start if ($language['new'] == 'YES') { $new_output = '<input type="hidden" name="new_'.$language['lang_id'].'" id="available_' . $language['lang_id'] .'" value="YES" />'; } else { $new_output = '<input type="hidden" name="new_'.$language['lang_id'].'" id="available_' . $language['lang_id'] .'" value="NO" />'; } // Flag new records accordingly --- end // Populate credits section if ($language['translator_name'] != '') { $translator_output = '<li>'.$lang_langmgr_php['tanslator_information'] . ': '; if ($language['translator_website'] != '') { $translator_output .= '<a href="'.$language['translator_website'].'" rel="external" class="external">'; } $translator_output .= $language['translator_name']; if ($language['translator_website'] != '') { $translator_output .= '</a>'; } $translator_output .= '</li>'; } else { $translator_output = ''; $file_lookup_errors++; } if ($language['version'] != '') { $version_output .= '<li>'.$lang_langmgr_php['cpg_version'] . ': ' . $language['version'].'<br />'.$version_warning.'</li>'; } else { $version_output = '<li>'.$lang_langmgr_php['no_version'].'</li>'; $file_lookup_errors++; } if ($language['file_size'] < 100000 || $language['file_size'] > 400000) { $filesize_output = '<li>'; $filesize_output .= sprintf($lang_langmgr_php['filesize'], round($language['file_size']/1000) . ' ' . $lang_byte_units[1]); $filesize_output .= '</li>'; } if ($file_lookup_errors > 3) { $additional_output = '<li>'.$lang_langmgr_php['content_missing'].'</li>'; } // Flag icon population --- start if ($language['flag'] != '') { $flag_path = 'images/flags/'.$language['flag'] . '.png'; } elseif (in_array($language['file_flag'], $flag_array) == TRUE) { $flag_path = 'images/flags/'.$language['file_flag'] . '.png'; $language['flag'] = $language['file_flag']; } else { $flag_path = 'images/spacer.gif'; } // Flag icon population --- end // Actual table row output --- start print <<< EOT <tr> <td class="{$cellstyle}" rowspan="2" align="center"> <input name="is_default" id="is_default_{$language['lang_id']}" type="radio" value="{$language['lang_id']}" class="radio" {$default_checked} {$enable_greyed_out} /> <input type="hidden" name="lang_id[]" id="lang_id_{$language['lang_id']}" value="{$language['lang_id']}" /> </td> EOT; print <<< EOT <td class="{$cellstyle}"> <input type="text" name="english_name_{$language['lang_id']}" id="english_name_{$language['lang_id']}" class="textinput" value="{$language['english_name']}" />{$reset_english} </td> EOT; print <<< EOT <td class="{$cellstyle}"> <input type="text" name="native_name_{$language['lang_id']}" id="native_name_{$language['lang_id']}" class="textinput" value="{$language['native_name']}" />{$reset_native} </td> EOT; print <<< EOT <td class="{$cellstyle}"> <input type="text" name="custom_name_{$language['lang_id']}" id="custom_name_{$language['lang_id']}" class="textinput" value="{$language['custom_name']}" /> </td> EOT; print <<< EOT <td class="{$cellstyle}"> <img src="{$flag_path}" width="16" height="11" border="0" alt="" name="image_{$loopCounter}" style="float:left" /> <select id="flag_{$language['lang_id']}" name="flag_{$language['lang_id']}" size="1" onchange="if(document.images) document.images['image_{$loopCounter}'].src='images/flags/'+this.options[this.selectedIndex].value+'.png';" class="listbox_lang" style="width:60px"> EOT; if ($language['flag'] == '') { print ' <option value="">'.$lang_langmgr_php['pick_a_flag'].'</option>'.$LINEBREAK; } foreach ($flag_array as $flags) { if ($flags == $language['flag']) { $flag_selected = 'selected="selected"'; } else { $flag_selected = ''; } print ' <option style="background-image:url(images/flags/' . $flags . '.png);background-repeat:no-repeat;text-indent:16px;width:20px;" value="' . $flags . '" '.$flag_selected.'>' . $flags . '</option>'.$LINEBREAK; } print <<< EOT </select> </td> EOT; print <<< EOT <td class="{$cellstyle}"> {$availability_output}{$new_output} </td> EOT; print <<< EOT <td class="{$cellstyle}"> {$completeness_output} </td> EOT; print <<< EOT <td class="{$cellstyle}"> EOT; if ($language['enabled'] == 'YES') { $enable_checked = 'checked="checked"'; } else { $enable_checked = ''; } print <<< EOT <input type="checkbox" name="enable_{$language['lang_id']}" id="enable_{$language['lang_id']}" value="YES" class="checkbox" {$enable_checked} {$enable_greyed_out} /> </td> </tr> <tr> <td class="{$cellstyle}" colspan="7"> <span id="translator_{$loopCounter}" style="display:none;"> <ul style="margin:0px"> {$translator_output} {$version_output} {$filesize_output} {$additional_output} </ul> </span> </td> </tr> EOT; // Actual table row output --- end $loopCounter++; } } $loopCounter--; // Subtract one from counter, since we start counting from zero // Output warnings if applicable if (in_array('english', $lang_file_array) != TRUE) { print <<< EOT <tr> <td class="cpg_message_error" colspan="8" align="center"> {$lang_langmgr_php['english_missing']} </td> </tr> EOT; } // Output submit button $submit_icon = cpg_fetch_icon('ok', 2); print <<< EOT <tr> <td class="tablef" colspan="6" align="center"> <button type="submit" class="button" name="submit" id="submit" value="{$lang_common['ok']}">{$submit_icon}{$lang_common['ok']}</button> <div id="cpg_form_error_message_enable_one" class="cpg_message_validation" style="display:none;">{$lang_langmgr_php['enable_at_least_one']}</div> <div id="cpg_form_error_message_not_available" class="cpg_message_validation" style="display:none;">{$lang_langmgr_php['available_default']}</div> <div id="cpg_form_error_message_not_enabled" class="cpg_message_validation" style="display:none;">{$lang_langmgr_php['enable_default']}</div> </td> <td class="tablef" colspan="2" align="center"> <span id="expand_all_bottom" style="display:none"><a href="javascript:;" class="admin_menu" onclick="show_section('expand_all_bottom');show_section('collapse_all_bottom');show_section('expand_all_top');show_section('collapse_all_top');toggleExpandCollpaseButtons('expand');">{$show_icon}{$lang_langmgr_php['show_details']}</a></span> <span id="collapse_all_bottom" style="display:none"><a href="javascript:;" class="admin_menu" onclick="show_section('expand_all_bottom');show_section('collapse_all_bottom');show_section('expand_all_top');show_section('collapse_all_top');toggleExpandCollpaseButtons('collapse');">{$hide_icon}{$lang_langmgr_php['hide_details']}</a></span> <input type="hidden" name="loopCounter" id="loopCounter" value="{$loopCounter}" /> </td> </tr> EOT; endtable(); print <<< EOT </form> EOT; pagefooter(); function strings_from_language_file($string) { global $blob; $string = "'" . $string . "'"; if (strstr($blob , $string) == FALSE) { return ''; } $return = str_replace($string, '', substr($blob,strpos($blob, $string),100)); // get the first 100 characters starting at $string $return = str_replace('] = ', '', $return); // strip the string '=>' $return = str_replace(strstr($return, "';"), '', $return); // Throw everything away after and including '; $return = ltrim(trim($return), "'"); // Trim the leading single quotes and the whitespace return $return; } ?>