コード例 #1
0
ファイル: txp_image.php プロジェクト: bgarrels/textpattern
/*
	This is Textpattern
	Copyright 2005 by Dean Allen
	www.textpattern.com
	All rights reserved
	Use of this software indicates acceptance of the Textpattern license agreement
$HeadURL$
$LastChangedRevision$
*/
if (!defined('txpinterface')) {
    die('txpinterface is undefined.');
}
include_once txpath . '/lib/txplib_controller.php';
include_once txpath . '/lib/txplib_view.php';
include_once txpath . '/lib/txplib_image.php';
register_controller('ImageController', 'image');
global $path_to_site, $img_dir;
define("IMPATH", $path_to_site . DS . $img_dir . DS);
// -------------------------------------------------------------
class ImageController extends ZemAdminController
{
    var $area = 'image';
    var $event = 'image';
    var $caption = 'images';
    var $default_step = 'list';
    var $extensions = array(0, '.gif', '.jpg', '.png', '.swf', 0, 0, 0, 0, 0, 0, 0, 0, '.swf');
    var $context = array();
    function ImageController()
    {
        parent::ZemAdminController();
        $this->context = gpsa(array('page', 'sort', 'dir', 'crit', 'search_method'));
コード例 #2
0
    }
    // encoding to html must come before the replacement below
    $css = htmlspecialchars($css, ENT_NOQUOTES, 'UTF-8');
    // replace newline characters by an entity to prevent render_object()
    // from adding some indentation
    $css = str_replace("\r\n", '
', $css);
    $css = str_replace("\n", '
', $css);
    // why not replace tabs as well why we are at it
    $css = str_replace("\t", '	', $css);
    body_append('<textarea id="user_css_text" placeholder="enter css code here">' . $css . '</textarea>' . nl());
    body_append('<br>' . nl());
    body_append('<input id="user_css_save" type="button" value="save">' . nl());
    echo html_finalize();
}
register_controller('stylesheet', '', 'controller_user_css_stylesheet', array('auth' => true));
register_controller('*', 'stylesheet', 'controller_user_css_stylesheet', array('auth' => true));
function user_css_render_object($args)
{
    $obj = $args['obj'];
    if (!isset($obj['type']) || $obj['type'] != 'usercss') {
        return false;
    }
    if (!empty($obj['content'])) {
        html_add_css_inline($obj['content'], 6);
    }
    return '';
}
function user_css_render_page_early($args)
{
    // include the global usercss if it exists
    if (@is_file(CONTENT_DIR . '/usercss')) {
コード例 #3
0
    }
    html_add_js_var('$.glue.conf.page.startpage', startpage());
    $bdy =& body();
    elem_attr($bdy, 'id', 'pages');
    body_append('<h1>All pages</h1>');
    load_modules('glue');
    $pns = pagenames(array());
    $pns = $pns['#data'];
    foreach ($pns as $pn) {
        // display only pages with 'head'
        if (is_dir(CONTENT_DIR . '/' . $pn . '/head')) {
            body_append('<div class="page_browser_entry" id="' . htmlspecialchars($pn, ENT_COMPAT, 'UTF-8') . '"><span class="page_browser_pagename"><a href="' . base_url() . '?' . htmlspecialchars(urlencode($pn), ENT_COMPAT, 'UTF-8') . '">' . htmlspecialchars($pn, ENT_NOQUOTES, 'UTF-8') . '</a></span> ');
            if ($pn . '.head' == startpage()) {
                body_append('<span id="page_browser_startpage">[startpage]</span> ');
            }
        }
        body_append('</div>');
    }
    echo html_finalize();
}
register_controller('pages', '', 'controller_pages', array('auth' => PAGES_NEED_AUTH));
function page_browser_render_page_early($args)
{
    if ($args['edit']) {
        if (USE_MIN_FILES) {
            html_add_js(base_url() . 'modules/page_browser/page_browser-edit.min.js');
        } else {
            html_add_js(base_url() . 'modules/page_browser/page_browser-edit.js');
        }
    }
}
コード例 #4
0
        die;
    }
    // otherwise create page on the fly
    load_modules('glue');
    default_html(false);
    $cache_page = true;
    render_page(array('page' => $page, 'edit' => false));
    // the $cache_page parameter is set by the html_finalize()
    $html = html_finalize($cache_page);
    echo $html;
    // and cache it
    if (0 < CACHE_TIME && $cache_page) {
        cache_output('page', $page, $html);
    }
}
register_controller('*', 'show_page', 'controller_show');
/**
 *	invoke a controller based on the query arguments given
 *
 *	this function does not return in case of an error.
 *	@param array $args query-arguments array
 *	@return mixed return value of controller that was called
 */
