/********************************************************************************/ /* this file is part of: / diese Datei ist ein Teil von: */ /* tellmatic, the newslettermachine */ /* tellmatic, die Newslettermaschine */ /* 2006/7 by Volker Augustin, multi.art.studio Hanau */ /* Contact/Kontakt: info@tellmatic.org */ /* Homepage: www.tellmatic.org */ /* leave this header in file! */ /* diesen Header nicht loeschen! */ /* check Homepage for Updates and more Infos */ /* Besuchen Sie die Homepage fuer Updates und weitere Infos */ /********************************************************************************/ *+*+*+*+*+*+*+*+*+*+*+ CHANGES V1.0.7.4 +*+*+*+*+*+*+*+*+*+*+*+* 24.06.2008 - Menu: add Entry to watch complete Queue - Installation: Fix Path-"Bug" - Send: Fixed important Bug with undefined Array in Massmailings. - Export: Fixed Bug with Delimiter - Filemanager: fixed wrong Path using Constants *+*+*+*+*+*+*+*+*+*+*+ CHANGES V1.0.7.3 +*+*+*+*+*+*+*+*+*+*+*+* 12.12.2007 - changed $tm_ vars for internal dirs and paths to constants. fixed for: http://secunia.com/advisories/27895/?answer=62 - this exploit takes only effect in a very special setup: 1) register_globals is on 2) allow_url_fopen is enabled 3) .htaccess in include directory is not working - unsubscribe, subscribe, click, view saves a memo in the address record ->addMemo(adr_id,memo) - queue_list: added refresh link - create new queue now shows q-list after submit instead of nl list - session lifetime changed to 360min ^=6h - install: check for register globals, safe_mode, magic_quotes - status: icons for links to lists and statistics - csv export: changed format to: email, f0-,,,,,,,-f9, id, created, author, updated, editor, aktiv, status, code, errors, clicks, views, newsletter - set status 5:running in send_it.php just before validate email address prevent sending double mails. this happened when multiple jobs were running. now setting status 5:running just before checking email Details: see ChangeLog file. *+*+*+*+*+*+*+*+*+*+*+ CHANGES V1.0.7.2 +*+*+*+*+*+*+*+*+*+*+*+* 06.12.2007 - removed some php warnings and some small fixes - added support for multipart-mime/mixed/alternative - fixed a 'bug' on viewing newsletters, status was set even if unsubscribed - added status 7:unsubscribed for history - santa claus does not wear a red cloak!!! - fixed a bug when searching for mixed case emails, now forcing lowercase - on upload use move_uploaded file instead of copy... - fixed problem with send time set to 0h00m or similar, 0 is empty in php :P, if set to 0 the current servertime was used..., fixed *+*+*+*+*+*+*+*+*+*+*+ CHANGES V1.0.7.1 +*+*+*+*+*+*+*+*+*+*+*+* 01.12.2007 - small fixes - removed the sideeffect that sends a copy of each message to admin when bcc is used. - setting rcptto: limit for smtp to 1 before waiting for OK. Removes problems when tarpiting is used on the Mailserver. *+*+*+*+*+*+*+*+*+*+*+ CHANGES V1.0.7 +*+*+*+*+*+*+*+*+*+*+*+* 16.11.2007 In short: Tellmatic 1.0.7 contains tons of bugfixes, optimizations, new features, massive code cleanup, important security fixes, speed and perfomance optimizations etc. more Details: Fixed bugs: - send_it.php: trys to send mail even if entry is already processed, (not critical), fixed - wysiwyg: missing file plugins/contextmenu/langs/XX.js, wysiwyg won't start if language file was missing, (not critical), fixed - subscribe.php: typo: $SUBSCRIBE_URL=$mnl_URL."/subscribe.php?doptin=1&email=".$email."&fid=".$frm_id."&c=".$code; should be: $SUBSCRIBE_URL=$mnl_URL_FE."/subscribe.php?doptin=1&email=".$email."&fid=".$frm_id."&c=".$code; , fixed - serverinfo: used get_cfg_var, now use ini_get() instead, (not critical), fixed - click on a newsletter name to edit does not throw a warning, now it does, (not critical), fixed Changes, new features and enhancements: - installation splitted into single steps - userflag: manager, you must be a 'manager' to use bouncemanagement and database clean up - multiuser: add/edit/delete tellmatic authors - html code and default style is 100% valid html and 100% valid css code - index.php in installation directopry contains an example how to use the subscription and unsubscrtiption form - configure hard coded messages not using gettext for unsubscribe and subscribe, to change: open tm_lib.inc.php and edit $MSG['subscribe']['update'] $MSG['unsubscribe']['unsubscribe'] $MSG['unsubscribe']['error'] $MSG['unsubscribe']['invalid'] $MSG['unsubscribe']['already_unsubscribed'] $MSG['unsubscribe']['invalid_email'] all other messages for forms are configured in the form and saved in database! - name field for 'email' added to forms - added free definable errormessages in forms (for email, captcha, f0-9) - added regexpression fields for forms to let you check the input, e.g.: "^[A-Za-z_ ][A-Za-z0-9_ ]*$" - more icons :) - added delete flag for addresses - added LastInserID to DB Class, now inserting an entry does not require to read the inserted entry to add details (addresses) - internal address checking nw uses exact match for email, speeds up double checking by 1000%! - add a Q: now uses offset and limit to insert the queue entries, works well with only 8MB now. - $mnl and all variables, constants named mnl are renamed to use unique tm_ e.g. MNL_SITEID becomes TM_SITEID - changed some Class names mMail: tm_Mail mBounce: tm_Bounce connectDB: tm_DB mnlCFG(); tm_CFG mnlNL(); tm_NL mnlQ(); tm_Q mnlAdr(); tm_ADR mnlFRM(); tm_FRM mSimpleForm: tm_SimpleForm mURL: tm_Url nur in index mTemplate: tm_Template - checking emails now returns the exact reason why it has failed! (syntax, mx, dns, validation etc) - import: saves a logfile instead of showing the messages - setting default siteid to 'tellmatic' - import: disable checking for existing entries - newsletter and address status have colors now. - security checks e.g.: http://www.henke37.cjb.net/index.php?page=phpsafety and more - handle evil magic quotes correctly: see http://www.php.net/manual/en/security.magicquotes.disabling.php#id2553906 - all queries uses mysql_real_escape_string(): function dbesc($val) { return mysql_real_escape_string($val); } - added a login page, login is using return-include - use session logins - all .inc files renamed to .inc.php - mnl_config.inc becomes tm_config.inc.php - mnl_lib.inc --> tm_lib.inc.php and tm_lib_admin.inc.php - tinymce_il.php moved to /include - passwords are saved as a md5 hash of siteid, username and password md5(siteid,name,password) - added function tm_icon() to show icons, generates unique img src, using alt, title and id - added function display() to show output text in browser (wrapper for htmlentities() and stuff) - templates for layouts are now saved in different directories, each for one stylesheet. (see /tpl) - styesheets renamed to tellmatic*.css - GeoIP support: added geographical map for readers and subscribers etc (ip is saved on click, view or subscription) http://www.maxmind.com/app/api / LGPL - import: added limit and offset - export: added limit and offset - export: select file, overwrite or append to existing file - graphical statistics, barcharts for summary and details for addresses, groups, newsletter, queue, etc. using libchart - http://phpcode.mypapit.net/php-class/libchart-howto-create-bar-chart-and-pie-chart-easily-with-php/20/ http://naku.dohcrew.com/libchart/pages/samplecode/ GPL!!! - somewhat optimized sql - added indexes to db - classes use only 1 or max 2 dbconnections at a time - splitted status/summary and top list - added menuentry 'manage' for bouncemanagement and db cleanup - added menuentry for phpinfo() - added menuentry for credits/donate etc - new directory /files/reports to store reports and maps and charts - added memo to addresses, will be updated manually, saves memos on subscription, updated by import+update etc - new Stats.inc ARR=Array();ARR[ ][ ] becomes ARR=Array(Array(...)) - Class tm_ADR: getAdr with no details (saves a lot of memory) - js validator: http://www.silisoftware.com/scripts/index.php?scriptname=jsFormValidation - if user password changes, a new .htpasswd file is generated in /include - added spellchecker for wysiwyg - export: get available memory and export with limit and offset, now exporting 100 of thousands addresses is no more problem The list is not complete. *+*+*+*+*+*+*+*+*+*+*+ CHANGES V1.0.6 +*+*+*+*+*+*+*+*+*+*+*+* 30.07.2007 - some bugfixes and enhancements changes in 1.0.6: - index.php now moved to admin/index.php! (if updating: please delete the index.php from tellmatic installation directory from previous installs) - all sourcefiles now saved as utf-8, this should solve problems with some languages and esp. german 'umlauts', there may be some other isssues with encoding, but this is only affectng the UI translation. - export: enter filename for exportfile, choose delimiter - import: * select delimiter * select from previous uploaded import file * delete imported addresses * move existing addresses * activate or deactivate new and/or existing addresses * bulk-import (enter data directly to a textarea and import) * choose how imported email addresses will be checked (default is global internal setting, or set to 'no check' (be very very careful!), 'check syntax' or 'check syntax +mx') - themes: * energysave-theme for mozilla and IE * theme directories are now autodetected and listed in the user settings, mnl.css must exist - somewhat improved UI - newsletter: subject now up to 255 characters.. was only 48 chars :>, sorry - forms: * captcha code is now crypted as md5 and compared to the md5 value of the entered code * disable/enable use of captcha and amount of digits * enter text for submit and reset button * new var {FDESCR} contains the form description for templates. Be careful, this is for testing only, description is not 'html-save' at the moment * new var {FMEMO} contains a memofiled, memos are saved in the address-details table * activate/deactivate new subscribed addresses - adresses: * Added a memo field * Sort by multiple fields in the search mask - adr-groups and nl-groups: * added missing author and editor fields - newsletter: * choose content type, send nesletter as combined text/html mail, only html or only text. (using "phphtmlparser") * select or upload your own blindimage, jpg or png, 256colors or 24 bit with transparency, choose from uploaded blindimage, or upload a new one, or use a blank png or select global settings. - demo mode: set DEMO to TRUE in mnl_lib.inc to activate demo mode. This will de-activate all delete functions and sending-routine. in demo mode the upload is limited to only 2 kb. Show faked passwords, dont save / change admin or user settings like passwords etc. - debug mode: only used for gettext emulation now, shows some infos if the pattern matched or guessed or if the default string is returned..., set DEBUG to TRUE in mnl_lib.inc if you want to translate Tellmatic. - admin: * select global blindimage, choose an existing one or is a blank png should be used. Needed if you use global blindimage setting in your newsletter. * optionally show news at the startpage and do a version check - user: set expert user ;) If you're an expert, the menu will only show the current section and others are hidden by javascript and will only be shown if you clkick on the menu header, check it out... some help-texts and the legend will be hidden by js too. ... and a lot of bugfixes, code cleanup etc. Special Thanks goes to helios for sponsoring some of these nice new features! !And all other users who suggested new features and functionality. *+*+*+*+*+*+*+*+*+*+*+ CHANGES V1.0.5 +*+*+*+*+*+*+*+*+*+*+*+* 21.05.2007 - some bugfixes and enhancements changes in 1.0.5 (1.0.4.2): - Install: - select language - check DB Connection - some more checks - check if php runs as cgi, throw a warning! - create example data - trackingimage (blindimage), uses now img/mylogo.png or 4x7pixel blank png if not exists instead of 1x1 pixel webbug - select top X in status - new, much faster gettext emulation using plain text .po files! - serverinfo now displays some more or less useful debug infos - toggle wysiwyg on/off link - tinymce - updated from 2.0.6.x to 2.1.0 - emailcheck , new, better regex *+*+*+*+*+*+*+*+*+*+*+ CHANGES V1.0.4.1 +*+*+*+*+*+*+*+*+*+*+*+* 30.03.2007 - a new bugfix-release.... bugs in 1.0.4, fixed for 1.0.4.1: - send_it.php had a typo ... it used the wrong template for personal mailings. fixed! users who have downloaded 1.0.4 before, should only update send_it.php download from here: http://www.tellmatic.org/download/send_it.php.txt and save it as send_it.php in the include-directory. - install php contains a check for php5 and throws a message, not needed anymore. *+*+*+*+*+*+*+*+*+*+*+ CHANGES V1.0.4 +*+*+*+*+*+*+*+*+*+*+*+* 27.03.2007 - a new bugfix-release.... bugs in 1.0.3-a, fixed for 1.0.4: - install.php: if mnldir is empty, use . - subscribe.php: when a member has unsubscribed and subscribes again, the address is marked as new again , but leaves inactive, now it sets the address active again - fixed gettext implementation ... _() instead of __() was used by ___() - Empty directories /files... etc. are included again, some people reported problems. In some cases PHP settings dont allow the script to create subdirectories or full chmod. - In menu 'new delivery job' link was wrong. - 'click.php' didnt redirect to the link. was a missing exit; after header() - Onlineversion of newsletter was not shown, the variable was not parsed but preview was ok. - Fixed some PHP-Warnings (undefined variables) - Http reload in send_it.php didnt work - Translations i German had broken Umlauts, was not charset UTF-8 and encoding 8-bit changes in 1.0.4: - re-ordered menu - Default language after installation is now 'en' - english. - Smtp user/passwd etc no more required for installation - $_SERVER["PHP_AUTH_USER"] gets $LOGIN->USER['name']; AUTH_USER is only used now in the login method, so we can switch to session easily - show phpinfo() if mnl_config does not exists. e.g. if index.php is called before installation :) so you can check the php version and settings. new features in 1.0.4: - Status now show a list of all Groups, and a + icon to show the details which are in a hidden div now, otherwise its sometime too much to view. - included knittl's filemanager from myftphp and adapted to run with tellmatic :) its still very experimental. Please visit http://myftphp.sf.net to get the latest Version (Standalone). known bugs in 1.0.4: - still no PHP auth with cgi version, we need sessions here, but i am prepared, not a bug! please report any 'bugs'. *+*+*+*+*+*+*+*+*+*+*+ CHANGES V1.0.3-a +*+*+*+*+*+*+*+*+*+*+*+* 25.03.2007 - a small update changes, new features and enhancements: - Version checking: when you enter tellmatic, it shows the actual version available and latest news :) It is recommended to download and use the latest version if there is one available. bugs fixed: - {BLINDIMAGE} was not in the list for variables creating or editing newsletters... nobody knew about the feature :O - some strings were not detected by xgettext: warning: unterminated string literal, fixed and added to .po and .mo - Class_Q.inc zeile 338 $mnl_siteid must be MNL_SITEID, i just forgot to copy this line to the release version ;-) - Not all files in archiv had read permission for others. wysiwyg editor may not load or form for new address-groupwas not shown... , reported for some installations, depending on php user-permissions etc. - Target was missing in Menu: was always _self, but should be _blank sometimes - Menu is now indented - HTML output for send_it.php was a bit broken, reload link was missing, 'html' at end of file should be '/body' and '/html' - fixed/added links to readme, install , update in install.php *+*+*+*+*+*+*+*+*+*+*+ CHANGES V1.0.3 +*+*+*+*+*+*+*+*+*+*+*+* 24.03.2007 changes, new features and enhancements: - Internationalization support via GNU gettext was added (php-gettext emulation functions - also works if gettext is not suppported by php!) - created/translated gettext phrases (about ~570) to german and english. tellmatic is now available in german and english. - translated quickhelp files to english. (each language now hgas its own directory depending on the selected language) - if a user unsubscribed, and subscribes again, status is set to 'new' , otherwise status doesnt change for already registered users on update! - Charset switched to UTF-8 for mails and webinterface! I need feedback here. - $mnl_siteid is now a constant MNL_SITEID, defined in mnl_lib.inc - ntlm sasl client was missing in Class_SMTP.inc, added. - Menu.inc was reweritten from Scratch, now using templates and an array for menuentries - fixed some non critical 'bugs' *+*+*+*+*+*+*+*+*+*+*+ CHANGES V1.0.2 +*+*+*+*+*+*+*+*+*+*+*+* 18.03.2007 voa bugs fixed: - workaround for php5, using compatibility mode ..... no comment... see README - all password fields are now type 'password' - check for mem_get_usage(), if not exists, memory information is not available... only for debugging purposes changes, new features and enhancements: - import: select new status for new and existing addresses - export: only export addresses with status XXX - newsletter: new Template variable {SUBSCRIBE} and {SUBSCRIBE_URL}, linking to subscribe.php and set status 'bestaetigt' like double-optin, this is almost for use with touch-optin mails :) (this is when you import addresses and send a initial newsletter, you can add a link to subscribe. dont add a blindimage in your initial newsletters! after a few days, export all addresses with status 'bestaetigt' and import in a new group (like moving between groups) subscribe uses the Template tpl/Form_0_os.html to show a message after clicking) new status for touch is 12... (till i switch to bitmasks) - installation now checks for writeable directories. - installation now creates the directory file/... and all subdirectories. the empty directories are no longer included in the archiv - installation now throws a message when php5 is detected. - installation now checks for imap_open() and thorwos a mesage if not exists - send_it.php's logfile is now in english. the status messages are sent bilingual (de/en) - all forms: index.php becomes $_SERVER["PHP_SELF"] - added style 'wine', a mixture of red and grey , please try it :) , and if your a 'Master of CSS' - send me your update ;-) *+*+*+*+*+*+*+*+*+*+*+ CHANGES V1.0.1 +*+*+*+*+*+*+*+*+*+*+*+* 13.03.2007 voa bugs fixed: - message id not exists for pop3 connections - install.php : link to index.php startpage contains \n - subcribe.php: SUBSCRIBE_URL missing in optin mail , broken link for textmails, fixed. - install message contains no link and a \n. - install mail is a bit weird. *+*+*+*+*+*+*+*+*+*+*+ CHANGES V1.0 +*+*+*+*+*+*+*+*+*+*+*+* no changes, initial release! EOF