Includes in custom pageheader() Includes in custom pageheader()
 

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Main Menu

Includes in custom pageheader()

Started by Michi, March 13, 2005, 08:42:38 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Michi

Hey.

This is what my pageheader-function looks like now:


function pageheader($section, $meta = '')
{
    global $CONFIG, $THEME_DIR;
    global $template_header, $lang_charset, $lang_text_dir;

   // this is the place where the custom header file gets included

      ob_start();
      include('/home/docs/php/templates/layout.php');
      beginBody();
      $beginBody = ob_get_contents();
      ob_end_clean();

      ob_start();
      beginPage();
      $beginPage = ob_get_contents();
      ob_end_clean();


    header('P3P: CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"');
    user_save_profile();

    $template_vars = array('{LANG_DIR}' => $lang_text_dir,
        '{TITLE}' => $CONFIG['gallery_name'] . ' - ' . $section,
        '{CHARSET}' => $CONFIG['charset'] == 'language file' ? $lang_charset : $CONFIG['charset'],
        '{META}' => $meta,
        '{GAL_NAME}' => $CONFIG['gallery_name'],
        '{GAL_DESCRIPTION}' => $CONFIG['gallery_description'],
        '{MAIN_MENU}' => theme_main_menu(),
        '{ADMIN_MENU}' => theme_admin_mode_menu(),
        '{BEGIN_PAGE}' => $beginPage,
        '{BEGIN_BODY}' => $beginBody,
        );

    echo template_eval($template_header, $template_vars);
}

The layout.php -file I'm including checks what style template file the page is supposed to use. The template file consists of functions, eg beginBody(), that consist of the template HTML-stuff I'm trying to wrap the Coppermine galleries with.

Problem is that when I try to print out certain stuff, for example the username, the $username variable that is declared in the beginning of the template file, isn't available in the beginBody-function.



$userid = $_REQUEST['bbuserid']; //THIS IS SET IN A COOKIE


It works fine in vBulletin, so I've figured it has something to do with CPG... I have CPG 1.2.0 installed. Does Coppermine somehow "separate" the functions from the original file and therefore loses the variables along the way...?

kegobeer

Any variables you want available inside of a function need to be declared in a GLOBAL statement.  Coppermine doesn't use $username, your username is set in the constant USER_NAME, which doesn't need to be declared in a global statement.  You can see this variable used in the theme.php file.
Do not send me a private message unless I ask for one.  Make your post public so everyone can benefit.

There are no stupid questions
But there are a LOT of inquisitive idiots

Michi

in the function endPage() I'm trying to call variable $userid, which is defined in the very beginning of the template file.

$userid = $_COOKIE['bbuserid'];

After that, I have GLOBAL $userid

But in the endPage() a "echo $userid;" -code prints out nothing.

As I use the same templates with vBulletin and news publishing, I really wouldn't want to start inserting CPG variables to the templates...