Free Realty real estate listing software

Patrick Fleming

2.9-0.7

Table of Contents
Introduction
Why FreeRealty?
Installation
Configuring
Setting up the database
Snapshots

Introduction

Free Realty versions 2.6 through 2.9 are based on Jon Roig's scripts called Open Realty. Jon no longer appears to be connected with the development of Open Realty and it has been taken over by Ryan who runs the site openrealty.org. Free Realty takes some of the modifications and feature requests as presented over the years on Jon's bulletin board (http://www.jonroig.com/freecode/phpBB), my own bulletin board http://bb.rwcinc.net, email from the mailing list, as well as direct contact with users of the scripts.


Why FreeRealty?

You may be asking why this fork when there is ongoing development on Open Realty. When I began using Open Realty, there was active development of the project. The community had built up around Jon and his scripts which where also developed for use for auto listings, modified for use as restaurant listings, including images of the menus and even used for an escort service.

The answer to that question is pretty simple: compatibility and upgradability. While I and others were using Jon's scripts on production sites, the upcoming release by Jon was not compatible with the database schema we were currently using. Worse, upgradability did not seem to be a consideration with newer versions of Open Realty being re-written from scratch with a new design, database schema and access changes.

Production users of Jon's 2.6 release were dismayed. Many of us felt like we had something that was working. Why fix what isn't broken? As Open Realty was, and continues to be, licensed under the permissive GPL it was only natural that a fork occur for those of us still using the older scripts. We rolled in some fantastic feature code written by Tom Anderson for a client of his. Tom's code presumed a new, empty, database. The code written into Free Realty allowed an existing site to make use of Tom's features without having to start over entering property listings.


Installation

There are a couple of different installation methods depending upon how you downloaded the files, and whether you feel like configuring your own installation.

So, let's get started. Did you download the zip or the tar(tgz) file? The zip files are packed such that when unpacking they end up in a directory named after the file. For instance FR-2.9-0.7.zip will unzip to FR-2.9-0.7.

To install the zip file simply type:

bash$ unzip FR-2.9-0.0.zip
Archive:  ../FR-2.9-0.0-0.0.zip
   creating: FR-2.9-0.0/
  inflating: FR-2.9-0.0/accountedit.php  
  inflating: FR-2.9-0.0/addagent.php  
  inflating: FR-2.9-0.0/agentadmin.php  
  inflating: FR-2.9-0.0/agentdisplay.php  
  inflating: FR-2.9-0.0/agent_image.php  
  inflating: FR-2.9-0.0/browse.php   
  inflating: FR-2.9-0.0/CHANGELOG    
  inflating: FR-2.9-0.0/common.php   
  inflating: FR-2.9-0.0/emailpass.php  
  inflating: FR-2.9-0.0/friendmail.php  
  inflating: FR-2.9-0.0/image.php    
  inflating: FR-2.9-0.0/index.php    
  inflating: FR-2.9-0.0/license.txt  
  inflating: FR-2.9-0.0/logout.php   
  inflating: FR-2.9-0.0/readme.html  
  inflating: FR-2.9-0.0/propview.php  
  inflating: FR-2.9-0.0/README       
   creating: FR-2.9-0.0/content/
  inflating: FR-2.9-0.0/content/featured.php  
  inflating: FR-2.9-0.0/content/agent_feature.php  
  inflating: FR-2.9-0.0/content/main.php  
   creating: FR-2.9-0.0/templates/
  inflating: FR-2.9-0.0/templates/agent_top.html  
  inflating: FR-2.9-0.0/templates/user_bottom.html  
  inflating: FR-2.9-0.0/templates/user_top.html  
  inflating: FR-2.9-0.0/templates/states.php  
  inflating: FR-2.9-0.0/templates/user_top.php  
   creating: FR-2.9-0.0/includes/
  inflating: FR-2.9-0.0/includes/func.php  
  inflating: FR-2.9-0.0/includes/features.php  
  inflating: FR-2.9-0.0/includes/thumbnail.php  
   creating: FR-2.9-0.0/images/
  inflating: FR-2.9-0.0/images/equalhousing.gif  
 extracting: FR-2.9-0.0/images/nophoto.gif  
   creating: FR-2.9-0.0/admin/
  inflating: FR-2.9-0.0/admin/admin.php  
  inflating: FR-2.9-0.0/admin/admin_lower.html  
  inflating: FR-2.9-0.0/admin/admin_upper.html  
  inflating: FR-2.9-0.0/admin/agenteditor.php  
  inflating: FR-2.9-0.0/admin/configurator.php  
  inflating: FR-2.9-0.0/admin/configurator.sql  
  inflating: FR-2.9-0.0/admin/index.php  
  inflating: FR-2.9-0.0/admin/phpinfo.php  
  inflating: FR-2.9-0.0/admin/upgradasaurus.php  
  inflating: FR-2.9-0.0/admin/adminfeatures.php  
  inflating: FR-2.9-0.0/admin/upgradasaurus2.7.php  
  inflating: FR-2.9-0.0/admin/secure.php  
  inflating: FR-2.9-0.0/admin/convert.php  
  inflating: FR-2.9-0.0/admin/convert_agent.php  
  inflating: FR-2.9-0.0/admin/login.php  
  inflating: FR-2.9-0.0/admin/log.sql  
  inflating: FR-2.9-0.0/admin/upgradasaurus2.8.php  
  inflating: FR-2.9-0.0/admin/update.sql  
  inflating: FR-2.9-0.0/admin/logview.php  
   creating: FR-2.9-0.0/doc/
  inflating: FR-2.9-0.0/doc/FR-2.8.4.php  
  inflating: FR-2.9-0.0/doc/faq.php  
  inflating: FR-2.9-0.0/doc/FR-2.8.5.php  
  inflating: FR-2.9-0.0/doc/index.php  
 
 
which will unzip to the then working directory. Change the name to whatever you want.

To install a tar (tgz) packaged file type:

 bash$ tar -xvzf FR-2.9-0.0.tgz
FR-2.9-0.0/
FR-2.9-0.0/accountedit.php
FR-2.9-0.0/addagent.php
FR-2.9-0.0/agentadmin.php
FR-2.9-0.0/agentdisplay.php
FR-2.9-0.0/agent_image.php
FR-2.9-0.0/browse.php
FR-2.9-0.0/CHANGELOG
FR-2.9-0.0/common.php
FR-2.9-0.0/emailpass.php
FR-2.9-0.0/friendmail.php
FR-2.9-0.0/image.php
FR-2.9-0.0/index.php
FR-2.9-0.0/license.txt
FR-2.9-0.0/logout.php
FR-2.9-0.0/readme.html
FR-2.9-0.0/propview.php
FR-2.9-0.0/README
FR-2.9-0.0/content/
FR-2.9-0.0/content/featured.php
FR-2.9-0.0/content/agent_feature.php
FR-2.9-0.0/content/main.php
FR-2.9-0.0/templates/
FR-2.9-0.0/templates/agent_top.html
FR-2.9-0.0/templates/user_bottom.html
FR-2.9-0.0/templates/user_top.html
FR-2.9-0.0/templates/states.php
FR-2.9-0.0/templates/user_top.php
FR-2.9-0.0/includes/
FR-2.9-0.0/includes/func.php
FR-2.9-0.0/includes/features.php
FR-2.9-0.0/includes/thumbnail.php
FR-2.9-0.0/images/
FR-2.9-0.0/images/equalhousing.gif
FR-2.9-0.0/images/nophoto.gif
FR-2.9-0.0/admin/
FR-2.9-0.0/admin/admin.php
FR-2.9-0.0/admin/admin_lower.html
FR-2.9-0.0/admin/admin_upper.html
FR-2.9-0.0/admin/agenteditor.php
FR-2.9-0.0/admin/configurator.php
FR-2.9-0.0/admin/configurator.sql
FR-2.9-0.0/admin/index.php
FR-2.9-0.0/admin/phpinfo.php
FR-2.9-0.0/admin/upgradasaurus.php
FR-2.9-0.0/admin/adminfeatures.php
FR-2.9-0.0/admin/upgradasaurus2.7.php
FR-2.9-0.0/admin/secure.php
FR-2.9-0.0/admin/convert.php
FR-2.9-0.0/admin/convert_agent.php
FR-2.9-0.0/admin/login.php
FR-2.9-0.0/admin/log.sql
FR-2.9-0.0/admin/upgradasaurus2.8.php
FR-2.9-0.0/admin/update.sql
FR-2.9-0.0/admin/logview.php
FR-2.9-0.0/doc/
FR-2.9-0.0/doc/FR-2.8.4.php
FR-2.9-0.0/doc/faq.php
FR-2.9-0.0/doc/FR-2.8.5.php
FR-2.9-0.0/doc/index.php
 
 
 


Configuring

By far the easiest configuration method is to use the install.php file. Unfortunately that means that the folder you are working in must be writeable by the web server user. Assuming that it is, just type install.php at the base directory in your installation. You should get a form with boxes allowing entries for all the major portions of the common.php configuration file.

The file created this way will be uncommented, but should be functional. For a complete view of the configuration check out the sample file named common.sample.php.

This method is still experimental and may create problems and bugs that haven't been worked out yet and still requires manual creation of the datbase.

For additional setup and configuration check out the main documention

Version 2.9 (starting with 2.9-pre3) will allow images to be stored in folders. Simply set $images_use = "db" or $images_use = "folders" in common.php. If you use folders make sure that the right folders are set; $imageloc = "images" will store images in $install_path/$imageloc/listings and $install_path/$imageloc/agents. There are already folders named images/listings and images/agents in the default web root. Make sure the folders are writable by the web server eg ownership you:apache and permissions that look like -rwxrwxr-x or 774/664/775/665.


Setting up the database

Setting up the database requires access to the command line or use of a tool that will allow you to create the database such as phpMysql.

If you are using the command line simply type

 bash$ mysql -u "username" -p
 mysql> create database freerealty;
 Query OK, 1 row affected (0.25 sec)
 mysql>quit
 Bye
 bash$
 
You can name the database anything you want, just remember to set the same name in common.php. Then run the configuration script install/configurator.php. You should be able to immediately begin adding agents and properties.


Snapshots

If you want to check out and try beta versions periodic snapshots are made available for download at freerealty.rwcinc.net/snap.php and are named automatically by creation time

Installation is simple, all files are tgz files expandable by typing:

bash$  tar -xvzf freerealty-snap20040924205717.tgz
fr/
fr/CHANGELOG
fr/Doxyfile
fr/README
fr/accountedit.php
fr/addagent.php
fr/agent_image.php
fr/agentadmin.php
fr/agentdisplay.php
fr/browse.php
fr/common.php
fr/common.sample.php
fr/emailpass.php
fr/freerealty.css
fr/friendmail.php
fr/image.php
fr/index.php
fr/install.php
fr/license.txt
fr/logout.php
fr/readme.html
fr/popup.php
fr/propview.php
fr/tweedy.css
fr/admin/
fr/admin/admin.php
fr/admin/admin_lower.html
fr/admin/admin_upper.html
fr/admin/adminfeatures.php
fr/admin/agenteditor.php
fr/admin/configurator.php
fr/admin/configurator.sql
fr/admin/convert.php
fr/admin/convert_agent.php
fr/admin/index.php
fr/admin/log.sql
fr/admin/login.php
fr/admin/logview.php
fr/admin/phpinfo.php
fr/admin/secure.php
fr/admin/update.sql
fr/admin/upgradasaurus.php
fr/admin/upgradasaurus2.7.php
fr/admin/upgradasaurus2.8.php
fr/content/
fr/content/agent_feature.php
fr/content/featured.php
fr/content/main.php
fr/doc/
fr/doc/FR-2.8.4.php
fr/doc/FR-2.8.5.php
fr/doc/faq.php
fr/doc/index.php
fr/doc/docbook/
fr/doc/docbook/dbsetup.docbook
fr/doc/docbook/freerealty.docbook
fr/doc/docbook/freerealty.html
fr/doc/docbook/install.docbook
fr/doc/docbook/intro.docbook
fr/doc/html/
fr/doc/html/FR-2_88_84_8php.html
fr/doc/html/FR-2_88_85_8php.html
fr/doc/html/accountedit_8php.html
fr/doc/html/addagent_8php.html
fr/doc/html/admin_2index_8php.html
fr/doc/html/admin_8php.html
fr/doc/html/adminfeatures_8php.html
fr/doc/html/agent__feature_8php.html
fr/doc/html/agent__image_8php.html
fr/doc/html/agentadmin_8php.html
fr/doc/html/agentdisplay_8php.html
fr/doc/html/agenteditor_8php.html
fr/doc/html/browse_8php.html
fr/doc/html/common_8php.html
fr/doc/html/common_8sample_8php.html
fr/doc/html/configurator_8php.html
fr/doc/html/convert_8php.html
fr/doc/html/convert__agent_8php.html
fr/doc/html/dir_000000.html
fr/doc/html/dir_000001.html
fr/doc/html/dir_000002.html
fr/doc/html/dir_000003.html
fr/doc/html/dir_000004.html
fr/doc/html/dirs.html
fr/doc/html/doc_2index_8php.html
fr/doc/html/doxygen.css
fr/doc/html/doxygen.png
fr/doc/html/emailpass_8php.html
fr/doc/html/faq_8php.html
fr/doc/html/featured_8php.html
fr/doc/html/features_8php.html
fr/doc/html/files.html
fr/doc/html/friendmail_8php.html
fr/doc/html/ftv2blank.png
fr/doc/html/ftv2doc.png
fr/doc/html/ftv2folderclosed.png
fr/doc/html/ftv2folderopen.png
fr/doc/html/ftv2lastnode.png
fr/doc/html/ftv2link.png
fr/doc/html/ftv2mlastnode.png
fr/doc/html/ftv2mnode.png
fr/doc/html/ftv2node.png
fr/doc/html/ftv2plastnode.png
fr/doc/html/ftv2pnode.png
fr/doc/html/ftv2vertline.png
fr/doc/html/func_8php.html
fr/doc/html/globals.html
fr/doc/html/globals_enum.html
fr/doc/html/globals_func.html
fr/doc/html/globals_vars.html
fr/doc/html/image_8php.html
fr/doc/html/index.html
fr/doc/html/index_8php.html
fr/doc/html/install_8php.html
fr/doc/html/login_8php.html
fr/doc/html/logout_8php.html
fr/doc/html/logview_8php.html
fr/doc/html/main.html
fr/doc/html/main_8php.html
fr/doc/html/phpinfo_8php.html
fr/doc/html/popup_8php.html
fr/doc/html/propview_8php.html
fr/doc/html/secure_8php.html
fr/doc/html/states_8php.html
fr/doc/html/thumbnail_8php.html
fr/doc/html/tree.html
fr/doc/html/upgradasaurus2_87_8php.html
fr/doc/html/upgradasaurus2_88_8php.html
fr/doc/html/upgradasaurus_8php.html
fr/doc/html/user__top_8php.html
fr/images/
fr/images/equalhousing.gif
fr/images/frlogo.png
fr/images/nophoto.gif
fr/includes/
fr/includes/features.php
fr/includes/func.php
fr/includes/thumbnail.php
fr/templates/
fr/templates/agent_top.html
fr/templates/agent_top.php
fr/templates/states.php
fr/templates/user_bottom.html
fr/templates/user_top.html
fr/templates/user_top.php
fr/SNAPSHOT.txt

The snapshot will be extracted into the directory fr/ from where you are currently working.