Exemple #1
0
function ecFileDelete($file)
{
    global $ecFile;
    if (file_exists($file)) {
        unlink($file);
        return true;
    } else {
        $message = 'Can not delete file: ' . $file;
        ecError($ecFile, $message);
        return false;
    }
}
if (!ecGetAccessLevel($ecLocal['plugin'], $ecLocal['site'])) {
    $ecLocal['plugin'] = 'errors';
    $ecLocal['site'] = '403';
}
$tmpReplaces['sub:view'] = 'plugins/' . $ecLocal['plugin'] . '/' . $ecLocal['site'] . '.php';
// Replace Vars
preg_match_all("/{(?!sub)(.*?)\\:(.*?)}/Sis", $html, $tmpVars);
$count = count($tmpVars[0]);
$i = 0;
while (!empty($count)) {
    $tmpVars[0][$i] = str_replace('{', '', $tmpVars[0][$i]);
    $tmpVars[0][$i] = str_replace('}', '', $tmpVars[0][$i]);
    $file = 'plugins/' . $tmpVars[1][$i] . '/' . $tmpVars[2][$i] . '.php';
    if (!file_exists($file) || !in_array($tmpVars[1][$i], $ecLocal['pluginsList'])) {
        $message = 'File not found: ' . $file;
        ecError($ecFile, $message);
    } else {
        if (ecGetAccessLevel($tmpVars[1][$i], $tmpVars[2][$i])) {
            $tmpReplaces[$tmpVars[0][$i]] = $file;
        } else {
            $html = str_replace('{' . $tmpVars[0][$i] . '}', '', $html);
        }
    }
    $i++;
    $count--;
}
// Refresh Paths
$refreshImages = "=link href\\=\"(?!http)(.*?)\"=si";
$html = preg_replace($refreshImages, "link href=\"themes/" . $ecLocal['theme'] . "/\\1\"", $html);
$refreshBackgrounds = "=background\\=\"(?!http)(.*?)\"=si";
$html = preg_replace($refreshBackgrounds, "background=\"themes/" . $ecLocal['theme'] . "/\\1\"", $html);
    } else {
        $ecLocal['site'] = 'list';
    }
} else {
    $ecLocal['plugin'] = $ecSettings['system']['defaultPlugin'];
    $ecLocal['site'] = $ecSettings['system']['defaultSite'];
}
// Set Contentwidth
$contentTyp = $ecSettings['system']['contentTyp'] == 1 ? '%' : 'px';
$ecLocal['tableWidth'] = $ecSettings['system']['contentWidth'] . $contentTyp;
// Plugins
$ecPluginsData = dbSelect('pluginsId,pluginsPath', 1, 'plugins');
while ($plugins = mysql_fetch_object($ecPluginsData)) {
    $ecLocal['pluginsList'][$plugins->pluginsId] = $plugins->pluginsPath;
    if ($plugins->pluginsPath == $ecLocal['plugin']) {
        $pluginRegistred = 1;
    }
}
// Check Plugin & Site
if (isset($pluginRegistred)) {
    $viewPath = 'plugins/' . $ecLocal['plugin'] . '/' . $ecLocal['site'] . '.php';
    if (!file_exists($viewPath)) {
        ecError($ecFile, 'File not found ' . $viewPath);
        $ecLocal['plugin'] = 'errors';
        $ecLocal['site'] = '404';
    }
} else {
    ecError($ecFile, 'Plugin not registred: ' . $ecLocal['plugin']);
    $ecLocal['plugin'] = 'errors';
    $ecLocal['site'] = '404';
}
function ecTemplate($plugin, $site, $part = 'default', $language = 0)
{
    global $ecSettings, $ecFile, $ecLocal, $ecUser;
    // Language
    $language = empty($language) ? $site : $language;
    $ecLang = ecGetLang($plugin, $language);
    // Start parse
    $templatePath = 'templates/' . $ecLocal['template'] . '/' . $plugin . '/' . $site . '.html';
    if (file_exists($templatePath)) {
        $template = implode('', file($templatePath));
        $template = str_replace('{ecTableWidth}', $ecLocal['tableWidth'], $template);
        #########################
        if ($part != 'default') {
            preg_match_all("/\\<\\!\\+" . $part . "\\>(.*?)\\<\\!\\-" . $part . "/Sis", $template, $tmpPart);
            if (isset($tmpPart[1][0])) {
                $template = $tmpPart[1][0];
            } else {
                $template = '';
                ecError($ecFile, 'Templateerror: Part "' . $part . '" not found');
            }
        } else {
            $template = preg_replace("/\\{\\!(.*?)\\}/is", '', $template);
        }
        #########################
        preg_match_all("={(.)(.*?)}=si", $template, $tmpVars);
        $count = count($tmpVars[0]);
        $i = 0;
        while (!empty($count)) {
            if ($tmpVars[1][$i] == '?') {
                if (isset($ecLang[$tmpVars[2][$i]])) {
                    $template = str_replace($tmpVars[0][$i], $ecLang[$tmpVars[2][$i]], $template);
                } else {
                    $template = str_replace($tmpVars[0][$i], 'not defined!', $template);
                    ecError($ecFile, 'Languagevar ' . $tmpVars[0][$i] . ' isn`t defined');
                }
            } elseif ($tmpVars[1][$i] == '@') {
                if (isset($ecLang[$tmpVars[2][$i]])) {
                    $template = str_replace($tmpVars[0][$i], ec_bbcode($ecLang[$tmpVars[2][$i]]), $template);
                } else {
                    $template = str_replace($tmpVars[0][$i], 'not defined!', $template);
                    ecError($ecFile, 'Languagevar ' . $tmpVars[0][$i] . ' isn`t defined');
                }
            } elseif ($tmpVars[1][$i] == '$') {
                if (isset($GLOBALS[$tmpVars[2][$i]])) {
                    $template = str_replace($tmpVars[0][$i], $GLOBALS[$tmpVars[2][$i]], $template);
                } else {
                    $template = str_replace($tmpVars[0][$i], '', $template);
                }
            }
            $i++;
            $count--;
        }
        #########################
        preg_match_all("={icon:(.*?)}=si", $template, $tmpVarsIcons);
        $count = count($tmpVarsIcons[0]);
        $i = 0;
        while (!empty($count)) {
            $iconsdata = preg_split('=:=si', $tmpVarsIcons[1][$i]);
            if (file_exists('icons/' . $ecLocal['icons'] . '/' . $iconsdata[0])) {
                $icon = 'icons/' . $ecLocal['icons'] . '/' . $iconsdata[0] . '/' . $iconsdata[1] . '.png';
                $icon = file_exists($icon) ? $icon : 'icons/' . $ecLocal['icons'] . '/' . $iconsdata[0] . '/default.png';
            } else {
                $icon = '';
                $message = 'Iconfolder not found: icons/' . $ecLocal['icons'] . '/' . $iconsdata[0] . '/';
                ecError($ecFile, $message);
            }
            $template = str_replace($tmpVarsIcons[0][$i], $icon, $template);
            $i++;
            $count--;
        }
        #########################
        // End parse
        return $template;
    } else {
        $templatePath = 'templates/' . $ecLocal['template'] . '/' . $plugin . '/' . $site;
        $message = 'Template (' . $templatePath . '.html) nicht vorhanden';
        $message2 = 'Template (' . $site . '.html) nicht vorhanden';
        ecError($ecFile, $message);
        return $message2;
    }
}