I just posted up a new release of gCards, the PHP ecard script I wrote about a year and a half ago. I haven’t done a good job at all of fixing bugs over the last year and I have all but stopped reading the forums, but the application – aside from the major news bug (which was actually a small fix) – is very stable now.
I started gCards as a project to learn how to write a PHP app. I wanted to have some background in programming – I work at an enterprise software company as a product manager. In this job I spend about half of my time working directly with engineers. I thought it would be useful to get a better understanding of the issues of design and implementation of software. I bought a PHP book and started reading it, but I quickly got bored running through the chapters and decided it would be better to make a little project for myself that would give me exposure to a wide variety of aspects of PHP programming. I decided on an ecard application because:
- I like photography and I had a very lame ecard page up on my site – I forget now which script I was using
- An ecard script would need to involve the following technologies
- Database to store the card information and the sent cards
- Image resizing to create thumbnails
- Security to prevent public access to the admin interface
- Dynamic front-end pulling information from the database
- Creating and sending dynamic emails
- It was more fun the reading through the book
So I started working on it and quickly had something up quickly. I had used a couple scripts which I had found on hotscripts so I figured it would only be fair to post my completed effort on the site for others to use. I never really expected people to download it and use it. In the first couple days, several hundred people downloaded the application. It was very rough around the edges and many people reported bugs which I dutifly fixed, all the while learning how to write a PHP app.
In addition to bugs, people were asking about features. My goal had been to create a simple and dynamic PHP script for my website, so I tried to stick with that goal – I only wanted to implement features that made sense for me and that would keep the script simple. So I added things like WYSWIG (first HTMLArea then FCKeditor) editors for writing. A couple other things I didn’t need for my site I decided to add – one example was internationalization – gCards has been translated into more than 20 languages.
Since I first created gCards, I have created several other applications:
- A enhancement database, customer database, and several other internal applications for Selectica, the enterprise software company I work for
- The backed for both the intranet and website of Selectica
- A website for my friend Michael’s band, Boys on Trial
- A website for Kiesandahl and Calhoun, a fine art gallery in New York
- A document / file management application
- A blog for my brother, that I used at his site
- Mailing list management for my mom’s company, Redstone Studios
Over the course of this work, my skillz have increased quite a bit, and now I find it difficult to wade through the hackish code that gCards is comprised of. It works, but it isn’t a very nice application from the code perspective. PHP, HTML, and SQL are intermixed with no separation between data and logic. If I wrote the same application now it would be OOP and it customization of the user interface would be a much cleaner thing. I don’t have enough time to rewrite it…between work, travel, and entertaining my girlfriend…I don’t have much time for gCards.
I think that the most important reason for the (relative) success of gCards was it’s ease of use. Too much open source software is difficult to install, use, or understand. It’s not the most beautiful application, but it’s much better than most of the competition. As a product manager at my company it is my job to design usable software that accomplishes its goals. That’s what I tried to do with gCards. So despite it’s hackish origins and it’s moderately ugly looking code, I think gCards was redeemed by it’s ‘keeping it simple’ approach. I hope people like using it, and I plan to continue to fix bugs whenever I have the time…but that time is few and far between.
The beauty of open source software, of course, is that the source is out there for everyone to see. So if there’s something you want to add, or a fix that you think needs fixing…..fix away!
Thanks for reading this completely incomprehensible post!
July 8th, 2005 at 9:41 am
gcards seems like a great application. Can it have extra fonts loaded? (I asked on the forum but I would like to know from you and I saw you did not visit it often.) I would really appreciate it if you would email me about i, t regards Kym.
July 8th, 2005 at 9:42 am
gcards seems like a great application. Can it have extra fonts loaded? (I asked on the forum but I would like to know from you and I saw you did not visit it often.) I would really appreciate it if you would email me about i, t regards Kym.
July 12th, 2005 at 5:36 pm
I want to complimentate you on the wonderfull job you have done, making gcards!!!
It was very easy to use. No complications. Everythings works.
GREAT JOB REALLY AMAZING
October 7th, 2005 at 5:27 am
Hello, I don’t know if gcards works with PHP Version 5.0.4 and MySQL 4.1.12a? I have problems wit admin login….
Please write me back. Zemfy
October 7th, 2005 at 6:54 pm
Greg,
I’m trying to use your gCards, and I think it’s work very nicely, but I seem to be having some problems with the install, specifically when I run the setup.php file. I get error messages such as…
Warning: main(inc/adodb/adodb.inc.php): failed to open stream: Permission denied in /home/kidgridorg/public_html/tell/setup.php on line 20
I double-checked the db setup variables in config.php, and they are correct. I got my steps out of order (doing the CHMOD on ‘images’ and ’sound’ directories) before I ran setup.php. But I soon realized this and corrected the CHMOD back to 744, and tried setup.php again, but I still got the same error message. Can you give me any advice? Can you email me, instead of commenting, because I want to make sure I get your response as soon as you get it.
Nice work on the code. It looks very well done.
Thanks,
Andy
October 11th, 2005 at 11:56 pm
Thanks for great ecard script !
Hope to have some new update frequently with new features and layout. Thanks for hard work .
Terry
October 12th, 2005 at 3:45 pm
Hi, great script, I use it on a server that hasn’t upgraded MYSQL yet and it runs like a dream.
Please, please, please upgrade the script to work with the latest version of MYSQL. It’s not that I’m begging just I cannot run it on this new version as there is a problem with admin and logging in. Password verification I think!
If cash is an incentive let me know what you think is fair!
Cheers
Chris
October 16th, 2005 at 9:22 am
I enjoy the script very much. Thanks again!
October 20th, 2005 at 10:59 am
Hi Greg, I love your selection of gcard/postcard graphics. Two questions…1) are they copyright-free graphics? and 2) If so, do you have a higher resolution file of one of the postcards that I could download for a project I’m working on? Please feel free to email me at the address given. Thanks!
October 21st, 2005 at 12:57 am
Hello Greg,
Thanks for the Gcards! I love them. I have them both on my http://www.tina-turner.nl and my http://www.sarah-brightman.com
I love them because the script was fairly easy to install. And also when I changed providers I had it up and running again in no time.
So thanks again!
October 21st, 2005 at 7:10 am
BMT: unfortunately the images on my site aren’t copyright free – not that I’m planning to sell them, but as the creator of them I don’t want to let them slip slip away…sorry!
October 26th, 2005 at 5:21 am
Hi from Paris France!
Thanks for your great job!!
I would like to integrate your gcard to my website.
I had NO problems with installation.
I have only problems with the mail configuration.
My website is hosted @ http://www.online.fr in france, and they have a custom email() function instead of the mail one in their php.
they provide some info about it here : http://www.online.fr/support/us/doc/php4/php4_email.html
it’s in English.
But i’m not gifted enough to integrate this in your gcard system.
Could you help me?
thanks a lot!!
October 26th, 2005 at 6:57 am
giruburuno: in addition to supporting the php mail function, gCards supports SMTP by using PHPMailer. You can check the mail config file to set it up for usage with a regular pop3 account to send the mail….
October 27th, 2005 at 1:47 am
I’m gonna to try this!
thanks for your rapid answer
November 1st, 2005 at 9:36 am
Hi Greg. I was wondering if there is a way that I could add hyperlinks to the gcard. I would like the cards to be a promotional tool that website visitors can announce events to their friends. The idea would be that if you received a gCard, the actual card (not the content area with the stamp) could be a website link, or maybe if there could be an image map on the card…
Like this:
http://www.gregphoto.net/ecards1/getcard.php?cardid=1130862273
Is this possible to make the ocean pic a link or is there a work around that I could be able to add the link in the PHP templates?
November 4th, 2005 at 4:58 am
hello
i was yust preparing to upgrade gcards
version
gCards v1.43
as it states on the website
so does the config file
$gCardsVersion = ‘1.43′;
the config.php included in dl of version 1.44 states:
$gCardsVersion = ‘1.42′;
further, i noticed that all the languages are gone (in config.php) except english & french example
also, the languge files are missing in
inc/lang
directory
why is that
is it a bug or smthng?
i dl-ed the archive again
gcards1.44.zip
the same thing …
November 29th, 2005 at 3:02 pm
I have uploaded the script and can access the admin panel but when I attempt to upload I get this message?
Any help would be appreciated
Image uploaded successfully…
________________________________________
The following required function does not exist: ImageCreateFromJpeg
file=\\nas24ent\domains\s\stprivatdespres.com\user\htdocs\gcards\inc\imageResizer\hft_image.php
________________________________________
________________________________________
file=../images/1133301171bales.JPG
file=\\nas24ent\domains\s\stprivatdespres.com\user\htdocs\gcards\inc\imageResizer\hft_image.php
________________________________________
Warning: Division by zero in \\nas24ent\domains\s\stprivatdespres.com\user\htdocs\gcards\inc\imageResizer\hft_image.php on line 156
Warning: Division by zero in \\nas24ent\domains\s\stprivatdespres.com\user\htdocs\gcards\inc\imageResizer\hft_image.php on line 157
Fatal error: Call to undefined function: imagecreate() in \\nas24ent\domains\s\stprivatdespres.com\user\htdocs\gcards\inc\imageResizer\hft_image.php on line 216
December 1st, 2005 at 9:03 pm
Greg,
I have been using gCards for over a year and the script has run flawless since I installed it. You may know me from the forum under user name Mike “The duct tape mod guy”. Just wanted to say thanks again for your work.
Happy holidays.
Mike
January 6th, 2006 at 9:21 pm
Greg,
I am trying to install the gCards script and everytime I try to upload an image, it says:
Image uploaded successfully…
File copy error!
Then it does not upload anything. Can you tell me what is going on, as I have tried EVERYTHING!
Thanks,
Scott Raven
January 7th, 2006 at 4:39 pm
Hi Greg,
Been using the script for a long time and have been trying to create a new 1.44 on PHP5 and MySql5.
All functions work well …I used the exact files that works fine on my PHP4 version except for the $sitePath config.php change.
No errors on Creates or uploads…
I get (on send) this error ..
error inserting: Unknown column ‘music’ in ‘field list’
Gcards 1.44
Debian Sarge
PHP Version 5.1.1-1
MySQL version 5.0.16
Thanks for any ideas
January 15th, 2006 at 2:01 am
Hi
Nice script .. i just could not work out an importnat thing
HOW can i integrate it into my existing website layout without using IFRAME?
Can it be integrated visually so it looks like part of my existing website?If Yes then how?
February 2nd, 2006 at 2:29 pm
Hi, Greg. I seem to be having the same difficulty that Andy Knight (Oct 7th) did in installing the ecard script. Same warning messages. I know you’re a very busy kinda guy, but I have searched the world over (online, that is) for a straightforward script like this for my custom portrait website. The others I’ve found are so corny. So, pretty please? I’ll distract your girlfriend for a few minutes while you answer. (wink) Thanks in advance.
February 28th, 2006 at 2:00 am
Hi Greg,
Thanks for this script. I have problem with the initial configuration. I can’t use admin with admin password to login. Always rejected. I only do as what instructed in the installation guide. Could you advice please?
Thanks a milion!
March 2nd, 2006 at 2:50 am
hi greg!
you don’t know how long i’ve searched for an ecard program, and one that had the features without looking cramped or that was hosted on another site.
i downloaded your folder…but, i am definitely not a programmer, and barely know html. so i was lost after reading your User Guide after 1. Download….
do you have more detailed, handholding info on how to create the database, and php file, and everything else past step 1.?
desperately seeking info (or better yet, some kind of simple to implement, automated file that i can just cut and paste or download somewhere)
thanks much! cool photogs, btw, i am an artist too!
lili
March 5th, 2006 at 11:13 pm
Hi Greg,
Your gCards is exactly what I’ve been looking for. I installed it tonight and the default username/password would not work. I went into my database and created an additional one for myself, and got the same error. Basically stating its invalid. Can you please contact me. I searched your site for a help section or contact email, nothing can be found.
Thanks again!
March 9th, 2006 at 9:43 pm
I just uploaded gCards version 1.45. This should hopefully fix all of the issues people had with the authentication. Basically when it was written I used a mysql specific function called ‘password’ for creation of and validation of the users password. MySQL changed this in one of there versions – 4.x I think. I’ve updated gcards to store the password as an md5 hash of the real password, so that should hopefully stand the test of time, as its not specific to any mySQL version…
enjoy
Greg
May 28th, 2006 at 4:08 am
First thing why forum is down
does gcards support flash files
it would have been very good if it was so
has some body modified it to support flash
please help
with out flash support it is of no use in mordern era
thanks
June 4th, 2006 at 10:54 pm
is the gcards aboadoned project
there is the support either
even this comment seems out and …..
no replies at all
July 2nd, 2006 at 9:06 am
how do i install gcards?
October 14th, 2006 at 5:20 pm
Your girlfriend is really hot!
November 7th, 2006 at 9:02 am
Greg
POP3 Before SMTP
I just wanted to let you know, that I installed your product and it works fine. Unfortunately the php mail() function was very slow, so I decided to swith to SMTP. My host though required POP3 autorization before SMTP. Since your product did not support it naturally, I made a few changes, based on Richard Davey’s code (http://www.corephp.co.uk/archives/18-POP-before-SMTP-Authentication-for-PHPMailer.html) and it works fine. Here is what I changed:
added file class.pop3.php (from dave)
in config_email.php added
var $POP3Auth = true;
var $POP3Host = “mail.felicity-art.com”;
var $POP3Username = “user@felicity-art.com”;
var $POP3Password = “mypassword”;
in getcard.php and process_compose.php added
if ($POP3Auth)
{
require ‘class.pop3.php’;
$pop = new POP3();
$pop->Authorise($POP3Host, 110, 30, $POP3Username, $POP3Password, 1);
}
$emailer = new emailer();
if ($POP3Auth)
{
$emailer->IsSMTP();
$emailer->SMTPDebug = 1;
}
Regards
Max Viskov
January 3rd, 2009 at 8:39 am
I am having the following error when i open setup.php
I have given the right database information. But sill its not working….
showHeader(); if (isset($_POST['installStatus'])) $installStatus = $_POST['installStatus']; $success = “”; $failure = “”; // Create Database Connection and test to see if DB properties are correct $ADODB_FETCH_MODE = ADODB_FETCH_ASSOC; $conn = &ADONewConnection(’mysql’); if (!$conn->Connect($dbhost,$dbuser,$dbpass,$dbdatabase)) { ?> Could not connect to the selected database: . Check the config.php file to be sure you set the correct database server, database name, username, and password. Contact your system administrator if you do not know these values.
You need to fix this before you can continue with the installation process.
showFooter(); exit; } if(!isset($installStatus)) { ?>
March 5th, 2010 at 10:53 am
[...] Dolphin Limited Partnership, GAMCO, Icagen Inc (NASDAQ:ICGN), Mill Road Capital, Multimedia …Graphics by Greg Blog Archive gCards 1.44 Released…And …A enhancement database, customer database, and several other internal applications for Selectica, [...]