<![CDATA[ZenphotoCMS - The simpler media website CMS (2024)

<![CDATA[ZenphotoCMS - The simpler media website CMS - User Guide (Latest news)]]>https://www.zenphoto.org<![CDATA[ZenphotoCMS is a CMS for selfhosted, gallery focused websites. Our focus lies on being easy to use and having all the features there when you need them (but out of the way if you do not).ZenphotoCMS features support for various media formats and integrated blog and custom pages. ZenphotoCMS is the ideal CMS for personal websites of illustrators, artists, designers, photographers, film makers and musicians.]]>en-USFri, 09 Jun 2023 13:23:22 +0200Fri, 09 Jun 2023 13:23:22 +0200http://blogs.law.harvard.edu/tech/rssZenphoto RSS Generator<![CDATA[Debugging (Development, FAQ, User Guide)]]>https://www.zenphoto.org/news/debugging/<![CDATA[

Enabling debug modes

Since Zenphoto 1.6 it is possible to set the debug modes you need directly in your zp-data/zenphoto.cfg.php file.

Add $conf['debugmode'] = true; anywhere in your zenphoto.cfg.php file (exept where it says "Do not edit above/below this line")

You can disable any debug mode and still keep the setting in the zenphoto.cfg.php file (for later use) by setting the mode to false.

Any of the following debug modes may be used:

  • $conf['test_release'] = true;– Enables test release mode, supports the markRelease plugin. All PHP errors are written into the Debug log. This enableds three debug modes: debug_error, debug_image_err and debug_404.
  • $conf['debug_login'] = true; – Log admin saves and login attempts.
  • $conf['debug_error'] = true; – Log the calling sequence with zp_error messages.
  • $conf['debug_image'] = true; –Log image processing information.
  • $conf['debug_image_err'] = true; –Flag image processing errors.
  • $conf['debug_404'] = true; – Log 404 error processing debug information
  • $conf['debug_exif'] = true; –Log start/finish of exif processing.
  • $conf['debug_plugins'] = true; –Log plugin load sequence.
  • $conf['debug_filters'] = true; – Log filter application sequence.
  • $conf['explain_selects'] = true; –Log the "EXPLAIN" of SELECT queries.
  • $conf['debug_locale'] = true; –Used for examining language selection problems.

Debug logs

Zenphoto has two logs enabled by default. The Debug log and Setup log. By activating the security-logger plugin you can also enable the Security log.

All log files are located in the zp-data folder, in the root of your installation. The log files are created automatically when an error or action triggers them. So when there are no PHP errors or setup is not run, these log files are not yet present. When log files are present they can be viewed on the backend under the Logs tab, which is only visible when you are logged-in with full admin rights.

  • Debug log: logs all PHP errors, warnings and notices, following PHP's E_ALL reporting level.
  • Setup log: logs all system checks, the loading of themes, plugins and extensions.
  • Security log: logs the following:
    • IP address of the client browser (the IP may be anonymize as defined on the related option)
    • type of entry/action
    • user ID/user name
    • success/failure of an action (installation, login, etc.)
    • authority granting/denying the request
    • Additional information, for instance on failure, the password used

There are options to set a max file size for the Debug and Security logs in Options -> General (debug log limit and security log limit). Additional log files will be created sequentialy when their specified size is exceeded.
There is no need to have an option for a max file size for the Setup log since this file is refreshed each time setup is run, so it doesn't grow in size. Most likely you will only be interested in the log of the last setup anyway.

<![CDATA[Development, FAQ, User Guide]]>https://www.zenphoto.org/news/debugging/Mon, 12 Dec 2022 00:00:00 +0100
<![CDATA[Translations (gettext) not working on some servers with mod_perl enabled (News, Troubleshooting, User Guide)]]>https://www.zenphoto.org/news/translations-gettext-not-working-on-some-servers/<![CDATA[

In case you notice that translations are not working on your site: This is out of our hands. The reason is a bug in Apache's mod_perl module on some server configurations which conflicts with the native PHP gettext functionality we use for translations. For example our local development environment MAMP 6.3 is affected by this as well. We have no idea when this will be fixed or how similar software (XAMPP, WampServer, etc) or your host's server may be affected.

Translations work if the mod_perl module is disabled and Zenphoto does not require Perl anyway. Should you notice this and have control over your server disable it or contact your host about it.

More info about this issue: https://www.claudiokuenzler.com/blog/1023/php-gettext-translations-not-working-apache-mod_php-cli-works

<![CDATA[News, Troubleshooting, User Guide]]>https://www.zenphoto.org/news/translations-gettext-not-working-on-some-servers/Sat, 20 Feb 2021 00:00:00 +0100
<![CDATA[Using Zenphoto on local servers (Development, FAQ, Installation & Upgrade, Troubleshooting, User Guide)]]>https://www.zenphoto.org/news/using-zenphoto-on-local-servers/<![CDATA[

Local virtual server packages like MAMP*, WAMP or XAMPP are very useful to test your ZenphotoCMS website while developing themes, plugins or before applying a ZenphotoCMS update to your site.

ZenphotoCMS generally works out of the box with these tools. But it is important that you configure them to use the standard web ports instead of other default ports they may have set. Here is an example from MAMP (it may be similar with the other tools):

*Since we work on Mac we use MAMP ourselves for years

<![CDATA[Development, FAQ, Installation & Upgrade, Troubleshooting, User Guide]]>https://www.zenphoto.org/news/using-zenphoto-on-local-servers/Fri, 08 Mar 2019 09:59:01 +0100
<![CDATA[Privacy considerations (Customizing, Development, FAQ, Troubleshooting, Tutorials, User Guide)]]>https://www.zenphoto.org/news/privacy-considerations/<![CDATA[

If you run a website and especially if you are located in the EU you should have heard about this General Data Protection Rule (GDPR) by now and be prepared for it already. So we can’t and won’t go into detail about the GDPR here.

That has been done on numerous sites already in the past months. You’ll find info about it on the official EU GDPR website: https://eugdpr.org/.

You will surely find numerous good articles in your own language about how to comply with your website. In any case we can’t and are not allowed, not being lawyers, to provide any legal advice how it applies to your website as every website is different anyway. But we can tell you a bit about Zenphoto and data privacy.

Zenphoto as the CMS on your site

Some features mentioned here are only available in Zenphoto 1.5. Zenphoto does not store much personal user data by itself. Of course it does use cookies and session cookies, primarily for login status or for keeping the search context within search results. You can read more about which cookies Zenphoto may use on https://www.zenphoto.org/news/cookies/.

If you have enabled the search cache it caches search queries and their results in the database. But it does not cache any data about who performed the search.

Also a Zenphoto install does not “phone home”. There is a plugin to check for new releases and a plugin that can display the latest news from our site. But both just use the RSS feed from our site. We don’t collect any data from anyone.

Zenphoto sites in general

It is strongely recommended to setup your site with SSL which is a good idea anyway since it is becoming a SEO ranking factor now. Ask your host if your webspace supports it. Maybe it even supports the free Let’s Encrypt certificates. We also use them. More info on those on https://letsencrypt.org.

Including CSS or JS scripts from external sources can be a privacy issue since every request transfers data. This also applies to embeded webfonts. However it is not clear yet if this is really an issue. In any case you can easily host yourself if you must.
But any widget using external scripts from social media platforms like Facebook, Twitter and the likes could be privacy problematic.

You can easily check if a theme or plugin does load from exernal sources by using web inspectors all modern browser include or one of the various tracking script blocker plugins available for all browsers.

Enable the “Anyonymize IP” option on the Options > Security. The IP address is considered private information and it is strongely recommended to anonymize it (hashing may not be enough!). Some plugins may use it and also cookies may store it if you enabled the “IP tied cookies” option.

Add a privacy policy page - either statically or via the Zenpage CMS plugin in capable themes - and note detailed what data you store and process. Also define that page in the general privacy policy page option so it may appear on form plugins.

User accounts

User accounts of a Zenphoto site only store the info you can see on the user account. If you run a multi-user Zenphoto site also make sure that all users have “User” rights assigned so they can access their own acccount to change it and also export their own user data. “User” rights is the minimum rights any user should have and you should have good reasons to revoke this right.


Especially form plugins involve user data being submitted and stored:

  • comment_form: May also store the IP of a commenter
  • contact_form
  • register_user

If you use these you should enable the new privacy confirmation option to add a checkbox for users to agree with data storage and usages. It is also recommended to limit the required form fields to the absolute minimum needed for the purpose. For example for a contact form an e-mail address, subject and the message itself would be enough. Data economy is the key word here.

Several official plugins may be problematic as they do use external scripts and/or store IP’s in order to work:

  • class-Webdocs: Uses external services to display certain file formats.
  • GoogleMaps: Uses Google scripts from Google’s servers and requires registering for an API key. So it may also collect some data from visitors. The openstreetmap plugin is an alternative.
  • hitcounter: Storing a list of full IP’s to ignore could be problematic but it is optional.
  • Matomo (formerly Piwik): This plugin itself does not do much but Matomo as a separate statistic tool collects various data. But you can set it up to comply with privacy: ...
<![CDATA[Customizing, Development, FAQ, Troubleshooting, Tutorials, User Guide]]>https://www.zenphoto.org/news/privacy-considerations/Fri, 25 May 2018 00:00:00 +0200
<![CDATA[Path constants (Customizing, Development, FAQ, Tutorials, User Guide)]]>https://www.zenphoto.org/news/path-constants/<![CDATA[

Zenphoto uses several path related constants internallyyou should always use these if you work with paths so your themes and plugins are safe for any possible name changes. These constants are defined in /zp-core/global-definitions.php.

For all URL's to actual items (albums, image, news and pages) you should rather useZenphoto's object model frameworkor the related template functions.

Available constants

/albums/ – stores all albums and images. If you use a custom name it of course stores that name.
http(s)://yourdomain.com/albums/ – full webpath to the /albums folder
/var/www/html/zenphoto/albums/ – The path to the albums folder but with the full server path if you installed in a subfolder "zenphoto" (exact path depends on the host)
/backup/ – stores the database backup made with the backup utility
/cache/ – stores all the cached images
/zp-core/zp-extensions/common/ – stores some files that several official plugins make use of
/zp-data/ – stores the configuration and log files
The full web path to your installation, e.g. http://www.yourdomain.com/zenphoto/ if you installed Zenphoto in a folder "zenphoto".
/zp-core/zp-extensions/– stores all officially included plugins
http or https– The server protocol as set on itsoption. If you use it you need to add ://
The host part of the url, e.g. http://www.yourdomain.com
The full path on your server. e.g. /var/www/html/zenphoto if you installed in a subfolder "zenphoto" (the exact path depends on the host)
/cache_html/ – stores all the cached static HTML files of your site pages if using the static_html_cache plugin and also the RSS feeds if the RSS cache is enabled.
/themes/ – stores all themes
/uploaded/ – the default folder for general non gallery files
/plugins/ – stores all 3rd party plugins
/zp-core/utilities/ – stores offcially included utiltiy plugins which appear as buttons on the main overview page on the backend.
stores the path to your install. If you installed in a folder called "zenphoto" resolves to zenphoto.
/zp-core/ – The Zenphoto core folder


Note: The constants do not include the slashes.

Path to a 3rd party plugin:

Path to an included plugin:
FULLWEBPATH.'/'.ZENFOLDER.'/'.PLUGIN_FOLDER.'/officialplugin.phpIf you print out URL's using these constants, don't forget to escape them using html_encode() to be sure.

<![CDATA[Customizing, Development, FAQ, Tutorials, User Guide]]>https://www.zenphoto.org/news/path-constants/Wed, 10 Sep 2014 00:00:00 +0200
<![CDATA[URL structure (FAQ, Troubleshooting, Tutorials, User Guide)]]>https://www.zenphoto.org/news/zenphoto-url-structure/<![CDATA[

Zenphoto has a specific URL structure for all front end items we explain here. We recommend to use mod_rewrite but Zenphoto works without it as well. The examples assume Zenphoto has been installed in the root of a domain.

Mod_rewrite links (SEO friendly)

The URL's are not completlyrewritten via mod_rewrite/htaccess but internally. Therefore some partscan be changed via the rewriteToken plugin.

Gallery index:
Gallery index, several pages:
Album (thumbnail page):
Album,several pages:
Sub album (similar for more levels):
Image page (sized image):
Link to a tag:
Date archive link:
Static custom page:

*strongly recommended as otherwise search engines mayreject these pages as pretending to be an image file!

Zenpage CMS plugin

News, several pages:
News category:
News category, several pages:
Single news articles:
News date archive:

Note: Although Zenpage pages and news categories can be nested it is not reflected in the URL. The benefit is that on re-sorting/re-nesting the links never outdate.

Non mod_rewrite links

Gallery index:
Gallery index, several pages:
Album (thumbnail page):
Album,several pages:
Sub album (similar for more levels):
Image page (sized image):
Link to a tag:
Date archive link:
Static custom page:

Zenpage CMS plugin

News section:
News section, several pages:
News category:
News category, several pages:
Single news articles:
News date archive:

Note:Although Zenpage pages and news categories can be nested it is not reflected in the URL. Abenefit of thisis that on re-sorting/re-nesting the links never outdate.

<![CDATA[FAQ, Troubleshooting, Tutorials, User Guide]]>https://www.zenphoto.org/news/zenphoto-url-structure/Wed, 16 Jul 2014 00:00:00 +0200
<![CDATA[Features (FAQ, User Guide)]]>https://www.zenphoto.org/news/features/<![CDATA[

Easy Media website management!

Zenphoto is a CMS for selfhosted, gallery focused websites. Our focus lies on being easy to use and having all the features there when you need them (but out of the way if you don't).

Zenphoto features support for images, video and audio formats, and the Zenpage CMS plugin provides a fully integrated news section (blog) and custom pages to run entire websites.

This makes Zenphoto the ideal CMS for personal websites of illustrators, artists, designers, photographers, film makers and musicians.

Manage image, video and audio files!

  • File system based: Upload files and folders via the administration or directly via FTP
  • Search enginewith boolean expressions
  • Dynamic albums based on "saved searches"
  • Multifile upload
  • Scheduled publishing
  • RSS
  • Watermarks
  • Automatically generated sized images
  • EXIF/IPTC metadata support
  • Drag & Drop sorting of albums and images
  • Moving, copying, renaming of albums and images
  • Supported formats:
    • Images:.jpg, .gif, .png, webp (generally all formats your server's graphics libary supports)
    • Videos:.mp4*, .m4v*, .ogv**, .webm**
    • Audio:.mp3*, .m4a*, .oga**, .webma**
    • Other formats (basic support only):.txt*,.html*, .pdf*, .pps*
  • Slideshow*
  • Comments*
  • Tags
  • Statistics
  • Rating
  • ...and much more!

* via official plugins; handled by any modern HTML5 capable browser natively - extendable via custom plugins
**via e.g. the jPlayer multimedia player only as fallback counterpart formats. See thejPlayer website for more info.

Manage blog and pages!

  • Custom pages management including nested subpages
  • Custom menu's
  • Drag & drop sorting of pages and categories
  • News section (blog) with nested categories
  • Post of new gallery items in the news section (blog)
  • File manager for none gallery files*
  • Scheduled publishing
  • Comments*
  • RSS*
  • Tags
  • Statistics
  • Rating
  • ... and much more!

Read more about the Zenpage CMS plugin

Multi-user management

  • User managment
  • User groups
  • Per user rights assignment
  • Password protection for albums and pages

Read more about user rights

International sites with multiple languages!

  • Admin backend translatable(gettext server support required)
  • Many backend translations included (gettext server support required): Chinese, Dutch, French, Galician, German, Hebrew, Japanese, Polish, Spanish, Swedish (See also Current language repository)
  • Multilingual sites with subdomain support for separatelanguage sites(e.g. fr.domain.com, en.domain.com)

Read more about language features

Create your own website design!

  • Highly customizable theme engine (HTML5, CSS, PHP)
  • Four standard themes included, more themes available
  • Object model framework for advanced theming and flexibility
  • Multiple layouts within a...
<![CDATA[FAQ, User Guide]]>https://www.zenphoto.org/news/features/Sat, 22 Mar 2014 13:32:00 +0100
<![CDATA[Articles about Zenphoto (FAQ, Third party, User Guide)]]>https://www.zenphoto.org/news/articles-about-zenphoto/<![CDATA[

We collected (and collect) various articles we find about Zenphoto on the net and elsewhere. Originally this was located on a "testimonials" page and now moved here to the user guide as that seems to be more fitting.

Note that some articles are quite a little older so will of course not reflect current state of Zenphoto at all.

<![CDATA[FAQ, Third party, User Guide]]>https://www.zenphoto.org/news/articles-about-zenphoto/Sat, 08 Mar 2014 00:00:00 +0100
<![CDATA[Database scheme (Customizing, Development, FAQ, User Guide)]]>https://www.zenphoto.org/news/database-scheme/<![CDATA[

This reference is meant to show the main table relations.Therefore not all tables created by Zenphoto are included and also only those fields that are interconnected.

Please use a tool like phpMyAdmin or the Database reference utility on the Zenphoto backend to see the full details of all data- base tables.

If coding for Zenphoto avoid to use direct MySQL queries and use the object model instead.

<![CDATA[Customizing, Development, FAQ, User Guide]]>https://www.zenphoto.org/news/database-scheme/Mon, 21 Oct 2013 13:11:29 +0200
<![CDATA[Using elFinder (FAQ, Tutorials, User Guide)]]>https://www.zenphoto.org/news/using-elfinder/<![CDATA[

Zenphoto features a file manager plugin named elFinderfor files outside the gallery and its albums.To use it on content fields like descriptions etc. you also need to enable the TinyMCE plugin. On the elFinder plugin options you also need to enable it for usage with TinyMCE.

You can then upload, delete and manage files. The files are stored within the root /uploaded folder.

If enabled, the elFinder is available on the Upload tab.

You can also access elFinder via the text editor TinyMCE (example here is a Zenpage article).

Depending on what you wish to insert you can use theinsert link or insert/edit image button to access it.

We will be using the insert/edit image button. After clicking the file button above you get the elFinder window.

elFinder offers various tools to manage files via the toolbar above or the context menu.

Note that whenever you use elFinder you work directly on the items on the file system. Actions like sizing are destructive.

You can select several items but you can only insert one at a time via TinyMCE.

After you double clicked on your selection the link appears in the TinyMCEdialog window.

You can then set some extra settings. After clicking "Ok" the image is inserted.

<![CDATA[FAQ, Tutorials, User Guide]]>https://www.zenphoto.org/news/using-elfinder/Sat, 31 Aug 2013 12:00:38 +0200
<![CDATA[ZenphotoCMS - The simpler media website CMS (2024)


Top Articles
Latest Posts
Article information

Author: Rueben Jacobs

Last Updated:

Views: 6056

Rating: 4.7 / 5 (77 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Rueben Jacobs

Birthday: 1999-03-14

Address: 951 Caterina Walk, Schambergerside, CA 67667-0896

Phone: +6881806848632

Job: Internal Education Planner

Hobby: Candle making, Cabaret, Poi, Gambling, Rock climbing, Wood carving, Computer programming

Introduction: My name is Rueben Jacobs, I am a cooperative, beautiful, kind, comfortable, glamorous, open, magnificent person who loves writing and wants to share my knowledge and understanding with you.