コード例 #1
0
 public static function extension_register_extensions()
 {
     global $REX;
     // refresh PathFile
     if ($REX['REDAXO']) {
         $extension_points = array('CAT_ADDED', 'CAT_UPDATED', 'CAT_DELETED', 'ART_ADDED', 'ART_UPDATED', 'ART_DELETED', 'CLANG_ADDED', 'CLANG_UPDATED', 'CLANG_DELETED', 'ALL_GENERATED', 'XFORM_DATA_ADDED', 'XFORM_DATA_UPDATED');
         foreach ($extension_points as $extension_point) {
             rex_register_extension($extension_point, 'url_generate::generatePathFile');
         }
     }
 }
コード例 #2
0
/**
 * Bindet ggf extensions ein
 * 
 * @param $params Extension-Point Parameter
 */
function rex_a256_extensions_handler($params)
{
    global $REX;
    $page = $params['subject'];
    rex_register_extension('PAGE_HEADER', 'rex_be_search_css_add');
    // Include Extensions
    if ($page == 'structure') {
        require_once $REX['INCLUDE_PATH'] . '/addons/be_search/extensions/extension_search_structure.inc.php';
        rex_register_extension('PAGE_STRUCTURE_HEADER', 'rex_a256_search_structure');
    } elseif ($page == 'content') {
        require_once $REX['INCLUDE_PATH'] . '/addons/be_search/extensions/extension_search_structure.inc.php';
        rex_register_extension('PAGE_CONTENT_HEADER', 'rex_a256_search_structure');
    } elseif ($page == 'mediapool') {
        require_once $REX['INCLUDE_PATH'] . '/addons/be_search/extensions/extension_search_mpool.inc.php';
        rex_register_extension('MEDIA_LIST_TOOLBAR', 'rex_a256_search_mpool');
        rex_register_extension('MEDIA_LIST_QUERY', 'rex_a256_search_mpool_query');
    }
}
コード例 #3
0
$REX['ADDON']['author'][$mypage] = 'Markus Staab';
$REX['ADDON']['supportpage'][$mypage] = 'forum.redaxo.de';
$REX['EXTPERM'][] = 'be_search[medienpool]';
$REX['EXTPERM'][] = 'be_search[structure]';
if ($REX['REDAXO']) {
    if (rex_get('css', 'string') == 'addons/' . $mypage) {
        $cssfile = $REX['INCLUDE_PATH'] . '/addons/' . $mypage . '/css/be_search.css';
        rex_send_file($cssfile, 'text/css');
        exit;
    }
    if (rex_get('css', 'string') == 'addons/' . $mypage . '/ie7') {
        $cssfile = $REX['INCLUDE_PATH'] . '/addons/' . $mypage . '/css/be_search_ie_lte_7.css';
        rex_send_file($cssfile, 'text/css');
        exit;
    }
    rex_register_extension('PAGE_HEADER', create_function('$params', 'return $params[\'subject\'] .\'  <link rel="stylesheet" type="text/css" href="index.php?css=addons/' . $mypage . '" />
  <!--[if lte IE 7]><link rel="stylesheet" href="index.php?css=addons/' . $mypage . '/ie7" type="text/css" media="all" /><![endif]-->' . "\n" . '\';'));
    $I18N_BE_SEARCH = new i18n($REX['LANG'], $REX['INCLUDE_PATH'] . '/addons/' . $mypage . '/lang');
    // Include Extensions
    if (!isset($page) || $page == '' || $page == 'structure') {
        require_once $REX['INCLUDE_PATH'] . '/addons/be_search/extensions/extension_search_structure.inc.php';
        rex_register_extension('PAGE_STRUCTURE_HEADER', 'rex_a256_search_structure');
    } elseif ($page == 'content') {
        require_once $REX['INCLUDE_PATH'] . '/addons/be_search/extensions/extension_search_structure.inc.php';
        rex_register_extension('PAGE_CONTENT_HEADER', 'rex_a256_search_structure');
    } elseif ($page == 'medienpool') {
        require_once $REX['INCLUDE_PATH'] . '/addons/be_search/extensions/extension_search_mpool.inc.php';
        rex_register_extension('MEDIA_LIST_TOOLBAR', 'rex_a256_search_mpool');
        rex_register_extension('MEDIA_LIST_QUERY', 'rex_a256_search_mpool_query');
    }
}
コード例 #4
0
ファイル: config.inc.php プロジェクト: ReggaePanda/open_graph
$REX['ADDON']['name'][$myself] = 'Open Graph';
$REX['ADDON']['version'][$myself] = '0.0.1 DEV';
$REX['ADDON']['author'][$myself] = 'Manuel Ruck';
$REX['ADDON']['supportpage'][$myself] = '';
$REX['ADDON']['perm'][$myself] = $myself . '[]';
require_once $REX['INCLUDE_PATH'] . '/addons/' . $myself . '/classes/class.opengraph.inc.php';
require_once $REX['INCLUDE_PATH'] . '/addons/' . $myself . '/classes/class.image.inc.php';
require_once $REX['INCLUDE_PATH'] . '/addons/' . $myself . '/classes/class.profile.inc.php';
require_once $REX['INCLUDE_PATH'] . '/addons/' . $myself . '/classes/class.video.inc.php';
define('OPENGRAPH_DATA_DIR', $REX['INCLUDE_PATH'] . '/data/addons/' . $myself . '/');
$REX['ADDON'][$myself]['settings'] = ['https' => false];
\maru\og\OpenGraph::includeSettingsFile();
// append lang file
if ($REX['REDAXO']) {
    $I18N->appendFile($REX['INCLUDE_PATH'] . '/addons/open_graph/lang/');
}
if ($REX['REDAXO']) {
    $REX['ADDON'][$myself]['SUBPAGES'] = [];
    array_push($REX['ADDON'][$myself]['SUBPAGES'], array('settings', $I18N->msg($myself . '_settings')), array('help', $I18N->msg($myself . '_help')));
}
if (!$REX['REDAXO']) {
    rex_register_extension('ART_INIT', function () {
        global $REX;
        \maru\og\OpenGraph::initArticle($REX['ARTICLE_ID']);
    });
    rex_register_extension('OUTPUT_FILTER', function ($params) {
        global $REX;
        $params['subject'] = str_replace('</head>', "<!-- OpenGraph -->\n\t" . \maru\og\OpenGraph::getAllHTML() . "\n</head>", $params['subject']);
        return $params['subject'];
    });
}
コード例 #5
0
$REX['ADDON']['page'][$mypage] = $mypage;
$REX['ADDON']['name'][$mypage] = 'Image Resize';
$REX['ADDON']['perm'][$mypage] = 'image_resize[]';
$REX['ADDON']['max_size'][$mypage] = 1000;
$REX['ADDON']['jpeg_quality'][$mypage] = 75;
$REX['ADDON']['system'][$mypage] = TRUE;
$REX['ADDON']['version'][$mypage] = "1.0";
$REX['ADDON']['author'][$mypage] = "Wolfgang Hutteger, Markus Staab, Jan Kristinus";
// $REX['ADDON']['supportpage'][$mypage] = "";
$REX['PERM'][] = 'image_resize[]';
include $REX['INCLUDE_PATH'] . '/addons/image_resize/classes/class.thumbnail.inc.php';
if ($REX['GG']) {
    require $REX['INCLUDE_PATH'] . '/addons/image_resize/extensions/extension_wysiwyg.inc.php';
} else {
    // Bei Update Cache löschen
    rex_register_extension('MEDIA_UPDATED', 'rex_image_ep_mediaupdated');
    function rex_image_ep_mediaupdated($params)
    {
        thumbnail::deleteCache($params["filename"]);
    }
}
// Resize Script
$rex_resize = rex_get('rex_resize', 'string');
if ($rex_resize != '') {
    // Lösche alle Ausgaben zuvor
    while (ob_get_level()) {
        ob_end_clean();
    }
    // get params
    ereg('^([0-9]*)([awhc])__(([0-9]*)h__)?(.*)', $rex_resize, $resize);
    $size = $resize[1];
コード例 #6
0
 * @author <a href="http://www.public-4u.de">www.public-4u.de</a>
 * @package redaxo3
 * @version $Id: class.rex_list.inc.php,v 1.1 2006/06/24 11:04:17 koala_s Exp $
 */
// List Komponenten einbinden
$ListBasedir = dirname(__FILE__);
// Classes
require_once $ListBasedir . '/class.rex_listComponent.inc.php';
require_once $ListBasedir . '/class.rex_listColumn.inc.php';
require_once $ListBasedir . '/class.rex_listToolbar.inc.php';
require_once $ListBasedir . '/../class.rex_formatter.inc.php';
require_once $ListBasedir . '/../class.oosql.inc.php';
// Functions
require_once $ListBasedir . '/../../functions/function_rex_list.inc.php';
// CSS einbinden
rex_register_extension('OUTPUT_FILTER', 'rex_a22_insertRexlistCss');
/**
 * Platzhalter: Vor der Liste
 * @see rexList::setVar()
 */
define('LIST_VAR_TOP', 1);
/**
 * Platzhalter: Vor den Kopfleisten 
 * @see rexList::setVar()
*/
define('LIST_VAR_BEFORE_HEAD', 2);
/**
 * Platzhalter: Nach den Kopfleisten 
 * @see rexList::setVar()
 */
define('LIST_VAR_AFTER_HEAD', 3);
コード例 #7
0
ファイル: config.inc.php プロジェクト: olien/be_utilities
<?php

if ($REX['REDAXO'] && !$REX['SETUP']) {
    // add lang file
    $I18N->appendFile($REX['INCLUDE_PATH'] . '/addons/be_utilities/plugins/hide_startarticle/lang/');
    // register plugin
    rex_plugin_factory::registerPlugin('be_utilities', 'hide_startarticle', 'Hide Startarticle', $I18N->msg('hide_startarticle_description'), '1.0.0', 'RexDude', 'forum.redaxo.de', true);
    // includes
    include $REX['INCLUDE_PATH'] . '/addons/be_utilities/plugins/hide_startarticle/classes/class.rex_hide_startarticle.inc.php';
    // check if there is a startarticle to hide
    $sqlStatement = 'SELECT article_id FROM ' . $REX['TABLE_PREFIX'] . 'hidden_startarticles';
    $sql = rex_sql::factory();
    $sql->setQuery($sqlStatement);
    $currentPage = rex_request('page', 'string');
    if ($currentPage == 'structure' || $currentPage == 'linkmap') {
        for ($i = 0; $i < $sql->getRows(); $i++) {
            if (rex_request('category_id', 'int') == $sql->getValue('article_id')) {
                // hide this stararticle
                rex_register_extension('OUTPUT_FILTER', 'rex_hide_startarticle::hideStartArticle');
                break;
            }
            $sql->next();
        }
    }
}
コード例 #8
0
<?php

$mypage = 'import_export';
if ($REX['REDAXO'] && is_object($REX["USER"])) {
    $I18N->appendFile($REX['INCLUDE_PATH'] . '/addons/' . $mypage . '/lang/');
    $REX['ADDON']['rxid'][$mypage] = '1';
    $REX['ADDON']['name'][$mypage] = $I18N->msg("im_export_importexport");
    $REX['ADDON']['perm'][$mypage] = 'import_export[export]';
    $REX['ADDON']['version'][$mypage] = "1.3";
    $REX['ADDON']['author'][$mypage] = "Jan Kristinus, Markus Staab";
    $REX['ADDON']['supportpage'][$mypage] = 'forum.redaxo.de';
    $REX['PERM'][] = 'import_export[export]';
    $REX['PERM'][] = 'import_export[import]';
    $REX['ADDON']['pages'][$mypage] = array();
    if ($REX["USER"]->hasPerm('import_export[import]') || $REX["USER"]->isAdmin()) {
        $REX['ADDON']['pages'][$mypage][] = array('import', $I18N->msg('im_export_import'));
    }
    $REX['ADDON']['pages'][$mypage][] = array('', $I18N->msg('im_export_export'));
}
if (OOAddon::isAvailable('cronjob')) {
    require_once dirname(__FILE__) . '/classes/class.cronjob.inc.php';
    rex_register_extension('CRONJOB_TYPES', array('rex_cronjob_manager', 'registerExtension'), array('class' => 'rex_cronjob_export'));
}
コード例 #9
0
 function rex_form_prio_element($tag = '', &$table, $attributes = array())
 {
     parent::rex_form_select_element('', $table, $attributes);
     $this->labelField = '';
     $this->whereCondition = '';
     $this->primaryKey = 'id';
     $this->firstOptionMsg = 'form_field_first_prior';
     $this->optionMsg = 'form_field_after_prior';
     $this->select->setSize(1);
     rex_register_extension('REX_FORM_SAVED', array($this, 'organizePriorities'));
 }
コード例 #10
0
ファイル: config.inc.php プロジェクト: ediathome/markdownplus
    require $REX['INCLUDE_PATH'] . '/addons/markdownplus/classes/class.rex_markdown.inc.php';
}
// for backend only
if ($REX['REDAXO']) {
    $addon_dir = $REX['INCLUDE_PATH'] . '/addons/markdownplus';
    // include patched parsedown class with rex_highlight() functionality for backend
    if (!class_exists('Parsedown')) {
        require $addon_dir . '/lib/Parsedown.redaxo.php';
    }
    // includes
    if (!class_exists('rex_markdown_utils')) {
        require $addon_dir . '/classes/class.rex_markdown_utils.inc.php';
    }
    require_once $addon_dir . '/classes/class.rex_markdownplus_editor.inc.php';
    require_once $addon_dir . '/functions/rex_markdownplus_utils.inc.php';
    // add javascript and css via PAGE_HEADER extension
    rex_register_extension('PAGE_HEADER', 'rex_markdownplus_utils_add_header_files');
    // add lang file
    $I18N->appendFile($addon_dir . '/lang/');
    // add subpages
    $REX['ADDON']['markdown']['SUBPAGES'] = array(array('', $I18N->msg('markdown_start')), array('help', $I18N->msg('markdown_help')));
} else {
    // include parsedown class for frontend
    if (!class_exists('Parsedown')) {
        require $addon_dir . '/lib/Parsedown.php';
    }
}
// for frontend and backend
if (!class_exists('ParsedownExtra')) {
    require $addon_dir . '/lib/ParsedownExtra.php';
}
コード例 #11
0
ファイル: config.inc.php プロジェクト: Barnhiac/MTW_REDAXO
<?php

