Page 1 of 1

[solved] 1.7 Admin panel fails: PHP Fatal error: Call to undefined function

Posted: Mon Apr 19, 2010 11:06 am
by BartvdPut
Hello,
I have done a clean install of version 1.7 (full) on an IIS 7 hosted environment.
The installation was without errors. All checkmarks green.

When I then tried to run the admin panel I got the error:

PHP Fatal error:  Call to undefined function testRemoteFile() in \\nitro\root\localuser\vsnapper\cmsms\admin\header.php on line 157

When I load the site (default content) I get a lot of errors like :

string(125) "Smarty error: [in tpl_top:22 line 1]: syntax error: unrecognized tag 'process_pagedata' (Smarty_Compiler.class.php, line 590)"

The root path of the website has the format of \\server\share\user\content\website

I did an install of Joomla 1.5 on the same server and this also did not work. My provider gave me a fix for one of the .php files to fix the leading double backslashes. Then it worked.

I wonder if CMSMS also needs a fix to work with an UNC root path.

Please let me know as I would prefer to use CMSMS over Joomla.

Thanks,

Bart

Re: 1.7 Admin panel fails: PHP Fatal error: Call to undefined function

Posted: Mon Apr 19, 2010 8:12 pm
by alby
BartvdPut wrote: PHP Fatal error:  Call to undefined function testRemoteFile() in \\nitro\root\localuser\vsnapper\cmsms\admin\header.php on line 157
Try to look your paths in System Information (Admin part) or in config.php

Alby

Re: 1.7 Admin panel fails: PHP Fatal error: Call to undefined function

Posted: Mon Apr 19, 2010 8:59 pm
by BartvdPut
Here is the config.php
All the paths are correct.

Global Settings in the admin panel)
#after making any changes to path or url related options

#-----------------
#Behaviour Settings
#-----------------

# These settings will effect the overall behaviour of the CMS application, please
# use extreme caution when editing these.  Additionally, some settings may have
# no effect on servers with significantly restricted configurability.

# If you are experiencing propblems with php memory limit errors, then you may
# want to try enabling and/or adjusting this setting.
# Note: Your server may not allow the application to override memory limits.
$config['php_memory_limit'] = '';

# In versions of CMS Made Simple prior to version 1.4, the page template was processed
# in it's entirety.  This behaviour was later changed to process the head portion of the
# page template after the body.  If you are working with a highly configured site that
# relies significantly on the old order of smarty processing, you may want to try
# setting this parameter to false.
$config['process_whole_template'] = false;

# CMSMS Debug Mode?  Turn it on to get a better error when you
# see {nocache} errors, or to allow seeing php notices, warnings, and errors in the html output.
# This setting will also disable browser css caching.
$config['debug'] = false;

# Output compression?
# Turn this on to allow CMS to do output compression
# this is not needed for apache servers that have mod_deflate enabled
# and possibly other servers.  But may provide significant performance
# increases on some sites.  Use caution when using this as there have
# been reports of incompatibilities with some browsers.
$config['output_compression'] = false;

#-----------------
#Database Settings
#-----------------

#This is your database connection information.  Name of the server,
#username, password and a database with proper permissions should
#all be setup before CMS Made Simple is installed.
$config['dbms'] = 'mysql';
$config['db_hostname'] = 'removed';
$config['db_username'] = 'removed';
$config['db_password'] = 'removed';
$config['db_name'] = 'removed';
#Change this param only if you know what you are doing
$config["db_port"] = '';


#If app needs to coexist with other tables in the same db,
#put a prefix here.  e.g. "cms_"
$config['db_prefix'] = 'cms_';

#Use persistent connections?  They're generally faster, but not all hosts
#allow them.
$config['persistent_db_conn'] = false;

#Use ADODB Lite?  This should be true in almost all cases.  Note, slight
#tweaks might have to be made to date handling in a "regular" adodb
#install before it can be used.
$config['use_adodb_lite'] = true;

#-------------
#Path Settings
#-------------

#Document root as seen from the webserver.  No slash at the end
#If page is requested with https use https as root url
#e.g. http://blah.com
$config['root_url'] = 'http://vsnapper.com/cmsms';
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on')
{
$config['root_url'] = str_replace('http','https',$config['root_url']);
}

#Path to document root. This should be the directory this file is in.
#e.g. /var/www/localhost
$config['root_path'] = '\\nitro\root\localuser\vsnapper\cmsms';

#Name of the admin directory
$config['admin_dir'] = 'admin';

#Where do previews get stored temporarily?  It defaults to tmp/cache.
$config['previews_path'] = '\\nitro\root\localuser\vsnapper\cmsms\tmp\cache';

#Where are uploaded files put?  This defaults to uploads.
$config['uploads_path'] = '\\nitro\root\localuser\vsnapper\cmsms\uploads';

#Where is the url to this uploads directory?
$config['uploads_url'] = $config['root_url'] . '/uploads';


