Ver 1.4.4 Cannot create Categories or Albums Ver 1.4.4 Cannot create Categories or Albums
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

Ver 1.4.4 Cannot create Categories or Albums

Started by borlavrin, April 06, 2006, 11:06:07 PM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

borlavrin

Installed on home PC windowsXP, PHP5, MySQL5
Webserver is Fastream NETFile FTP/Web Server

My results with Coppermine v1.4.4

WHAT DOES NOT WORK:
- Create Categories
- Create Albums - must have albums to upload photos

WHAT WORKS:
- Can be installed - MySQL database and tables are created
- Admin with password is created
- Configurations are accepted, such as themes or links to other websites
- New users with passwords can be added and authenticated by mail
- Login for admin and users works

BUT - categories and albums cannot be created for anyone.

Cheers,
Boris

Nibbler

Why can't you create categories and albums ?

borlavrin

After entering a name in the album window and 'apply', then the following error message is displayed and all is blank again.

Script called without the required parameter(s).
File: z:\phpapps\cpg144\delete.php - Line: 243

Be patient please, I am 77 and doing this on a home server for my granchildren.

Boris

borlavrin

Also, if I try to create a category (as admin) I get the following message:

\catmgr.php
Notice line 445: Undefined variable: description_help


Cheers,
Boris

Joachim Müller

Quote from: borlavrin on April 07, 2006, 05:25:47 AMNotice line 445: Undefined variable: description_help
turn notices_display off in coppermine's config if notices don't mean anything to you - that's a developer option only.

Does your server populate the $_GET and $_POST vars as expected? Turn on debug_mode in coppermine's config and post the debug_output you get after submitting the "create a category" form.
A link might be helpful as well.

borlavrin

The information as requested, also some additional notes.

a) The webserver is on Drive 'G'.  This works fine with phpMyAdmin and L10HC (a traffic counter)
b) Question about the $-GET and $_POST vars is beyond my capability - have sent an inquiry to the server author.

The requested link:
http://phpapps.simplymedia.ca/cpg144/index.php

Cheers,
Boris

=============


USER:
------------------
Array
(
    [ID] => 386bbe087595d78b2a29403f6907ab5a
    [am] => 1
    [lang] => english
)

