Tips and tricks

If Admidio does not work the way you want it and you're looking for help in the forum etc, please always provide some additional information so we Admidio developers can find the bugs faster and easier.

This information includes (Examples):

  • PHP version (v7.1.2)
  • Database type + version (MySQL v10.1.2)
  • Admidio version (v3.2.10)
  • Used Plugins + versions (login form v1.7.1, sidebar announcements)
  • Own adjustments were made (different design, own code changes)
  • Exception Messages → View Set debug mode (Pay attention to sensitive information!)
  • Logdatei Auszüge → View Set debug mode (Pay attention to sensitive information!)
  • Detailed instructions on how to make the mistake → Non-reproducible errors are very hard to find
  • Screenshots if useful
  • If error after update → Check if everything has been updated (Plugins, Libs, Theme, …)

Even Admidio is not free from problems or bugs. Should you ever have a problem, you can turn on the debug mode for a better analysis. In this mode, every command sent to the database is recorded. In addition, many more informations are logged at every page view. All this will then be saved in a log file.

Please use this mode only if we ask you in the forum or if you can handle the information from the log file. The debug mode should only be used for a limited time in the production system.

You can turn on the debug mode in the config.php by adding the following line if it does not already exist:

$gDebug = 1;

Now, exceptions and other fatal errors are shown directly to the web page, as well as extended information written to the log files. For each day a separate file is created. You can open and analyze these with any text editor.

adm_my_files/logs/admidio-2017-08-23.log

Some servers you are having problems with the Photo Upload. This can have various reasons, which are listed here again:

  • Folder adm_photos does not have the rights 777.
  • Folder adm_photos/upload does not have the rights 777.
  • The selected files exceed the editable image size from the server so that the dimensons can no longer be detected and an appropriate error message is issued. (The maximum editable image size can be found in the organization Settings under Information System)
  • Some servers prohibit the upload file on Flash. This inhibit can partly be evaded. Define a .htaccess file with the following content in the root where Admidio is installed with the following content:
    <IfModule mod_security.c>
       SecFilterEngine Off
       SecFilterScanPOST Off
    </IfModule>
  • (Applies only to profile photo) Some databases do not allow the storage of images in the database itself. In this case, you could Admidio switch the location of profile images in organizational settings > Profile> location of profile images so the profile pictures are stored in the folder adm_my_files.

Editing and saving files, it could result the following error when viewing the page:


Warning: Cannot modify header information - headers already sent by (output started at 
serverpfad/config.php:1) in /serverpfad/index.php on line 6

If this message (individual information in the message may be different)is shown, the file is saved incorrectly as UTF8 file. Admidio expect all the files in the UTF-8 encoding without BOM. The default setting for most editors is UTF-8 with BOM. However, since PHP with the BOM can not cope, and the above error message ejects, you have to set up your editor that UTF-8 will be saved without BOM.

If your editor does not offer this possibility, you have the following options:

Windows
Here we recommend the Editor Notepad++. This editor is Open Source and a good replacement for Notepad included in Windows, but you also need to explicitly select UTF-8 without BOM here when you save. This is not the default setting of the editor.

OS X und Linux
Here it is quite easy if you know the console and the editor Vim . Open the file with Vim and enter : set nobomb . Now save the file, and everything will be fine.

Since version 2.2 that most plugins headings that appear above the plug-in content. If these shall not be displayed, because you want to use an own headine on your homepage, or it just does not fit into the layout of the page, so you can remove these headers with a simple CSS snippets. For this you add the following code in the system.css in your theme folder in the subfolder css:

.admPluginHeader {
    display:            none;
}

If you want to quickly assign multiple users in a specific role, so you can make this even with the import function. For this purpose, you create an Excel list with first name and surname of the person that should get assigned to the role. If necessary, you can export a list from a different role and do your adjustments there.

This spreadsheet you now choose for the import with selection Existing users type complete. In the next step you assign the mandatories, then the users are imported and the role assignment are created. Due to users were already added and also no changes in field contents are made so far, the role assignments are created quickly and easily.

