Table of Contents

Tips and tricks

Helpful information in case of problems

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):

Set debug mode

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

Include PHP code in template files

Admidio uses the template engine Smarty since version 4.0. In the theme folder adm_themes/simple/templates you can find the template files, which can be customized by you to adapt the layout of Admidio to your wishes.

PHP code cannot be included there for security reasons. If you still want to use your own PHP code in a template file, you can do this via a plugin. Create a new folder in the folder adm_plugins with a name of your choice, e.g. scripts. In this folder you create a new file for every PHP snippet you want to include e.g. date.php. In this file you can now store HTML and PHP:

<b>The current date is <?php echo date('d.m.Y', time()); ?></b>

In the next step, you can use the following code to place the output of this file anywhere in any template file:

{load_admidio_plugin plugin="scripts" file="date.php"}

This code can simply be placed directly in the HTML of the template file. With plugin=“xyz” the name of your subfolder of adm_plugins is specified and with file=“xyz” the filename.

Problems in Photo Upload

Some servers have problems uploading photos. This can have various causes, which are listed here:

Error after editing 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.

Mass assignment of roles using the import

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 contacts type Complement. 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.

Move Admidio folder

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

Now Admidio is running in the new folder.

From time to time it is useful to have a link that takes you back to the previous page. If you need this link, you can place it anywhere in the template file. Open the file adm_themes/simple/templates/index.tpl and insert the following code snippet at the desired place:

{if $hasPreviousUrl}
    <!-- Add link to previous page -->
    <a id="admidio-back-link" class="" href="{$urlAdmidio}/adm_program/system/back.php"><i class="fas fa-arrow-circle-left fa-fw"></i> {$l10n->get('SYS_BACK')}</a>
{/if}

In this case, only the link will be displayed if there is also a meaningful URL from a previous page. You can further adjust the visual design via CSS or change the HTML in the code snippet accordingly.