==========================
USER DATA:
------------------
Array
(
    [user_id] => 1
    [user_name] => admin
    [groups] => Array
        (
           
  • => 1
            )

        [disk_max] => 0
        [disk_min] => 0
        [can_rate_pictures] => 1
        [can_send_ecards] => 1
        [ufc_max] => 0
        [ufc_min] => 0
        [custom_user_upload] => 0
        [num_file_upload] => 1
        [num_URI_upload] => 0
        [can_post_comments] => 1
        [can_upload_pictures] => 1
        [can_create_albums] => 1
        [has_admin_access] => 1
        [pub_upl_need_approval] => 0
        [priv_upl_need_approval] => 0
        [group_name] => Administrators
        [upload_form_config] => 0
        [group_quota] => 0
        [can_see_all_albums] => 1
        [group_id] => 1
    )

    ==========================
    Queries:
    ------------------
    Array
    (
       
  • => SELECT extension, mime, content, player FROM cpg143_filetypes; (0.003s)
        [1] => select * from cpg143_plugins order by priority asc; (0.002s)
        [2] => delete from `coppermine`.cpg143_sessions where time<1144404765 and remember=0; (0.002s)
        [3] => delete from `coppermine`.cpg143_sessions where time<1143198765; (0.002s)
        [4] => select user_id from `coppermine`.cpg143_sessions where session_id=md5("1b799702e32b156850c92f07ed49148711a3723a4f9a2341dba34914d58c434a"); (0.002s)
        [5] => select user_id as id, user_password as password from `coppermine`.cpg143_users where user_id=1 (0.003s)
        [6] => SELECT u.user_id AS id, u.user_name AS username, u.user_password AS password, u.user_group+100 AS group_id FROM `coppermine`.cpg143_users AS u INNER JOIN `coppermine`.cpg143_usergroups AS g ON u.user_group=g.group_id WHERE u.user_id='1' (0.002s)
        [7] => SELECT user_group_list FROM `coppermine`.cpg143_users AS u WHERE user_id='1' and user_group_list <> ''; (0.002s)
        [8] => SELECT MAX(group_quota) as disk_max, MIN(group_quota) as disk_min, MAX(can_rate_pictures) as can_rate_pictures, MAX(can_send_ecards) as can_send_ecards, MAX(upload_form_config) as ufc_max, MIN(upload_form_config) as ufc_min, MAX(custom_user_upload) as custom_user_upload, MAX(num_file_upload) as num_file_upload, MAX(num_URI_upload) as num_URI_upload, MAX(can_post_comments) as can_post_comments, MAX(can_upload_pictures) as can_upload_pictures, MAX(can_create_albums) as can_create_albums, MAX(has_admin_access) as has_admin_access, MIN(pub_upl_need_approval) as pub_upl_need_approval, MIN( priv_upl_need_approval) as  priv_upl_need_approval FROM cpg143_usergroups WHERE group_id in (1) (0.002s)
        [9] => SELECT group_name FROM  cpg143_usergroups WHERE group_id= 1 (0.002s)
        [10] => update `coppermine`.cpg143_sessions set time='1144408365' where session_id=md5('1b799702e32b156850c92f07ed49148711a3723a4f9a2341dba34914d58c434a'); (0.002s)
        [11] => SELECT user_favpics FROM cpg143_favpics WHERE user_id = 1 (0.003s)
        [12] => DELETE FROM cpg143_banned WHERE expiry < '2006-04-07 05:12:45' (0.003s)
        [13] => SELECT * FROM cpg143_banned WHERE (ip_addr='24.72.93.120' OR ip_addr='24.72.93.120' OR user_id=1) AND brute_force=0 (0.002s)
        [14] => SELECT cid FROM cpg143_categories WHERE 1 (0.002s)
        [15] => UPDATE cpg143_categories SET parent = '0' WHERE parent=cid OR parent NOT IN (1) (0.002s)
        [16] => SELECT cid, name, description FROM cpg143_categories WHERE parent = '0' ORDER BY pos (0.002s)
        [17] => SELECT cid, name, description FROM cpg143_categories WHERE parent = '1' ORDER BY pos (0.002s)
        [18] => UPDATE cpg143_categories SET pos='0' WHERE cid = '1' LIMIT 1 (0.002s)
        [19] => SELECT COUNT(*) FROM cpg143_pictures WHERE approved = 'NO' (0.002s)
        [20] => SELECT pid, filepath, filename, url_prefix FROM cpg143_pictures,cpg143_albums WHERE cpg143_pictures.aid = cpg143_albums.aid AND cpg143_albums.category = '' AND approved='YES' ORDER BY filename (0.002s)
    )

    ==========================
    GET :
    ------------------
    Array
    (
    )

    ==========================
    POST :
    ------------------
    Array
    (
        [cid] => 0
        [parent] => 0
        [name] => Mom and Dad
        [description] =>
        [thumb] => 0
    )

    ==========================
    VERSION INFO :
    ------------------
    PHP version: 5.1.2 - OK
    ------------------
    mySQL version: 5.0.19-nt
    ------------------
    Coppermine version: 1.4.4(stable)
    ==========================
    Module: GD
    ------------------
    GD Version: bundled (2.0.28 compatible)
    FreeType Support: 1
    FreeType Linkage: with freetype
    T1Lib Support: 1
    GIF Read Support: 1
    GIF Create Support: 1
    JPG Support: 1
    PNG Support: 1
    WBMP Support: 1
    XPM Support:
    XBM Support: 1
    JIS-mapped Japanese Font Support:

    ==========================
    Module: mysql
    ------------------
    MySQL Supportenabled
    Active Persistent Links 0
    Active Links 1
    Client API version 4.1.7
    ==========================
    Module: zlib
    ------------------
    ZLib Support enabled
    Stream Wrapper support compress.zlib://
    Stream Filter support zlib.inflate, zlib.deflate
    Compiled Version 1.2.3
    Linked Version 1.2.3
    ==========================
    Server restrictions (safe mode)?
    ------------------
    Directive | Local Value | Master Value
    safe_mode | Off | Off
    safe_mode_exec_dir | no value | no value
    safe_mode_gid | Off | Off
    safe_mode_include_dir | no value | no value
    safe_mode_exec_dir | no value | no value
    sql.safe_mode | Off | Off
    disable_functions | no value | no value
    file_uploads | On | On
    include_path | .;C:\php5\pear | .;C:\php5\pear
    open_basedir | no value | no value
    ==========================
    email
    ------------------
    Directive | Local Value | Master Value
    sendmail_from | simplymedia@accesscomm.ca | simplymedia@accesscomm.ca
    sendmail_path | no value | no value
    SMTP | smtp.accesscomm.ca | smtp.accesscomm.ca
    smtp_port | 25 | 25
    ==========================
    Size and Time
    ------------------
    Directive | Local Value | Master Value
    max_execution_time | 30 | 30
    max_input_time | 60 | 60
    upload_max_filesize | 2M | 2M
    post_max_size | 8M | 8M
    ==========================
    Page generated in 0.254 seconds - 21 queries in 0.046 seconds - Album set : ; Meta set: ;

