Zikula: A Flexible Open Source Content Management System
home | forum | contact us

Dizkus

Bottom
pn8: pnDBGetTables() doesn't bring up block table info
  • Posted: 20.04.2006, 05:44
     
    Lobos
    rank:
    Professional Professional
    registered:
     December 2002
    Status:
    offline
    last visit:
    24.08.08
    Posts:
    1588
    here is an array dump of the pnDBGetTables();

    Code

    array
    (
        [hooks] => pn_hooks
        [hooks_column] => array
            (
                [id] => pn_id
                [object] => pn_object
                [action] => pn_action
                [smodule] => pn_smodule
                [stype] => pn_stype
                [tarea] => pn_tarea
                [tmodule] => pn_tmodule
                [ttype] => pn_ttype
                [tfunc] => pn_tfunc
            )

        [modules] => pn_modules
        [modules_column] => array
            (
                [id] => pn_id
                [name] => pn_name
                [type] => pn_type
                [displayname] => pn_displayname
                [description] => pn_description
                [regid] => pn_regid
                [directory] => pn_directory
                [version] => pn_version
                [official] => pn_official
                [author] => pn_author
                [contact] => pn_contact
                [admin_capable] => pn_admin_capable
                [user_capable] => pn_user_capable
                [state] => pn_state
                [credits] => pn_credits
                [changelog] => pn_changelog
                [help] => pn_help
                [license] => pn_license
                [securityschema] => pn_securityschema
            )

        [module_vars] => pn_module_vars
        [module_vars_column] => array
            (
                [id] => pn_id
                [modname] => pn_modname
                [name] => pn_name
                [value] => pn_value
            )

        [module_dependencies] => pn_module_dependencies
        [module_dependencies_column] => array
            (
                [id] => pn_id
                [modid] => pn_modid
                [modname] => pn_modname
                [minversion] => pn_minversion
                [maxversion] => pn_maxversion
                [status] => pn_status
            )

        [themes] => pn_themes
        [themes_column] => array
            (
                [id] => pn_id
                [name] => pn_name
                [type] => pn_type
                [displayname] => pn_displayname
                [description] => pn_description
                [regid] => pn_regid
                [directory] => pn_directory
                [version] => pn_version
                [official] => pn_official
                [author] => pn_author
                [contact] => pn_contact
                [admin] => pn_admin
                [user] => pn_user
                [system] => pn_system
                [state] => pn_state
                [credits] => pn_credits
                [changelog] => pn_changelog
                [help] => pn_help
                [license] => pn_license
            )

        [user_property] => pn_user_property
        [user_property_column] => array
            (
                [prop_id] => pn_prop_id
                [prop_label] => pn_prop_label
                [prop_dtype] => pn_prop_dtype
                [prop_length] => pn_prop_length
                [prop_weight] => pn_prop_weight
                [prop_validation] => pn_prop_validation
            )

        [user_data] => pn_user_data
        [user_data_column] => array
            (
                [uda_id] => pn_uda_id
                [uda_propid] => pn_uda_propid
                [uda_uid] => pn_uda_uid
                [uda_value] => pn_uda_value
            )

        [users] => pn_users
        [users_column] => array
            (
                [uid] => pn_uid
                [uname] => pn_uname
                [email] => pn_email
                [femail] => pn_femail
                [user_regdate] => pn_user_regdate
                [user_viewemail] => pn_user_viewemail
                [user_theme] => pn_user_theme
                [pass] => pn_pass
                [storynum] => pn_storynum
                [umode] => pn_umode
                [uorder] => pn_uorder
                [thold] => pn_thold
                [noscore] => pn_noscore
                [ublockon] => pn_ublockon
                [ublock] => pn_ublock
                [theme] => pn_theme
                [commentmax] => pn_commentmax
                [counter] => pn_counter
                [timezone_offset] => pn_timezone_offset
                [activated] => pn_activated
                [lastlogin] => pn_lastlogin
                [validfrom] => pn_validfrom
                [validuntil] => pn_validuntil
                [hash_method] => pn_hash_method
            )

        [users_temp] => pn_users_temp
        [users_temp_column] => array
            (
                [tid] => pn_tid
                [uname] => pn_uname
                [email] => pn_email
                [femail] => pn_femail
                [pass] => pn_pass
                [dynamics] => pn_dynamics
                [comment] => pn_comment
                [type] => pn_type
                [tag] => pn_tag
            )

        [session_info] => pn_session_info
        [session_info_column] => array
            (
                [sessid] => pn_sessid
                [ipaddr] => pn_ipaddr
                [firstused] => pn_firstused
                [lastused] => pn_lastused
                [uid] => pn_uid
                [vars] => pn_vars
            )

        [AntiCracker] => pn_AntiCracker
        [AntiCracker_column] => array
            (
                [hid] => pn_hid
                [hacktime] => pn_hacktime
                [hackfile] => pn_hackfile
                [hackline] => pn_hackline
                [hacktype] => pn_hacktype
                [hackinfo] => pn_hackinfo
                [userid] => pn_userid
                [browserinfo] => pn_browserinfo
                [requestarray] => pn_requestarray
                [getarray] => pn_gettarray
                [postarray] => pn_postarray
                [serverarray] => pn_serverarray
                [envarray] => pn_envarray
                [cookiearray] => pn_cookiearray
                [filesarray] => pn_filesarray
                [sessionarray] => pn_sessionarray
            )

        [group_membership] => pn_group_membership
        [group_membership_column] => array
            (
                [gid] => pn_gid
                [uid] => pn_uid
            )

        [groups] => pn_groups
        [groups_column] => array
            (
                [gid] => pn_gid
                [name] => pn_name
                [gtype] => pn_gtype
                [description] => pn_description
                [prefix] => pn_prefix
                [state] => pn_state
                [nbuser] => pn_nbuser
                [nbumax] => pn_nbumax
                [link] => pn_link
                [uidmaster] => pn_uidmaster
            )

        [group_applications] => pn_group_applications
        [group_applications_column] => array
            (
                [app_id] => pn_app_id
                [uid] => pn_uid
                [gid] => pn_gid
                [application] => pn_application
                [status] => pn_status
            )

        [group_perms] => pn_group_perms
        [group_perms_column] => array
            (
                [pid] => pn_pid
                [gid] => pn_gid
                [sequence] => pn_sequence
                [realm] => pn_realm
                [component] => pn_component
                [instance] => pn_instance
                [level] => pn_level
                [bond] => pn_bond
            )

        [realms] => pn_realms
        [realms_column] => array
            (
                [rid] => pn_rid
                [name] => pn_name
            )

    )


    Strange that it doesn't give us block table info... nothing I can't access with a workaround, but inconvenient... I also see that the blocks DB stuff has been split into more tables - does this not create more required DB hits ? Will this blocks DB schema remain stable, ie is it likely to change again?

    -Lobos

    --
    -Lobos
    Professional PHP Framework Services: Concept, Development and Deployment
  • Posted: 20.04.2006, 05:51
     
    Lobos
    rank:
    Professional Professional
    registered:
     December 2002
    Status:
    offline
    last visit:
    24.08.08
    Posts:
    1588
    Please disregard - I now see that this is a better method than before, good work :) Still strange that the table info doesn't come up in pnDBGetTables(); though...

    -Lobos

    --
    -Lobos
    Professional PHP Framework Services: Concept, Development and Deployment
  • Posted: 20.04.2006, 12:53
     
    rank:
    Moderator Moderator
    registered:
     March 2002
    Status:
    offline
    last visit:
    26.08.08
    Posts:
    7720
    Lobos,

    The way that the tables functions worked under .7x was

    1) initialise pntables array with contents of /pntables.php
    2) when pnModAPIFunc or pnModFunc is called merge the information with the return from pntables.php in the module.
    3) tables for modules not accessed via pnMod(API)Func can be added via pnModDBInfoLoad.

    Now under .8x we don't have the file /pntables.php so the tables array is initialised with a null array. Hence you'll find that unless a blocks module API has been called then the blocks tables won't be in the pntables array (as it's not been needed). If you must access the table directly (won't an API do?) then you must load the table information via pnModDBInfoLoad.

    -Mark
  • Posted: 20.04.2006, 16:10
     
    Lobos
    rank:
    Professional Professional
    registered:
     December 2002
    Status:
    offline
    last visit:
    24.08.08
    Posts:
    1588
    Thanks for your advice, Mark.

    As per your advice I have now found that API calls will do the job in a much better way. I like the way the block info is now seperated into the 3 tables and I feel that this is a more optimum way of doing things. The blocks system has remained reletively untouched from it's phpnuke roots over the years and I am happy that some enhancement has been given to this integral part of PostNuke's functionality.

    -Lobos

    --
    -Lobos
    Professional PHP Framework Services: Concept, Development and Deployment

Main Menu

Extensions Database

Documentation

Development

Login

Donate to Zikula