$root = "../";
    $level = 1;
    while ($level < 10 && !file_exists($root . '/framework/class.secure.php')) {
        $root .= "../";
        $level += 1;
    }
    if (file_exists($root . '/framework/class.secure.php')) {
        include $root . '/framework/class.secure.php';
    } else {
        trigger_error(sprintf("[ <b>%s</b> ] Can't include class.secure.php!", $_SERVER['SCRIPT_NAME']), E_USER_ERROR);
    }
}
//
// include snippets
//
$snippets = CAT_Helper_Addons::get_addons(0, 'module', 'snippet');
foreach ($snippets as $s) {
    $file = CAT_Helper_Directory::sanitizePath(CAT_PATH . '/modules/' . $s['VALUE'] . '/include.php');
    if (file_exists($file)) {
        include $file;
    }
}
/* 'one liners' */
function get_page_link($page_id)
{
    return CAT_Helper_Page::properties($page_id, 'link');
}
function language_menu()
{
    global $page_id;
    return CAT_Page::getInstance($page_id)->getLanguageMenu();
Exemple #2
0
    }
    if (file_exists($root . '/framework/class.secure.php')) {
        include $root . '/framework/class.secure.php';
    } else {
        trigger_error(sprintf("[ <b>%s</b> ] Can't include class.secure.php!", $_SERVER['SCRIPT_NAME']), E_USER_ERROR);
    }
}
$backend = CAT_Backend::getInstance('admintools');
$user = CAT_Users::getInstance();
$lang = CAT_Helper_I18n::getInstance();
// this will redirect to the login page if the permission is not set
$user->checkPermission('admintools', 'admintools', false);
global $parser;
// get tools
// ----- TODO: PERMISSIONS -----
$tools = CAT_Helper_Addons::get_addons(0, 'module', 'tool');
if (count($tools)) {
    foreach ($tools as $tool) {
        // check if the user is allowed to see this item
        if (!$user->get_permission($tool['directory'], $tool['type'])) {
            continue;
        }
        // check if a module description exists for the displayed backend language
        $module_description = false;
        $icon = false;
        $language_file = CAT_PATH . '/modules/' . $tool['VALUE'] . '/languages/' . $user->lang()->getLang() . '.php';
        if (true === file_exists($language_file)) {
            require $language_file;
        }
        // Check whether icon is available for the admintool
        if (file_exists(CAT_PATH . '/modules/' . $tool['VALUE'] . '/icon.png')) {
Exemple #3
0
    $client = new Zend\Http\Client($current['source'], array('timeout' => $current['timeout'], 'adapter' => 'Zend\\Http\\Client\\Adapter\\Proxy', 'proxy_host' => $current['proxy_host'], 'proxy_port' => $current['proxy_port']));
    $client->setHeaders(array('Pragma' => 'no-cache', 'Cache-Control' => 'no-cache'));
    try {
        $response = $client->send();
        if ($response->getStatusCode() != '200') {
            $error = "Unable to load source " . "(using Proxy: " . (isset($current['proxy_host']) && $current['proxy_host'] != '' ? 'yes' : 'no') . ")<br />" . "Status: " . $response->getStatus() . " - " . $response->getMessage() . ($debug ? "<br />" . var_dump($client->getLastRequest()) : NULL) . "<br />";
            $version = 'unknown';
        } else {
            $version = $response->getBody();
        }
    } catch (Exception $e) {
        $error = "Unable to load source " . "(using Proxy: " . (isset($current['proxy_host']) && $current['proxy_host'] != '' ? 'yes' : 'no') . ")<br />" . $e->getMessage() . "<br />";
        $version = 'unknown';
    }
    if ($version && $version != 'unknown') {
        if (CAT_Helper_Addons::getInstance()->versionCompare($version, CAT_VERSION, '>')) {
            $newer = true;
        }
    }
    $fh = @fopen(CAT_Helper_Directory::sanitizePath(dirname(__FILE__) . '/../data/.last'), 'w');
    if (is_resource($fh)) {
        fputs($fh, time() . '|' . $version);
        fclose($fh);
    }
} else {
    $version = isset($last_version) && $last_version != '' ? $last_version : $version;
}
global $parser;
$parser->setPath(dirname(__FILE__) . '/../templates/default');
$parser->output('widget.tpl', array('error' => $error, 'version' => $version, 'newer' => $newer, 'last' => CAT_Helper_DateTime::getInstance()->getDate($last) . ' ' . CAT_Helper_DateTime::getInstance()->getTime($last), 'CAT_VERSION' => CAT_VERSION, 'uri' => $_SERVER['SCRIPT_NAME'], 'missing_mailer_libs' => count(CAT_Helper_Addons::getLibraries('mail')), 'missing_wysiwyg' => count(CAT_Helper_Addons::get_addons(NULL, 'module', 'wysiwyg'))));
Exemple #4
0
 /**
  *
  * @access public
  * @return
  **/
 public static function get_init_pages()
 {
     // frontend pages
     $pages = CAT_Helper_Page::getPages();
     $frontend_pages = array();
     foreach ($pages as $page) {
         $frontend_pages[$page['menu_title']] = 'pages/modify.php?page_id=' . $page['page_id'];
     }
     // admin tools
     $tools = CAT_Helper_Addons::get_addons(NULL, 'module', 'tool');
     $admin_tools = array();
     foreach ($tools as $tool) {
         $admin_tools[$tool['name']] = 'admintools/tool.php?tool=' . $tool['directory'];
     }
     // backend pages
     $backend_pages = CAT_Backend::getPages();
     return array('backend_pages' => $backend_pages, 'frontend_pages' => $frontend_pages, 'admin_tools' => $admin_tools);
 }
Exemple #5
0
/**
 *
 **/
function getLanguages()
{
    $langs = CAT_Helper_Addons::get_addons(0, 'language');
    $data = array();
    foreach ($langs as $addon) {
        $l_codes[$addon['NAME']] = $addon['VALUE'];
        $l_names[$addon['NAME']] = entities_to_7bit($addon['NAME']);
        // sorting-problem workaround
    }
    asort($l_names);
    $counter = 0;
    foreach ($l_names as $l_name => $v) {
        $data[$counter]['CODE'] = $l_codes[$l_name];
        $data[$counter]['NAME'] = $l_name;
        $data[$counter]['SELECTED'] = DEFAULT_LANGUAGE == $l_codes[$l_name] ? true : false;
        $counter++;
    }
    return $data;
}
Exemple #6
0
    $root = "../";
    $level = 1;
    while ($level < 10 && !file_exists($root . '/framework/class.secure.php')) {
        $root .= "../";
        $level += 1;
    }
    if (file_exists($root . '/framework/class.secure.php')) {
        include $root . '/framework/class.secure.php';
    } else {
        trigger_error(sprintf("[ <b>%s</b> ] Can't include class.secure.php!", $_SERVER['SCRIPT_NAME']), E_USER_ERROR);
    }
}
$tpl_data = array();
$backend = CAT_Backend::getInstance('Addons', 'addons');
$users = CAT_Users::getInstance();
$addons = CAT_Helper_Addons::get_addons();
$counter = 0;
$seen_dirs = array();
$tpl_data['addons'] = array();
$tpl_data['not_installed_addons'] = array('modules' => array(), 'templates' => array(), 'languages' => array());
$tpl_data['groups'] = $users->get_groups('', '', false);
$tpl_data['username'] = $users->get_display_name();
// for new addons
global $parser;
foreach ($addons as $addon) {
    // check if the user is allowed to see this item
    if (!$users->get_permission($addon['directory'], $addon['type'])) {
        $seen_dirs[] = $addon['directory'];
        continue;
    }
    // ==================================================
Exemple #7
0
            $file->process(CAT_Helper_Directory::sanitizePath(CAT_PATH . '/modules/blackcatFilter/filter/'));
            if (!$file->processed) {
                $upload_error = $file->error;
            } else {
                $data['name'] = $file->file_dst_name_body;
            }
            // filter must have the same name as the file
            // the file will be renamed by the upload helper if it already
            // exists, so we use the destination name here
        }
    }
    if (count($errors) || $upload_error) {
        $showit = true;
    } else {
        $backend->db()->query("INSERT INTO `:prefix:mod_filter` VALUES ( :name, :module, :desc, :code, :active )", array('name' => $data['name'], 'module' => $data['module_name'], 'desc' => $data['description'], 'code' => $data['code'], 'active' => $data['active']));
        if ($backend->db()->isError()) {
            $errors[] = $backend->db()->getError();
        }
    }
}
// get available filters
$filters = array();
$result = $backend->db()->query("SELECT * FROM `:prefix:mod_filter`");
if ($result->numRows()) {
    while (false !== ($row = $result->fetch())) {
        $filters[] = $row;
    }
}
$parser->setPath(dirname(__FILE__) . '/templates/default');
$parser->output('tool.tpl', array('filters' => $filters, 'showit' => $showit, 'missing' => $errors, 'modules' => CAT_Helper_Addons::get_addons('blackcatFilter', 'module'), 'upload_error' => $upload_error, 'errors' => implode('<br />', $errors) . '<br />' . $upload_error));
            }
        } else {
            $_SESSION['USE_DEFAULT_TIME_FORMAT'] = true;
            unset($_SESSION['CAT_TIME_FORMAT']);
        }
        if ($_SESSION['CAT_DATE_FORMAT'] != '') {
            if (isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) {
                unset($_SESSION['USE_DEFAULT_DATE_FORMAT']);
            }
        } else {
            $_SESSION['USE_DEFAULT_DATE_FORMAT'] = true;
            unset($_SESSION['CAT_DATE_FORMAT']);
        }
    }
    if (count($errors) > 0) {
        $message = implode("<br />", $errors);
    } else {
        $message = $user->lang()->translate('Details saved successfully') . "!<br /><br />";
        $show_form = false;
    }
}
unset($submit_ok);
// get available languages, mark currently used
$languages = CAT_Helper_Addons::get_addons(isset($language) && $language !== LANGUAGE ? $language : LANGUAGE, 'language');
global $parser;
$parser->setPath(CAT_PATH . '/templates/' . DEFAULT_TEMPLATE . '/templates/' . CAT_Registry::get('DEFAULT_THEME_VARIANT'));
// if there's a template for this in the current frontend template
$parser->setFallbackPath(dirname(__FILE__) . '/templates/default');
// fallback to default dir
$parser->output('account_preferences_form', array('show_form' => $show_form, 'languages' => $languages, 'timezones' => CAT_Helper_DateTime::getTimezones(), 'current_tz' => CAT_Helper_DateTime::getTimezone(), 'date_formats' => CAT_Helper_DateTime::getDateFormats(), 'current_df' => CAT_Helper_DateTime::getDefaultDateFormatShort(), 'time_formats' => CAT_Helper_DateTime::getTimeFormats(), 'current_tf' => CAT_Helper_DateTime::getDefaultTimeFormat(), 'PREFERENCES_URL' => PREFERENCES_URL, 'USER_ID' => $user->get_user_id(), 'DISPLAY_NAME' => $user->get_display_name(), 'GET_EMAIL' => $user->get_email(), 'RESULT_MESSAGE' => $message, 'AUTH_MIN_LOGIN_LENGTH' => AUTH_MIN_LOGIN_LENGTH));
unset($_SESSION['result_message']);
     $tpl_data['PAGES_LIST'] = getPagesList('maintenance_page', CAT_Registry::get('MAINTENANCE_PAGE'));
     $tpl_data['ERR_PAGES_LIST'] = getPagesList('err_page_404', CAT_Registry::get('ERR_PAGE_404'));
     break;
 case 'users':
     $tpl_data['groups'] = $users->get_groups(CAT_Registry::get('FRONTEND_SIGNUP'), '', false);
     break;
 case 'datetime':
     $tpl_data['languages'] = getLanguages();
     $tpl_data['timezones'] = getTimezones();
     $tpl_data['charsets'] = getCharsets();
     $tpl_data['dateformats'] = getDateformats();
     $tpl_data['timeformats'] = getTimeformats();
     break;
 case 'searchblock':
     $tpl_data['search'] = getSearchSettings();
     $tpl_data['search_templates'] = isset($tpl_data['search']['template']) ? CAT_Helper_Addons::get_addons($tpl_data['search']['template'], 'template', 'template') : array();
     $s_selected = isset($tpl_data['search']['cfg_search_use_page_id']) ? $tpl_data['search']['cfg_search_use_page_id'] : '';
     $tpl_data['PAGES_LIST'] = getPagesList('search_cfg_search_use_page_id', $s_selected, true);
     break;
 case 'server':
     $tpl_data['WORLD_WRITEABLE_SELECTED'] = CAT_Registry::get('STRING_FILE_MODE') == '0666' && CAT_Registry::get('STRING_DIR_MODE') == '0777' ? true : false;
     break;
 case 'mail':
     $tpl_data['CATMAILER_LIBS'] = getMailerLibs();
     if (!isset($tpl_data['values']['catmailer_smtp_timeout'])) {
         $tpl_data['values']['catmailer_smtp_timeout'] = 30;
     }
     break;
 case 'security':
     $admin =& $backend;
     require_once CAT_PATH . '/framework/CAT/Helper/Captcha/WB/captcha.php';
 if (is_array($val->sanitizePost('module_permissions'))) {
     foreach ($val->sanitizePost('module_permissions') as $selected_name) {
         // Check, whether the activated module is also 1
         if (in_array($selected_name, $modlist)) {
             $modules[] = $selected_name;
         }
     }
 }
 $modules = sizeof($modules) > 0 ? $modules : $modlist;
 $module_permissions = implode(',', $modules);
 // ============================
 // ! Get template permissions
 // ============================
 $templates = array();
 $template_permissions = '';
 $installed_mods = CAT_Helper_Addons::get_addons(NULL, 'template');
 $modlist = array();
 foreach ($installed_mods as $mod) {
     array_push($modlist, $mod['directory']);
 }
 if (is_array($val->sanitizePost('template_permissions'))) {
     foreach ($val->sanitizePost('template_permissions') as $selected_name) {
         if (in_array($selected_name, $modlist)) {
             $templates[] = $selected_name;
         }
     }
 }
 if (count($templates)) {
     $template_permissions = implode(',', $templates);
 } else {
     $template_permissions = '';