Latest version: 1.1.2 (31 August 2010)
For more information: webmaster at fotobunny dot com
For now checkout these example sites created using Zestoi CMS
Change Log
1.1.3 NEW SMARTY EXTENSIONS * in general a smarty function now exists with the same name as the php zestoi function minus the zestoi_ prefix. e.g: the smarty {select_result} is the same as the php function zestoi_select_result(). unless the function is purely to set data, like {setval} then the extension will output the data unless a 'val' parameter is provided; in which case that variable will be set. e.g: {expand_url template="/%site%/%seoname%.html" site=livejasmin seoname=SexyGirl} will output the url in place {expand_url template="/%site%/%seoname%.html" site=livejasmin seoname=SexyGirl var=my_url} will assign the url to {$my_url} use the argument '_args' if you have an array that represents the args, example: {foreach from=$webcams_results item=model} {expand_url template=/%site%/%seoname%.html _args=$model} {/foreach} * new extensions for blog articles: {article} {feed} * function list: {append_results} {config} {configs} {select_result} {results} {vals} {val} {setval} {decode_url} {urlconfig} {list_channels} {expand_url} {ucfirst_sentence} {article} {feed} {webcams} * documentation to follow 2010-08-31 1.1.2 NEW FEATURES: * write htaccess on changing theme and map /theme/ to the current theme dir ** allows a theme file to refer to urls like /theme/style.css etc to pick up files from the chosen theme ** only the zestoi content in the htaccess file is changed, i.e: between "## BEGIN Zestoi" and "## END Zestoi" * create robots.txt file on setup that references the sitemap file * new function zestoi_results() that returns an array of all models data from the current search this can then be looped round within php code like the smarty example below instead of using a combination of zestoi_select_result() and zestoi_vals() or zestoi_val() example: $models = zestoi_results('webcams') * new smarty extension {webcams} for displaying webcams (will be extended to other plugins) ** passing in print=1 will display the data inline ala <?= zestoi('webcams', 'status=!offline&print=1') ?> ** a new parameter 'max' has been added that can be used instead of rows+cols (also works via php call to zestoi('webcams', 'max=10') etc ** new parameter 'var' to select the name of the data set by {webcams} *** if the parameter 'var' is not passed into the {webcams} smarty function (as is the case when the data is automatically built based on the current page urlconfig rules) the data can still be accessed as $webcams_multi BUGFIX: * call to zestoi_config() at end of webcams cron should be zestoi_configs() else causes error when only a single sponsor used SMARTY EXAMPLES: * select and display data using an external template which will be used to render each grid element: {webcams gender=female status=!offline print=1 template=webcams_grid.tpl rows=2 cols=5 print=1} * select/extract data and then loop round within the template itself (like tgpx) {* select the data we want, but don't print it yet *} {webcams gender=female status=!offline max=15 var=my_grid} <table cellpadding="5" border="0"> <tr> {* loop round the cells *} {foreach from=$my_grid item=model name=grid} {* display a model, just a photo with a link *} <td><a href="{$model.link|htmlspecialchars}" target="_blank"><img src="{$model.photo|htmlspecialchars}" border="0" width="190" height="140"></a></td> {* insert a new row every 5 cells *} {if ($smarty.foreach.grid.index+1) % 5 == 0}</tr><tr>{/if} {/foreach} </tr> </table> 2010-08-28 1.1.1 * new function to access number of online and totals for each niche and site - zestoi_webcams_online_counts() ** array key 'online' contains online counts and 'total' contains all models count ** totals are calculated at the end of the cron run and cached so no impact on page load times ** zestoi_webcams_online_counts() returns all counts ** zestoi_webcams_online_counts('all-online') returns counts for the all-online niche ** zestoi_webcams_online_counts('all-online', 'online') returns just the number of online models for the all-online niche * new function zestoi_webcams_niches() that includes online and total counts * new function zestoi_webcams_sites() that includes online and total counts * default theme 'webcams' now uses these new functions to display online counts (not totals) 2010-08-21 1.1.0a * new function zestoi_append_results(type, query) for use in .tgp template format to ensure enough data to fill the grid ** example: zestoi_append_results('webcams', 'gender=female') * remove use of $site as loop variable in webcams_pink/header.pct since this overwrites the name of the current site (this caused incorrect livefeed to load in 1.1.0) * make sure all global variables from webapp.php are made available as global from a php (php/pct/tgp) template * make loop code more readable in webcams_pink theme * increase width of table/box for displaying required crontab entries * suppress warning if themes settings.txt file does not exist * remove error when zestoi_select_result() is called with an array index out of bounds 2010-08-15 1.1.0 NEW TEMPLATE ENGINE FORMATS * new template engine expanding variables like %%NAME%% or %%name%%, file extension of .pct * new template engine to allow embedding of grid as static html table ala smartthumbs, format is like #photo:5:webcams# which will expand to the photo url for the 5th webcam model in the grid, file extension is .tgp * php code can be embedded in both .tgp and .pct format templates. the php code is executed first * template maker to create basic html and variables for the new .tgp template format * ability to loop round data (ala wordpress or tgpx) by calling zestoi_select_result(type,id) and then the usual calls to zestoi_val(fieldname) will work ** example: while ($post < zestoi_val('page_matches')) { zestoi_select_result('webcams', $post++); echo zestoi_val('name'); } NEW THEME ENGINE FEATURES * templates can be stored in the theme dir as well as 'templates' and will take precedance if exist with same name in both locations * any template format can now be used for theme files, i.e: index.php, index.tpl, index.tgp and index.pct are all valid (files are searched for in that order) ** since webcams_profile is the urlconfig name for a webcams profile and the default template is webcams_profile.tpl an exception has been added in for this name, so that webcams_profile.* will not be searched for, but instead will default back to single.* as before * data can be embedded directly into a theme file now, so for example single.pct could be loaded for a profile page and contain variables like %%LINK%% etc * theme files are now also cached if cache_enabled is set to 1 in the site settins page (prior to this only 'templates' files were cached) * all template files, from 'templates' or the theme dir can be selected from the webcams global settings page (css, php, tpl, tgp, pct) * themes can now contain a settings.txt file to update settings that are needed for the theme to work properly * new themes selector/browser displaying info and a preview of how a new theme looks * themes can now optionally contain a preview.jpg and/preview.txt file that is viewed via the theme browser MINOR UPDATES * new empty template called null.php should be selected in the webcams global settings if embedding data directly in the page, to avoid rendering of html not needed * new script smarty2php.pl to convert from existing smarty templates into php and/or php+pct format, since smarty plugins do not yet exist to enable smarty templates to easily be used as theme files with inline/embedded template content (will not convert 100% of smarty constructs) ** example: smarty2php.pl -pct webcams_profile.tpl single.pct * new function zestoi_setvals() which is called after data is extracted but before html rendering takes place to allow for included templates to access the same data * themes can optionally contain a settings.txt file to update items such as rows+cols needed for it to be used correctly * new urlconfig type of 'none' that does nothing except load the theme file with the same name as the urlconfig entry * the command line utility zestoi.php now searches to find config.php so ZTOP no longer needs setting so long as run from the zestoi/bin dir * templates editor moved to top level menu 'Templates' and now allows editting any template from current theme and global templates dir * added new urlconfig entry (for new installs) that will preload the zestoi data and load a home.* theme file ** the fields are: home | / | webcams | status=!offline | load webcams for the home page ** without this urlconfig entry home.* will still be searched for if the url is / but home.* will be responsible for calling zestoi() to extract data (as before) ** all templates now have the extra code commented out in their home.* files, so either add the urlconfig entry or uncomment out that line * zestoi_val('urlconfig_name') can be used which return the name of the current page urlconfig item: webcams_profile, webcams_niche, etc ** used in the themes/*/functions.php file when choosingf correct page title BUG FIXES * current theme was not being selected in the global site settings page * replace mycams livefeed code with livejasmin code in templates/webcams_livefeed_livejasmin.tpl * change to the logon code to prevent the data loss to config files that can happen depending on the page loaded after logon * fixed bug in sitemaps generator for more than one sitemap NEW THEMES * webcams_tgp, using a tgp template for the grid and a pct one for the profile page - both inline templates * webcams_orange, using pct templates * webcams_blue, using smarty templates * webcams_dark, using zestoi_select_result() to loop round data to build up the grid direct from a theme file, profile template uses inline php * webcams_pink, manually looping round the grid elements but letting zestoi prerender them all via an external template ISSUES * when using the tgp format for a grid layout you need to ensure that the webcams default rows/cols are set to find the same number of models * in a tgp template, if not enough data cells exist, 'image' is replaced by the hardcoded /nopic.jpg to avoid broken images * if you change to a new theme that uses a template with the same name as an old one you need to clean out your smarty cache (or update timestamp on new one) * all templates now assume the new / urlconfig entry and so any home.* template doesn't extract data explicitly 2010-08-08 1.0.6 * allow custom keywords to be searched in free form text fields when defining a niche. this allows for example an 'eastern european' niche by searching for 'russia ukraine poland moldova' etc in addition to the regular niche search parameters. * convert any non-apha to white space before performing niche keyword search 2010-07-25 1.0.5j * remove hardcoded prefix of zestoi_ from sql in bin/webapp.php for search 2010-07-25 1.0.5i * remove hardcoded prefix of zestoi_ from sql in webcams module for niche edit 2010-07-21 1.0.5h * allow QueryID to be specified for sexier.com feed 2010-07-11 1.0.5g * add template=rssitem.tpl to urlconfig for blog posts * make the all-online niche default in the home.php theme file * xml feed error handler not working correctly * add syslog::warning calls in the awe decoder to track transient http errors * incorrectly used 'value' instead of 'content' in the meta tags in themes/webcams/header.php 2010-07-06 1.0.5f * the value of {$link} was not correctly flipping to {$profile_url} when the model was offline 2010-07-04 1.0.5e * allow theme to define a page to load whos name matches the name in the urlconfig entries 2010-06-30 1.0.5d * remove privatecamz feed - url and format has changed * missing DIRSEP after info in config.php * Do not allow setup to run while config.php exists * Include popt.php from config to allow for external scripts to be used more easily 2010-06-23 1.0.5b * remove hardcoded xlc_idc var from xlovecam decoder 2010-06-23 1.0.5a * use zestoi_ucfirst_sentence to prettify the sponsor names 2010-06-22 1.0.5 * webcams feeds error handling state not being displayed in form - missing php tags * remove incorrect commit - xlovecam specific iframe * webcams sitemap not working when num models less than chunk size * some models have breats bigger than 99cm.... * wasnt showing blogs when only 1 channel existed * new admin option to keep models online if a XML feed fails * tweaks to sidebar.php * make bare.tpl have a white bg and 100% width * if the site for the current model has been delete then skip the model, stop an error being output, the model will be deleted on next cron run anyway * check to update/refresh photos was incorrect * sql to delete webcam feeds we incorrect when none exsted anymore * misc xlovecam tweaks * add zestoi version to overview page * allow cache to be dyanmically disabled * force search to not be cached and search model names * force cams.com feeds to be in english * added xlovecam xml feed * add link to live site from overview page * ensure we are being installed into a subdir called zestoi * missing %page% from blog_channel urlconfig item