/**
* \file AdminCenter.template.php
* Template for the Admin Center.
*
* \author PortaMx - Portal Management Extension
* \author Copyright 2008-2015 by PortaMx - http://portamx.com
* \version Virgo 2.0 Beta 2
* \date 14.09.2015
*/
function template_main()
{
    global $context, $scripturl, $txt;
    $curarea = isset($_GET['area']) ? $_GET['area'] : 'pmx_center';
    if (allowPmx('pmx_admin', true)) {
        $AdmTabs = array('pmx_center' => $txt['pmx_admincenter'], 'pmx_settings' => $txt['pmx_settings'], 'pmx_blocks' => $txt['pmx_blocks'], 'pmx_categories' => $txt['pmx_categories'], 'pmx_articles' => $txt['pmx_articles'], 'pmx_sefengine' => $txt['pmx_sefengine']);
        echo '
			<div style="height:3em;margin-top:5px;">
				<ul id="pmxmenu_nav" class="dropmenu sf-js-enabled">';
        foreach ($AdmTabs as $name => $desc) {
            echo '
					<li id="' . $name . '" class="subsections">
						<a ' . ($name == $curarea ? 'class="active"' : '') . 'href="' . $scripturl . '?action=portamx;area=' . $name . ';' . $context['session_var'] . '=' . $context['session_id'] . '" onclick="pmxWinGetTop(\'adm\',\'template\')">' . $desc . '</a>
					</li>';
        }
        echo '
				</ul>
			</div>';
    }
    if ($context['pmx']['subaction'] != 'showlang') {
        echo '
	<table class="pmx_table" style="margin-top:1px; overflow:hidden;">
		<tr>
			<td>
				<div class="cat_bar">
					<h3 class="catbg largetext">', $txt['pmx_admin_center'], '</h3>
				</div>
				<p class="information" style="margin: 0;padding: 8px;">
					<b>' . $txt['hello_guest'] . ' ' . $context['user']['name'] . '!</b>
					' . sprintf($txt['pmx_admin_main_welcome'], '<img src="' . $context['pmx_imageurl'] . 'information.png" alt="*" title="" style="vertical-align: text-bottom;" />') . '
				</p>
			</td>
		</tr>
		<tr>
			<td>';
    }
    // Admin center main ?
    if ($context['pmx']['subaction'] == 'main') {
        echo '
					<table class="pmx_table" style="margin-top:1em;">
						<tr>
							<td style="width:65%">
								<div class="cat_bar">
									<h3 class="catbg"><span class="pmxtitle pmxleft">' . $txt['pmx_center_news'] . '</span></h3>
								</div>
							</td>
							<td>&nbsp;&nbsp;&nbsp;</td>
							<td>
								<div class="cat_bar" style="overflow:hidden;">
									<h3 class="catbg"><span class="pmxtitle pmxleft">' . $txt['pmx_center_support'] . '</span></h3>
								</div>
							</td>
						</tr>
						<tr>
							<td>
								<div class="roundframe" style="border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px;padding:5px">
									<div class="smalltext" style="margin:1px 4px 5px 4px;height:130px;overflow:auto;line-height:1.5em;s">';
        if (!empty($context['pmx_info']['item'])) {
            foreach ($context['pmx_info']['item'] as $data) {
                echo '
										' . $data['subject'] . ' on ' . $data['date'] . '
										<div style="padding:0 0 10px 0;border-top: 1px solid #808080;">' . $data['msg'] . '</div>';
            }
        } else {
            echo '
										<div>' . $txt['pmx_center_nolivedata'] . '</div>';
        }
        echo '
									</div>
								</div>
							</td>
							<td style="width:5px;padding:0px 7px;"></td>
							<td style="width:40%">
								<div class="roundframe" style="border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px;padding:5px;overflow:hidden;">
									<div style="height:116px;">
										<div class="middletext" style="padding:2px 4px;">' . $txt['pmx_center_versioninfo'] . '<br />' . $txt['pmx_center_installed'] . '<i' . (empty($context['pmx_info']['versionOK']) ? ' style="color:#ff0000;"' : '') . '>' . $context['pmx_info']['installed'] . '</i><br />' . $txt['pmx_center_version'] . '<i>';
        echo $context['pmx_info']['version'];
        echo '</i>
										</div>
										<div class="middletext" style="padding:2px 3px;">';
        if (!empty($context['pmx_info']['update']) && empty($context['pmx_info']['versionOK'])) {
            echo '
											<a href="' . $scripturl . '?action=admin;area=packages;sa=download;get;server=' . $context['pmx_info']['updserver'] . ';package=' . $context['pmx']['server']['update'] . $context['pmx_info']['update'] . ';' . $context['session_var'] . '=' . $context['session_id'] . '">' . $txt['pmx_center_update'] . '</a>';
        }
        echo '
										</div>
										<div class="middletext" style="padding:2px 3px;">';
        if (!empty($context['pmx_info']['download']) && empty($context['pmx_info']['versionOK'])) {
            echo '
										<a href="' . $context['pmx_info']['download'] . '">' . $txt['pmx_center_download'] . '</a>';
        }
        echo '
										</div>
									</div>
									<div class="middletext" style="position:relative; left:3px; bottom:3px;">
										<a href="' . $scripturl . '?action=' . $context['pmx']['admmode'] . ';area=pmx_center;sa=flist;' . $context['session_var'] . '=' . $context['session_id'] . '">' . $txt['pmx_center_detailed'] . '</a>
									</div>
								</div>
							</td>
						</tr>
						<tr>
							<td colspan="3" style="padding:0.5em 0;">
								<div class="roundframe" style="padding:10px 5px">
									<table class="pmx_table middletext" style="padding:5px;">
										<tr>
											<td style="width:50%; padding:5px">
												<a href="' . $scripturl . '?action=' . $context['pmx']['admmode'] . ';area=pmx_settings;' . $context['session_var'] . '=' . $context['session_id'] . '"><img style="float:left;margin:5px 10px 20px;" src="' . $context['pmx_imageurl'] . 'admc_settings.png" alt="*" title="" /></a>
												<a href="' . $scripturl . '?action=' . $context['pmx']['admmode'] . ';area=pmx_settings;' . $context['session_var'] . '=' . $context['session_id'] . '">' . $txt['pmx_center_mansettings'] . '</a><br /><span class="smalltext">' . $txt['pmx_center_mansettings_desc'] . '</span>
											</td>
											<td style="width:50%; padding:5px">
												<a href="' . $scripturl . '?action=' . $context['pmx']['admmode'] . ';area=pmx_blocks;' . $context['session_var'] . '=' . $context['session_id'] . '"><img style="float:left;margin:5px 10px 20px;" src="' . $context['pmx_imageurl'] . 'admc_blocks.png" alt="*" title="" /></a>
												<a href="' . $scripturl . '?action=' . $context['pmx']['admmode'] . ';area=pmx_blocks;' . $context['session_var'] . '=' . $context['session_id'] . '">' . $txt['pmx_center_manblocks'] . '</a><br /><span class="smalltext">' . $txt['pmx_center_manblocks_desc'] . '</span>
											</td>
										</tr>
										<tr>
											<td style="width:50%; padding:5px">
												<a href="' . $scripturl . '?action=' . $context['pmx']['admmode'] . ';area=pmx_categories;' . $context['session_var'] . '=' . $context['session_id'] . '"><img style="float:left;margin:5px 10px 20px;" src="' . $context['pmx_imageurl'] . 'admc_category.png" alt="*" title="" /></a>
												<a href="' . $scripturl . '?action=' . $context['pmx']['admmode'] . ';area=pmx_categories;' . $context['session_var'] . '=' . $context['session_id'] . '">' . $txt['pmx_center_mancategories'] . '</a><br /><span class="smalltext">' . $txt['pmx_center_mancategories_desc'] . '</span>
											</td>
											<td style="width:50%; padding:5px">
												<a href="' . $scripturl . '?action=' . $context['pmx']['admmode'] . ';area=pmx_articles;' . $context['session_var'] . '=' . $context['session_id'] . '"><img style="float:left;margin:5px 10px 20px;" src="' . $context['pmx_imageurl'] . 'admc_article.png" alt="*" title="" /></a>
												<a href="' . $scripturl . '?action=' . $context['pmx']['admmode'] . ';area=pmx_articles;' . $context['session_var'] . '=' . $context['session_id'] . '">' . $txt['pmx_center_manarticles'] . '</a><br /><span class="smalltext">' . $txt['pmx_center_manarticles_desc'] . '</span>
											</td>
										</tr>
										<tr>
											<td style="width:50%; padding:5px">
												<a href="' . $scripturl . '?action=' . $context['pmx']['admmode'] . ';area=pmx_sefengine;' . $context['session_var'] . '=' . $context['session_id'] . '"><img style="float:left;margin:5px 10px 20px;" src="' . $context['pmx_imageurl'] . 'admc_pmxsef.png" alt="*" title="" /></a>
												<a href="' . $scripturl . '?action=' . $context['pmx']['admmode'] . ';area=pmx_sefengine;' . $context['session_var'] . '=' . $context['session_id'] . '">' . $txt['pmx_center_mansefengine'] . '</a><br /><span class="smalltext">' . $txt['pmx_center_mansefengine_desc'] . '</span>
											</td>
											<td style="width:50%; padding:5px">
												<a href="' . $scripturl . '?action=' . $context['pmx']['admmode'] . ';area=pmx_languages;' . $context['session_var'] . '=' . $context['session_id'] . '"><img style="float:left;margin:5px 10px 20px;" src="' . $context['pmx_imageurl'] . 'admc_language.png" alt="*" title="" /></a>
												<a href="' . $scripturl . '?action=' . $context['pmx']['admmode'] . ';area=pmx_languages;' . $context['session_var'] . '=' . $context['session_id'] . '">' . $txt['pmx_center_manlangs'] . '</a><br /><span class="smalltext">' . $txt['pmx_center_manlangs_desc'] . '</span>
											</td>
										</tr>
									</table>
								</div>
							</td>
						</tr>
					</table>';
    }
    // Detailed filelist ?
    if ($context['pmx']['subaction'] == 'flist') {
        echo '
					<table class="pmx_table" style="margin-top:1em;">
						<tr>
							<td>
								<div class="cat_bar">
									<h3 class="catbg">' . $txt['pmx_center_vercheck'] . '</h3>
								</div>
								<p class="information">' . $txt['pmx_center_vercheck_info'] . '</p>
							</td>
						</tr>
						<tr>
							<td style="padding:0 0 5px 0;"><div class="roundframe" style="margin-top:5px;">
								<table class="pmx_table middletext" style="margin:0 1px; padding:0 5px;">
									<tr>
										<td style="width:50%">' . $txt['pmx_center_file'] . '</td>
										<td style="text-align:right;width:25%">' . $txt['pmx_center_fileinstalled'] . '</td>
										<td style="text-align:right;width:25%">' . $txt['pmx_center_filecurrent'] . '</td>
									</tr>';
        foreach ($context['pmx_info'] as $dirtext => $data) {
            echo '
									<tr>
										<td>';
            if ($dirtext == 'pmx_filepackage') {
                echo $txt[$dirtext];
            } else {
                echo '<div class="admin_hover" onclick="Toggle_help(\'' . $dirtext . '\');"><span>' . $txt[$dirtext] . '</span></div>';
            }
            echo '
										</td>
										<td style="text-align:right;">' . $data['installed'] . '</td>
										<td style="text-align:right;">' . $data['current'] . '</td>
									</tr>
									<tr>
										<td colspan="3">
											<div id="' . $dirtext . '" style="display:none; padding:3px 0px 5px 10px;">
												<table class="pmx_table">
													<tr>
														<td style="width:60%">' . $txt['pmx_center_filename'] . '</td>
														<td style="width:25%;text-align:left">' . $txt['pmx_center_fileversion'] . '</td>
														<td style="width:15%;text-align:right">' . $txt['pmx_center_filedate'] . '</td>
													</tr>';
            if ($dirtext == 'pmx_language_files') {
                foreach ($context['pmx_installed_ext'] as $ext) {
                    foreach ($data['files'] as $file => $value) {
                        if (stripos($file, '.min.') === false) {
                            if (!empty($file) && strstr($file, '.') == $ext) {
                                echo '
													<tr>
														<td>' . $value['subdir'] . $file . '</td>
														<td style="text-align:left">' . $value['version'] . '</td>
														<td style="text-align:right">' . $value['date'] . '</td>
													</tr>';
                            }
                        }
                    }
                    echo '
													<tr>
														<td colspan="3"><div style="height:5px;"></div></td>
													</tr>';
                }
            } else {
                $cdir = '';
                foreach ($data['files'] as $file => $value) {
                    if (!empty($file)) {
                        if (stripos($file, '.min.') === false) {
                            if (empty($cdir)) {
                                $cdir = $value['subdir'];
                            } elseif ($cdir != $value['subdir']) {
                                $cdir = $value['subdir'];
                                echo '
														<tr>
															<td colspan="3"><div style="height:5px;"></div></td>
														</tr>';
                            }
                            echo '
													<tr>
														<td>' . $value['subdir'] . $file . '</td>
														<td style="text-align:left">' . $value['version'] . '</td>
														<td style="text-align:right">' . $value['date'] . '</td>
													</tr>';
                        }
                    }
                }
            }
            echo '
												</table>
											</div>
										</td>
									</tr>';
        }
        echo '
									<tr>
										<td colspan="3" style="padding:0.2em;text-align:center"><hr class="pmx_hr" />
											<input class="button_submit" type="button" name="back" value="' . $txt['page_reqerror_button'] . '" onclick="window.location.href=\'' . $scripturl . '?action=' . $context['pmx']['admmode'] . ';area=pmx_center\';pmxWinGetTop(\'adm\',\'template\')" />
										</td>
									</tr>
								</table>
								</div>
							</td>
						</tr>
					</table>';
    }
    // Show Error ?
    if ($context['pmx']['subaction'] == 'error') {
        echo '
					<table class="pmx_table" style="width:75%;margin:0 auto; margin-top:1em; text-align:center;">
						<tr>
							<td style="text-align:center">
								<div class="cat_bar">
									<h3 class="catbg largetext headerpadding">', $context['pmx']['AdmcError']['title'], '</h3>
								</div>
							</td>
						</tr>
						<tr>
							<td class="middletext">
									<div class="roundframe">
										' . $context['pmx']['AdmcError']['msg'] . '
										<div style="padding-top:10px;text-align:center">
											<input class="button_submit" type="button" name="back" value="' . $txt['page_reqerror_button'] . '" onclick="window.location.href=\'' . $scripturl . '?action=' . $context['pmx']['admmode'] . ';area=pmx_center' . (!empty($context['pmx']['AdmcError']['subact']) ? ';sa=' . $context['pmx']['AdmcError']['subact'] . ';' . $context['session_var'] . '=' . $context['session_id'] : '') . '\';pmxWinGetTop(\'adm\',\'template\')" />
										</div>
									</div>
							</td>
						</tr>
					</table>';
    }
    // Show languages ?
    if ($context['pmx']['subaction'] == 'showlang') {
        echo '
	<table class="pmx_table" style="margin-top:1px; overflow:hidden;">
		<tr>
			<td>
				<form id="pmx_form" accept-charset="' . $context['character_set'] . '" name="PMxAdmCenter" action="' . $scripturl . '?action=' . $context['pmx']['admmode'] . ';area=pmx_center;sa=admlang;' . $context['session_var'] . '=' . $context['session_id'] . '" method="post" style="margin: 0px;">
					<input type="hidden" name="sc" value="' . $context['session_id'] . '" />
					<input id="common_field" type="hidden" value="" />';
        $tmp = explode(' ', $txt['pmx_admin_center']);
        echo '
					<table class="pmx_table">
						<tr>
							<td>
								<div class="cat_bar">
									<h3 class="catbg">' . $tmp[0] . ' ' . $txt['pmx_center_showlang'] . '</h3>
								</div>
								<p class="information" style="margin: 0 0 20px 0;padding: 8px;">
									<span id="holding">' . $txt['pmx_center_showlang_info'] . '</span>
									<span id="loading" style="display:none;">' . $txt['pmx_processing'] . '<img style="padding:0 10px;vertical-align:-2px;" src="' . $context['pmx_imageurl'] . 'loading.gif" alt="*" title="" /></span>
								</p>
							</td>
						</tr>
						<tr>
							<td>
								<div class="cat_bar">
									<h3 class="catbg centertext">' . $txt['pmx_center_langinstalled'] . '	</h3>
								</div>
								<div class="windowbg wdbgtop">
									<table class="pmx_table_grid">
										<tr>
											<td class="normaltext" style="text-align:left;width:35%"><b>' . $txt['pmx_center_langname'] . '</b></td>
											<td class="normaltext" style="text-align:left;width:20%"><b>' . $txt['pmx_center_langcharset'] . '</b></td>
											<td class="normaltext" style="text-align:left;width:10%"><b>' . $txt['pmx_center_langversion'] . '</b></td>
											<td class="normaltext" style="text-align:right;width:15%"><b>' . $txt['pmx_center_langaction'] . '</b></td>
										</tr>';
        // show installed languages
        $installed = array();
        foreach ($context['pmx']['instlang'] as $id => $data) {
            $installed[$id] = $data;
            echo '
										<tr>
											<td class="middletext">' . (isset($data['manually']) ? '* ' : '') . $data['name'] . '</td>
											<td class="middletext">' . $data['charset'] . '</td>
											<td class="middletext">' . $data['version'] . '</td>
											<td class="middletext" style="text-align:right">';
            if ($id != 'lang.english') {
                echo '<a href="javascript:void(\'\')" onclick="FormFunc(\'lang_delete\', \'' . $id . '\', \'' . $txt['pmx_confirm_langdelete'] . '\');">' . $txt['pmx_center_langdelete'] . '</a>';
            }
            echo '
											</td>
										</tr>';
        }
        echo '
									</table>
								</div>
								<div style="margin-bottom:1em;">
								</div>

								<div class="cat_bar">
									<h3 class="catbg centertext">', $txt['pmx_center_langavailable'], '</h3>
								</div>

								<div class="windowbg wdbgtop">
									<table class="pmx_table_grid">
										<tr>
											<td class="normaltext" style="text-align:left;width:35%"><b>' . $txt['pmx_center_langname'] . '</b></td>
											<td class="normaltext" style="text-align:left;width:20%"><b>' . $txt['pmx_center_langcharset'] . '</b></td>
											<td class="normaltext" style="text-align:left;width:10%"><b>' . $txt['pmx_center_langversion'] . '</b></td>
											<td class="normaltext" style="text-align:right;width:15%"><b>' . $txt['pmx_center_langaction'] . '</b></td>
										</tr>';
        // show available languages
        if (!empty($context['pmx']['langsets'])) {
            foreach ($context['pmx']['langsets'] as $data) {
                // check is installed
                $isInst = compareLang($data, $installed['lang.english'], 'eq');
                $isUpd = false;
                foreach ($installed as $i => $inst) {
                    if (compareLang($data, $inst, 'gt')) {
                        $isInst = true;
                        if ($data['version'] > $inst['version']) {
                            $isUpd = true;
                        }
                        break;
                    }
                }
                echo '
									<tr>
										<td class="middletext">' . (isset($data['manually']) ? '* ' : '') . $data['name'] . '</td>
										<td class="middletext">' . $data['charset'] . '</td>
										<td class="middletext">' . $data['version'] . '</td>
										<td class="middletext" style="text-align:right">
											<a href="javascript:void(\'\')" onclick="FormFunc(\'lang_install\', \'' . $data['link'] . (!empty($isInst) || !empty($isUpd) ? '\', \'' . (empty($isUpd) ? $txt['pmx_confirm_langreplace'] : $txt['pmx_confirm_langupdate']) : '') . '\')">' . (empty($isInst) ? $txt['pmx_center_langinstall'] : (empty($isUpd) ? $txt['pmx_center_langreplace'] : $txt['pmx_center_langupdate'])) . '</a>
										</td>
									</tr>';
            }
        } else {
            echo '
										<tr>
											<td class="middletext" colspan="4">' . $txt['pmx_center_fetchlang_failed'] . '</td>
										</tr>';
        }
        echo '
									</table>
								</div>
								<div style="margin-bottom:1em;">
								</div>';
        // show manually instalable languages
        if (!empty($context['pmx']['manualylangsets'])) {
            echo '
								<div class="cat_bar">
									<h3 class="catbg centertext">', $txt['pmx_center_manuallylang'], '</h3>
								</div>
								<div class="windowbg wdbgtop">
									<table class="pmx_table_grid">
										<tr>
											<td class="normaltext" style="text-align:left;width:35%"><b>' . $txt['pmx_center_langname'] . '</b></td>
											<td class="normaltext" style="text-align:left;width:20%"><b>' . $txt['pmx_center_langcharset'] . '</b></td>
											<td class="normaltext" style="text-align:left;width:10%"><b>' . $txt['pmx_center_langversion'] . '</b></td>
											<td class="normaltext" style="text-align:right;width:15%"><b>' . $txt['pmx_center_langaction'] . '</b></td>
										</tr>';
            foreach ($context['pmx']['manualylangsets'] as $key => $data) {
                $isInst = false;
                $isUpd = false;
                foreach ($installed as $i => $inst) {
                    if (compareLang($data, $inst, 'gt')) {
                        $isInst = true;
                        if ($data['version'] > $inst['version']) {
                            $isUpd = true;
                        }
                        break;
                    }
                }
                echo '
										<tr>
											<td class="middletext">' . $data['name'] . '</td>
											<td class="middletext">' . $data['charset'] . '</td>
											<td class="middletext">' . $data['version'] . '</td>
											<td class="middletext" style="text-align:right">
												<a href="javascript:void(\'\')" onclick="FormFunc(\'lang_install_manually\', \'' . $key . '\')">' . (empty($isInst) ? $txt['pmx_center_langinstall'] : (empty($isUpd) ? $txt['pmx_center_langreplace'] : $txt['pmx_center_langupdate'])) . '</a>
											</td>
										</tr>';
            }
            echo '
									</table>
								</div>
								<div style="margin-bottom:1em;">
								</div>';
        }
        echo '
								<div style="padding:5px 10px;text-align:center">
									<input class="button_submit" type="button" name="back" value="' . $txt['page_reqerror_button'] . '" onclick="window.location.href=\'' . $scripturl . '?action=' . $context['pmx']['admmode'] . ';area=pmx_center\';pmxWinGetTop(\'adm\',\'template\')" />
								</div>
							</td>
						</tr>
					</table>
					<script type="text/javascript">
						function StartProgress()
						{
							document.getElementById("holding").style.display = "none";
							document.getElementById("loading").style.display = "";
						}
					</script>
					</form>';
    }
    echo '
				</td>
			</tr>
		</table>';
}
/**
*	Find manually installable languages
*/
function getManuallyLanguages($installed)
{
    global $context, $settings;
    // check for manually installable languages
    $langPath = $settings['default_theme_dir'] . '/languages/PortaMx';
    $context['pmx']['manualylangsets'] = array();
    $dir = dir($langPath);
    while ($entry = $dir->read()) {
        preg_match('~^PortaMx\\.?([a-zA-Z0-9_-]+)\\.php~', $entry, $match);
        if (!empty($match)) {
            $handle = fopen($langPath . '/PortaMx.' . $match[1] . '.php', "r");
            $content = fread($handle, 512);
            fclose($handle);
            $isutf = strrchr($match[1], '-');
            if ($isutf !== false && $isutf == '-utf8') {
                $name = ucfirst(substr($match[1], 0, -5));
            } else {
                $name = ucfirst($match[1]);
            }
            $context['pmx']['manualylangsets']['lang.' . $match[1]] = array('name' => $name, 'version' => preg_match("~\\*\\s.version\\s([A-Za-z0-9\\.\\-\\s]+)~i", $content, $version) != 0 && isset($version[1]) ? $version[1] : '?.???', 'charset' => $isutf !== false && $isutf == '-utf8' ? 'UTF-8' : 'ISO-8859-1', 'langext' => '.' . $match[1], 'manually' => true);
        }
    }
    $dir->close();
    // remove installed languages from manually set
    if (!empty($context['pmx']['manualylangsets'])) {
        foreach ($installed as $ldata) {
            if (isset($context['pmx']['manualylangsets']['lang' . $ldata['langext']])) {
                if (compareLang($ldata, $context['pmx']['manualylangsets']['lang' . $ldata['langext']], 'gt')) {
                    unset($context['pmx']['manualylangsets']['lang' . $ldata['langext']]);
                }
            }
        }
    }
}