function invoke_controller($args)
{
    global $controllers;
    // change query-arguments so that we always have a arg0 and arg1
    if (!isset($args[0])) {
        $args[0] = array('', '');
    } elseif (is_string($args[0])) {
        $args[0] = array($args[0], '');
コード例 #5
0
ファイル: txp_category.php プロジェクト: bgarrels/textpattern
	Copyright 2005 by Dean Allen
	www.textpattern.com
	All rights reserved

	Use of this software indicates acceptance ofthe Textpattern license agreement

$HeadURL: http://svn.textpattern.com/development/crockery/textpattern/include/txp_category.php $
$LastChangedRevision: 2139 $
*/
if (!defined('txpinterface')) {
    die('txpinterface is undefined.');
}
include_once txpath . '/lib/txplib_tree.php';
include_once txpath . '/lib/txplib_controller.php';
register_controller('CategoryController', 'category');
function register_category_type($type = NULL)
{
    static $types = array('article', 'link', 'image', 'file');
    if ($type) {
        $types[] = $type;
        $types = array_unique($types);
    }
    return $types;
}
class CategoryController extends ZemAdminController
{
    var $area = 'content';
    var $event = 'category';
    var $default_step = 'list';
    var $types = array();
コード例 #6
0
    body_append('</div><div id="revisions_browser_cur">');
    if (substr($revs[$cur_rev]['revision'], 0, 5) == 'auto-') {
        body_append(date('d M y H:i', $revs[$cur_rev]['time']));
    } else {
        body_append(htmlspecialchars($revs[$cur_rev]['revision'], ENT_NOQUOTES, 'UTF-8'));
    }
    body_append('<br>');
    if ($a[1] == 'head') {
        body_append('<a href="' . base_url() . '?' . htmlspecialchars(urlencode($page), ENT_COMPAT, 'UTF-8') . '/edit">back to editing mode</a>');
    } else {
        body_append('<a id="revisions_browser_revert_btn" href="#">revert</a>');
    }
    body_append('</div><div id="revisions_browser_next">');
    if (0 < $cur_rev) {
        body_append('<a href="' . base_url() . '?' . htmlspecialchars(urlencode($revs[$cur_rev - 1]['page']), ENT_COMPAT, 'UTF-8') . '/revisions">next</a>');
    }
    body_append('</div>');
    body_append('</div>');
    echo html_finalize();
}
register_controller('*', 'revisions', 'controller_revisions', array('auth' => REVISIONS_NEED_AUTH));
function revisions_browser_render_page_early($args)
{
    if ($args['edit']) {
        if (USE_MIN_FILES) {
            html_add_js(base_url() . 'modules/revisions_browser/revisions_browser-edit.min.js');
        } else {
            html_add_js(base_url() . 'modules/revisions_browser/revisions_browser-edit.js');
        }
    }
}
コード例 #7
0
ファイル: txp_file.php プロジェクト: bgarrels/textpattern
    \      |   Michael Manfre (http://manfre.net)  |      /
    /      |_______________________________________|      \
   /___________)                               (___________\

	Textpattern Copyright 2004 by Dean Allen. All rights reserved.
	Use of this software denotes acceptance of the Textpattern license agreement

	"Mod File Upload" Copyright 2004 by Michael Manfre. All rights reserved.
	Use of this mod denotes acceptance of the Textpattern license agreement

$HeadURL$
$LastChangedRevision$
*/
include_once txpath . '/lib/txplib_controller.php';
// tell txp to run this controller for the 'file' event, and place it in the 'content' tab area
register_controller('FileController', 'file');
// -------------------------------------------------------------
class FileController extends ZemAdminController
{
    var $area = 'file';
    var $event = 'file';
    var $caption = 'file';
    var $default_step = 'list';
    var $statuses = array(2 => 'hidden', 3 => 'pending', 4 => 'live');
    function file_statuses()
    {
        $out = array();
        foreach ($this->statuses as $k => $v) {
            $out[$k] = gTxt($v);
        }
        return $out;
コード例 #8
0
ファイル: txp_prefs.php プロジェクト: bgarrels/textpattern
/*
	This is Textpattern
	Copyright 2005 by Dean Allen
	www.textpattern.com
	All rights reserved
	Use of this software indicates acceptance of the Textpattern license agreement
$HeadURL$
$LastChangedRevision$
*/
if (!defined('txpinterface')) {
    die('txpinterface is undefined.');
}
include_once txpath . '/lib/txplib_controller.php';
include_once txpath . '/lib/txplib_view.php';
register_controller('PrefsController', 'prefs');
// -------------------------------------------------------------
class PrefsController extends ZemAdminController
{
    var $area = 'admin';
    var $event = 'prefs';
    var $caption = 'prefs';
    var $default_step = 'prefs_list';
    function PrefsController()
    {
        parent::ZemAdminController();
    }
    function prefs_list_view()
    {
        global $prefs;
        $view = new PrefsView($prefs, $this->event, 'prefs_list', gTxt('site_prefs'));
コード例 #9
0
ファイル: txp_section.php プロジェクト: bgarrels/textpattern
<?php

/*
$HeadURL$
$LastChangedRevision$
*/
if (!defined('txpinterface')) {
    die('txpinterface is undefined.');
}
include_once txpath . '/lib/txplib_controller.php';
include_once txpath . '/lib/txplib_view.php';
register_controller('SectionController', 'section');
class SectionController extends ZemAdminController
{
    var $area = 'section';
    var $event = 'section';
    var $caption = 'sections';
    var $default_step = 'list';
    var $context = array();
    function SectionController()
    {
        parent::ZemAdminController();
        $this->context = gpsa(array('page', 'sort', 'dir', 'crit', 'search_method'));
        // @todo: sensible standard list view
        if (empty($this->context['sort'])) {
            $this->context['sort'] = 'name';
        }
        if ($this->context['dir'] != 'desc') {
            $this->context['dir'] = 'asc';
        }
    }