Icons
In the folder icons of the selected Theme you can find all the icons that are used in Admidio. All icons are either 16×16 (eg ) or 32×32 (eg ) pixels in size. Should you want to change the existing icons, simply replace the existing files with your own. Here you should make sure that you adjust the size accordingly. Some symbols are used in both sizes. To help your users to find a uniform image, you should renew both formats.

Other used graphics
Some of the graphics used for the “modern” layout are provided as Photoshop raw data. Thus, for example, the colors quite easy can be adapted. Another tip: After the changes use “File> Save for Web & Devices” to simply convert to PNG and save it in the correct folder.

no_profile_pic
This graphic is displayed when a user has uploaded no own avatar to the profile.http://www.admidio.org/daten/no_profile_pic.psd

If you want to move a running Admidio on the FTP server to another folder, , it is possible in a few steps.

  • With the help of a FTP program move all adm_ folders and the index.php file to the new folder.
  • Now you have to open the file config.php in adm_my_files folder and adjust the variable $g_root_path to the new folder.
  • Now call Admidio within the new folder, and log in as a webmaster.
  • Now go into the Settings and look at General for both URLs of the home page. If they are also affected by the new folder, you need to modify them to suit.

Now Admidio is running in the new folder.

With version 3.3, the menu is no longer statically assembled in the file my_body_bottom.php . It's stored in the database and will be created out of it. In order for this to work for you, you have to adjust the my_body_bottom.php for an update to version 3.3 or newer.