borlavrin

Your question:
Does your server populate the $_GET and $_POST vars as expected?

This is the author's reply.

Cheers,
Boris


Hello,

In short this is the code that fills the variables:

void __fastcall
httpServerThread::UnknownCGIOrISAPIServerVariableProc(TWebConnection
*webClient, String Variable, String &AnswerStr)
{
        if(Terminated)
                return;

        httpServerClientClass *httpClient =
(httpServerClientClass*)webClient;
        Variable = UpperCase(Variable);

        if(Variable == "USER_NAME" || Variable == "AUTH_NAME" || Variable ==
"AUTH_USER")
                AnswerStr = httpClient->username;
        else if(Variable == "USER_PASSWORD" || Variable == "AUTH_PASSWORD")
                AnswerStr = httpClient->password;
        else if(Variable == "AUTH_TYPE" || Variable == "HTTP_AUTHORIZATION")
        {
                if(httpClient->username != "Guest")
                        AnswerStr = "Basic";
                else
                        AnswerStr = "";
        }
        else if(Variable == "ACCEPT_CHARSET" || Variable ==
"HTTP_ACCEPT_CHARSET")
                AnswerStr = httpClient->RequestAcceptCharset;
        else if(Variable == "HTTP_ACCEPT_ENCODING")
                AnswerStr = httpClient->RequestAcceptEncoding;
        else if(Variable == "HTTP_ACCEPT")
                AnswerStr = httpClient->RequestAccept;
        else if(Variable == "HTTP_FROM")
                AnswerStr = httpClient->GetPeerAddr();
        else if(Variable == "HTTP_USER_AGENT")
                AnswerStr = httpClient->RequestUserAgent;
        else if(Variable == "HTTP_CONTENT_LENGTH")
                AnswerStr = IntToStr(httpClient->RequestContentLength);
        else if(Variable == "HTTP_CONNECTION")
                AnswerStr = httpClient->RequestConnection;
        else if(Variable == "HTTP_CONTENT_TYPE")
                AnswerStr = httpClient->RequestContentType;
        else if(Variable == "HTTP_REFERER")
                AnswerStr = httpClient->RequestReferer;
        else if(Variable == "HTTP_ACCEPT_LANGUAGE")
                AnswerStr = httpClient->RequestAcceptLanguage;
        else if(Variable == "ACTIVE_SESSIONS")
        {
                AnswerStr = IntToStr(HTTPServer->ClientCount);
        }
        else if(Variable == "APPL_MD_PATH")
                AnswerStr = "/NFRoot/" + IntToStr(GetCurrentThreadId()) +
"/" + httpClient->Path;
        else if(Variable == "APPL_PHYSICAL_PATH")
                AnswerStr = httpClient->LastFilePath;
        else if(Variable == "SERVER_SOFTWARE")
                AnswerStr = serverString;
        else if(Variable == "SERVER_NAME")
        {
                AnswerStr = httpClient->actualDomain;

                if(!AnswerStr.Length())
                        AnswerStr = httpClient->GetXAddr();
        }
        else if(Variable == "HTTP_HOST")
        {
                AnswerStr = httpClient->actualDomain;

                if(!AnswerStr.Length())
                        AnswerStr = httpClient->GetXAddr();

                AnswerStr += ":" + httpClient->GetXPort();
        }
        else if(Variable == "SERVER_PORT")
                AnswerStr = HTTPServer->Port;
        else if(Variable == "SERVER_VERSION")
                AnswerStr = version;
        else if(Variable == "INSTANCE_META_DATA" || Variable ==
"INSTANCE_META_PATH")
                AnswerStr = "/NFRoot/" + IntToStr(GetCurrentThreadId());
        else if(Variable == "PATH_INFO" || Variable == "SCRIPT_NAME")
        {
                AnswerStr = httpClient->Path;

                addForeSlash(AnswerStr);
        }
        else if(Variable == "URL")
                AnswerStr = httpClient->Path;
        else if(Variable == "PATH_TRANSLATED" || Variable ==
"SCRIPT_FILENAME")
                AnswerStr = httpClient->LastFilePath;
        else if(Variable == "HTTP_RAW")
                AnswerStr = httpClient->allRawHeader;
        else if(Variable == "ALL_HTTP" || Variable == "HTTP_ALL")
        {
                AnswerStr = httpClient->allRawHeader;
                TReplaceFlags flags;
                flags << rfReplaceAll;

                AnswerStr = StringReplace(AnswerStr, "\r\n", "\0", flags);
        }
        else if(Variable == "CONTENT_LENGTH")
                AnswerStr = httpClient->RequestContentLength;
        else if(Variable == "CONTENT_TYPE")
                AnswerStr = httpClient->RequestContentType;
        else if(Variable == "GATEWAY_INTERFACE")
                AnswerStr = "ISAPI/6.0";
        else if(Variable == "UNDEFINED")
                AnswerStr = Variable;
        else if(Variable == "SERVER_PROTOCOL")
                AnswerStr = httpClient->Version;
        else if(Variable == "REQUEST_METHOD")
                AnswerStr = httpClient->Method;
        else if(Variable == "REMOTE_ADDR" || Variable == "REMOTE_HOST")
                AnswerStr = httpClient->GetPeerAddr();
        else if(Variable == "COOKIE" || Variable == "HTTP_COOKIE")
                AnswerStr = httpClient->RequestCookies;
        else
                AnswerStr = "";
}
//---------------------------------------------------------------------------