/**
 * Backend Search Addon
 *
 * @author markus[dot]staab[at]redaxo[dot]de Markus Staab
 *
 * @package redaxo4
 * @version svn:$Id$
 */
$mypage = 'be_search';
/* Addon Parameter */
$REX['ADDON']['rxid'][$mypage] = '256';
//$REX['ADDON']['name'][$mypage] = 'Backend Search';
//$REX['ADDON']['perm'][$mypage] = 'be_search[]';
$REX['ADDON']['version'][$mypage] = '1.3';
$REX['ADDON']['author'][$mypage] = 'Markus Staab';
$REX['ADDON']['supportpage'][$mypage] = 'forum.redaxo.de';
// Suchmodus
// global => Es werden immer alle Kategorien durchsucht
// local => Es werden immer die aktuelle+Unterkategorien durchsucht
// $REX['ADDON']['searchmode'][$mypage] = 'global';
$REX['ADDON']['searchmode'][$mypage] = 'local';
$REX['EXTPERM'][] = 'be_search[mediapool]';
$REX['EXTPERM'][] = 'be_search[structure]';
if ($REX['REDAXO']) {
    $I18N->appendFile($REX['INCLUDE_PATH'] . '/addons/' . $mypage . '/lang/');
    // Include Functions
    require_once $REX['INCLUDE_PATH'] . '/addons/be_search/functions/functions.search.inc.php';
    rex_register_extension('PAGE_CHECKED', 'rex_a256_extensions_handler');
}
コード例 #12
0
ファイル: redirects.inc.php プロジェクト: omphteliba/seo42
    $createDate = seo42_utils::getDate();
    $expireDate = seo42_utils::getDate($maxAge);
    if (!seo42_utils::redirectsDoExpire()) {
        $expireDate = 0;
    }
    $sql = rex_sql::factory();
    $sql->setDebug(true);
    $sql->setQuery('UPDATE `' . $REX['TABLE_PREFIX'] . 'redirects` SET create_date = "' . $createDate . '", expire_date = "' . $expireDate . '" WHERE id = ' . $redirectId);
    seo42_utils::updateRedirectsFile(false);
    // use exit statement, if you want to debug
    return true;
});
// delete redirect (after form submit)
rex_register_extension('REX_FORM_DELETED', function ($params) {
    global $REX;
    seo42_utils::updateRedirectsFile(false);
    // use exit statement, if you want to debug
    return true;
});
// output
echo '<div class="rex-addon-output-v2">';
if ($func == '') {
    // rex list
    $query = 'SELECT * FROM ' . $REX['TABLE_PREFIX'] . 'redirects ORDER BY id';
    $list = rex_list::factory($query, 9999);
    $list->setNoRowsMessage($I18N->msg('seo42_redirect_no_sytles_available'));
    $list->setCaption($I18N->msg('seo42_redirect_list_of_redirects'));
    $list->addTableAttribute('summary', $I18N->msg('seo42_redirect_list_of_redirects'));
    $list->setColumnLabel('id', $I18N->msg('seo42_redirect_id'));
    $list->setColumnLabel('source_url', $I18N->msg('seo42_redirect_source_url'));
    $list->setColumnLabel('target_url', $I18N->msg('seo42_redirect_target_url'));
    if (seo42_utils::redirectsDoExpire()) {
コード例 #13
0
/**
 * Userinfo Addon
 * 
 * @author markus[dot]staab[at]redaxo[dot]de Markus Staab
 * @author <a href="http://www.redaxo.de">www.redaxo.de</a>
 * 
 * @package redaxo4
 * @version svn:$Id$
 */
$mypage = 'userinfo';
/* Addon Parameter */
$REX['ADDON']['rxid'][$mypage] = '659';
$REX['ADDON']['page'][$mypage] = $mypage;
$REX['ADDON']['version'][$mypage] = '1.3';
$REX['ADDON']['author'][$mypage] = 'Markus Staab';
$REX['ADDON']['supportpage'][$mypage] = 'forum.redaxo.de';
// im backend und eingeloggt?
if ($REX["REDAXO"] && $REX["USER"]) {
    if (rex_request('page', 'string') == 'be_dashboard') {
        $I18N->appendFile(dirname(__FILE__) . '/lang/');
        if (!defined('A659_DEFAULT_LIMIT')) {
            define('A659_DEFAULT_LIMIT', 7);
        }
        require_once dirname(__FILE__) . '/functions/function_userinfo.inc.php';
        require_once dirname(__FILE__) . '/classes/class.dashboard.inc.php';
        $components = array('rex_articles_component', 'rex_media_component', 'rex_stats_component');
        foreach ($components as $compClass) {
            rex_register_extension('DASHBOARD_COMPONENT', array(new $compClass(), 'registerAsExtension'));
        }
    }
}
コード例 #14
0
$I18N_COM = new i18n($REX['LANG'], $REX['INCLUDE_PATH'] . '/addons/' . $mypage . '/lang');
// ----- Community User Funktionen
include $REX["INCLUDE_PATH"] . "/addons/community/functions/functions.rex_com_user.inc.php";
include $REX["INCLUDE_PATH"] . "/addons/community/functions/functions.rex_com_replace.inc.php";
include $REX["INCLUDE_PATH"] . "/addons/community/functions/functions.rex_com_blaettern.inc.php";
include $REX["INCLUDE_PATH"] . "/addons/community/functions/functions.rex_com_formatter.inc.php";
if ($REX["REDAXO"]) {
    $REX['EXTRAPERM'][] = "community[admin]";
    $REX['EXTRAPERM'][] = "community[users]";
    include $REX["INCLUDE_PATH"] . "/addons/community/functions/functions.userconfig.inc.php";
}
// ----- XForm values/action/validations einbinden
$REX['ADDON']['community']['xform_path']['value'] = array($REX['INCLUDE_PATH'] . '/addons/community/xform/classes/value/');
$REX['ADDON']['community']['xform_path']['validate'] = array($REX['INCLUDE_PATH'] . '/addons/community/xform/classes/validate/');
$REX['ADDON']['community']['xform_path']['action'] = array($REX['INCLUDE_PATH'] . '/addons/community/xform/classes/action/');
rex_register_extension('ADDONS_INCLUDED', 'rex_com_xform_add');
function rex_com_xform_add($params)
{
    global $REX;
    foreach ($REX['ADDON']['community']['xform_path']['value'] as $value) {
        $REX['ADDON']['xform']['classpaths']['value'][] = $value;
    }
    foreach ($REX['ADDON']['community']['xform_path']['validate'] as $validate) {
        $REX['ADDON']['xform']['classpaths']['validate'][] = $validate;
    }
    foreach ($REX['ADDON']['community']['xform_path']['action'] as $action) {
        $REX['ADDON']['xform']['classpaths']['action'][] = $action;
    }
}
// ----- PlugIns
$REX['ADDON']['community']['subpages'] = array();
コード例 #15
0
<?php

/**
 * Textile Addon
 *
 * @author markus[dot]staab[at]redaxo[dot]de Markus Staab
 * 
 * @package redaxo4
 * @version svn:$Id$
 */
$mypage = 'textile';
$REX['ADDON']['rxid'][$mypage] = '79';
$REX['ADDON']['page'][$mypage] = $mypage;
$REX['ADDON']['name'][$mypage] = 'Textile';
$REX['ADDON']['perm'][$mypage] = 'textile[]';
$REX['ADDON']['version'][$mypage] = "1.2";
$REX['ADDON']['author'][$mypage] = "Markus Staab, Dean Allen www.textism.com";
$REX['ADDON']['supportpage'][$mypage] = 'forum.redaxo.de';
$REX['PERM'][] = 'textile[]';
$REX['EXTPERM'][] = 'textile[help]';
require_once $REX['INCLUDE_PATH'] . '/addons/textile/classes/class.textile.inc.php';
require_once $REX['INCLUDE_PATH'] . '/addons/textile/functions/function_textile.inc.php';
if ($REX['REDAXO']) {
    require_once $REX['INCLUDE_PATH'] . '/addons/textile/extensions/function_extensions.inc.php';
    require_once $REX['INCLUDE_PATH'] . '/addons/textile/functions/function_help.inc.php';
    $I18N->appendFile($REX['INCLUDE_PATH'] . '/addons/' . $mypage . '/lang/');
    rex_register_extension('PAGE_HEADER', 'rex_a79_css_add');
}
コード例 #16
0
    // favicon create/update
    if ($REX['WEBSITE_MANAGER_SETTINGS']['colorize_favicon'] && $formValues['color'] != '') {
        rex_website_manager::createIcon($formValues['color']);
    }
    // update init file to reflect changes
    rex_website_manager::updateInitFile();
    return true;
});
// delete website (after form submit)
rex_register_extension('REX_FORM_DELETED', function ($params) {
    global $REX;
    // get values from submitted form
    $websiteId = $params['form']->params['website_id'];
    // destroy website
    rex_website_manager::destroyWebsite($websiteId);
    // delete clang file for clang fix
    if (!$REX['WEBSITE_MANAGER_SETTINGS']['identical_clangs']) {
        rex_website_manager::deleteClangFile($websiteId);
    }
    // update init file to reflect changes
    rex_website_manager::updateInitFile();
    return true;
});
// output
echo '<div class="rex-addon-output-v2">';
if ($REX['WEBSITE_MANAGER']->getCurrentWebsiteId() > 1) {
    // user can only edit websites if selected website is master website
    echo rex_info($I18N->msg('website_manager_website_master_msg'));
} elseif ($func == '') {
    // show website list
    $query = 'SELECT * FROM rex_website ORDER BY priority';
    $list = rex_list::factory($query, 10000);
コード例 #17
0
#
# simple Benchmark Addon
# Shows Script Time in Frontend when activated
#
################################################################################
$mypage = "Benchmark";
$REX['ADDON']['rxid'][$mypage] = "REX_BENCHMARK";
$REX['ADDON']['page'][$mypage] = $mypage;
$REX['ADDON']['name'][$mypage] = "Benchmark";
$REX['ADDON']['perm'][$mypage] = "benchmark[]";
$REX['PERM'][] = "benchmark[]";
// Nur im Frontend
if (!$REX['REDAXO']) {
    function rex_cached_benchmark($params)
    {
        return rex_benchmark($params, true);
    }
    function rex_benchmark($params, $cached = false)
    {
        $div = '<div style="position: absolute; top: 10px; left: 10px;background-color:#EFEFEF;border:2px solid;padding:4px" onClick="this.style.display=\'none\'">';
        $div .= '<b>Redaxo Benchmark Time:</b><br />' . showScripttime() . ' sec';
        if ($cached) {
            $div .= ' (cached)';
        }
        $div .= '</div>';
        $params['subject'] = str_replace('</body>', $div . '</body>', $params['subject']);
        return $params['subject'];
    }
    rex_register_extension('OUTPUT_CACHE', 'rex_cached_benchmark');
    rex_register_extension('OUTPUT_FILTER', 'rex_benchmark');
}
コード例 #18
0
$REX['ADDON']['page'][$mypage] = $mypage;
$REX['ADDON']['name'][$mypage] = "Stellenmarkt";
$REX['ADDON']['version'][$mypage] = '2.0.7';
$REX['ADDON']['perm'][$mypage] = $mypage . '[]';
$REX['ADDON']['author'][$mypage] = "www.design-to-use.de - Tobias Krais - http://www.design-to-use.de/";
$REX['PERM'][] = $mypage . '[]';
// SEO42 Erweiterung
if (OOAddon::isActivated('seo42')) {
    // SEO42
    require_once dirname(__FILE__) . "/extensions/seo42.inc.php";
    // URLs fuer SEO42 bekannt machen
    rex_register_extension('SEO42_PATHLIST_CREATED', 'd2u_stellenmarkt_extended_urls');
    // URLs in Sitemap eintragen
    rex_register_extension('SEO42_SITEMAP_ARRAY_CREATED', 'd2u_stellenmarkt_extended_sitemap');
}
rex_register_extension('OOMEDIA_IS_IN_USE', 'rex_d2u_stellenmarkt_media_is_in_use');
// add subpages
$REX['ADDON'][$mypage]['SUBPAGES'] = array(array('', $I18N_STELLEN->msg('stellenangebote')), array('kategorien', $I18N_STELLEN->msg('kategorien')), array('kontakte', $I18N_STELLEN->msg('kontakte')));
if (OOPlugin::isAvailable('d2u_stellenmarkt', 'hr4you_sync')) {
    array_push($REX['ADDON'][$mypage]['SUBPAGES'], array('hr4you_sync', 'HR4YOU Sync'));
}
/**
 * Prüft ob dieses Addon Medien im Medienpool nutzt.
 * @global array $REX Redaxo Einstellungen
 * @param type $params Übergabeparameter des Extension Points
 * @return string Warnnachricht als Array
 */
function rex_d2u_stellenmarkt_media_is_in_use($params)
{
    global $REX;
    $warning = $params['subject'];
コード例 #19
0
<?php

// replace funktion
// - ersetzt user felder
rex_register_extension('OUTPUT_FILTER', 'rex_com_replace');
function rex_com_replace($params)
{
    global $REX;
    $content = $params['subject'];
    if (isset($REX["COM_USER"]) && is_object($REX["COM_USER"]) && !$REX["REDAXO"]) {
        $replace_array = array("id" => $REX["COM_USER"]->getValue("id"), "login" => $REX["COM_USER"]->getValue("login"), "firstname" => $REX["COM_USER"]->getValue("firstname"), "name" => $REX["COM_USER"]->getValue("name"), "email" => $REX["COM_USER"]->getValue("email"));
        foreach ($replace_array as $search => $value) {
            $content = str_replace("###" . $search . "###", $value, $content);
        }
    }
    return $content;
}
function rex_formatter($value, $format = "datetime", $type = "datetime")
{
    $return = $value;
    if ($type == "timestamp") {
        $value = date("Y-m-d H:i:s", $value);
    }
    if ($format == "cent2euro") {
        $value = number_format($value / 100, 2, ',', '');
        $return = $value . " EUR";
    } elseif ($format == "datetime") {
        // 2000-24-12 13:12:11
        $y = substr($value, 0, 4);
        $m = substr($value, 5, 2);
        $d = substr($value, 8, 2);
コード例 #20
0
<?php

/**
 * MetaForm Addon
 * @author markus[dot]staab[at]redaxo[dot]de Markus Staab
 *
 * @package redaxo4
 * @version svn:$Id$
 */
rex_register_extension('OOMEDIA_IS_IN_USE', 'rex_a62_media_is_in_use');
/**
 * Erstellt den nötigen HTML Code um ein Formular zu erweitern
 *
 * @param $sqlFields rex_sql-objekt, dass die zu verarbeitenden Felder enthält
 * @param $activeItem objekt, dass mit getValue() die Werte des akuellen Eintrags zurückgibt
 * @param $formatCallback callback, dem die infos als Array übergeben werden und den formatierten HTML Text zurückgibt
 */
function rex_a62_metaFields($sqlFields, $activeItem, $formatCallback, $epParams)
{
    global $I18N, $REX;
    $s = '';
    // Startwert für MEDIABUTTON, MEDIALIST, LINKLIST zähler
    $media_id = 1;
    $mlist_id = 1;
    $link_id = 1;
    $llist_id = 1;
    $sqlFields->reset();
    for ($i = 0; $i < $sqlFields->getRows(); $i++, $sqlFields->next()) {
        // Umschliessendes Tag von Label und Formularelement
        $tag = 'p';
        $tag_attr = '';
コード例 #21
0
            $baseDir .= "/";
        }
        // immer absolute Urls erzeugen, da relative mit rex_redirect() nicht funktionieren
        // da dieser den <base href="" /> nicht kennt.
        return $baseDir . $url;
    }
}
/*
 * Allgemeine EP Definitionen
 */
if ($REX['REDAXO']) {
    // Die Pathnames bei folgenden Extension Points aktualisieren
    $extension = 'rex_rewriter_generate_pathnames';
    $extensionPoints = array('CAT_ADDED', 'CAT_UPDATED', 'CAT_DELETED', 'ART_ADDED', 'ART_UPDATED', 'ART_DELETED', 'ALL_GENERATED');
    foreach ($extensionPoints as $extensionPoint) {
        rex_register_extension($extensionPoint, $extension);
    }
}
/**
 * rex_rewriter_generate_pathnames
 * generiert die Pathlist, abhŠngig von Aktion
 * @author markus.staab[at]redaxo[dot]de Markus Staab
 * @package redaxo4.2
 */
function rex_rewriter_generate_pathnames($params)
{
    global $REX, $REXPATH;
    if (file_exists(FULLNAMES_PATHLIST)) {
        require_once FULLNAMES_PATHLIST;
    }
    if (!isset($REXPATH)) {
コード例 #22
0
<?php

/**
 * XForm
 * @author jan.kristinus[at]redaxo[dot]org Jan Kristinus
 * @author <a href="http://www.yakamara.de">www.yakamara.de</a>
 */
rex_register_extension('REX_LIST_CLASSNAME', 'rex_xform_list_ep');
function rex_xform_list_ep($params)
{
    return new rex_xform_list($params['query'], $params['rowsPerPage'], $params['listName'], $params['debug']);
}
class rex_xform_list extends rex_list
{
    static function factory($query, $rowsPerPage = 30, $listName = null, $debug = false, $class = null)
    {
        if (!$class) {
            // ----- EXTENSION POINT
            $class = rex_register_extension_point('REX_LIST_CLASSNAME', 'rex_xform_list', array('query' => $query, 'rowsPerPage' => $rowsPerPage, 'listName' => $listName, 'debug' => $debug));
        }
        return new $class($query, $rowsPerPage, $listName, $debug);
    }
    function getPagination()
    {
        global $I18N;
        $s = $this->getPlainView();
        // $s .= $this->getClassicView();
        return $s;
    }
    // ------------------------------------------------------- VIEWS
    function getClassicView()
コード例 #23
0
$REX['ADDON']['image_resize']['max_resizekb'] = 300;
$REX['ADDON']['image_resize']['max_resizepixel'] = 500;
$REX['ADDON']['image_resize']['jpg_quality'] = 75;
// --- /DYN
include_once $REX['INCLUDE_PATH'] . '/addons/image_resize/classes/class.thumbnail.inc.php';
if ($REX['GG']) {
    require_once $REX['INCLUDE_PATH'] . '/addons/image_resize/extensions/extension_wysiwyg.inc.php';
    rex_register_extension('OUTPUT_FILTER', 'rex_resize_wysiwyg_output');
} else {
    // Bei Update Cache loeschen
    if (!function_exists('rex_image_ep_mediaupdated')) {
        rex_register_extension('MEDIA_UPDATED', 'rex_image_ep_mediaupdated');
        function rex_image_ep_mediaupdated($params)
        {
            rex_thumbnail::deleteCache($params["filename"]);
        }
    }
}
// Resize Script
$rex_resize = rex_get('rex_resize', 'string');
if ($rex_resize != '') {
    rex_thumbnail::createFromUrl($rex_resize);
}
if ($REX['REDAXO']) {
    if (rex_get('css', 'string') == 'addons/' . $mypage) {
        $cssfile = $REX['INCLUDE_PATH'] . '/addons/' . $mypage . '/css/image_resize.css';
        rex_send_file($cssfile, 'text/css');
        exit;
    }
    rex_register_extension('PAGE_HEADER', create_function('$params', 'return $params[\'subject\'] .\'  <link rel="stylesheet" type="text/css" href="index.php?css=addons/' . $mypage . '" />\'."\\n";'));
}
コード例 #24
0
ファイル: config.inc.php プロジェクト: Barnhiac/MTW_REDAXO
        }
        if ($subject['rex_img_init']) {
            $image = new rex_image($imagepath);
            $image_cacher = new rex_image_cacher($cachepath);
            $image_manager = new rex_image_manager($image_cacher);
            $image = $image_manager->applyEffects($image, $rex_img_type);
            $image_manager->sendImage($image, $rex_img_type);
            exit;
        }
    }
}
if ($REX['REDAXO']) {
    // delete thumbnails on mediapool changes
    if (!function_exists('rex_image_manager_ep_mediaupdated')) {
        rex_register_extension('MEDIA_UPDATED', 'rex_image_manager_ep_mediaupdated');
        rex_register_extension('MEDIA_DELETED', 'rex_image_manager_ep_mediaupdated');
        function rex_image_manager_ep_mediaupdated($params)
        {
            rex_image_cacher::deleteCache($params['filename']);
        }
    }
    // handle backend pages
    $I18N->appendFile($REX['INCLUDE_PATH'] . '/addons/' . $mypage . '/lang/');
    $descPage = new rex_be_page($I18N->msg('imanager_subpage_desc'), array('page' => 'image_manager', 'subpage' => ''));
    $descPage->setHref('index.php?page=image_manager');
    $confPage = new rex_be_page($I18N->msg('imanager_subpage_types'), array('page' => 'image_manager', 'subpage' => array('types', 'effects')));
    $confPage->setHref('index.php?page=image_manager&subpage=types');
    $settingsPage = new rex_be_page($I18N->msg('imanager_subpage_config'), array('page' => 'image_manager', 'subpage' => 'settings'));
    $settingsPage->setHref('index.php?page=image_manager&subpage=settings');
    $ccPage = new rex_be_page($I18N->msg('imanager_subpage_clear_cache'), array('page' => 'image_manager', 'subpage' => 'clear_cache'));
    $ccPage->setHref('index.php?page=image_manager&subpage=clear_cache');
コード例 #25
0
$mypage = "stats";
// only for this file
include_once $REX['INCLUDE_PATH'] . "/addons/{$mypage}/classes/class.stats.inc.php";
if (!$REX['GG']) {
    // only backend
    // CREATE LANG OBJ FOR THIS ADDON
    $I18N_STATS = new i18n($REX['LANG'], $REX['INCLUDE_PATH'] . "/addons/{$mypage}/lang");
    $REX['ADDON']['rxid'][$mypage] = "7";
    // unique redaxo addon id
    $REX['ADDON']['page'][$mypage] = $mypage;
    $REX['ADDON']['name'][$mypage] = $I18N_STATS->msg("stats_title");
    $REX['ADDON']['perm'][$mypage] = "stats[]";
    $REX['PERM'][] = "stats[]";
} else {
    $REX['STATS'] = 1;
    function rex_addStatEntry($params)
    {
        global $REX, $REX_ARTICLE;
        $content = $params['subject'];
        $aid = (int) $REX_ARTICLE->getValue("article_id");
        if ($REX['STATS'] == 1) {
            $log = new stats();
            $log->writeLog($aid);
        }
        return $content;
    }
    rex_register_extension('OUTPUT_FILTER', 'rex_addStatEntry');
}
// backend and frontend
$REX['ADDON']['tbl']['log'][$mypage] = "rex_7_log";
// wir noch nicht benutzt
コード例 #26
0
    // TinyMCE-Init-Javascript ausliefern
    if ($rxa_tinymce['get_tinymceinit'] == 'true') {
        a52_tinymce_output_init();
        exit;
    }
    // Im Backend Sprachobjekt anlegen
    $I18N_A52 = new i18n($REX['LANG'], $REX['INCLUDE_PATH'] . '/addons/' . $rxa_tinymce['name'] . '/lang/');
    // Addon-Subnavigation für das REDAXO-Menue
    $REX['ADDON'][$rxa_tinymce['name']]['SUBPAGES'] = array(array('', $I18N_A52->msg('menu_module')), array('settings', $I18N_A52->msg('menu_settings')), array('css', $I18N_A52->msg('menu_css')), array('tipps', $I18N_A52->msg('menu_tipps')), array('info', $I18N_A52->msg('menu_information')));
    // ausgewählte Seiten laut Konfiguration
    $rxa_tinymce['includepages'] = explode(',', trim(str_replace(' ', '', $REX['ADDON'][$rxa_tinymce['name']]['pages'])));
    if (!in_array('content', $rxa_tinymce['includepages'])) {
        $rxa_tinymce['includepages'][] = 'content';
    }
    // TinyMCE ins Backend integrieren, nur in ausgewählten Seiten laut Konfiguration
    if ($rxa_tinymce['get_page'] != '' and in_array($rxa_tinymce['get_page'], $rxa_tinymce['includepages']) and $REX['ADDON'][$rxa_tinymce['name']]['active'] == 'on') {
        rex_register_extension('OUTPUT_FILTER', 'a52_tinymce_opf');
    }
    // Outputfilter für Medienpool und Linkmap
    if ($REX['ADDON'][$rxa_tinymce['name']]['active'] == 'on') {
        $rxa_tinymce['get_inputfield'] = rex_request('opener_input_field', 'string');
        if (strstr($rxa_tinymce['get_inputfield'], 'REX_MEDIA_') or strstr($rxa_tinymce['get_inputfield'], 'LINK_')) {
            $_SESSION['a52_tinymce'] = false;
        }
        if (($rxa_tinymce['get_page'] == $rxa_tinymce['medienpool'] or $rxa_tinymce['get_page'] == $rxa_tinymce['linkmap']) and ($rxa_tinymce['get_tinymce'] == 'true' or isset($_SESSION['a52_tinymce']) and $_SESSION['a52_tinymce'] == 'true')) {
            rex_register_extension('MEDIA_ADDED', 'a52_tinymce_mediaadded');
            rex_register_extension('OUTPUT_FILTER', 'a52_tinymce_opf_media_linkmap');
        }
    }
}
// Ende nur im Backend
コード例 #27
0
ファイル: index.inc.php プロジェクト: olien/mysql_tools
*/
/**
* SQLBuddy Lib
* @link https://github.com/calvinlough/sqlbuddy
* @version 1.3.3
*/
// GET PARAMS
////////////////////////////////////////////////////////////////////////////////
$mypage = rex_request('page', 'string');
$subpage = rex_request('subpage', 'string');
$faceless = rex_request('faceless', 'string');
if ($faceless != 1) {
    // BACKEND CSS
    //////////////////////////////////////////////////////////////////////////////
    if ($REX['REDAXO']) {
        rex_register_extension('PAGE_HEADER', 'mysql_tools_header');
        function mysql_tools_header($params)
        {
            $params['subject'] .= PHP_EOL . '  <!-- mysql_tools Addon -->' . PHP_EOL . '  <link rel="stylesheet" type="text/css" href="../files/addons/mysql_tools/backend.css" media="screen, projection, print" />' . PHP_EOL . '  <!-- /mysql_tools Addon -->' . PHP_EOL;
            return $params['subject'];
        }
    }
    // REX BACKEND LAYOUT TOP
    //////////////////////////////////////////////////////////////////////////////
    require $REX['INCLUDE_PATH'] . '/layout/top.php';
    // TITLE & SUBPAGE NAVIGATION
    //////////////////////////////////////////////////////////////////////////////
    rex_title($REX['ADDON']['name'][$mypage] . ' <span class="addonversion">' . $REX['ADDON']['version'][$mypage] . '</span>', $REX['ADDON'][$mypage]['SUBPAGES']);
    // INCLUDE REQUESTED SUBPAGE
    //////////////////////////////////////////////////////////////////////////////
    if (!$subpage) {
コード例 #28
0
ファイル: news.php プロジェクト: Sysix/asd_news
    if (rex_asd_news_config::isControlPlugin()) {
        foreach (array('REX_FORM_SAVED', 'REX_FORM_DELETED') as $extension) {
            rex_register_extension($extension, 'url_generate::generatePathFile');
        }
    }
    $title = $func == 'add' ? $I18N->msg('add') : $I18N->msg('edit');
    $form = new rex_news_form(rex_asd_news_config::getTable(), ucfirst($title), 'id=' . $id . ' AND clang = ' . $clang);
    $form->divId = 'asd_news-addon-editmode';
    $field = $form->addTextField('title');
    $field->setLabel($I18N->msg('asd_news_title'));
    if (OOAddon::isAvailable('metainfo')) {
        $form->addRawField($form->getMetainfoExtension());
    }
    $form->addHiddenField('clang', (int) $clang);
    $form->addHiddenField('updatedAt', $now->format('Y-m-d H:i:s'));
    $form->addHiddenField('updatedBy', $REX['USER']->getValue('user_id'));
    $form->addParam('clang', (int) $clang);
    $form->addParam('id', (int) $id);
    if ($func == 'add') {
        $id = rex_asd_news::getLastNewsId() + 1;
    }
    $form->addHiddenField('id', $id);
    if ($func == 'add') {
        $form->addHiddenField('createdAt', $now->format('Y-m-d H:i:s'));
        $form->addHiddenField('createdBy', $REX['USER']->getValue('user_id'));
        rex_register_extension('REX_FORM_SAVED', function ($subject) use($clang, $REX, $id) {
            rex_news_form::saveOverLangValues($subject['form'], $id, $clang);
        });
    }
    $form->show();
}
コード例 #29
0
<?php

/**
 * REDAXO Version Checker Addon
 * 
 * @author markus[dot]staab[at]redaxo[dot]de Markus Staab
 * @author <a href="http://www.redaxo.de">www.redaxo.de</a>
 * 
 * @package redaxo4
 * @version svn:$Id$
 */
$mypage = 'version_checker';
/* Addon Parameter */
$REX['ADDON']['rxid'][$mypage] = '657';
$REX['ADDON']['version'][$mypage] = '1.3';
$REX['ADDON']['author'][$mypage] = 'Markus Staab, Jan Kristinus';
$REX['ADDON']['supportpage'][$mypage] = 'forum.redaxo.de';
// im backend und eingeloggt?
if ($REX["REDAXO"] && $REX["USER"]) {
    if (rex_request('page', 'string') == 'be_dashboard') {
        $I18N->appendFile(dirname(__FILE__) . '/lang/');
        require_once dirname(__FILE__) . '/functions/function_version_check.inc.php';
        require_once dirname(__FILE__) . '/classes/class.dashboard.inc.php';
        rex_register_extension('DASHBOARD_NOTIFICATION', array(new rex_version_checker_notification(), 'registerAsExtension'));
    }
}
コード例 #30
0
<?php

/**
 * MetaForm Addon
 * @author markus[dot]staab[at]redaxo[dot]de Markus Staab
 *
 * @package redaxo4
 * @version $Id: extension_cleanup.inc.php,v 1.5 2008/04/04 22:23:48 kills Exp $
 */
rex_register_extension('A1_BEFORE_DB_IMPORT', 'rex_a62_metainfo_cleanup');
/**
 * Alle Metafelder löschen, nicht das nach einem Import in der Parameter Tabelle
 * noch Datensätze zu Feldern stehen, welche nicht als Spalten in der
 * rex_article angelegt wurden!
 */
function rex_a62_metainfo_cleanup($params)
{
    global $REX;
    // Cleanup nur durchführen, wenn auch die rex_article Tabelle neu angelegt wird
    if (isset($params['force']) && $params['force'] != true && strpos($params['content'], 'CREATE TABLE `' . $REX['TABLE_PREFIX'] . 'article`') === false && strpos($params['content'], 'CREATE TABLE ' . $REX['TABLE_PREFIX'] . 'article') === false) {
        return;
    }
    require_once $REX['INCLUDE_PATH'] . '/addons/metainfo/classes/class.rex_table_manager.inc.php';
    $sql = new rex_sql();
    $sql->setQuery('SELECT name FROM ' . $REX['TABLE_PREFIX'] . '62_params');
    for ($i = 0; $i < $sql->getRows(); $i++) {
        if (substr($sql->getValue('name'), 0, 4) == 'med_') {
            $tableManager = new rex_a62_tableManager($REX['TABLE_PREFIX'] . 'file');
        } else {
            $tableManager = new rex_a62_tableManager($REX['TABLE_PREFIX'] . 'article');
        }