You have the following 3 possibilities:

  1. If you have not made any adjustments in our standard theme, you can simply replace the theme folder adm_themes during the update.
  2. Have you made adjustments in the theme, but not in the file my_body_bottom.php , then just replace this file.
  3. If you have the file my_body_bottom.php adapted to your needs, you have to do some changes in the code.
    To do so, please remove the following code:
                   <div id="plugin_menu" class="admidio-plugin-content">
                        <?php
                        // Module Menu
                        $moduleMenu = new Menu('modules', $gL10n->get('SYS_MODULES'));
                        $moduleMenu->addItem('overview', '/adm_program/index.php',
                                             $gL10n->get('SYS_OVERVIEW'), '/icons/home.png');
                        if($gPreferences['enable_announcements_module'] == 1
                        || ($gPreferences['enable_announcements_module'] == 2 && $gValidLogin))
                        {
                            $moduleMenu->addItem('announcements', FOLDER_MODULES . '/announcements/announcements.php',
                                                 $gL10n->get('ANN_ANNOUNCEMENTS'), '/icons/announcements.png');
                        }
                        if($gPreferences['enable_download_module'] == 1)
                        {
                            $moduleMenu->addItem('download', FOLDER_MODULES . '/downloads/downloads.php',
                                                 $gL10n->get('DOW_DOWNLOADS'), '/icons/download.png');
                        }
                        if($gPreferences['enable_mail_module'] == 1 && !$gValidLogin)
                        {
                            $moduleMenu->addItem('email', FOLDER_MODULES . '/messages/messages_write.php',
                                                 $gL10n->get('SYS_EMAIL'), '/icons/email.png');
                        }
                        if(($gPreferences['enable_pm_module'] == 1 || $gPreferences['enable_mail_module'] == 1) && $gValidLogin)
                        {
                            $unreadBadge = '';
                            // get number of unread messages for user
                            $message = new TableMessage($gDb);
                            $unread = $message->countUnreadMessageRecords($gCurrentUser->getValue('usr_id'));
                            if($unread > 0)
                            {
                                $unreadBadge = '<span class="badge">' . $unread . '</span>';
                            }
                            $moduleMenu->addItem('private_message', FOLDER_MODULES . '/messages/messages.php',
                                                 $gL10n->get('SYS_MESSAGES') . $unreadBadge, '/icons/messages.png');
                        }
                        if($gPreferences['enable_photo_module'] == 1
                        || ($gPreferences['enable_photo_module'] == 2 && $gValidLogin))
                        {
                            $moduleMenu->addItem('photo', FOLDER_MODULES . '/photos/photos.php',
                                                 $gL10n->get('PHO_PHOTOS'), '/icons/photo.png');
                        }
                        if($gPreferences['enable_guestbook_module'] == 1
                        || ($gPreferences['enable_guestbook_module'] == 2 && $gValidLogin))
                        {
                            $moduleMenu->addItem('guestbk', FOLDER_MODULES . '/guestbook/guestbook.php',
                                                 $gL10n->get('GBO_GUESTBOOK'), '/icons/guestbook.png');
                        }
                        $moduleMenu->addItem('lists', FOLDER_MODULES . '/lists/lists.php',
                                             $gL10n->get('LST_LISTS'), '/icons/lists.png');
                        if($gValidLogin)
                        {
                            $moduleMenu->addItem('mylist', FOLDER_MODULES . '/lists/mylist.php',
                                                 $gL10n->get('LST_MY_LIST'), '/icons/mylist.png');
                        }
                        if($gPreferences['enable_dates_module'] == 1
                        || ($gPreferences['enable_dates_module'] == 2 && $gValidLogin))
                        {
                            $moduleMenu->addItem('dates', FOLDER_MODULES . '/dates/dates.php',
                                                 $gL10n->get('DAT_DATES'), '/icons/dates.png');
                        }
                        if($gPreferences['enable_weblinks_module'] == 1
                        || ($gPreferences['enable_weblinks_module'] == 2 && $gValidLogin))
                        {
                            $moduleMenu->addItem('links', FOLDER_MODULES . '/links/links.php',
                                                 $gL10n->get('LNK_WEBLINKS'), '/icons/weblinks.png');
                        }
                        echo $moduleMenu->show();
                        // Administration Menu
                        if($gCurrentUser->approveUsers() || $gCurrentUser->editUsers()
                        || $gCurrentUser->manageRoles()  || $gCurrentUser->isAdministrator())
                        {
                            $adminMenu = new Menu('administration', $gL10n->get('SYS_ADMINISTRATION'));
                            if($gCurrentUser->approveUsers() && $gPreferences['registration_mode'] > 0)
                            {
                                $adminMenu->addItem('newreg', FOLDER_MODULES . '/registration/registration.php',
                                                    $gL10n->get('NWU_NEW_REGISTRATIONS'), '/icons/new_registrations.png');
                            }
                            if($gCurrentUser->editUsers())
                            {
                                $adminMenu->addItem('usrmgt', FOLDER_MODULES . '/members/members.php',
                                                    $gL10n->get('MEM_USER_MANAGEMENT'), '/icons/user_administration.png');
                            }
                            if($gCurrentUser->manageRoles())
                            {
                                $adminMenu->addItem('roladm', FOLDER_MODULES . '/roles/roles.php',
                                                    $gL10n->get('ROL_ROLE_ADMINISTRATION'), '/icons/roles.png');
                            }
                            if($gCurrentUser->isAdministrator())
                            {
                                $adminMenu->addItem('dbback', FOLDER_MODULES . '/backup/backup.php',
                                                    $gL10n->get('BAC_DATABASE_BACKUP'), '/icons/backup.png');
                                $adminMenu->addItem('orgprop', FOLDER_MODULES . '/preferences/preferences.php',
                                                    $gL10n->get('SYS_SETTINGS'), '/icons/options.png');
                            }
                            echo $adminMenu->show();
                        }
                        ?>
    </div><!-- closes "div#plugin_menu" -->

    Now add after the following line of code:

    require(ADMIDIO_PATH . FOLDER_PLUGINS . '/login_form/login_form.php');

    these lines of code:

    // create html page object and display Menu
    $page = new HtmlPage();
    echo $page->showMainMenu(false);

Now the sidebar should always show the menu you configured in Admidio.

  • en/2.0/probleme_rund_um_admidio.txt
  • Last modified: 2018/06/24 12:39
  • by fasse