I am not sure all of you would understand this but here it goes anyway... So
simple, I see no problem! ;)

Regards,

Gorkem Ates

Joachim Müller

Quote from: borlavrin on April 07, 2006, 01:30:53 PM
b) Question about the $-GET and $_POST vars is beyond my capability - have sent an inquiry to the server author.
I was refering to the section
Quote from: borlavrin on April 07, 2006, 01:30:53 PM
GET :
------------------
Array
(
)

==========================
POST :
------------------
Array
(
    [cid] => 0
    [parent] => 0
    [name] => Mom and Dad
    [description] =>
    [thumb] => 0
)
Did you copy this from the page after submitting the form as suggested?

I'm not sure about the webserver "Fastream NETFile", never heard of it.

borlavrin


borlavrin

Please interpret for me the result so far.

When I entered category "Mom and Dad", it shows up on the debug listing but looking at the MySQL database table, the "cpg143_categories" is blank.  At what point do you thing the value is being dropped?  Where is the listing source?

Thanks,
Boris

*****************************
GET :
------------------
Array
(
)

==========================
POST :
------------------
Array
(
   [cid] => 0
   [parent] => 0
   [name] => Mom and Dad
   [description] =>
   [thumb] => 0

Joachim Müller

Quote from: borlavrin on April 07, 2006, 03:56:10 PM
In short this is the code that fills the variables:
You'll have to apply this code to the webserver setup. We have no idea how it is being operated. This is not a coppermine issue - make your server populate the server vars and you'll be fine. We can't recommend anything else.
I don't understand why you use that particular commercial webserver app. The industry standard is apache, it is free, well documented, comes in many flavors (per-packaged with other needed apps like PHP, mysql) and definitely works with coppermine.

borlavrin

Your help is appreciated. I was trying to avoid your conclusion - not easy having to learn a new system at my age.  I tried apache 15 years ago and it nearly brought me to my knees.

Thanks,
Boris