#---------------
#Upload Settings
#---------------

#Maxium upload size (in bytes)?
$config['max_upload_size'] = 2000000;

#Permissions for uploaded files.  This only really needs changing if your
#host has a weird permissions scheme.
$config['default_upload_permission'] = '664';

#------------------
#Usability Settings
#------------------

#Allow smarty {php} tags?  These could be dangerous if you don't trust your users.
$config['use_smarty_php_tags'] = false;

#Automatically assign alias based on page title?
$config['auto_alias_content'] = true;

#------------
#URL Settings
#------------

#What type of URL rewriting should we be using for pretty URLs?  Valid options are:
#'none', 'internal', and 'mod_rewrite'.  'internal' will not work with IIS some CGI
#configurations. 'mod_rewrite' requires proper apache configuration, a valid
#.htaccess file and most likely {metadata} in your page templates.  For more
#information, see:
#http://wiki.cmsmadesimple.org/index.php ... ty_URL.27s
$config['url_rewriting'] = 'none';

#Extension to use if you're using mod_rewrite for pretty URLs.
$config['page_extension'] = '';

#If you're using the internal pretty url mechanism or mod_rewrite, would you like to
#show urls in their hierarchy?  (ex. http://www.mysite.com/parent/parent/childpage)
$config['use_hierarchy'] = true;

#If using none of the above options, what should we be using for the query string
#variable?  (ex. http://www.mysite.com/index.php?page=somecontent)
$config['query_var'] = 'page';

#--------------
#Image Settings
#--------------

#Which program should be used for handling thumbnails in the image manager.
#See http://wiki.cmsmadesimple.org/index.php ... ge_Manager for more
#info on what this all means
$config['image_manipulation_prog'] = 'GD';
$config['image_transform_lib_path'] = 'C:/Program Files/VisualMagick/bin/';

#Default path and URL for uploaded images in the image manager
$config['image_uploads_path'] = '\\nitro\root\localuser\vsnapper\cmsms\uploads\images';
$config['image_uploads_url'] = $config['root_url'] . '/uploads/images';


#------------------------
#Locale/Encoding Settings
#------------------------

#Locale to use for various default date handling functions, etc.  Leaving
#this blank will use the server's default.  This might not be good if the
#site is hosted in a different country than it's intended audience.
$config['locale'] = '';

#In almost all cases, default_encoding should be empty (which defaults to utf-8)
#and admin_encoding should be utf-8.  If you'd like this to be different, change
#both.  Keep in mind, however, that the admin interface translations are all in
#utf-8, and will be converted on the fly to match the admin_encoding.  This
#could seriously slow down the admin interfaces for users.
$config['default_encoding'] = 'utf-8';
$config['admin_encoding'] = 'utf-8';

#This is a mysql specific option that is generally defaulted to true.  Only
#disable this for backwards compatibility or the use of non utf-8 databases.
$config['set_names'] = true;

# URL of the Admin Panel section of the User Handbook
# Set none if you want hide the link from Error
$config['wiki_url'] = 'http://wiki.cmsmadesimple.org/index.php ... dmin_Panel';

?>

Re: 1.7 Admin panel fails: PHP Fatal error: Call to undefined function

Posted: Mon Apr 19, 2010 9:17 pm
by alby
Check if you have test.functions.php in lib folder (or run install/index.php and in step 1 run checksum test)

If it's ok, backup admin\header file and edit \\nitro\root\localuser\vsnapper\cmsms\admin\header.php
in row 157, add red part:
include_once(cms_join_path($config['root_path'], 'lib', 'test.functions.php'));
echo cms_join_path($config['root_path'], 'lib', 'test.functions.php'); exit;
$remote_test = testRemoteFile(0, lang('test_remote_url'), $url, lang('test_remote_url_failed'), $config['debug']);
login in admin and look if you have the correct value:
\\nitro\root\localuser\vsnapper\cmsms\lib\test.functions.php

Alby

Re: 1.7 Admin panel fails: PHP Fatal error: Call to undefined function [SOLVED]

Posted: Tue Apr 20, 2010 10:58 am
by BartvdPut
I made the changes as you suggested and I noticed that the displayed path was \nitro\root.....
So only one leading slash.

Then I fixed all the paths in the config file to show as \\\\nitro\root\......

Now my admin panel worked, although the content did not show up correctly. I then deleted the database and run an install again. On the last screen where it showed the local root path I added 2 slashes so it displayed as \\\\nitro\root\.....

Now the adminpanel worked directly and also the content is showing.

I guess the internal logic does not work too well with identifying an UNC path and constructing the path accordingly. Appearantly this is only a problem with a Windows based hosting and a UNC path.

SO FOR EVERYBODY THAT HAS A PROVIDER THAT USES IIS WITH AN UNC PATH, MAKE SURE TO ENTER 4 SLASHES IN THE LAST INSTALLATION SCREEN.

Thanks for the cooperation

Bart