You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(63) |
Oct
(176) |
Nov
(98) |
Dec
(29) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(37) |
Feb
(12) |
Mar
(9) |
Apr
(20) |
May
(1) |
Jun
(20) |
Jul
(11) |
Aug
|
Sep
|
Oct
(5) |
Nov
(7) |
Dec
(2) |
2007 |
Jan
(8) |
Feb
|
Mar
(7) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(10) |
2009 |
Jan
(5) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
From: <sdt...@us...> - 2007-03-05 14:24:51
|
Revision: 351 http://svn.sourceforge.net/dccss/?rev=351&view=rev Author: sdteffen Date: 2007-03-05 06:24:49 -0800 (Mon, 05 Mar 2007) Log Message: ----------- Removed some garbage, updated copyright. Modified Paths: -------------- branches/ms4w/apps/dccss/script/create_views.sql Modified: branches/ms4w/apps/dccss/script/create_views.sql =================================================================== --- branches/ms4w/apps/dccss/script/create_views.sql 2007-03-05 13:31:09 UTC (rev 350) +++ branches/ms4w/apps/dccss/script/create_views.sql 2007-03-05 14:24:49 UTC (rev 351) @@ -1,9 +1,10 @@ --- DCCSS - DC Comprehensive Subscribers Survey +-- DCCSS - DC Comprehensive Subscribers Survey -- -- create_views.sql - Create database views -- -- Copyright (C) 2005, 2006 DORSCH Consult +-- Copyright (C) 2007 DC Water and Environment -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sdt...@us...> - 2007-03-05 13:31:12
|
Revision: 350 http://svn.sourceforge.net/dccss/?rev=350&view=rev Author: sdteffen Date: 2007-03-05 05:31:09 -0800 (Mon, 05 Mar 2007) Log Message: ----------- Merged Maher's changes from trunk using SVN merge. Ignoring some files. Modified Paths: -------------- branches/ms4w/apps/dccss/changelog branches/ms4w/apps/dccss/script/drop_views.sql Property Changed: ---------------- branches/ms4w/apps/dccss/conf/ branches/ms4w/apps/dccss/images/ Modified: branches/ms4w/apps/dccss/changelog =================================================================== --- branches/ms4w/apps/dccss/changelog 2007-03-05 12:01:13 UTC (rev 349) +++ branches/ms4w/apps/dccss/changelog 2007-03-05 13:31:09 UTC (rev 350) @@ -1,3 +1,7 @@ +2007-03-5 Maher Abdel karim <mah...@do...> + + * script/drop_views.sql:fix sql errors. + 2006-12-04 Steffen Macke <Ste...@do...> * doc/user/en/form.doc: Updated table header @@ -1473,3 +1477,1483 @@ * include/dataobject/css.links.ini:Adjust table relations. * include/dataobject/public_subscriber.php: Using this file name to be on the DCMMS translation getTable() function. More fields to be added to this +======= +2007-03-5 Maher Abdel karim <mah...@do...> + + * script/drop_views.sql:fix sql errors. + +2006-12-04 Steffen Macke <Ste...@do...> + + * doc/user/en/form.doc: Updated table header + * .project: Added Eclipse project + +2006-10-4 Maher Abdel karim <mah...@do...> + + * script/create_views.sql:adjust the css_to_billing view to include + metercabinet routesequence for the related subscribers. + +2006-10-3 Maher Abdel karim <mah...@do...> + + * script/create_views.sql:add taskforce_damagednotworking view. + +2006-10-2 Maher Abdel karim <mah...@do...> + + * script/create_views.sql:adjust taskforce views to have the cabinetid + * subscriberpage.php:remove echos. + * script/create_css_ddl.sql:add grid, and collect tables for view + creation. + * script/create_views.sql:comment the lost customers view. + * script/drop_views.sql:drop geometry columns from geometry_columns. + +2006-08-21 Maher Abdel karim <mah...@do...> + + * script/create_css_ddl.sql:add grid, and collect tables for view + creation. + * script/create_views.sql:comment the lost customers view. + * script/drop_views.sql:drop geometry columns from geometry_columns. + * admin/shapefile_loader.php:adjust the tables which the drop view + script to be launched. + +2006-07-27 Maher Abdel karim <mah...@do...> + + * admin/processing.php: fix form elements labels. + * include/i18n.php: + * locale/ar/LC_MESSAGES/dccss.po: update translations + * dccss.nsi:update version number. + * include/header.php: + * include/dccsspage.php:Adjust version number. + +2006-07-25 Maher Abdel karim <mah...@do...> + + * index.php:Add link to process.php page. + * script/create_css_ddl.sql:adjust the dcrmroute(). + * admin/processing.php:adjust the form and event handling. + +2006-07-24 Maher Abdel karim <mah...@do...> + + * include/dataobject/public_subscriber.php:adjust the field names. + * admin/css_to_billing.php:Create the ascii UTF8 encoded file to be + transfered to the billing system. + * index.php:Add link for the CSS to billing page. + * script/create_css_ddl.sql:update the dcrmroute(). + * admin/processing.php:Add processing functionality for route, + and meter cabinet + +2006-07-19 Maher Abdel karim <mah...@do...> + + * script/create_views.sql: add css_to_billing view for data transfer. + +2006-07-18 Maher Abdel karim <mah...@do...> + + * script/create_views.sql:add mote task force views. + * script/create_css_ddl.sql:add routeid,and routesequence to metercabinet, + and deliverypoint tables, and paracode to subscriber table. + add dcrmroute() function. + * print_workorder.php: + * taskforce_report.php:add the ability to print batches. + +2006-07-12 Maher Abdel karim <mah...@do...> + + * include/i18n.php: + * ar/LC_MESSAGES/dccss.po:update translations. + * conf/dccss_pewssa_%s.map:update map layers. + * print_workorder.php:adjust map layout. + * taskforce_report.php:Adjust task force actions.add more task forces. + +2006-07-05 Maher Abdel karim <mah...@do...> + + * script/create_css_ddl.sql: add route table.add id field to + metercabinet layer. + +2006-07-03 Maher Abdel karim <mah...@do...> + + * taskforce_report.php:add taskforce type to request. + * print_workorder.php:control the layer display. + * script/create_views.sql: add more task force views. + * conf/dccss_pewssa_en.map: + * conf/dccss_pewssa_en.map:Add collection area, and route layers. + * doc/development/data_model.vsd:updated data model to include the + collection area, and meter cabinet in the data model.These are used for + task force. + * conf/dccssconfig.php.default: Add an editable taskforce list. + +2006-06-30 Maher Abdel karim <mah...@do...> + + * taskforce_report.php:add taskforce type to request. + * print_workorder.php:prepare task force map based on request. + * script/create_views.sql: add taskforce_routedandmissplaced. + * include/i18n.php: + * locale/ar/dccss.po:add translations. + +2006-06-28 Maher Abdel karim <mah...@do...> + + * conf/dccss_pewssa_en.map: + * conf/dccss_pewssa_en.map:Adjust the center layer symbol, and size. + +2006-06-26 Maher Abdel karim <mah...@do...> + + * script/create_views.sql:Create task force views. + * taskforce_report.php:Add task force report which create list for task + force actions, and create maps for them.Adjut file name, and copyright. + * report.php:Add link for taskforce_report.php + +2006-04-16 Steffen Macke <Ste...@do...> + + * AUTHORS: Added Seth Nickell + * images/dccss.ico: Rough version of icon + * images/dccss-install.ico: + * images/dccss-uninstall.ico: Fixed icon text (bug #1344119) + * images/dccss_icon_16.png: New icon with customer and pen + * images/dccss2.ico: deleted file + * identifyplugin.ini: deleted file + * images/dccss_small.png: New icon with customers, paper and pen; icon + is based on the gedit icon + * conf/dccssconfig.php.default: PostgreSQL 8.1 update + * locale/ar/LC_MESSAGES/dccss.po: Using relative path to sources. + Synchronized with sources. Translations are incomplete. + * locale/ar/LC_MESSAGES/dccss.po: Updated English translations + +2006-04-15 Steffen Macke <Ste...@do...> + + * script/create_views.sql: Fixed grant + * script/drop_views.sql: Fixed typos + +2006-04-15 Maher Abdel karim <mah...@do...> + + * status_reportt.php: + * script/create_views.sql:use cabinetsubscriber,cabinetdeliveyview fix + bug# 1470546. + +2006-04-14 Steffen Macke <Ste...@do...> + + * script/create_views.sql: formatting + * script/drop_views.sql: Dropping more views + * script/create_css_ddl.sql: ensure_user() and ensure_group() functions + to allow installation on which the users and groups already exist. + +2006-04-11 Maher Abdel karim <mah...@do...> + + * script/create_views.sql: Adjust the view creation to be used with + postgreSQL 8.1,adjust grants. + * postgis.ini:Add the port no. + * dccss.nsi:adjust the installer to detect the postgresql 8.1,adjust the + version no. + * query.php:Adjust meternumber query on bill table. + * status_report.php:Adjust the planned and data entry charts to deal with + empty subscriber table. + +2006-04-10 Maher Abdel karim <mah...@do...> + + * locale/ar/dccss.po: + * locale/ar/dccss.mo:Update translation. + * conf/sample_en.map: + * conf/sample_ar.map:adjust map. + +2006-04-8 Maher Abdel karim <mah...@do...> + + * script/create_css_ddl.sql: adjust the table creation order. + +2006-04-6 Maher Abdel karim <mah...@do...> + + * doc/user/en/dccss_user_guide.xml: update the guide for realease. + * doc/user/en/dccss_administration_guide.xml: update the guide for + realease. + * doc/build.xml + * report.php: remove the link for query using meter no, as it is covered + in the query.php. + * query.php:Adjust the query from the bill table, not to include the + meter cabinet selection. + +2006-04-2 Maher Abdel karim <mah...@do...> + + * script/create_views.sql: + * status_report.php:adjust queries to work with postgresql 8.1. + +2006-03-28 Maher Abdel karim <mah...@do...> + + * index.php: remove bill loader link from the page. based on the skype + discussion on 28-3-2006 (Steffen,Kurdi,Baha, and Maher). + +2006-03-19 Maher Abdel karim <mah...@do...> + + * admin/shapefile_loader.php:Adjust the returned value from the system + execution to 0 instead of 1. fix bug#1453611 + +2006-03-11 Maher Abdel karim <mah...@do...> + + * conf/dccss_pewssa_en.map: use gid instead of oid. + * script/create_css_ddl.sql: add gid field to center table. + * query.php: adjust the query. + * include/dccsspage.php: + * include/header.php: adjust the copy right, and the cvs date. + * include/dataobject/public_subscriber.php:adjust field length. + +2006-02-21 Maher Abdel karim <mah...@do...> + + * query.php: adjsut the query by cabinetidID. + +2006-02-19 Maher Abdel karim <mah...@do...> + + * include/dataobject/public_subscriber.php: + * include/dataobject/public_deliverypoint.php:Adjust the meter cabient + length from 5 to 7. + * query.php: add query by cabinetid. + +2006-02-12 Maher Abdel karim <mah...@do...> + + * admin/move_subscriber.php: check if the deliverypoint exsits.missing + from previous commits. + * script/create_css_ddl.sql: Add a new function createlineconnection(), + to create the line connection between the meter cabinet and the + related deliverypoint. + +2006-02-01 Steffen Macke <Ste...@do...> + + * changelog: + * dataentry_performance_report.php: formatting + +2006-02-01 Maher Abdel karim <mah...@do...> + + * dataentry_performance_report.php:added data entry performance report. + +2006-01-31 Maher Abdel karim <mah...@do...> + + * dataobject/public_subscriber.php:adjust the maxlength rule for subscriber + number. + * script/create_views.sql:adjust the nobill view. + * etc/dccss_flyer.doc:add the DCCSS flyer. + +2006-01-30 Steffen Macke <Ste...@do...> + + * changelog: formatting + * index.php: formatting, removed unused code + +2006-01-29 Maher Abdel karim <mah...@do...> + + * index.php: adjust the link tip, and the copyright notice. + +2006-01-29 Steffen Macke <Ste...@do...> + + * changelog: formatting + +2006-01-28 Maher Abdel karim <mah...@do...> + + * script/create_views.sql: + * status_report.php: adjust the meter cabinet subscriber view. + +2006-01-28 Steffen Macke <Ste...@do...> + + * changelog: formatting + * script/create_css_ddl.sql: Added comment on purgesubscriber() function + +2006-01-26 Maher Abdel karim <mah...@do...> + + * script/create_css_ddl.sql:Add purgesubscriber(). + * admin/purge_subscriber.php: user purgesubscriber(). + * script/create_views.sql:adjust view query. + +2006-01-25 Steffen Macke <Ste...@do...> + + * changelog: formatting + +2006-01-25 Maher Abdel karim <mah...@do...> + + * script/create_views.sql:adjust the no bill available views, and subscribers + from meter cabinet. + * status_report.php: Adjust the no bill query. + +2006-01-19 Maher Abdel karim <mah...@do...> + + * admin/purge_subscriber.php:Add the functionality to remove a subscriber, + and all related records. + * admin/move_subscriber.php:Add the functionality to move all subscriber, or + a specific subscriber from deliverypoint to another. + * index.php: Add links to the new pages. + * ar/LC_MESSAGES/dccss.po: Add translations + * images/remove_temporary_files.png + * images/stock_refresh.png: added images to be used. + * status_report.php: fix the status report table creation, not to include the + subtypes queries. + +2006-01-19 Steffen Macke <Ste...@do...> + + * doc/development/data_model.vsd: Some classes were marked + by mistake as abstract. Corrected copyright notice + +2006-01-17 Maher Abdel karim <mah...@do...> + + * script/create_views.sql: Add clean up views + +2006-01-16 M.Sammer Srouji <sam...@do...> + + * doc/development: development folder were added + * doc/development/data_model.vsd: DCCSS Data model + +2006-01-15 Maher Abdel karim <mah...@do...> + + * conf/dccss_pewssa_ar.map: Use unique id instead of oid.(PostgreSQL 8.1 + compatibility) + +2006-01-15 Steffen Macke <Ste...@do...> + + * script/create_views.sql: Removing OID dependency (PostgreSQL 8.1 + compatibility) + +2006-01-14 Maher Abdel karim <mah...@do...> + + * status_report.php:implement the CSS status reports with graphs.This report + includes other information which is different than the CSS status report + requested by sami. Like meter stuts,position,supply type, diameters..etc. + * script/create_css_ddl.sql:Adjust sequence name for history. it is case + sensetive. + +2006-01-12 Maher Abdel karim <mah...@do...> + + * script/create_view.sql:Add CSS status report views. + * status_report.php:adjust the status report. + +2006-01-03 Maher Abdel karim <mah...@do...> + + * logbook_report.php: + * logbook_report_subscriber.php:adjust the field name of the subsequence. + * conf/dccss_pewssa_%s.map:add the id to metadata for grid layer. Used for + identify. + +2006-01-03 Maher Abdel karim <mah...@do...> + + * surveyor_report.php:adjust the query. + +2005-12-27 Maher Abdel karim <mah...@do...> + + * script/create_css_ddl.sql:adjust the history table, to record the + change of the subscriber information than the bill information. + * include/dataobject/dccss.ini: + * include/dataobject/public_history.php: + * subscriberpage.php:Add the possibility to record the change of the main + informaion (logbook,subscription,sequence,subsequenc,and name) between + subscriber information from the css form and the bill information. + +2005-12-20 Maher Abdel karim <mah...@do...> + + * include/dataobject/dccss.ini:adjust the field type for cabinetid in + subscriber,and deliverypoint from 1 to 2. + * include/dcmmap.php:add a new command to handle the zoom to + deliverypoint action. + * deliverypointpage.php: use a new CMD=ZOOM_DeliveryPoint for zooming to + deliverypoint. + * conf/sample_%.map: + * conf/dccss_pewssa_%.map:adjust the visibility of the center layer to + be used for display the selected deliverypoint. + * status_report.php:add more queries, these queries needs more checking + +2005-12-18 Maher Abdel karim <mah...@do...> + + * deliverypointpage.php:Add an update statement to record the insertdate, + and username. + * Dataentry_performance_report.php: Add new report to monitor the data + entry performance. + * include/dataobject/dccss.ini:add the insertdate,username to the + deliverypoint table. + * Status_report.php:Add a new query for CSS survey status.Add graphs for + performance. + * survey_report.php:adjustments to the graph layout. + +2005-12-13 Maher Abdel karim <mah...@do...> + + * subscriberpage.php + * include/dataobject/public_subscriber.php:adjust the passed varaibles to + the getTable(). pass a new variable to display the action. + * include/dataobject/public_bill.php:Adjust the getTable().Add more fields + and add more parameters to it. + * query.php:Add a new page to allow the users to make queries based on + subscriber name,meter,subscription on the the bill,and subscriber tables. + Add the possibility to edit subscriber information,or view the + subscriber location on the map. + * index.php:Add a link for the query.php page. + * deliverypointpage.php:adjust the zooming extent. + * ar/LC_MESSAGES/dccss.po:Add more translations. + * script/create_css_ddl.sql:remove the foreign key for + meterlocationdeliverypointseq field in subscriber table + +2005-12-12 Maher Abdel karim <mah...@do...> + + * script/create_css_ddl.sql:Add insertdate field to the subscriber table. + add legal connection to supplytype.add cabinetid to the subscriber table. + Add legal connection to meter type.Add insert codedvalue to meterlocation + table introduce meterlocationcode and use it instead of meterlocation. + Add meter location delivery point sequence to subscriber. RFE#1378181 + * include/dataobject/dccss.links.ini:add meterlocationdeliverypointseq + to subscriber + * include/dataobject/dccss.ini:add meterlocationdeliverypointseq, + meterlocationcode to subscriber + * logbook_report_subscriber.php: + * logbook_repoprt.php:Add Grid number to the form as requested by Sami, + Hussain.Add legal connection to supply type.meterlocation,change some + headers.Add meterlocationdeliverypointseq to the form.RFE#1378182 + * include/dataobject/public_subscriber.php: Add cabinetid to the form. + add meterlocationdeliverypointseq. + * ar/LC_MESSAGES/dccss.po:Add translations. + * subscriberpage.php:Use meterlocationcode instead of meterlocation. + + +2005-12-06 Maher Abdel karim <mah...@do...> + + * include/dataobject/public_bill.php:Add gettable(). + * Subscriberpage.php:Add the possibility to handle Bill record + duplication. A new table will be displayed on top in case of duplication. + Use find() instead of get().Add more check in the case of the form is + not validated. + * admin/bill_loader.php:Adjust the field length on the extract for the + meter location. + +2005-12-04 Maher Abdel karim <mah...@do...> + + * logbook_report.php: + * logbook_report_subscriber.php:Add unsuiable to meter position. + * script/create_css_ddl.sql:add unsuitable codedvalue to meterposition. + Fix RFE#1372773 + +2005-12-03 Maher Abdel karim <mah...@do...> + + * script/create_css_ddl.sql:adjust the view creations.increase the notes + length in subscriber table.add subsequence to the subscriber table. + * surveyor_report.php:Add graph for monitorin surveyor performance. + * nobillavailbale_report.php: + * disconnectnobill_report.php:Adjust the query. + * include/dataobject/dccss.ini: + * include/dataobject/public_subscriber.php: + * subscriberpage.php:add subsequence to the form. + * ar/LC_MESSAGES/dccss.po:update translations. + +2005-11-30 Maher Abdel karim <mah...@do...> + + * survey_report.php: change the query to include the no of deliverypoint + and surveyed subscribers. use the surveydate instead of the insert date. + * create_css_ddl.sql: + * include/dataobject/dccss.ini: + * include/dataobject/public_subscriber.php:add beneficiaryname to the + subscriber page,form, and table.RFE#1369900 + +2005-11-29 Maher Abdel karim <mah...@do...> + + * script/create_css_ddl.sql: add actions to the cross link tables.Add + username field to the subscriber table. + * subscriberpage.php:insert the username from the session to the + subscriber table. + * damaged_report.php: + * disconnectnobill_report.php: + * nobillavailable_report.php: + * notworking_report.php: + * Reversed_report.php: + * Turnedover_report.php: adjusted report creation conditions. + * include/dataobject/public_subscriber.php: + * include/dataobject/dccss.ini: add the username to the subscriber table. + +2005-11-17 Maher Abdel karim <mah...@do...> + + * conf/sample_%s.map:make the two map files identical.Adjust the path. + closing Bug# 1357133 + * meter_query_report.php: add a new report to query the bill table + using the meter number. + * reports.php: add link for the meter query report. + +2005-11-15 Steffen Macke <Ste...@do...> + + * dccss.nsi: Updates for PostgreSQL 8.1 + * conf/sample_ar.map: + * conf/sample_en.map: Fixed shape path, PostgreSQL 8.1 update (no OID) + * script/create_views.sql: PostgreSQL 8.1 update (no OID in + LandmarkView) + +2005-11-13 Maher Abdel karim <mah...@do...> + + * script/create_css_ddl.sql: expand the subscription feild length to 10 + instead of 7, due to data entry need. + * include/dataobject/public_subscriber.php: add validation on the page for + subscriber number to be 7 not 10.add more validation on string fields. + +2005-11-10 Steffen Macke <Ste...@do...> + + * doc/user/en/dcmms_user_guide.xml: Re-added cross reference + +2005-11-10 Maher Abdel karim <mah...@do...> + + * conf/dccss_pewssa_%s.map: Adjust the path. + +2005-11-10 Maher Abdel karim <mah...@do...> + + * script/create_css_ddl.sql: grants.one by one.Should close Bug#1350983 + * include/header.php: + * include/dccsspage.php: adjust version number from 0.0.5 to 0.5.0. + * deliverypointpage.php: add the submit button according to the case + that the deliverypoint is available or not.This to restrict the user to + submit for deliverypoint that does not exist in the database.Add the + session information to the links. + * include/public_deliverypoint.php: restrict the dataobject from + creating the submit button.The role required for formbuilder. + * subscriberpage.php:Add session information to the links. + * search.php:adjust the page forwarding in case if no values is + inserted, and pass the session information. + * include/i18n.php: + * admin/shapefile_loader.php: + * ar/LC_MESSAGES/dccss.po:Update translation. + * admin/bill_loader.php:apply the trim for all string fields to be + loaded to the database.adjust the field name from meterread to + meterreading according to the database.Supply equest# 1349992 + * logbook_report_subscriber.php: + * logbook_report.php: adjust the form printing variable to use + meterreading instead of meterread. + +2005-11-09 Maher Abdel karim <mah...@do...> + + * script/create_css_ddl.sql: adjust subtypes. + * script/create_views.sql:add grants. + * conf/dccss_pewssa_%s.map: + * conf/sample_%s.map:adjust for localization. + * conf/dccssconfig.php.default: introduce a new variable to handle the + DCCSS administrator group. + * include/dcmpostgis.php: adjust the adminisrator group name to use the + passed variable. + * index.php: use dcmpostgis.php instead of dccsspostgis.php, and use the + pg_is_administrator() to offer page options based on the user rights. + closing Bug#1352196. + * ar/LC_MESSAGES/dccss.po:update translations + +2005-11-09 Steffen Macke <Ste...@do...> + + * script/create_css_ddl.sql: Added missing sequence and grants for + sequences; partial fix for bug #1350015; However, the problem still + exists and needs more investigation + +2005-11-08 Maher Abdel karim <mah...@do...> + + * about.php:Added to CVS. + +2005-11-09 Steffen Macke <Ste...@do...> + + * doc/user/en/dccss_user_guide.xml: formatting, small corrections + +2005-11-08 Steffen Macke <Ste...@do...> + + * script/create_views.sql: formatting + +2005-11-08 Maher Abdel karim <mah...@do...> + + * dccss.nsi:Add the sample maps to the installer. + * conf/dccssconfig.php.default: adjust the map, sample_%s.map is used as + default.and use only the en,ar languages. + * doc/user/en/dccss_user_guide.xml: update the documentation to explain + how to enter the subscriber information. + * script/create_css_ddl.sql: add landmark table, and sequence.to fix the + installer error. + +2005-11-08 Steffen Macke <Ste...@do...> + + * dccss.nsi: Run DCCSS DDL script, not the DCMMS one; + Standard path for PostArabic; Added Arabic and English + language macros + * conf/php.ini: Added necessary file for installer creation + * bin/README.txt; + * data/README.txt: Added information how to obtain the necessary files + for bin and data folders + * etc/DCCSS.url: + * etc/DCCSS homepage.url: Added necessary files for installer creation + * doc/user/en/figure/error_page_cannot_be_displayed.png: + * doc/user/en/figure/stock-tool-move.png: + * doc/user/en/figure/stock_extended-help.png: + * doc/user/en/figure/stock_zoom-out.png: Added missing figures + * locale/en/dccss.po: Updated English translations + +2005-11-07 Maher Abdel karim <mah...@do...> + + * include/dccsspage.php: + * include/header.php: Adjust the title of the 'go to delivery point by + id' to 'Go to Delivery Point data entry form by ID'. + * script/create_css_ddl.sql: Added the landmarksubtype table. + * logbook_report.php: added a check box, so the user can specify if he + need the deliverypoint related information to be printed, or just the + subscriber information. fix RFE#1334775.add translations + * ar/LC_MESSAGES/dccss.po: + * include/i18n.php:add more translations + * dccss.ini: the installer is creating the dccssconfig.php now. + * doc/user/en/dccss_user_guide.xml: adjust the documentation related to + the go to delivery point by id button. + * deliverypointpage.php: adjust variable handling, and subscriber table + display. + * dccss.ini: remove the part which delete the files under php folder. + + +2005-11-07 Steffen Macke <Ste...@do...> + + * map.php: Removed link to nonexistant zoom.php page + +2005-11-07 Maher Abdel karim <mah...@do...> + + * dccss.nsi:Adjust the paths.including the docbook.css in + the installer to be added under user\en folder.remove the html.css from + the installer. + +2005-11-07 Steffen Macke <Ste...@do...> + + * include/dataobject/Public_subscriber.php: Fixed two typos in the + labels + +2005-11-07 Maher Abdel karim <mah...@do...> + + * subscriberpage.php: Add link to go back to the deliverypage without + the need to submit. closing RFE# 1350003. + * dccss.nsi: remove the update option from the installer.closing RFE# + 1349408. + +2005-11-06 Maher Abdel karim <mah...@do...> + + * changelog: Formatting. + +2005-11-06 Steffen Macke <Ste...@do...> + + * changelog: Formatting + +2005-11-06 Maher Abdel karim <mah...@do...> + + * conf/dccss_pewssa_en.map: Adjust the landmark, and pressurizedmain + shapefiles to be used the same as the DCMMS.and adjust the display of + water network. + * conf/dccss_pewssa_ar.map: Add the arabic map file. + * script/create_css_ddl.sql: Add landmarksubtype table,translation, + language tables to use for translation. + * script/create_views.sql: Create the needed views for translation. + * script/drop_views.sql: drop the views needed for translation. + * admin/shapefile_loader.php: Add the shapefile loader to the + application based on DCMMS shapefile loader. + * index.php: Add a link for the shapefile loader to the page. + * dccss.nsi: Add section to install PostArabic.and adjust the files + copied from the script folder. + +2005-11-02 Maher Abdel karim <mah...@do...> + + * script/create_css_ddl.sql: update the subscriber table FK refrences + geocode,this will solve the problem of updating the deliverypoint + location, and reflect this on the related subscribers. But restrict the + delete if there is a subscriber record. + * map.php: Adust variable names. + +2005-10-31 Maher Abdel karim <mah...@do...> + + * reports.php: + * surveyor_report.php: Add Surveyors Performance report. + * ar/LC_MESSAGES/dccss.po: Add translations. + +2005-10-30 Maher Abdel karim <mah...@do...> + + * doc/user/en/dccss_user_guide.xml: updated the user manual. + * doc/administration/dccss_administration_guide.xml: adjust the + administration guide + * dccss.nsi: adjusted the documentation path, and shortcuts. + +2005-10-29 Steffen Macke <Ste...@do...> + + * doc/build.xml: Fixed documentation build (partially) + +2005-10-29 Baha Al Faqih <bah...@do...> + + * doc/administration: Add the administration folder + * administration/figure: Add the figure folder + * add the dccss_administration_guide.xml file + +2005-10-29 Maher Abdel karim <mah...@do...> + + * index.php: Adjust images,remove the logbook, subscriber reports to be + accessed under reports page. + * include/dccsspage.php: + * include/header.php: adjust version. + * reports.php: Shift reports from the index page to the report page. + These reports include logbook,subscriber reports. + * images/*.png: add more images to be used for the header, and the index + pages. + * about.php:Added the about page. + * authors.php:Adjust the authors names, and add baha faqih + + +2005-10-25 Maher Abdel karim <mah...@do...> + + * include/dccss.ini: adjust field names from formno to formnumber. + * dataobject/public_deliverypoint.php: Adjust field names. + * conf/dccss_pewssa_en.map: Adjust the symbol size for labels. + * script/create_css_ddl.sql: remove the FK for the metercabinet from the + deliverypoint table. + +2005-10-24 Maher Abdel karim <mah...@do...> + + * changelog: formatting. + * dccss.ini:adding more files to the installer. + * conf/dataobject.ini.default: Adjusting the schema location,other settings. + * conf/dccss_pewssa_en.map:Adjust the data path. + * conf/dccssconfig.php.default:adjusting the default configuration. + +2005-10-24 Maher Abdel karim <mah...@do...>&& + Baha Al Faqih <bah...@do...> + + * logbook_report.php: Adjust the query and use find insted of get in + order to solve the fetch() bug with scipping the first record from each + batch. + * logbook_report_subscriber.php: Adjust the query and use find insted of + get in order to solve the fetch() bug with scipping the first record + from each batch. + +2005-10-24 Maher Abdel karim <mah...@do...> + + * bin: added bin folder. + * dccss.nsi: Start the DCCSS installer based on the DCMMS. + * data/readme.txt: added readme file to be used for the installer. + * postgis.ini: added database configuration file. + * etc/DCCSS homepage:add shortcut for the DCCSS.sf.net website. + * etc/DCCSS: added shortcut for the DCCSS website in the localhost. + * script/remove_temporary_files.bat: batch file for removing temporary + files. + * script/ReplaceInFile.nsh: + * script/StrReplace.nsh: + * conf/php.ini:added needed files for the installer. + * images/dccss-install.ico: + * images/dccss.ico: + * images/installer-header.bmp: + * images/dccss-uninstall.ico: add installer icons. + * ar/LC_MESSAGES/dccss.po + * en/LC_MESSAGES/dccss.po:updated translation + +2005-10-23 Maher Abdel karim <mah...@do...> + + * doc/user/en/dccss_user_guide.xml:continue working on the DCCSS user guide. + * doc/user/en/figure/*.png: Added figures to be used in the guide. + * index.php:remove the zoom.php link. + * subscriberpage.php: remove the $user variable and array.and code debug. + +2005-10-23 Steffen Macke <ste...@do...> + + * changelog: formatting + * script/create_css_ddl.sql: Bill.MeterReading instead of Bill.MeterRead + +2005-10-23 Baha Al Faqih <bah...@do...> + + * script/create_css_ddl.sql: Add new Coloum to the table bill named + MeterRead + * admin/bill_loader.php: Adjust the loader to get the Meter reading value + * logbook_report.php: Display the MeterRead value in Meter Reading space + * logbook_report.php: Field Numbering According to the Main form + * logbook_report_subscriber.php: Display the MeterRead value in Meter + Reading space + * logbook_report_subscriber.php: Field Numbering According to the Main + form + +2005-10-22 Steffen Macke <Ste...@do...> + + * index.php: Fixed text collision at the bottom of the page; formatting + * logbook_report.php: Fixed typo in note + * logbook_report_subscriber.php: Fixed typo in note; formatting; trying + to avoid that the same record get's printed twice + +2005-10-22 Baha Al Faqih <bah...@do...> + + * logbook_report_subscriber.php: Create New Report fo Subscription + information. + +2005-10-17 Steffen Macke <ste...@do...> + + * include/dataobject/Public_deliverypoint.php: Formatting, removed + dead code that was commented out. + +2005-10-16 Maher Abdel karim <mah...@do...> + + * dataobject/public_subscriber.php: Added the note field to be displayed + as text area field. + * subscriberpage.php: displaying the associated data from the bill table. + resetting the form after submit.Add reset button. + * include/dataobject/dccss.ini: Adjust the data type for the subscription field. + * include/dataobject/public_subscriber.php: Adjust rules,remove the submit + button from the form creation.Adjust the note field display. + +2005-10-11 M.Sammer Srouji <sam...@do...> + + * script/create_css_ddl.sql: fix error with some comments and one id + field creation + +2005-10-13 Steffen Macke <Ste...@do...> + + * include/dataobject/Public_subscriber.php: Removed header, formatting + * subscriberpage.php: First attempt of two-column layout + * config/dccssconfig.php.default: Using the sample_*.map by default. + * subscriberpage.php: Added important TODO, formatting. + * include/dataobject/dccss.ini: + * include/dataobject/dccss.links.ini: Added VolumeUnit, Diameter, + foreign key adjustments + * script/create_css_ddl.sql: Improved comments, fixed errors, simplified + VolumeUnit class + +2005-10-11 Baha Al Faqih <bah...@do...> + + * logbook_report.php: Add subsequence to the report. + +2005-10-11 Maher Abdel karim <mah...@do...>&&Baha faqih <bah...@do...> + + * admin/bill_loader.php:add the subsequence field to the loader. + * script/create_css_ddl.sql: Added the subsequence field to the bill. + +2005-10-11 Maher Abdel karim <mah...@do... + + * logbook_report: Added form to select which logbook to print. + * script/create_css_ddl.sql: added id field to bill table and grants. + * admin/bill_loader.php: adjust the copy function. + * logbook_report.php: adjust the form, add a printing batch selection + options, use the passed patch to limit the printing problem from the + browser. + * include/dataobject/dccss.ini: Add the bill table primary key. + * include/dccsspage.php: Add importantParagraph to the page,adjust the + find button caption. + *DeliveryPointpage.php:Add validation if no record found for the passed + sequence from the go to deliverypoint by id function. + +2005-10-11 Steffen Macke <Ste...@do...> + + * include/dataobject/dccss.ini: Added configuration for Bill class + +2005-10-11 Baha Al Faqih <bah...@do...> + + * added some |'s to show which texts and checkboxes belong together; + +2005-10-11 Maher Abdel karim <mah...@do... + + * logbook_report: Added form to select which logbook to print. + +2005-10-11 Steffen Macke <Ste...@do...> + + * logbook_report.php: Formatting, tracked down problems with tidy; + added some |'s to show which texts and checkboxes belong together; + added some <nobr> tags + +2005-10-11 Baha Al Faqih <bah...@do...> + + * logbook_report.php: Continue Working on logbook report + +2005-10-11 Maher Abdel karim <mah...@do... + + * logbook_report.php: Adjust the format of the code to use the 80 line + seperator. + * ar/LC_MESSAGES/dccss.po: Updated translation. + +2005-10-11 Steffen Macke <Ste...@do...> + + * changelog: Formatting + +2005-10-10 Baha Al Faqih <bah...@do...> + + * logbook_report.php: Continue Working on logbook report + Arabic and English translations are in; improved layout + *locale/ar/LC_MSSAGES/dccss.po: Add Arabic translations for the survey + form. + * logbook_report.php: Continue Working on logbook report + Arabic and English translations are in. + */ ar/LC_MSSAGES/dccss.po: Add Arabic translations for the survey form. + +2005-10-10 Maher Abdel karim <mah...@do... + + *admin/bill_loader.php: Use DccssPage instead of the header.php page. + Adjusting the page to be used with the Dccsspage + The loader is able now to load the resulted billing file to the database. + Added error handling. + +2005-10-10 Steffen Macke <Ste...@do...> + + * include/dccss.css: + * include/print.css: Showing survey form table cell borders + * include/dccsspage.php: Using PHP_EOL instead of NL + * admin/bill_loader.php: Rolled back changes of last revision; added new + cleaning regex + +2005-10-10 Baha Al Faqih <bah...@do...> + + * logbook_report.php: Continue Working on logbook report + +2005-10-09 Maher Abdel karim <mah...@do... + + * admin/bill_loader.php: better file ,but still line 10271 needs to + be removed from the second file. + +2005-10-09 Steffen Macke <Ste...@do...> + + * logbook_report.php: + * include/print.php: + * include/dccsspage.php: Started using separate stylesheets for + screen and print; formatting; fixed some errors; form almost fits to + one page + * admin/bill_loader.php: Don't recode NULL; more regular expressions + for cleaning + +2005-10-09 Baha Al Faqih <bah...@do...> + + * logbook_report.php: Continue Working on logbook report + +2005-10-09 Maher Abdel karim <mah...@do...> + + * admin/bill_loader.php:activated the iconv after adjustment from Steffen. + Use the ";" instead of the "," as delimetter. Still more cases to be fixed. + +2005-10-09 Steffen Macke <Ste...@do...> + + * admin/bill_loader.php: filtering out lines < 60 characters long + +2005-10-08 Baha Al Faqih <bah...@do...> + + * logbook_report.php: Continue Working on logbook report + +2005-10-08 Steffen Macke <Ste...@do...> + + * logbook_report.php: Using get() now, added sorting. + * script/create_css_ddl.sql: Small adjustments and first comments on the + Bill table. + * include/dataobject/Public_bill.php: Generated by DataObject batch file. + * logbook_report.php: + * include/dccss.css: + * index.php: Started with logbook report + +2005-10-05 Steffen Macke <Ste...@do...> + + * script/create_css_ddl.sql: Adjusted Bill table definition + * admin/bill_loader.php: Added new RE to fix NULL values, adjusted field + size, NULL value + +2005-10-05 Maher Abdel karim <mah...@do...>&& Baha Al Faqih <bah...@do...> + + * script/create_css_ddl.sql: create bill table + +2005-10-05 Maher Abdel karim <mah...@do...>&& Baha Al Faqih <bah...@do...> + + * admin/bill_loader.php: extract 1,2,4,5,6,25 fields from the input file + to be used for loading to database. +2005-10-05 Steffen Macke <Ste...@do...> + + * admin/bill_loader.php: Added and updated some of the regular + expressions cleaning out unwanted lines; fixed problem cleaning out + those lines + +2005-10-03 Maher Abdel karim <mah...@do...>&& Baha Al Faqih <bah...@do...> + + * admin/bill_loader.php: Working on the REs to clean the file. + +2005-10-05 Steffen Macke <Ste...@do...> + + * admin/bill_loader.php: Started with fixed-with approach (padding is + in place) + +2005-10-04 Maher Abdel karim <mah...@do...> + + * include/dcmmaputil.php: Add the functionality to delete a deliverypoint + after selecting it from the map. + * map.php: Handle the passed delete action from the dcmmaputil.php page. + the selected deliverypoint is deleted, and the deliverypoint functin is + reseted back. + +2005-10-03 Maher Abdel karim <mah...@do...> + + * deliverypointpage.php: add the possibility to go to the map to see the + deliverypoint locaion. + +2005-10-03 Baha Al Faqih <bah...@do...> + + * admin/bill_loader.php : Add more REs to clean the file + +2005-10-03 Steffen Macke <Ste...@do...> + + * logon.php: Removed fuzzystrmatch check + * index.php: Added link to bill loader + * admin/bill_loader.php: Added iconv call + +2005-10-03 Maher Abdel karim <mah...@do...>&& Baha Al Faqih <bah...@do...> + + * admin/bill_loader.php: Start working with the billing information loader. + added more RE to clean the file, echo the results to a new file for testing. + +2005-10-03 Steffen Macke <Ste...@do...> + + * script/create_css_ddl.sql: Changed two comments from SQL comments to + comments using the PostgreSQL comment command. All comments on fields + should be done this way + +2005-10-02 Steffen Macke <Ste...@do...> + + * admin/bill_loader.php: Several fixes for the regular expressions. + Temporary display of the converted file in an iframe, basic replacements + seem to work. Use single quotes instead of double quotes; standard + formatting + +2005-10-02 Steffen Macke <Ste...@do...> + + * changelog: formatting changes, please use the standard formatting! + +2005-09-29 M.Sammer Srouji <sam...@do...> + + * admin/pewssa_loader/pewssa_loader.bsh: a macro that can be run using + jedit programme that format pewssa bill file using regular expresions; + not finished yet + * admin/pewssa_loader.bsh: a macro that can be run using jedit programme + that format pewssa bill + file using regular expresions /not finished yet/ + +2005-09-29 Baha Al Faqih <bah...@do...> + + * script/create_css_ddl.sql: update Subscription field in Subscriber + table to be varchar(7). + * script/create_css_ddl.sql: create table bill According to PEWSSA + Data Model. + +2005-09-26 Maher Abdel karim <mah...@do...> & Baha Al Faqih <bah...@do...> + + * dataobject/dccss.links.ini: remove the metercabinet as a drop list. + * include/i18n.php: added to have more translation. + * dataobject/public_deliverypoint.php: add validation rule for meter + cabinet. localize the + radio boxes. + * dataobject/public_subscriber.php: Adjust the form order, and naming + according to the CSS form layout. + * disconnectnobill_report.php: Added more CSS cases reports. + * reports.php: Added more reports. + * damaged_report.php: Damaged meter status report. + * notworking_report.php: Not working meter status report. + * reversed_report.php:: reversed meter status report. + * turnedover_report.php: turned over meter status report. + * script/create_css_dll.sql: adjust ttypo error. + * ar/LC_MESSAGES/dccss.po: More translations. + +2005-09-26 Maher Abdel karim <mah...@do...>&& Baha Al Faqih <bah...@do...> + + * dataobject/public_deliverypoint.php: Adjust the field order the form should use according + to the CSS form. + * include/i18n.php: Added more translation. + * dataobject/public_subscriber.php: Add form header. + * ar/LC_MESSAGES/dccss.po:Translations. + * map.php: Start the update deliverypoint location procedure,needs a decision regarding + PK/FK. + +2005-09-22 Maher Abdel karim <mah...@do...>&& Baha Al Faqih <bah...@do...> + + * deliverypointpage.php: Adjust the geocode variable handling, used to display the list + of subscribers related to this deliverypoint when avaialabe. adjust the variable passed + to the gettable() function to use the returned geocode value from the subscriber page. to + always display the list of subscribers related to the deliverypoint. + * dataobject/public_deliverpoint.php: Add form header text to the pregeneration function. + * Subscriberpage.php: Added links for continue subscriber additions. adjust layout for the + links, and remove debuging code.Add validation rules. + + + +2005-09-20 Maher Abdel karim <mah...@do...>&& Baha Al Faqih <bah...@do...> + + * include/dataobject/public_diameter.php: + * include/dataobject/public_hastank.php: + * include/dataobject/public_irrigationtype.php: + * include/dataobject/public_leaktype.php: + * include/dataobject/public_meterposition.php: + * include/dataobject/public_metertype.php: + * include/dataobject/public_problemtype.php: + * include/dataobject/public_propertytype.php: + * include/dataobject/public_pumpuse.php: + * include/dataobject/public_supplytype.php: + * include/dataobject/public_tankfilltime.php: + * include/dataobject/public_usetype.php: + * include/dataobject/public_volumeunit.php: + * include/dataobject/public_yesnounkown.php: Add fetch function to deal with the localization + for returned data from database. + * include/i18n.php:Add missing translations. + * subscriberpage.php: remove debuging code, try to localize database error message. + * script/create_css_ddl.sql: Added CSS cases views, and grants. + * admin/shapefile_dumper.php: Adust the file from dcmms to be used in DCCSS. + + +2005-09-20 Maher Abdel karim <mah...@do...> + + * index.php: Add a link for shapefiledumper.php + * admin/shapefiledumper.php: Added admin folder,and shapefiledumper.php + * reports.php: + * nobillavailable_report.php: Added no bill available report. + +2005-09-19 Maher Abdel karim <mah...@do...> + + * dataobject/public_deliverypoint.php: Start adding form rendering options. + * dataobject/public_subscriber.php: Start adding form rendering options. + specify the fields to be rendered. + * include/rtl.css: + * include/rtl.css: + * include/dccss.css: Add alignment property for the table, to enhance form display. + * ar/LC_MESSAGES/dccss.po: Add arabic translations. + +2005-09-19 Maher Abdel karim <mah...@do...> + + * inlcude/dcmmaputil.php: Adjusted the add delivery point function to store + username. + * script/create_css_ddl.sql: Added formno to the deliverypoint.adjust the insertdate + to have the date now() as the default value. + * dataobject/public_deliverypoint.php: Adjusted according to data model. + removed sequence,geocode from the editing list. + * dataobject/dccss.ini: adjust field order for deliverypoint table. + * conf/dataobject.ini.default: adjust the date elementtypemap from text to date. + * include/public_subscriber.php: remove id,geocode from editing fields list. + * subscriberpage.php:Add constants for geocode,and ID, and store them in the database. + * map.php: Add username to deliverypoint entry using the passed user name in the session. + * include/dataobject/dccss.ini: updated according to data model. + * include/dataobject/*.*: Updated according to data model. + + + + +2005-09-17 M.Sammer Srouji <sam...@do...> + + * doc/user/en/form.doc: update the form to the latest one. + * doc/user/ar/form.doc: create a new ar directory for Arabic user + documentation and add the Arabic CSS form to it. + +2005-09-15 Baha Faqih <bah...@do...> + + * script/create_css_ddl.sql: add username & insertdate to deliveryPoint + table. + +2005-09-15 Steffen Macke <Ste...@do...> + + * script/create_css_ddl.sql: Added center table + * include/dccmaputil.php: Removed code fragment that was commented out + * script/create_css_ddl.sql: Reworked Subscriber table, added crosslink + tables for it; clean-up, some comments + * include/dataobject/Public_subscriber.php: + * include/dataobject/Public_meterposition.php: + * include/dataobject/Public_meterlocation.php(removed): + * include/dataobject/Public_volumeunit.php: + * include/dataobject/Subscriber_usetype.php: + * include/dataobject/Subscriber_meterposition.php: + * include/dataobject/Subscriber_usetype.php: + * subscriberpage.php: Adjustments for subscriber page according to + latest form draft; Not fully functional yet. + +2005-09-14 Maher Abdel karim <mah...@do...> + + * include/dcmmaputi.php: commit out the accept delivery point + location, because it slows down the data entry. + +2005-09-14 Steffen Macke <Ste...@do...> + + * doc/user/en/dccss_user_guide.xml: Removed DCMMS references + * include/dataobject/Public_deliverypoint.php: Added localization + (incomplete) + +2005-09-14 Maher Abdel karim <mah...@do...> + + * map.php: Added navigation by grid.id to the map insted of the quick + view drop list. + * include/dcmmaputil.php: added the xy2geocode function instead of using + it in the map.php directly. + * conf/dccss_pewssa_en.map: adjusted the grid layer to be from postgis + instead of using it as shapefile. + * data/basemap/grid.sql: added the gird sql file to be loaded to the postgis + dccss database to be used for the map. + * subscriberpage.php: adjusted type error, the dccss page not created. + +2005-09-14 Steffen Macke <Ste...@do...> + + * AUTHORS: Added Jimmac and TigerT + * doc/build.xml: + * doc/dccss_docbook_html.xsl: + * doc/dccss_docbook_htmlhelp.xsl: + * doc/dccss_docbook_pdf.xsl: + * doc/dcmms.xsl: + * doc/docbook.css: + * doc/en/dccss_user_guide.xml: Started with user guide + * script/create_dcmms_ddl.sql: Renamed crosslink table, another grant + * conf/dataobject.ini.default: changed type of date field + * deliverypointpage.php: Code cleanup, formatting, proper error + reporting + * include/dataobject/Deliverypoint_supplytype.php: + * include/dataobject/Public_deliverypoint.php: + * include/dataobject/dccss.ini: + * include/dataobject/dccss.links.ini: Proper recording of DeliveryPoint + data + +2005-09-13 Steffen Macke <Ste...@do...> + + * include/dataobject/Deliverypoint_supplytype.php: + * include/dataobject/Public_supplytypelink.php (removed): + * include/dataobject/dccss.ini: Fixed cross link. Looks like the "." + in the table name caused problems. + * map.php: Added todo to keep GeoCode up to date + * script/create_dccss_ddl.sql: Fixed syntax error + * include/dataobject/Public_metercabinet.php: Fixed table reference + * locale/en/LC_MESSAGES/dcmms.po: added English "translations" + * conf/dccss_pewssa_en.map: Changed to standard path: c:\program + files\dccss\ + +2005-09-13 Maher Abdel karim <mah...@do...> + + * map.php: fix the check value for the ZOOM_IN. + update the deliverypoint map display,fix a bug that the whole map + is reset. + * images/dccss.jpg:Added to be used as keymap. + * conf/dccss_pewssa_en.map: Added PEWSSA map. + * include/dcmmaputl.php: Adjust the deliverypoint forwarding to map + page. It is working now. + + +2005-09-13 Maher Abdel karim <mah...@do...> + + * map.php: Adjusted deliverypoint tool to forward to map.php + instead of deliverypointpage.Added xy2geocode function to the page. + and use it for deliverypoint insertion. + * include/dcmmaputil.php: try to add the xy2geocode function to the page, + but an error still appearing that call undefined function. + * script/create_dccss_ddl.sql:fix typo. + +2005-09-13 Steffen Macke <Ste...@do...> + + * include/dataobject/Public_deliverypoint.php: + * include/dataobject/Public_supplytypelink.php: + * include/dataobject/Public_surveyor.php: + * include/dataobject/Public_metercabinet.php: + * script/create_css_ddl.sql: + * include/dataobject/dccss.ini: + * include/dataobject/dccss.links.ini: Adjusted DeliveryPoint data model + according to lastest survey sheet; introduced cross-link table (not + fully functional yet) + +2005-09-12 Steffen Macke <Ste...@do...> + + * include/dataobject/Public_deliverypoint.php: Added preliminiary radio + button example + +2005-09-11 Steffen Macke <Ste...@do...> + + * conf/sample_en.map: Now using c:\program files\dccss\data as the base + path for the shapefiles + * include/dataobject/*.php: Removed files with wrong naming convention + * include/dataobject/dccss.ini: + * include/dataobject/Public_dccssuser.php: + * include/dataobject/Public_deliverypoint.php: Reflecting some + data model changes + * include/dcmmap.php: + * include/dcmmaputil.php: + * conf/sample_en.map: + * map.php: + * script/create_css_ddl.sql: Grants, ATTENTION: default dccss password + was updated! + * deliverypointpage.php: + * subscriberpage.php: Removed testing, debug and unused code + +2005-09-10 Maher Abdel karim <mah...@do...> + + * deliverypage.php: Adjust variable handling.either from map or from the + subscriberpage.php. + * map.php: Remove workorder related items.adjust the search function to + user the deliverypointID. + * search.php:Added and adjusted to use the deliverypointID, and forward + to deliverypointpage.php. + * Subscriberpage.php: Using the passed variable, use dcmpage class in the page instead of just using the automatic form building. + * conf/identifyplugin.php.default: Adusted to use the deliverypoint layer. + * include/dccsspage.php: + * include/header.php: Adjusted to use the search page, and forward it to + the deliverypointpage.php instead of the used one. + * include/dcmmaputil.php: pass the deliverypoint in the layer list,removed unnecessary code.identify tool is working. the sequence + is passed to the deliverypointpage, so a list of the related subscribers is displayed. + * ar/lc_messages/dccss.po: . + * include/i18n.php:Start the dccss localization. + * dataobject/public_deliverypoint.php:Add rules to the page. + +2005-09-10 M.Sammer Srouji <Sam...@do...> + + *add installation remarks about creating the DCCSS Database and running + fuzzystrmatch.sql and lwpostgis.sql to avoid error messages + +2005-09-10 Steffen Macke <Ste...@do...> + + * conf/dccssconfig.php.default: adjusted some values, better default + log file location + * images/stock_zoom-out.png: + * images/stock-tool-move.png: + * images/workorder.png: + * images/config-language.png: + * images/icon_eye.gif: + * images/icon_landmark.png: + * images/stock-exit-16.png: + * images/stock_extended-help.png: + * images/stock_help-16.png: + * images/stock_refresh.png: + * images/stock_search.png: + * images/stock_zoom-ing.png: added new images + * script/create_css_ddl.sql: Fixed typos, introduced GeoCode + * images/dcmms_keymap.png: + * etc/fonts.txt: + * etc/symbol.sym: + * plugin/imageidentifyplugin.php: + * plugin/identifyplugin.php: + * locale: Added some files from DCMMS + * conf/dataobject.ini: + * conf/dccssconfig.php: These files should never be added and have + therefore been removed. + +2005-09-07 Maher Abdel Karim <Mah...@do...> + + * script/create_css_ddl.sql:Added history,dccssuser, and sequences. and + apply the needed grants. + * deliverypointpage.php:Deal with map forwarding,insert is done by the + dataobject. + * map.php: Added the add,edit, and move deliverypoint.adjust the layers + in the map. + * conf/sample_en.map: Add the deliverypoint layer. + * include/dataobject/public_deliverypoint: Added the functionality to insert, update the deliverypoint table according to the new location provided from the map. + * include/dcmmap.php: Added to the CSS application, The functionality to + handle the deliveryPoints is added, and the page adjusted accordingly. + * include/dcmmaputil.php: Added a new class DeliveryPointTool() to the page.It is dealing now with the deliveypoint GIS functionality. + * include/dcmpostgis.php: + * include/dcmmspear.php: Should be added to the DCCSS project + +2005-09-07 Maher Abdel Karim <Mah...@do...> + + * script/create_css_ddl.sql:Added name to the subscriber table. + * deliverypointpage.php:Apply the new database design. + * subsriberpage.php:Apply the new database design. + * include/dccss.css: + * include/rtl.css: + * include/ltr.css: CSS files to be used in the layout. + * include/dccsspage.php:Adjust it and apply it for the DCCSS + application. + * include/dccsspostgis.php: + * include/dcmmaputil.php: + * include/dcmmspear.php: + * include/dcmpostgis.php:Added to be used for the DCCSS. + * include/header.php:Adjusted for the DCCSS use. + * etc/fonts.txt: + * etc/symbol.txt:Added to the setup to be used for the map. + * conf/dataobject.ini.default:Adjust the database name. + * conf/sample_en.map: Start the preparation of the CSS map, based on + the DCMMS map. + * include/dataobject/public_*.php: use the file generated by the + createtables.php. + * include/dccss.ini:Adjust the primary keys. + * include/dccss.links.ini: Adjust subtype lookups. + + +2005-09-07 Steffen Macke <Ste...@do...> + + * AUTHORS: + * INSTALL: + * COPYING: + * NEWS: + * README: added standard files + * script/create_css_ddl.sql.txt: + * script/create_css_ddl.sql: Renamed, changed sequence name, fixed SQL + errors, some new grants, renamed some things, formatting + * include/dataobject/css.ini: + * include/dataobject/css.links.ini: + * include/dataobject/dccss.ini: + * include/dataobject/dccss.links.ini: Renamed file + +2005-09-06 Maher Abdel Karim <Mah...@do...> + + * deliverypointpage.php: Working now for new data entry, and editting for + * subscriberpage.php:Working now for new data entry, and editting for + * script/create_css_ddl.sql.txt: Adjust the grants,subtypes insertions, + * include/dataobject/css.ini:adjust primary keys for deliverypoint, + * include/dataobject/css.links.ini:Adjust table relations. + * include/dataobject/public_subscriber.php: Using this file name to be + on the DCMMS translation getTable() function. More fields to be added to this + +2005-09-10 M.Sammer Srouji <Sam...@do...> + + *add installation remarks about creating the DCCSS Database and running + fuzzystrmatch.sql and lwpostgis.sql to avoid error messages + *conf/sample_en.map: change the connection to DCCSS database + +2005-09-10 Steffen Macke <Ste...@do...> + + * conf/dccssconfig.php.default: adjusted some values, better default + log file location + * images/stock_zoom-out.png: + * images/stock-tool-move.png: + * images/workorder.png: + * images/config-language.png: + * images/icon_eye.gif: + * images/icon_landmark.png: + * images/stock-exit-16.png: + * images/stock_extended-help.png: + * images/stock_help-16.png: + * images/stock_refresh.png: + * images/stock_search.png: + * images/stock_zoom-ing.png: added new images + * script/create_css_ddl.sql: Fixed typos, introduced GeoCode + * images/dcmms_keymap.png: + * etc/fonts.txt: + * etc/symbol.sym: + * plugin/imageidentifyplugin.php: + * plugin/identifyplugin.php: + * locale: Added some files from DCMMS + * conf/dataobject.ini: + * conf/dccssconfig.php: These files should never be added and have + therefore been removed. + +2005-09-07 Maher Abdel Karim <Mah...@do...> + + * script/create_css_ddl.sql:Added history,dccssuser, and sequences. and + apply the needed grants. + * deliverypointpage.php:Deal with map forwarding,insert is done by the + dataobject. + * map.php: Added the add,edit, and move deliverypoint.adjust the layers + in the map. + * conf/sample_en.map: Add the deliverypoint layer. + * include/dataobject/public_deliverypoint: Added the functionality to insert, update the deliverypoint table according to the new location provided from the map. + * include/dcmmap.php: Added to the CSS application, The functionality to + handle the deliveryPoints is added, and the page adjusted accordingly. + * include/dcmmaputil.php: Added a new class DeliveryPointTool() to the page.It is dealing now with the deliveypoint GIS functionality. + * include/dcmpostgis.php: + * include/dcmmspear.php: Should be added to the DCCSS project + +2005-09-07 Maher Abdel Karim <Mah...@do...> + + * script/create_css_ddl.sql:Added name to the subscriber table. + * deliverypointpage.php:Apply the new database design. + * subsriberpage.php:Apply the new database design. + * include/dccss.css: + * include/rtl.css: + * include/ltr.css: CSS files to be used in the layout. + * include/dccsspage.php:Adjust it and apply it for the DCCSS + application. + * include/dccsspostgis.php: + * include/dcmmaputil.php: + * include/dcmmspear.php: + * include/dcmpostgis.php:Added to be used for the DCCSS. + * include/header.php:Adjusted for the DCCSS use. + * etc/fonts.txt: + * etc/symbol.txt:Added to the setup to be used for the map. + * conf/dataobject.ini.default:Adjust the database name. + * conf/sample_en.map: Start the preparation of the CSS map, based on + the DCMMS map. + * include/dataobject/public_*.php: use the file generated by the ... [truncated message content] |
From: <mah...@us...> - 2007-03-05 12:01:17
|
Revision: 349 http://svn.sourceforge.net/dccss/?rev=349&view=rev Author: maher_karim Date: 2007-03-05 04:01:13 -0800 (Mon, 05 Mar 2007) Log Message: ----------- 2007-03-5 Maher Abdel karim <mah...@do...> * script/drop_views.sql:fix sql errors. Modified Paths: -------------- trunk/dccss/changelog trunk/dccss/script/drop_views.sql Modified: trunk/dccss/changelog =================================================================== --- trunk/dccss/changelog 2007-01-29 12:24:38 UTC (rev 348) +++ trunk/dccss/changelog 2007-03-05 12:01:13 UTC (rev 349) @@ -1,3 +1,7 @@ +2007-03-5 Maher Abdel karim <mah...@do...> + + * script/drop_views.sql:fix sql errors. + 2006-12-04 Steffen Macke <Ste...@do...> * doc/user/en/form.doc: Updated table header Modified: trunk/dccss/script/drop_views.sql =================================================================== --- trunk/dccss/script/drop_views.sql 2007-01-29 12:24:38 UTC (rev 348) +++ trunk/dccss/script/drop_views.sql 2007-03-05 12:01:13 UTC (rev 349) @@ -51,11 +51,11 @@ Drop view illegalconnection ; Drop view subscribers_badlocation ; Drop view subscriber_notlinked ; -Drop view nobillavailable to group dccssuser; -Drop view disconnectwithbill to group dccssuser; -Drop view disconnectwithnobbill to group dccssuser; -Drop view closed to group dccssuser; -Drop view illegalconnection to group dccssuser; +Drop view nobillavailable; +Drop view disconnectwithbill; +Drop view disconnectwithnobbill; +Drop view closed; +Drop view illegalconnection; Drop view CabinetSubscriber ; Drop view illegal ; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sdt...@us...> - 2007-01-29 12:24:44
|
Revision: 348 http://svn.sourceforge.net/dccss/?rev=348&view=rev Author: sdteffen Date: 2007-01-29 04:24:38 -0800 (Mon, 29 Jan 2007) Log Message: ----------- For some reason, the attempt to svn copy /trunk/dccss to /branches/ms4w/apps/dccss gives "Access Denied". Therefore the files have been re-added. Added Paths: ----------- branches/ms4w/apps/dccss/.project branches/ms4w/apps/dccss/AUTHORS branches/ms4w/apps/dccss/COPYING branches/ms4w/apps/dccss/INSTALL branches/ms4w/apps/dccss/NEWS branches/ms4w/apps/dccss/README branches/ms4w/apps/dccss/about.php branches/ms4w/apps/dccss/admin/ branches/ms4w/apps/dccss/admin/bill_loader.php branches/ms4w/apps/dccss/admin/css_to_billing.php branches/ms4w/apps/dccss/admin/move_subscriber.php branches/ms4w/apps/dccss/admin/pewssa_loader.bsh branches/ms4w/apps/dccss/admin/processing.php branches/ms4w/apps/dccss/admin/purge_subscriber.php branches/ms4w/apps/dccss/admin/shapefile_dumper.php branches/ms4w/apps/dccss/admin/shapefile_loader.php branches/ms4w/apps/dccss/bin/ branches/ms4w/apps/dccss/bin/README.txt branches/ms4w/apps/dccss/changelog branches/ms4w/apps/dccss/conf/ branches/ms4w/apps/dccss/conf/dataobject.ini.default branches/ms4w/apps/dccss/conf/dccss_pewssa_ar.map branches/ms4w/apps/dccss/conf/dccss_pewssa_en.map branches/ms4w/apps/dccss/conf/dccssconfig.php.default branches/ms4w/apps/dccss/conf/identifyplugin.ini.default branches/ms4w/apps/dccss/conf/sample_ar.map branches/ms4w/apps/dccss/conf/sample_en.map branches/ms4w/apps/dccss/damaged_report.php branches/ms4w/apps/dccss/data/ branches/ms4w/apps/dccss/data/README.txt branches/ms4w/apps/dccss/dataentry_performance_report.php branches/ms4w/apps/dccss/dccss.nsi branches/ms4w/apps/dccss/deliverypointpage.php branches/ms4w/apps/dccss/disconnectnobill_report.php branches/ms4w/apps/dccss/doc/ branches/ms4w/apps/dccss/doc/administration/ branches/ms4w/apps/dccss/doc/administration/dccss_administration_guide.xml branches/ms4w/apps/dccss/doc/administration/figure/ branches/ms4w/apps/dccss/doc/administration/figure/administrative_tools_icon.png branches/ms4w/apps/dccss/doc/administration/figure/apache_information.png branches/ms4w/apps/dccss/doc/administration/figure/apache_install.png branches/ms4w/apps/dccss/doc/administration/figure/apache_license.png branches/ms4w/apps/dccss/doc/administration/figure/apache_location.png branches/ms4w/apps/dccss/doc/administration/figure/apache_readme.png branches/ms4w/apps/dccss/doc/administration/figure/apache_setup_type.png branches/ms4w/apps/dccss/doc/administration/figure/apache_wizard.png branches/ms4w/apps/dccss/doc/administration/figure/client_server_deployment.png branches/ms4w/apps/dccss/doc/administration/figure/client_server_deployment.svg branches/ms4w/apps/dccss/doc/administration/figure/control_panel.png branches/ms4w/apps/dccss/doc/administration/figure/dccss_components.PNG branches/ms4w/apps/dccss/doc/administration/figure/dccss_database_connection.png branches/ms4w/apps/dccss/doc/administration/figure/dccss_license.png branches/ms4w/apps/dccss/doc/administration/figure/dccss_location.png branches/ms4w/apps/dccss/doc/administration/figure/dccss_uml.png branches/ms4w/apps/dccss/doc/administration/figure/dccss_uml.vsd branches/ms4w/apps/dccss/doc/administration/figure/gis_data_review.png branches/ms4w/apps/dccss/doc/administration/figure/internet_deployment.png branches/ms4w/apps/dccss/doc/administration/figure/internet_deployment.svg branches/ms4w/apps/dccss/doc/administration/figure/php_components.png branches/ms4w/apps/dccss/doc/administration/figure/php_license.png branches/ms4w/apps/dccss/doc/administration/figure/php_location.png branches/ms4w/apps/dccss/doc/administration/figure/poedit_php_parser.png branches/ms4w/apps/dccss/doc/administration/figure/poedit_php_path.png branches/ms4w/apps/dccss/doc/administration/figure/postgis_components.png branches/ms4w/apps/dccss/doc/administration/figure/postgis_database_connection.png branches/ms4w/apps/dccss/doc/administration/figure/postgis_installation_complete.png branches/ms4w/apps/dccss/doc/administration/figure/postgis_license.png branches/ms4w/apps/dccss/doc/administration/figure/postgis_location.png branches/ms4w/apps/dccss/doc/administration/figure/postgis_patience.png branches/ms4w/apps/dccss/doc/administration/figure/postgis_reboot.png branches/ms4w/apps/dccss/doc/administration/figure/postgresql_account_error.png branches/ms4w/apps/dccss/doc/administration/figure/postgresql_contrib_modules.png branches/ms4w/apps/dccss/doc/administration/figure/postgresql_database_cluster.png branches/ms4w/apps/dccss/doc/administration/figure/postgresql_enable_postgis.png branches/ms4w/apps/dccss/doc/administration/figure/postgresql_installation_complete.png branches/ms4w/apps/dccss/doc/administration/figure/postgresql_installation_notes.png branches/ms4w/apps/dccss/doc/administration/figure/postgresql_installation_options.png branches/ms4w/apps/dccss/doc/administration/figure/postgresql_installation_ready.png branches/ms4w/apps/dccss/doc/administration/figure/postgresql_language_selection.png branches/ms4w/apps/dccss/doc/administration/figure/postgresql_log_on_as_service.png branches/ms4w/apps/dccss/doc/administration/figure/postgresql_password.png branches/ms4w/apps/dccss/doc/administration/figure/postgresql_procedural_languages.png branches/ms4w/apps/dccss/doc/administration/figure/postgresql_service_configuration.png branches/ms4w/apps/dccss/doc/administration/figure/postgresql_users.png branches/ms4w/apps/dccss/doc/administration/figure/postgresql_welcome.png branches/ms4w/apps/dccss/doc/administration/figure/postmaster_service.png branches/ms4w/apps/dccss/doc/administration/figure/postmaster_service_logon.png branches/ms4w/apps/dccss/doc/administration/figure/postmaster_service_properties.png branches/ms4w/apps/dccss/doc/administration/figure/service_start.png branches/ms4w/apps/dccss/doc/administration/figure/service_stop.png branches/ms4w/apps/dccss/doc/administration/figure/services_context_menu.png branches/ms4w/apps/dccss/doc/administration/figure/services_icon.png branches/ms4w/apps/dccss/doc/administration/figure/standalone_deployment.png branches/ms4w/apps/dccss/doc/administration/figure/standalone_deployment.svg branches/ms4w/apps/dccss/doc/administration/figure/uml_legend.png branches/ms4w/apps/dccss/doc/administration/figure/windows_users.png branches/ms4w/apps/dccss/doc/administration/figure/windows_users.svg branches/ms4w/apps/dccss/doc/build.xml branches/ms4w/apps/dccss/doc/dccss_docbook_html.xsl branches/ms4w/apps/dccss/doc/dccss_docbook_htmlhelp.xsl branches/ms4w/apps/dccss/doc/dccss_docbook_pdf.xsl branches/ms4w/apps/dccss/doc/dcmms.xsl branches/ms4w/apps/dccss/doc/development/ branches/ms4w/apps/dccss/doc/development/data_model.vsd branches/ms4w/apps/dccss/doc/docbook.css branches/ms4w/apps/dccss/doc/user/ branches/ms4w/apps/dccss/doc/user/ar/ branches/ms4w/apps/dccss/doc/user/ar/form.doc branches/ms4w/apps/dccss/doc/user/en/ branches/ms4w/apps/dccss/doc/user/en/dccss_user_guide.xml branches/ms4w/apps/dccss/doc/user/en/figure/ branches/ms4w/apps/dccss/doc/user/en/figure/error_page_cannot_be_displayed.png branches/ms4w/apps/dccss/doc/user/en/figure/stock-tool-move.png branches/ms4w/apps/dccss/doc/user/en/figure/stock_extended-help.png branches/ms4w/apps/dccss/doc/user/en/figure/stock_zoom-in.png branches/ms4w/apps/dccss/doc/user/en/figure/stock_zoom-out.png branches/ms4w/apps/dccss/doc/user/en/form.doc branches/ms4w/apps/dccss/doc/user/en/images/ branches/ms4w/apps/dccss/doc/user/en/images/caution.png branches/ms4w/apps/dccss/doc/user/en/images/example.png branches/ms4w/apps/dccss/doc/user/en/images/important.png branches/ms4w/apps/dccss/doc/user/en/images/note.png branches/ms4w/apps/dccss/doc/user/en/images/tip.png branches/ms4w/apps/dccss/etc/ branches/ms4w/apps/dccss/etc/DCCSS homepage.url branches/ms4w/apps/dccss/etc/DCCSS.url branches/ms4w/apps/dccss/etc/dccss_flyer.doc branches/ms4w/apps/dccss/etc/fonts.txt branches/ms4w/apps/dccss/etc/symbols.sym branches/ms4w/apps/dccss/images/ branches/ms4w/apps/dccss/images/about.png branches/ms4w/apps/dccss/images/administration-32.png branches/ms4w/apps/dccss/images/bill_loader.PNG branches/ms4w/apps/dccss/images/config-language.png branches/ms4w/apps/dccss/images/dccss-install.ico branches/ms4w/apps/dccss/images/dccss-uninstall.ico branches/ms4w/apps/dccss/images/dccss.ico branches/ms4w/apps/dccss/images/dccss.jpg branches/ms4w/apps/dccss/images/dccss_icon_16.png branches/ms4w/apps/dccss/images/dccss_small.png branches/ms4w/apps/dccss/images/dcmms_keymap.png branches/ms4w/apps/dccss/images/documents.png branches/ms4w/apps/dccss/images/gnome-starthere.png branches/ms4w/apps/dccss/images/icon_eye.gif branches/ms4w/apps/dccss/images/icon_landmark.png branches/ms4w/apps/dccss/images/installer-header.bmp branches/ms4w/apps/dccss/images/remove_temporary_files.png branches/ms4w/apps/dccss/images/shapefile_dumper.png branches/ms4w/apps/dccss/images/stock-tool-move.png branches/ms4w/apps/dccss/images/stock_exit-16.png branches/ms4w/apps/dccss/images/stock_extended-help.png branches/ms4w/apps/dccss/images/stock_help-16.png branches/ms4w/apps/dccss/images/stock_refresh.png branches/ms4w/apps/dccss/images/stock_search.png branches/ms4w/apps/dccss/images/stock_zoom-in.png branches/ms4w/apps/dccss/images/stock_zoom-out.png branches/ms4w/apps/dccss/images/workorder.png branches/ms4w/apps/dccss/images/zoom_to_landmark.png branches/ms4w/apps/dccss/include/ branches/ms4w/apps/dccss/include/dataobject/ branches/ms4w/apps/dccss/include/dataobject/Deliverypoint_supplytype.php branches/ms4w/apps/dccss/include/dataobject/Public_bill.php branches/ms4w/apps/dccss/include/dataobject/Public_dccssuser.php branches/ms4w/apps/dccss/include/dataobject/Public_deliverypoint.php branches/ms4w/apps/dccss/include/dataobject/Public_diameter.php branches/ms4w/apps/dccss/include/dataobject/Public_geometry_columns.php branches/ms4w/apps/dccss/include/dataobject/Public_hastank.php branches/ms4w/apps/dccss/include/dataobject/Public_history.php branches/ms4w/apps/dccss/include/dataobject/Public_irrigationtype.php branches/ms4w/apps/dccss/include/dataobject/Public_leaktype.php branches/ms4w/apps/dccss/include/dataobject/Public_metercabinet.php branches/ms4w/apps/dccss/include/dataobject/Public_meterlocation.php branches/ms4w/apps/dccss/include/dataobject/Public_meterposition.php branches/ms4w/apps/dccss/include/dataobject/Public_meterstatus.php branches/ms4w/apps/dccss/include/dataobject/Public_metertype.php branches/ms4w/apps/dccss/include/dataobject/Public_problemtype.php branches/ms4w/apps/dccss/include/dataobject/Public_propertytype.php branches/ms4w/apps/dccss/include/dataobject/Public_pumpuse.php branches/ms4w/apps/dccss/include/dataobject/Public_spatial_ref_sys.php branches/ms4w/apps/dccss/include/dataobject/Public_subscriber.php branches/ms4w/apps/dccss/include/dataobject/Public_supplytype.php branches/ms4w/apps/dccss/include/dataobject/Public_surveyor.php branches/ms4w/apps/dccss/include/dataobject/Public_tankfilltime.php branches/ms4w/apps/dccss/include/dataobject/Public_usetype.php branches/ms4w/apps/dccss/include/dataobject/Public_volumeunit.php branches/ms4w/apps/dccss/include/dataobject/Public_yesnounknown.php branches/ms4w/apps/dccss/include/dataobject/Subscriber_meterposition.php branches/ms4w/apps/dccss/include/dataobject/Subscriber_meterstatus.php branches/ms4w/apps/dccss/include/dataobject/Subscriber_usetype.php branches/ms4w/apps/dccss/include/dataobject/dccss.ini branches/ms4w/apps/dccss/include/dataobject/dccss.links.ini branches/ms4w/apps/dccss/include/dataobject/watersupply.php branches/ms4w/apps/dccss/include/dataobject/yesnounkown.php branches/ms4w/apps/dccss/include/dccss.css branches/ms4w/apps/dccss/include/dccsspage.php branches/ms4w/apps/dccss/include/dccsspostgis.php branches/ms4w/apps/dccss/include/dcmmap.php branches/ms4w/apps/dccss/include/dcmmaputil.php branches/ms4w/apps/dccss/include/dcmmspear.php branches/ms4w/apps/dccss/include/dcmpostgis.php branches/ms4w/apps/dccss/include/header.php branches/ms4w/apps/dccss/include/i18n.php branches/ms4w/apps/dccss/include/ltr.css branches/ms4w/apps/dccss/include/print.css branches/ms4w/apps/dccss/include/rtl.css branches/ms4w/apps/dccss/index.html branches/ms4w/apps/dccss/index.php branches/ms4w/apps/dccss/locale/ branches/ms4w/apps/dccss/locale/ar/ branches/ms4w/apps/dccss/locale/ar/LC_MESSAGES/ branches/ms4w/apps/dccss/locale/ar/LC_MESSAGES/dccss.po branches/ms4w/apps/dccss/locale/en/ branches/ms4w/apps/dccss/locale/en/LC_MESSAGES/ branches/ms4w/apps/dccss/locale/en/LC_MESSAGES/dccss.po branches/ms4w/apps/dccss/logbook_report.php branches/ms4w/apps/dccss/logbook_report_subscriber.php branches/ms4w/apps/dccss/logon.php branches/ms4w/apps/dccss/map.php branches/ms4w/apps/dccss/meter_query_report.php branches/ms4w/apps/dccss/nobillavailable_report.php branches/ms4w/apps/dccss/notworking_report.php branches/ms4w/apps/dccss/plugin/ branches/ms4w/apps/dccss/plugin/identifyplugin.php branches/ms4w/apps/dccss/plugin/imageidentifyplugin.php branches/ms4w/apps/dccss/postgis.ini branches/ms4w/apps/dccss/print_workorder.php branches/ms4w/apps/dccss/query.php branches/ms4w/apps/dccss/reports.php branches/ms4w/apps/dccss/reversed_report.php branches/ms4w/apps/dccss/script/ branches/ms4w/apps/dccss/script/ReplaceInFile.nsh branches/ms4w/apps/dccss/script/StrReplace.nsh branches/ms4w/apps/dccss/script/create_css_ddl.sql branches/ms4w/apps/dccss/script/create_dccss_db.bat branches/ms4w/apps/dccss/script/create_views.sql branches/ms4w/apps/dccss/script/drop_views.sql branches/ms4w/apps/dccss/script/remove_temporary_files.bat branches/ms4w/apps/dccss/search.php branches/ms4w/apps/dccss/status_report.php branches/ms4w/apps/dccss/subscriberpage.php branches/ms4w/apps/dccss/surveyor_report.php branches/ms4w/apps/dccss/taskforce_report.php branches/ms4w/apps/dccss/turnedover_report.php Added: branches/ms4w/apps/dccss/.project =================================================================== --- branches/ms4w/apps/dccss/.project (rev 0) +++ branches/ms4w/apps/dccss/.project 2007-01-29 12:24:38 UTC (rev 348) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>dccss</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>net.sourceforge.phpeclipse.parserbuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>net.sourceforge.phpeclipse.phpnature</nature> + </natures> +</projectDescription> Added: branches/ms4w/apps/dccss/AUTHORS =================================================================== --- branches/ms4w/apps/dccss/AUTHORS (rev 0) +++ branches/ms4w/apps/dccss/AUTHORS 2007-01-29 12:24:38 UTC (rev 348) @@ -0,0 +1,8 @@ +Maher Abdel Karim <Mah...@do...> +Steffen Macke <Ste...@do...> +Baha Faqih <bah...@do...> +Tuomas Kuosmanen <ti...@gi...> - GNOME Icons +Jakub Steiner <ji...@xi...> - GNOME Icons +Seth Nickell <sni...@st...> - gedit Icon + + Added: branches/ms4w/apps/dccss/COPYING =================================================================== --- branches/ms4w/apps/dccss/COPYING (rev 0) +++ branches/ms4w/apps/dccss/COPYING 2007-01-29 12:24:38 UTC (rev 348) @@ -0,0 +1,341 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. + Added: branches/ms4w/apps/dccss/INSTALL =================================================================== --- branches/ms4w/apps/dccss/INSTALL (rev 0) +++ branches/ms4w/apps/dccss/INSTALL 2007-01-29 12:24:38 UTC (rev 348) @@ -0,0 +1,20 @@ +See the DCCSS Administration Guide under doc/administration for +detailed information on how to install the DCCSS application. + +To create the DCCSS Database you should run the following scripts: + 1)set PGCLIENTENCODING=WINDOWS-1256 + 2)set PGUSER="your database user name usually postgres" + 3)set PGPASSWORD="your database user password" + 4)createdb -E UNICODE dccss + 5)psql -f script/create_css_ddl.sql dccss +and ofcourse psql and the like have to be in the path of the system. + +In order not to have the Fuzzystrmatch error message you should run the +following scripts: + 1)from the command line go to the following the path where PostGreSQL + is installed "usually C:\Program Files\PostgreSQL\8.0\" then go to + the folder "\share\contrib" + 2)type psql -f fuzzystrmatch.sql dccss + 3)type psql -f lwpostgis.sql dccss + 4)from the PGAdmin program run the following SQL statement on DCCSS database + select AddGeometryColumn('deliverypoint', 'the_geom', -1, 'POINT', 2); Added: branches/ms4w/apps/dccss/NEWS =================================================================== --- branches/ms4w/apps/dccss/NEWS (rev 0) +++ branches/ms4w/apps/dccss/NEWS 2007-01-29 12:24:38 UTC (rev 348) @@ -0,0 +1,3 @@ +0.0.0 2005-09-05 + + * Started the development Added: branches/ms4w/apps/dccss/README =================================================================== --- branches/ms4w/apps/dccss/README (rev 0) +++ branches/ms4w/apps/dccss/README 2007-01-29 12:24:38 UTC (rev 348) @@ -0,0 +1 @@ +See the INSTALL file for installation instructions Added: branches/ms4w/apps/dccss/about.php =================================================================== --- branches/ms4w/apps/dccss/about.php (rev 0) +++ branches/ms4w/apps/dccss/about.php 2007-01-29 12:24:38 UTC (rev 348) @@ -0,0 +1,95 @@ +<?php +/* DCCSS -- DC Comprehensive Subscribers Survey + * + * dccsspage.php - General classes for DCCSS pages; replaces header.php + * + * Copyright (C) 2005 DORSCH Consult + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +require_once("include/dccsspage.php"); + +$dcmPage = new DCCSSPage(_('About the DC Comprehensive Subscribers Survey')); +$dcmPage->setIconImage('about.png'); +$dcmPage->setPageName(basename(__FILE__)); + +$dcmPage->add('<p>'.sprintf( + _("Please visit %shttp://dccss.sourceforge.net%s for the latest news and updates."), + "<a href=\"http://dccss.sourceforge.net\">","</a>").'</p> +<br /> +<div dir="ltr"> +<p dir="ltr">Copyright (c) 2005 <a href="http://www.dorsch.de">DORSCH + Consult</a></p> +<p dir="ltr">This program is free software; you can redistribute it and/or modify<br /> + it under the terms of the GNU General Public License as published by<br /> + the Free Software Foundation; either version 2 of the License, or<br /> + (at your option) any later version.</p> +<br /> +<p dir="ltr">This program is distributed in the hope that it will be useful,<br /> + but WITHOUT ANY WARRANTY; without even the implied warranty of<br /> + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br /> + GNU General Public License for more details.</p> +<br /> + +<p>Portions of this software Copyright (c) 1999, 2000 <a href= + "http://www.dmsolutions.ca">DM Solutions Goup Inc.</a> +<br />Permission is hereby granted, free of charge, to any person obtaining a<br /> +copy of this software and associated documentation files (the "Software"), to<br /> +deal in the Software without restriction, including without limitation the<br /> +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or<br /> +sell copies of the Software, and to permit persons to whom the Software is<br /> +furnished to do so, subject to the following conditions:<br /> +The above copyright notice and this permission notice shall be included in all<br /> +copies or substantial portions of the Software.</p> +<br /> +</div> +<p>'.sprintf(_("DCCSS uses icons of the %sGNOME%s project."), + "<a href=\"http://www.gnome.org\">","</a>").'</p> +<br /> +<p>'.sprintf(_("DCCSS uses %sPostGIS%s."), + "<a href=\"http://postgis.refractions.net\">","</a>").' Copyright (c) + 2002-2004 <a href="www.refractions.net">Refractions Research Inc.</a></p> +<p>PostGIS is free software;you can redistribute it and/or modify<br /> + it under the terms of the GNU General Public License as published by<br /> + the Free Software Foundation; either version 2 of the License, or<br /> + (at your option) any later version.</p> +<br /> +<p>'.sprintf(_("DCCSS uses the %sPostgreSQL%s data base management system."), + "<a href=\"http://www.postgresql.org\">", "</a>").'</p> +<p>Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group<br /> +This software is based on Postgres95, formerly known as Postgres, which<br /> +contains the following notice:<br /> +Portions Copyright(c) 1994, Regents of the University of California<br /> +Permission to use, copy, modify, and distribute this software and its<br /> +documentation for any purpose, without fee, and without a written agreement<br /> +is hereby granted, provided that the above copyright notice and this paragraph<br /> +and the following two paragraphs appear in all copies.<br /> +IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR<br /> +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST<br /> +PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF<br /> +THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH<br /> +DAMAGE.<br /> +THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,<br /> +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A<br /> +PARTICULAR PURPOSE.THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS,<br /> +AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE,<br /> +SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</p>'); +$dcmPage->add('<h3>'._("Authors").'</h3>'); +$dcmPage->add('<iframe src="AUTHORS" style="width: 60em; height: 15em;" />'); +$dcmPage->setCvsDate("$Date: 2006-04-16 18:40:10 +0200 (Sun, 16 Apr 2006) $Empty"); +echo($dcmPage->toHtml()); +?> + Added: branches/ms4w/apps/dccss/admin/bill_loader.php =================================================================== --- branches/ms4w/apps/dccss/admin/bill_loader.php (rev 0) +++ branches/ms4w/apps/dccss/admin/bill_loader.php 2007-01-29 12:24:38 UTC (rev 348) @@ -0,0 +1,102 @@ +<?php +/* CSS -- DC Comprehensive Subscribers Survey + * + * bill_information_loader.php - Load files from PEWSSA billing system + * + * Copyright (C) 2005 DORSCH Consult + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + + +$strPathInDccss = '../'; +include("../include/dccsspage.php"); +include("../include/dcmpostgis.php"); +$dccssPage = new Dccsspage(_('Billing Information Loader'), '../'); +$dccssPage->strPathInDccss = '../'; +$strMessage = ''; +$boolShowForm = true; + +$filename = 'c:\tmp\ms_tmp\test.txt'; + +if(array_key_exists('userfile',$_FILES)&&($_FILES['userfile']['name']!='')){ + $handle = fopen($filename,"w"); + $strBill = file_get_contents($_FILES['userfile']['tmp_name']); + /** + * Clean out unwanted lines. + */ + $arrUnwantedPattern = array('/\+[^+=]+=/m','/\+{100}\+*/', '/[\n\r][= ]+/', + '/\{PRINT\/TOTAL\}/', '/.*\{\*COD\}.*/','/1 +2 + 3 + 4 +.*\*\*\*/', + '/.*crtcheck\.p.*/', '/.*\{\*CAT\}.*/', '/total [0-9]+/', '/\n-rw-rw-r--.*/', + '/ *bill[0-9]\$.*/'); + $arrUnwantedReplace = array('', '', '', '', '', '', '', '', '', '', '', ''); + $strBill = preg_replace($arrUnwantedPattern, $arrUnwantedReplace, $strBill); + $arrLines = preg_split("/[\n\r]+/", $strBill, -1, PREG_SPLIT_NO_EMPTY); + $strBill = ''; + foreach($arrLines as $strLine) { + if(((trim($strLine) != '')&&(strlen($strLine) > 3))) { + $strBill .= str_pad($strLine, 133); + } + } + $strBill = preg_replace( + '/(.{5})(.{4})(.{4})(.{25})(.{9})(.{10})(.{4})(.{2})(.{3})(.{13})(.{20})(.{10})(.{12})(.{21})(.{4})(.{6})(.{25})(.{10})(.{16})(.{53})(.{28})(.{10})(.{15})(.{23})(.{8})(.{59})/', + "\\1;\\2;\\3;\\4;\\5;\\6;\\18;\\25\n", $strBill); + $strBill = iconv('AL_ARABI', 'UTF-8', $strBill); + $strBill = preg_replace(array('/; *;/', '/; *;/'), array(';NULL;', ';NULL;'), + $strBill); + fwrite($handle, $strBill); + fclose($handle); + + $strQuery = "copy bill (logbook,sequence,subsequence,name,subscribernumber,meternumber,meterreading,meterlocation) from 'c://tmp//ms_tmp//test.txt' with delimiter ';' null as '\NULL'"; + $objResult = $dccssPage->postgis->db->query($strQuery); + //print_r($objResult); + if (DB::isError($objResult)) { + //die($dccssPage->postgis->db->getmessage()); + } + $strUpdate="update bill set subscribernumber=trim(subscribernumber),meterlocation= + trim(meterlocation),name=trim(name)"; + $objResult = $dccssPage->postgis->db->query($strUpdate); +if (DB::isError($objResult)) { + //die($dccssPage->postgis->db->getmessage()); + $dccssPage->add('An error was raised by the database.'); + die(); + } + $dccssPage->add('<iframe src="/ms_tmp/test.txt" >No iframe support</iframe>'); +} + +/** + * Determine maximum file size and memory usage. + */ +$intMaxMemory = (int) str_replace('M', '000000', get_cfg_var('memory_limit')); +$intMaxFileSize = min((int) str_replace('M', '000000', + get_cfg_var('upload_max_filesize')), (int) str_replace('M', '000000', + get_cfg_var('post_max_size'))); + + + $dccssPage->add('<h2>'. sprintf(_("Load billing information to %s"), $_SESSION["strDataBase"]) .'</h2> + <p class="important">'.$strMessage .'</p> + <form enctype="multipart/form-data" action=bill_loader.php method="POST">'. + sprintf(_("The maximum zipfile size is %d MB."), $intMaxFileSize/1000000).'</p> + <table summary="file upload form"> + <tr><td class="label"> + <input type="hidden" name="MAX_FILE_SIZE" value='.$intMaxFileSize .'> + '. _("Load this file:").'</td><td class="input"><input name="userfile" + type="file"></td></tr> + </table> + <input type="submit" value='. quote(_("Load file")) .' /> + </form>'); + +echo($dccssPage->toHtml()); +?> Added: branches/ms4w/apps/dccss/admin/css_to_billing.php =================================================================== --- branches/ms4w/apps/dccss/admin/css_to_billing.php (rev 0) +++ branches/ms4w/apps/dccss/admin/css_to_billing.php 2007-01-29 12:24:38 UTC (rev 348) @@ -0,0 +1,78 @@ +<?php + /* CSS -- DC Comprehensive Subscribers Survey + * + * css_to_billing.php - export CSS data from the DCCSS database + * + * Copyright (C) 2005 DORSCH Consult + * Copyright (C) 2006 DC Water and Environemnt + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + + +include("../include/dccsspage.php"); +include("../include/dcmpostgis.php"); +require_once('HTML/QuickForm.php'); +$DccssPage->strPathInDccss = '../'; +$DccssPage = new DccssPage(_("CSS to Billing data dumper"), '../'); + +$DccssPage->add( _("Download CSS data from dccss database.")."<br>"); +$DccssPage->add (_("Please check the box if you want to have the route information included.")); + +$Fileform = new HTML_QuickForm('fileform'); +$Fileform->addElement('header', null, _('Prepare CSS data transfer file for Billing')); +$Fileform->addElement('hidden', 'maxfile',''); +$Fileform->addElement('checkbox', 'routeinformation', +_('Include route information')); +$Fileform->addElement('submit', null, _('Prepare CSV file')); + +$DccssPage->add($Fileform->toHtml()); +if ($Fileform->validate()){ + +$Fileform->process($Fileform, false); + +$strQuery = "BEGIN; +CREATE TEMP TABLE css_to_billing_transfer AS +SELECT customerlocation,meterlocation,paracode,logbooknumber,sequence, +subsequence,name,logbookserialnumber"; +if ($Fileform->exportValue('routeinformation')!=0){ +$strQuery= $strQuery.", routeid,routesequence"; +} +$strQuery= $strQuery." FROM css_to_billing; +COPY css_to_billing_transfer TO '/tmp/ms_tmp/css_to_billing.csv' with csv; +ROLLBACK;"; + + $objResult = pg_query($strQuery); + if($objResult) { + $DccssPage->add( _("File preparation is done.")."<br>"); + $blnSuccess=true; + } + + if($blnSuccess) { + + $DccssPage->add( _("Download ")); + $DccssPage->add('<a href="/ms_tmp/css_to_billing.csv">'); + $DccssPage->add('CSS_to_billing.csv'); + $DccssPage->add('</a>'); + } else { + $DccssPage->add( _("Failed to dump CSS data.")); + + + } + +} + +echo($DccssPage->toHtml()); + Added: branches/ms4w/apps/dccss/admin/move_subscriber.php =================================================================== --- branches/ms4w/apps/dccss/admin/move_subscriber.php (rev 0) +++ branches/ms4w/apps/dccss/admin/move_subscriber.php 2007-01-29 12:24:38 UTC (rev 348) @@ -0,0 +1,124 @@ +<?php +/* CSS -- DC Comprehensive Subscribers Survey + * + * Move_subscriber.php - Move subscribers from deliverypoint to another. + * + * Copyright (C) 2005,2006 DORSCH Consult + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + + +require_once('../include/dccsspage.php'); +require_once('../include/dcmmspear.php'); +//Required for database connection +require_once('../include/dcmpostgis.php'); +// Required for quick form building. +require_once('HTML/QuickForm.php'); +require_once('DB/DataObject.php'); + +$DccssPage = new DccssPage('Move Subscriber from delivery point to another','../'); + +$options = &PEAR::getStaticProperty('DB_DataObject', 'options'); +$config = parse_ini_file('../conf/dataobject.ini', TRUE); +$options = $config['DB_DataObject']; +/** + * \todo The following statement can be removed as of FormBuilder 0.17.2 + */ +$_DB_DATAOBJECT_FORMBUILDER['CONFIG'] = + $config['DB_DataObject_FormBuilder']; +$options['database'] = 'pgsql://'.$_SESSION['UserName'].':'. + $_SESSION['Password'].'@'.'localhost/'.$_SESSION['strDataBase']; + + + +$tablename='public.subscriber'; +$Queryform = new HTML_QuickForm('moveForm'); +// Add some elements to the form +$Queryform->addElement('header', null, _('Move Subscriber')); +$Queryform->addElement('text', 'FromDP', _('Enter Delivery Point ID:'), +array('size' => 5, 'maxlength' => 5)); +$Queryform->addElement('text', 'ToDP', _('Enter Delivery Point ID:'), +array('size' => 5, 'maxlength' => 5)); +$Queryform->addElement('text', 'SubscriberID', _('Enter Subscriber ID:'), +array('size' => 5, 'maxlength' => 5)); + +$Queryform->addElement('submit', null, _('Move Subscriber(s)')); + +// Define filters and validation rules +$Queryform->applyFilter('__ALL__', 'trim'); +$Queryform->addRule('FromDP', + _('Please enter the Move from Delivery point ID.'), 'required', null, 'client'); +$Queryform->addRule('ToDP', + _('Please enter the Move to Delivery point ID.'), 'required', null, 'client'); + +$Queryform->addRule('FromDP', +_('Please enter the from Delivery point ID as Numbere.'), numeric,null,'client'); +$Queryform->addRule('ToDP', +_('Please enter the to Delivery point ID as Numbere.'), numeric,null,'client'); +$Queryform->addRule('SubscriberID', +_('Please enter the from Delivery point ID as Numbere.'), numeric,null,'client'); + +$Queryform->setRequiredNote('<span style="font-size:80%; color:#ff0000;" + >*</span><span style="font-size:80%;"> '. + _('denotes required field').'</span>'); +$DccssPage->add($Queryform->toHTML()); +$strWhere=''; + + +if($Queryform->validate()) { + + + $Queryform->process($Queryform, false); + //$objSubscriber->orderBy('sequence,subsequence'); + $checkDP = 'select count(*) from deliverypoint where sequence='. + $Queryform->exportValue('ToDP'); + $result = pg_query($checkDP); + $arr = pg_fetch_all($result); + $row= pg_fetch_assoc($result); + + + if ($row['count']!='0'){ + + $strQuery='update subscriber set geocode= + (select geocode from deliverypoint where sequence='. + $Queryform->exportValue('ToDP').') where geocode= + (select geocode from deliverypoint where sequence='. + $Queryform->exportValue('FromDP').')'; + + if ($Queryform->exportValue('SubscriberID')!=0){ + $strWhere=' and id='.$Queryform->exportValue('SubscriberID'); + } + + $result = pg_query($strQuery.$strWhere); + //print_r($strQuery.$strWhere); + $DccssPage->add('<B>'. + _("Subscribers moved from DP: ").$Queryform->exportvalue('FromDP'). + ' '. _('To DP:').$Queryform->exportvalue('ToDP').' '._('Successfully.').'</B>'); + + } else { + $DccssPage->add('<B>'. + _("Failed to move Subscriber(s) from DP: ").$Queryform->exportvalue('FromDP'). + ' '. _('To DP:').$Queryform->exportvalue('ToDP').' <p>'. + _('Please check if the delivery point exists.').'</B>'); + } + +} + + + +echo $DccssPage->toHTML(); +?> + Added: branches/ms4w/apps/dccss/admin/pewssa_loader.bsh =================================================================== --- branches/ms4w/apps/dccss/admin/pewssa_loader.bsh (rev 0) +++ branches/ms4w/apps/dccss/admin/pewssa_loader.bsh 2007-01-29 12:24:38 UTC (rev 348) @@ -0,0 +1,75 @@ +// Process an ASCII dump file from PEWSSA COBOL billing system to load to ArcView +// (c) 2005 DORSCH Consult + +SearchAndReplace.setSearchString("\\n"); +SearchAndReplace.setReplaceString(""); +SearchAndReplace.setBeanShellReplace(false); +SearchAndReplace.setIgnoreCase(false); +SearchAndReplace.setRegexp(true); +SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); +SearchAndReplace.replaceAll(view); +SearchAndReplace.setSearchString("=+"); +SearchAndReplace.setReplaceString("\\n"); +SearchAndReplace.setBeanShellReplace(false); +SearchAndReplace.setIgnoreCase(false); +SearchAndReplace.setRegexp(true); +SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); +SearchAndReplace.replaceAll(view); + + +SearchAndReplace.setSearchString("(^[0-9]*) "); +SearchAndReplace.setReplaceString("$1,"); +SearchAndReplace.setBeanShellReplace(false); +SearchAndReplace.setIgnoreCase(false); +SearchAndReplace.setRegexp(true); +SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); +SearchAndReplace.replaceAll(view); + +SearchAndReplace.setSearchString("(,[0-9]+) +([0-9]+) "); +SearchAndReplace.setReplaceString("$1,$2,"); +SearchAndReplace.setBeanShellReplace(false); +SearchAndReplace.setIgnoreCase(false); +SearchAndReplace.setRegexp(true); +SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); +SearchAndReplace.replaceAll(view); + +SearchAndReplace.setSearchString("(,[0-9]+) +"); +SearchAndReplace.setReplaceString("$1,,"); +SearchAndReplace.setBeanShellReplace(false); +SearchAndReplace.setIgnoreCase(true); +SearchAndReplace.setRegexp(true); +SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); +SearchAndReplace.replaceAll(view); + +SearchAndReplace.setSearchString("([^0123456789 ]) +([0-9][0-9]+)"); +SearchAndReplace.setReplaceString("$1,$2"); +SearchAndReplace.setBeanShellReplace(false); +SearchAndReplace.setIgnoreCase(true); +SearchAndReplace.setRegexp(true); +SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); +SearchAndReplace.replaceAll(view); + +SearchAndReplace.setSearchString("(,[0-9]+) +([0-9][0-9]+)"); +SearchAndReplace.setReplaceString("$1,$2"); +SearchAndReplace.setBeanShellReplace(false); +SearchAndReplace.setIgnoreCase(true); +SearchAndReplace.setRegexp(true); +SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); +SearchAndReplace.replaceAll(view); + +SearchAndReplace.setSearchString("(,[0-9]+) +([0-9]) +([0-9]) +([0-9]+) +"); +SearchAndReplace.setReplaceString("$1,$2,$3,$4,"); +SearchAndReplace.setBeanShellReplace(false); +SearchAndReplace.setIgnoreCase(true); +SearchAndReplace.setRegexp(true); +SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); +SearchAndReplace.replaceAll(view); + +SearchAndReplace.setSearchString("([a-z]) +([0-9]) +([0-9]) +([0-9]+) +"); +SearchAndReplace.setReplaceString("$1,,$2,$3,$4,"); +SearchAndReplace.setBeanShellReplace(false); +SearchAndReplace.setIgnoreCase(true); +SearchAndReplace.setRegexp(true); +SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); +SearchAndReplace.replaceAll(view); + Added: branches/ms4w/apps/dccss/admin/processing.php =================================================================== --- branches/ms4w/apps/dccss/admin/processing.php (rev 0) +++ branches/ms4w/apps/dccss/admin/processing.php 2007-01-29 12:24:38 UTC (rev 348) @@ -0,0 +1,73 @@ +<?php + /* CSS -- DC Comprehensive Subscribers Survey + * + * processing.php - Processing data in dccss database. + * + * Copyright (C) 2005 DORSCH Consult + * Copyright (C) 2006 DC Water and Environemnt + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + + +include("../include/dccsspage.php"); +include("../include/dcmpostgis.php"); +require_once('HTML/QuickForm.php'); +$DccssPage->strPathInDccss = '../'; +$DccssPage = new DccssPage(_("GIS Data Processing"), '../'); + +$DccssPage->add( _("Process data in dccss database.")."<br>"); +$DccssPage->add (_("Please Select the processing type from the list.")); +$processArray= array ("dcrmroute" => _("Generate route information"), +"createlineconnection"=>_("Create line connection between meter cabinet and deliverypoints")); + +$Processingform = new HTML_QuickForm('Processingform'); +$Processingform->addElement('header', null, _('Prepare CSS data transfer file for Billing')); +$Processingform->addElement('select','processingtype', _('Select the processing type'),$processArray); +$Processingform->addElement('text', 'processingvalue',_('Apply processing at'),number); +$Processingform->addElement('submit', null, _('Process GIS data')); +$Processingform->addRule('processingvalue', + _('Please enter the value to be processed.'), 'required', null, 'client'); + $Processingform->addRule('processingvalue', + _('Please enter the processing value or enter 0 to process all data.'), + 'numeric', null, 'client'); +$Processingform->setRequiredNote('<span style="font-size:80%; color:#ff0000;" + >*</span><span style="font-size:80%;"> '. + _('denotes required field').'</span>'); + +$DccssPage->add($Processingform->toHtml()); +if ($Processingform->validate()){ + +$Processingform->process($Processingform, false); + +$strQuery ="select ".$Processingform->exportValue('processi... [truncated message content] |
From: <sdt...@us...> - 2007-01-29 12:04:53
|
Revision: 347 http://svn.sourceforge.net/dccss/?rev=347&view=rev Author: sdteffen Date: 2007-01-29 04:04:50 -0800 (Mon, 29 Jan 2007) Log Message: ----------- Created folder remotely Added Paths: ----------- branches/ms4w/apps/dccss/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sdt...@us...> - 2007-01-29 12:03:52
|
Revision: 346 http://svn.sourceforge.net/dccss/?rev=346&view=rev Author: sdteffen Date: 2007-01-29 04:03:44 -0800 (Mon, 29 Jan 2007) Log Message: ----------- This is not required any more. Removed Paths: ------------- trunk/CVSROOT/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sdt...@us...> - 2007-01-29 06:43:27
|
Revision: 345 http://svn.sourceforge.net/dccss/?rev=345&view=rev Author: sdteffen Date: 2007-01-28 22:43:25 -0800 (Sun, 28 Jan 2007) Log Message: ----------- Skeleton for DCCSS MS4W integration. Added Paths: ----------- branches/ms4w/Apache/htdocs/ branches/ms4w/Apache/htdocs/dccss.pkg.html branches/ms4w/httpd.d/httpd_php_dccss.conf Added: branches/ms4w/Apache/htdocs/dccss.pkg.html =================================================================== --- branches/ms4w/Apache/htdocs/dccss.pkg.html (rev 0) +++ branches/ms4w/Apache/htdocs/dccss.pkg.html 2007-01-29 06:43:25 UTC (rev 345) @@ -0,0 +1,3 @@ +<h3>DC Comprehensive Subscriber Survey</h3> +<blockquote><p><a href="/dccss/logon.php">DCCSS</a></p> +</blockquote> Added: branches/ms4w/httpd.d/httpd_php_dccss.conf =================================================================== --- branches/ms4w/httpd.d/httpd_php_dccss.conf (rev 0) +++ branches/ms4w/httpd.d/httpd_php_dccss.conf 2007-01-29 06:43:25 UTC (rev 345) @@ -0,0 +1,13 @@ +Alias /dccss "/ms4w/apps/dccss/" + +<Directory "/ms4w/apps/dccss/"> + AllowOverride None + Options Indexes FollowSymLinks Multiviews + Order deny,allow + Deny from all + Allow from localhost +</Directory> + + + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sdt...@us...> - 2007-01-29 06:36:51
|
Revision: 344 http://svn.sourceforge.net/dccss/?rev=344&view=rev Author: sdteffen Date: 2007-01-28 22:36:48 -0800 (Sun, 28 Jan 2007) Log Message: ----------- Created folder remotely Added Paths: ----------- branches/ms4w/httpd.d/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sdt...@us...> - 2007-01-29 06:36:30
|
Revision: 343 http://svn.sourceforge.net/dccss/?rev=343&view=rev Author: sdteffen Date: 2007-01-28 22:36:29 -0800 (Sun, 28 Jan 2007) Log Message: ----------- Created folder remotely Added Paths: ----------- branches/ms4w/Apache/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sdt...@us...> - 2007-01-29 06:36:07
|
Revision: 342 http://svn.sourceforge.net/dccss/?rev=342&view=rev Author: sdteffen Date: 2007-01-28 22:36:04 -0800 (Sun, 28 Jan 2007) Log Message: ----------- Created folder remotely Added Paths: ----------- branches/ms4w/apps/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sdt...@us...> - 2007-01-29 06:35:46
|
Revision: 341 http://svn.sourceforge.net/dccss/?rev=341&view=rev Author: sdteffen Date: 2007-01-28 22:35:44 -0800 (Sun, 28 Jan 2007) Log Message: ----------- Created folder remotely Added Paths: ----------- branches/ms4w/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sdt...@us...> - 2006-12-04 11:52:42
|
Revision: 340 http://svn.sourceforge.net/dccss/?rev=340&view=rev Author: sdteffen Date: 2006-12-04 03:52:36 -0800 (Mon, 04 Dec 2006) Log Message: ----------- Added TortoiseSVN checkout links. Modified Paths: -------------- trunk/htdocs/index.php Modified: trunk/htdocs/index.php =================================================================== --- trunk/htdocs/index.php 2006-12-04 09:37:24 UTC (rev 339) +++ trunk/htdocs/index.php 2006-12-04 11:52:36 UTC (rev 340) @@ -112,6 +112,14 @@ later.</p> <?php } ?> + <h2>Source code: TortoiseSVN Checkout Links</h2> + <p>The following links are for developers. These links will only work with a <a + href="http://tortoisesvn.tigris.org">TortoiseSVN</a> installation on your system:<p> + <p><a href="tsvn:https://svn.sourceforge.net/svnroot/dccss/trunk/dccss/" + >tsvn:https://svn.sourceforge.net/svnroot/dccss/trunk/dccss/</a> :: Full source code</p> + <p><a href="tsvn:https://svn.sourceforge.net/svnroot/bmfo/trunk/bmfo/locale" + >tsvn:https://svn.sourceforge.net/svnroot/dccss/trunk/dccss/</a> :: Translation files (*.po) only</p> + <h2><a name="license">License</a></h2> <p>Copyright (c) 2005,2006 <a href="http://www.dorsch.de">DORSCH Consult</a></p> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sdt...@us...> - 2006-12-04 09:37:33
|
Revision: 339 http://svn.sourceforge.net/dccss/?rev=339&view=rev Author: sdteffen Date: 2006-12-04 01:37:24 -0800 (Mon, 04 Dec 2006) Log Message: ----------- * doc/user/en/form.doc: Updated table header * .project: Added Eclipse project Modified Paths: -------------- trunk/dccss/changelog trunk/dccss/doc/user/en/form.doc Added Paths: ----------- trunk/dccss/.project Added: trunk/dccss/.project =================================================================== --- trunk/dccss/.project (rev 0) +++ trunk/dccss/.project 2006-12-04 09:37:24 UTC (rev 339) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>dccss</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>net.sourceforge.phpeclipse.parserbuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>net.sourceforge.phpeclipse.phpnature</nature> + </natures> +</projectDescription> Modified: trunk/dccss/changelog =================================================================== --- trunk/dccss/changelog 2006-11-21 09:44:46 UTC (rev 338) +++ trunk/dccss/changelog 2006-12-04 09:37:24 UTC (rev 339) @@ -1,3 +1,8 @@ +2006-12-04 Steffen Macke <Ste...@do...> + + * doc/user/en/form.doc: Updated table header + * .project: Added Eclipse project + 2006-10-4 Maher Abdel karim <mah...@do...> * script/create_views.sql:adjust the css_to_billing view to include Modified: trunk/dccss/doc/user/en/form.doc =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sdt...@us...> - 2006-11-21 09:45:18
|
Revision: 338 http://svn.sourceforge.net/dccss/?rev=338&view=rev Author: sdteffen Date: 2006-11-21 01:44:46 -0800 (Tue, 21 Nov 2006) Log Message: ----------- Some more small improvements. Modified Paths: -------------- trunk/htdocs/index.php Added Paths: ----------- trunk/htdocs/rss_cache.inc Property Changed: ---------------- trunk/htdocs/ Property changes on: trunk/htdocs ___________________________________________________________________ Name: svn:ignore - Thumbs.db + Thumbs.db dccss_data_model.pdf Modified: trunk/htdocs/index.php =================================================================== --- trunk/htdocs/index.php 2006-11-21 09:36:07 UTC (rev 337) +++ trunk/htdocs/index.php 2006-11-21 09:44:46 UTC (rev 338) @@ -4,7 +4,7 @@ <head> <title>DC Comprehensive Subscriber Survey (DCCSS)</title> <link rel="stylesheet" href="dcmms.css" type="text/css"/> - <link rel="shortcut icon" href="images/dcmms.ico" /> + <link rel="shortcut icon" href="image/dccss.ico" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> </head> <body> @@ -16,16 +16,15 @@ <p class="shortcuts"><a href="#documentation">Documentation</a> | - >Downloads</a> | <a href="#installation">Installation</a> | + <a href="http://http://sourceforge.net/project/showfiles.php?group_id=147704">Downloads</a> | <a href="#installation">Installation</a> | <a href="http://sourceforge.net/projects/dccss/">Project</a> | <a href="#license">License</a></p> <div class="dccss"> - <h1><img src="images/dccss_small.png" alt="DCCSS" /> DC Comprehensive Subscriber Survey</h1> + <h1><img src="image/dccss_small.png" alt="DCCSS" /> DC Comprehensive Subscriber Survey</h1> <p>Welcome to the DC Comprehensive Subscriber Survey homepage.</p> - <p>A web-based system for a comprehensive survey of water utility customers. - Cross-platform application written in PHP. - Uses a GIS component based on mapserver to visualize the delivery points..</p> + <p>The DC Comprehensive Subscriber Survey (DCCSS) is a web-based system for a comprehensive survey of water utility customers. + It is a cross-platform application written in PHP that uses a GIS component based on mapserver to visualize the delivery points..</p> <p>More information about the project is available on the <a href="http://sourceforge.net/projects/dccss/">project summary page</a>. All releases are available from the <a href= @@ -63,8 +62,8 @@ <h2><a name="screenshots">Screenshots</a></h2> <p>The following DCCSS screenshots are available: <ul> - <li><a href="./dccss_index.png">Main Page</a></li> - <li><a href="./dccss_map.png">Map</a></li> + <li><a href="image/dccss_index.png">Main Page</a></li> + <li><a href="image/dccss_map.png">Map</a></li> </ul> </p> Added: trunk/htdocs/rss_cache.inc =================================================================== --- trunk/htdocs/rss_cache.inc (rev 0) +++ trunk/htdocs/rss_cache.inc 2006-11-21 09:44:46 UTC (rev 338) @@ -0,0 +1,184 @@ +<?php +/* + * Project: MagpieRSS: a simple RSS integration tool + * File: rss_cache.inc, a simple, rolling(no GC), cache + * for RSS objects, keyed on URL. + * Author: Kellan Elliott-McCrea <ke...@pr...> + * Version: 0.51 + * License: GPL + * + * The lastest version of MagpieRSS can be obtained from: + * http://magpierss.sourceforge.net + * + * For questions, help, comments, discussion, etc., please join the + * Magpie mailing list: + * http://lists.sourceforge.net/lists/listinfo/magpierss-general + * + */ + +class RSSCache { + var $BASE_CACHE = './cache'; // where the cache files are stored + var $MAX_AGE = 3600; // when are files stale, default one hour + var $ERROR = ""; // accumulate error messages + + function RSSCache ($base='', $age='') { + if ( $base ) { + $this->BASE_CACHE = $base; + } + if ( $age ) { + $this->MAX_AGE = $age; + } + + // attempt to make the cache directory + if ( ! file_exists( $this->BASE_CACHE ) ) { + $status = @mkdir( $this->BASE_CACHE, 0755 ); + + // if make failed + if ( ! $status ) { + $this->error( + "Cache couldn't make dir '" . $this->BASE_CACHE . "'." + ); + } + } + } + +/*=======================================================================*\ + Function: set + Purpose: add an item to the cache, keyed on url + Input: url from wich the rss file was fetched + Output: true on sucess +\*=======================================================================*/ + function set ($url, $rss) { + $this->ERROR = ""; + $cache_file = $this->file_name( $url ); + $fp = @fopen( $cache_file, 'w' ); + + if ( ! $fp ) { + $this->error( + "Cache unable to open file for writing: $cache_file" + ); + return 0; + } + + + $data = $this->serialize( $rss ); + fwrite( $fp, $data ); + fclose( $fp ); + + return $cache_file; + } + +/*=======================================================================*\ + Function: get + Purpose: fetch an item from the cache + Input: url from wich the rss file was fetched + Output: cached object on HIT, false on MISS +\*=======================================================================*/ + function get ($url) { + $this->ERROR = ""; + $cache_file = $this->file_name( $url ); + + if ( ! file_exists( $cache_file ) ) { + $this->debug( + "Cache doesn't contain: $url (cache file: $cache_file)" + ); + return 0; + } + + $fp = @fopen($cache_file, 'r'); + if ( ! $fp ) { + $this->error( + "Failed to open cache file for reading: $cache_file" + ); + return 0; + } + + $data = fread( $fp, filesize($cache_file) ); + $rss = $this->unserialize( $data ); + + return $rss; + } + +/*=======================================================================*\ + Function: check_cache + Purpose: check a url for membership in the cache + and whether the object is older then MAX_AGE (ie. STALE) + Input: url from wich the rss file was fetched + Output: cached object on HIT, false on MISS +\*=======================================================================*/ + function check_cache ( $url ) { + $this->ERROR = ""; + $filename = $this->file_name( $url ); + + if ( file_exists( $filename ) ) { + // find how long ago the file was added to the cache + // and whether that is longer then MAX_AGE + $mtime = filemtime( $filename ); + $age = time() - $mtime; + if ( $this->MAX_AGE > $age ) { + // object exists and is current + return 'HIT'; + } + else { + // object exists but is old + return 'STALE'; + } + } + else { + // object does not exist + return 'MISS'; + } + } + +/*=======================================================================*\ + Function: serialize +\*=======================================================================*/ + function serialize ( $rss ) { + return serialize( $rss ); + } + +/*=======================================================================*\ + Function: unserialize +\*=======================================================================*/ + function unserialize ( $data ) { + return unserialize( $data ); + } + +/*=======================================================================*\ + Function: file_name + Purpose: map url to location in cache + Input: url from wich the rss file was fetched + Output: a file name +\*=======================================================================*/ + function file_name ($url) { + $filename = md5( $url ); + return join( DIRECTORY_SEPARATOR, array( $this->BASE_CACHE, $filename ) ); + } + +/*=======================================================================*\ + Function: error + Purpose: register error +\*=======================================================================*/ + function error ($errormsg, $lvl=E_USER_WARNING) { + // append PHP's error message if track_errors enabled + if ( isset($php_errormsg) ) { + $errormsg .= " ($php_errormsg)"; + } + $this->ERROR = $errormsg; + if ( MAGPIE_DEBUG ) { + trigger_error( $errormsg, $lvl); + } + else { + error_log( $errormsg, 0); + } + } + + function debug ($debugmsg, $lvl=E_USER_NOTICE) { + if ( MAGPIE_DEBUG ) { + $this->error("MagpieRSS [debug] $debugmsg", $lvl); + } + } + +} + +?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sdt...@us...> - 2006-11-21 09:36:19
|
Revision: 337 http://svn.sourceforge.net/dccss/?rev=337&view=rev Author: sdteffen Date: 2006-11-21 01:36:07 -0800 (Tue, 21 Nov 2006) Log Message: ----------- Renamed remotely Added Paths: ----------- trunk/htdocs/image/dccss_index.png Removed Paths: ------------- trunk/htdocs/image/dccss_index.PNG Deleted: trunk/htdocs/image/dccss_index.PNG =================================================================== (Binary files differ) Copied: trunk/htdocs/image/dccss_index.png (from rev 336, trunk/htdocs/image/dccss_index.PNG) =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sdt...@us...> - 2006-11-21 09:33:22
|
Revision: 336 http://svn.sourceforge.net/dccss/?rev=336&view=rev Author: sdteffen Date: 2006-11-21 01:33:09 -0800 (Tue, 21 Nov 2006) Log Message: ----------- Moved remotely Added Paths: ----------- trunk/htdocs/image/dccss_index.PNG Removed Paths: ------------- trunk/htdocs/dccss_index.PNG Deleted: trunk/htdocs/dccss_index.PNG =================================================================== (Binary files differ) Copied: trunk/htdocs/image/dccss_index.PNG (from rev 335, trunk/htdocs/dccss_index.PNG) =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sdt...@us...> - 2006-11-21 09:31:41
|
Revision: 335 http://svn.sourceforge.net/dccss/?rev=335&view=rev Author: sdteffen Date: 2006-11-21 01:31:31 -0800 (Tue, 21 Nov 2006) Log Message: ----------- filenames should be completely lower-case. Added Paths: ----------- trunk/htdocs/image/dccss_map.png Removed Paths: ------------- trunk/htdocs/image/dccss_map.PNG Deleted: trunk/htdocs/image/dccss_map.PNG =================================================================== (Binary files differ) Copied: trunk/htdocs/image/dccss_map.png (from rev 334, trunk/htdocs/image/dccss_map.PNG) =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sdt...@us...> - 2006-11-21 09:29:16
|
Revision: 334 http://svn.sourceforge.net/dccss/?rev=334&view=rev Author: sdteffen Date: 2006-11-21 01:29:06 -0800 (Tue, 21 Nov 2006) Log Message: ----------- Moved remotely Added Paths: ----------- trunk/htdocs/image/dccss_map.PNG Removed Paths: ------------- trunk/htdocs/dccss_map.PNG Deleted: trunk/htdocs/dccss_map.PNG =================================================================== (Binary files differ) Copied: trunk/htdocs/image/dccss_map.PNG (from rev 333, trunk/htdocs/dccss_map.PNG) =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sdt...@us...> - 2006-11-21 09:20:18
|
Revision: 333 http://svn.sourceforge.net/dccss/?rev=333&view=rev Author: sdteffen Date: 2006-11-21 01:20:15 -0800 (Tue, 21 Nov 2006) Log Message: ----------- Some updates and corrections. Modified Paths: -------------- trunk/htdocs/index.php Added Paths: ----------- trunk/htdocs/dccss_index.PNG trunk/htdocs/dccss_map.PNG trunk/htdocs/dcmms.css trunk/htdocs/extlib/ trunk/htdocs/extlib/Snoopy.class.inc trunk/htdocs/rss.php trunk/htdocs/rss_fetch.inc trunk/htdocs/rss_parse.inc trunk/htdocs/rss_utils.inc Property Changed: ---------------- trunk/htdocs/ Property changes on: trunk/htdocs ___________________________________________________________________ Name: svn:ignore + Thumbs.db Added: trunk/htdocs/dccss_index.PNG =================================================================== (Binary files differ) Property changes on: trunk/htdocs/dccss_index.PNG ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/htdocs/dccss_map.PNG =================================================================== (Binary files differ) Property changes on: trunk/htdocs/dccss_map.PNG ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/htdocs/dcmms.css =================================================================== --- trunk/htdocs/dcmms.css (rev 0) +++ trunk/htdocs/dcmms.css 2006-11-21 09:20:15 UTC (rev 333) @@ -0,0 +1,47 @@ +/* Cascading stylesheet for http://bmfo.sourceforge.net */ +.sf-logo { + top: 0px; + width: 100%; + background-color: #dddddd; + padding: 0px; + border: 0px; + margin: 0px; + padding-bottom: 1px; + height: 62px; +} + +.footer { + margin-top: 2em; + background-color: #9db8d2; + border-top: 1px solid black; + font-size: small; + text-align: left; +} + +body, p, li, h1, h2, h3 { + font-family: Arial, Helvectica, sans-serif; + padding: 0px; + margin: 0px; + border: 0px; +} + +.important { + font-weight: bold; + color: red; +} + +.dcmms { + margin: 1em; +} + +.shortcuts { + top: 0px; + background-color: #9db8d2; + border-bottom: 1px solid black; + font-size: x-small; + text-align: center; +} + +h1 img { + vertical-align: top; +} Added: trunk/htdocs/extlib/Snoopy.class.inc =================================================================== --- trunk/htdocs/extlib/Snoopy.class.inc (rev 0) +++ trunk/htdocs/extlib/Snoopy.class.inc 2006-11-21 09:20:15 UTC (rev 333) @@ -0,0 +1,1208 @@ +<?php + +/************************************************* + +Snoopy - the PHP net client +Author: Monte Ohrt <mo...@is...> +Copyright (c): 1999-2000 ispi, all rights reserved +Version: 1.0 + + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +You may contact the author of Snoopy by e-mail at: +m...@is... + +Or, write to: +Monte Ohrt +CTO, ispi +237 S. 70th suite 220 +Lincoln, NE 68510 + +The latest version of Snoopy can be obtained from: +http://snoopy.sourceforge.com + +*************************************************/ + +class Snoopy +{ + /**** Public variables ****/ + + /* user definable vars */ + + var $host = "www.php.net"; // host name we are connecting to + var $port = 80; // port we are connecting to + var $proxy_host = ""; // proxy host to use + var $proxy_port = ""; // proxy port to use + var $agent = "Snoopy v1.0"; // agent we masquerade as + var $referer = ""; // referer info to pass + var $cookies = array(); // array of cookies to pass + // $cookies["username"]="joe"; + var $rawheaders = array(); // array of raw headers to send + // $rawheaders["Content-type"]="text/html"; + + var $maxredirs = 5; // http redirection depth maximum. 0 = disallow + var $lastredirectaddr = ""; // contains address of last redirected address + var $offsiteok = true; // allows redirection off-site + var $maxframes = 0; // frame content depth maximum. 0 = disallow + var $expandlinks = true; // expand links to fully qualified URLs. + // this only applies to fetchlinks() + // or submitlinks() + var $passcookies = true; // pass set cookies back through redirects + // NOTE: this currently does not respect + // dates, domains or paths. + + var $user = ""; // user for http authentication + var $pass = ""; // password for http authentication + + // http accept types + var $accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*"; + + var $results = ""; // where the content is put + + var $error = ""; // error messages sent here + var $response_code = ""; // response code returned from server + var $headers = array(); // headers returned from server sent here + var $maxlength = 500000; // max return data length (body) + var $read_timeout = 0; // timeout on read operations, in seconds + // supported only since PHP 4 Beta 4 + // set to 0 to disallow timeouts + var $timed_out = false; // if a read operation timed out + var $status = 0; // http request status + + var $curl_path = "/usr/local/bin/curl"; + // Snoopy will use cURL for fetching + // SSL content if a full system path to + // the cURL binary is supplied here. + // set to false if you do not have + // cURL installed. See http://curl.haxx.se + // for details on installing cURL. + // Snoopy does *not* use the cURL + // library functions built into php, + // as these functions are not stable + // as of this Snoopy release. + + // send Accept-encoding: gzip? + var $use_gzip = true; + + /**** Private variables ****/ + + var $_maxlinelen = 4096; // max line length (headers) + + var $_httpmethod = "GET"; // default http request method + var $_httpversion = "HTTP/1.0"; // default http request version + var $_submit_method = "POST"; // default submit method + var $_submit_type = "application/x-www-form-urlencoded"; // default submit type + var $_mime_boundary = ""; // MIME boundary for multipart/form-data submit type + var $_redirectaddr = false; // will be set if page fetched is a redirect + var $_redirectdepth = 0; // increments on an http redirect + var $_frameurls = array(); // frame src urls + var $_framedepth = 0; // increments on frame depth + + var $_isproxy = false; // set if using a proxy server + var $_fp_timeout = 30; // timeout for socket connection + +/*======================================================================*\ + Function: fetch + Purpose: fetch the contents of a web page + (and possibly other protocols in the + future like ftp, nntp, gopher, etc.) + Input: $URI the location of the page to fetch + Output: $this->results the output text from the fetch +\*======================================================================*/ + + function fetch($URI) + { + + //preg_match("|^([^:]+)://([^:/]+)(:[\d]+)*(.*)|",$URI,$URI_PARTS); + $URI_PARTS = parse_url($URI); + if (!empty($URI_PARTS["user"])) + $this->user = $URI_PARTS["user"]; + if (!empty($URI_PARTS["pass"])) + $this->pass = $URI_PARTS["pass"]; + + switch($URI_PARTS["scheme"]) + { + case "http": + $this->host = $URI_PARTS["host"]; + if(!empty($URI_PARTS["port"])) + $this->port = $URI_PARTS["port"]; + if($this->_connect($fp)) + { + if($this->_isproxy) + { + // using proxy, send entire URI + $this->_httprequest($URI,$fp,$URI,$this->_httpmethod); + } + else + { + $path = $URI_PARTS["path"].(isset($URI_PARTS["query"]) ? "?".$URI_PARTS["query"] : ""); + // no proxy, send only the path + $this->_httprequest($path, $fp, $URI, $this->_httpmethod); + } + + $this->_disconnect($fp); + + if($this->_redirectaddr) + { + /* url was redirected, check if we've hit the max depth */ + if($this->maxredirs > $this->_redirectdepth) + { + // only follow redirect if it's on this site, or offsiteok is true + if(preg_match("|^http://".preg_quote($this->host)."|i",$this->_redirectaddr) || $this->offsiteok) + { + /* follow the redirect */ + $this->_redirectdepth++; + $this->lastredirectaddr=$this->_redirectaddr; + $this->fetch($this->_redirectaddr); + } + } + } + + if($this->_framedepth < $this->maxframes && count($this->_frameurls) > 0) + { + $frameurls = $this->_frameurls; + $this->_frameurls = array(); + + while(list(,$frameurl) = each($frameurls)) + { + if($this->_framedepth < $this->maxframes) + { + $this->fetch($frameurl); + $this->_framedepth++; + } + else + break; + } + } + } + else + { + return false; + } + return true; + break; + case "https": + if(!$this->curl_path || (!is_executable($this->curl_path))) + return false; + $this->host = $URI_PARTS["host"]; + if(!empty($URI_PARTS["port"])) + $this->port = $URI_PARTS["port"]; + if($this->_isproxy) + { + // using proxy, send entire URI + $this->_httpsrequest($URI,$URI,$this->_httpmethod); + } + else + { + $path = $URI_PARTS["path"].($URI_PARTS["query"] ? "?".$URI_PARTS["query"] : ""); + // no proxy, send only the path + $this->_httpsrequest($path, $URI, $this->_httpmethod); + } + + if($this->_redirectaddr) + { + /* url was redirected, check if we've hit the max depth */ + if($this->maxredirs > $this->_redirectdepth) + { + // only follow redirect if it's on this site, or offsiteok is true + if(preg_match("|^http://".preg_quote($this->host)."|i",$this->_redirectaddr) || $this->offsiteok) + { + /* follow the redirect */ + $this->_redirectdepth++; + $this->lastredirectaddr=$this->_redirectaddr; + $this->fetch($this->_redirectaddr); + } + } + } + + if($this->_framedepth < $this->maxframes && count($this->_frameurls) > 0) + { + $frameurls = $this->_frameurls; + $this->_frameurls = array(); + + while(list(,$frameurl) = each($frameurls)) + { + if($this->_framedepth < $this->maxframes) + { + $this->fetch($frameurl); + $this->_framedepth++; + } + else + break; + } + } + return true; + break; + default: + // not a valid protocol + $this->error = 'Invalid protocol "'.$URI_PARTS["scheme"].'"\n'; + return false; + break; + } + return true; + } + +/*======================================================================*\ + Function: submit + Purpose: submit an http form + Input: $URI the location to post the data + $formvars the formvars to use. + format: $formvars["var"] = "val"; + Output: $this->results the text output from the post +\*======================================================================*/ + + function submit($URI, $formvars="", $formfiles="") + { + unset($postdata); + + $postdata = $this->_prepare_post_body($formvars, $formfiles); + + $URI_PARTS = parse_url($URI); + if (!empty($URI_PARTS["user"])) + $this->user = $URI_PARTS["user"]; + if (!empty($URI_PARTS["pass"])) + $this->pass = $URI_PARTS["pass"]; + + switch($URI_PARTS["scheme"]) + { + case "http": + $this->host = $URI_PARTS["host"]; + if(!empty($URI_PARTS["port"])) + $this->port = $URI_PARTS["port"]; + if($this->_connect($fp)) + { + if($this->_isproxy) + { + // using proxy, send entire URI + $this->_httprequest($URI,$fp,$URI,$this->_submit_method,$this->_submit_type,$postdata); + } + else + { + $path = $URI_PARTS["path"].($URI_PARTS["query"] ? "?".$URI_PARTS["query"] : ""); + // no proxy, send only the path + $this->_httprequest($path, $fp, $URI, $this->_submit_method, $this->_submit_type, $postdata); + } + + $this->_disconnect($fp); + + if($this->_redirectaddr) + { + /* url was redirected, check if we've hit the max depth */ + if($this->maxredirs > $this->_redirectdepth) + { + if(!preg_match("|^".$URI_PARTS["scheme"]."://|", $this->_redirectaddr)) + $this->_redirectaddr = $this->_expandlinks($this->_redirectaddr,$URI_PARTS["scheme"]."://".$URI_PARTS["host"]); + + // only follow redirect if it's on this site, or offsiteok is true + if(preg_match("|^http://".preg_quote($this->host)."|i",$this->_redirectaddr) || $this->offsiteok) + { + /* follow the redirect */ + $this->_redirectdepth++; + $this->lastredirectaddr=$this->_redirectaddr; + $this->submit($this->_redirectaddr,$formvars, $formfiles); + } + } + } + + if($this->_framedepth < $this->maxframes && count($this->_frameurls) > 0) + { + $frameurls = $this->_frameurls; + $this->_frameurls = array(); + + while(list(,$frameurl) = each($frameurls)) + { + if($this->_framedepth < $this->maxframes) + { + $this->fetch($frameurl); + $this->_framedepth++; + } + else + break; + } + } + + } + else + { + return false; + } + return true; + break; + case "https": + if(!$this->curl_path || (!is_executable($this->curl_path))) + return false; + $this->host = $URI_PARTS["host"]; + if(!empty($URI_PARTS["port"])) + $this->port = $URI_PARTS["port"]; + if($this->_isproxy) + { + // using proxy, send entire URI + $this->_httpsrequest($URI, $URI, $this->_submit_method, $this->_submit_type, $postdata); + } + else + { + $path = $URI_PARTS["path"].($URI_PARTS["query"] ? "?".$URI_PARTS["query"] : ""); + // no proxy, send only the path + $this->_httpsrequest($path, $URI, $this->_submit_method, $this->_submit_type, $postdata); + } + + if($this->_redirectaddr) + { + /* url was redirected, check if we've hit the max depth */ + if($this->maxredirs > $this->_redirectdepth) + { + if(!preg_match("|^".$URI_PARTS["scheme"]."://|", $this->_redirectaddr)) + $this->_redirectaddr = $this->_expandlinks($this->_redirectaddr,$URI_PARTS["scheme"]."://".$URI_PARTS["host"]); + + // only follow redirect if it's on this site, or offsiteok is true + if(preg_match("|^http://".preg_quote($this->host)."|i",$this->_redirectaddr) || $this->offsiteok) + { + /* follow the redirect */ + $this->_redirectdepth++; + $this->lastredirectaddr=$this->_redirectaddr; + $this->submit($this->_redirectaddr,$formvars, $formfiles); + } + } + } + + if($this->_framedepth < $this->maxframes && count($this->_frameurls) > 0) + { + $frameurls = $this->_frameurls; + $this->_frameurls = array(); + + while(list(,$frameurl) = each($frameurls)) + { + if($this->_framedepth < $this->maxframes) + { + $this->fetch($frameurl); + $this->_framedepth++; + } + else + break; + } + } + return true; + break; + + default: + // not a valid protocol + $this->error = 'Invalid protocol "'.$URI_PARTS["scheme"].'"\n'; + return false; + break; + } + return true; + } + +/*======================================================================*\ + Function: fetchlinks + Purpose: fetch the links from a web page + Input: $URI where you are fetching from + Output: $this->results an array of the URLs +\*======================================================================*/ + + function fetchlinks($URI) + { + if ($this->fetch($URI)) + { + + if(is_array($this->results)) + { + for($x=0;$x<count($this->results);$x++) + $this->results[$x] = $this->_striplinks($this->results[$x]); + } + else + $this->results = $this->_striplinks($this->results); + + if($this->expandlinks) + $this->results = $this->_expandlinks($this->results, $URI); + return true; + } + else + return false; + } + +/*======================================================================*\ + Function: fetchform + Purpose: fetch the form elements from a web page + Input: $URI where you are fetching from + Output: $this->results the resulting html form +\*======================================================================*/ + + function fetchform($URI) + { + + if ($this->fetch($URI)) + { + + if(is_array($this->results)) + { + for($x=0;$x<count($this->results);$x++) + $this->results[$x] = $this->_stripform($this->results[$x]); + } + else + $this->results = $this->_stripform($this->results); + + return true; + } + else + return false; + } + + +/*======================================================================*\ + Function: fetchtext + Purpose: fetch the text from a web page, stripping the links + Input: $URI where you are fetching from + Output: $this->results the text from the web page +\*======================================================================*/ + + function fetchtext($URI) + { + if($this->fetch($URI)) + { + if(is_array($this->results)) + { + for($x=0;$x<count($this->results);$x++) + $this->results[$x] = $this->_striptext($this->results[$x]); + } + else + $this->results = $this->_striptext($this->results); + return true; + } + else + return false; + } + +/*======================================================================*\ + Function: submitlinks + Purpose: grab links from a form submission + Input: $URI where you are submitting from + Output: $this->results an array of the links from the post +\*======================================================================*/ + + function submitlinks($URI, $formvars="", $formfiles="") + { + if($this->submit($URI,$formvars, $formfiles)) + { + if(is_array($this->results)) + { + for($x=0;$x<count($this->results);$x++) + { + $this->results[$x] = $this->_striplinks($this->results[$x]); + if($this->expandlinks) + $this->results[$x] = $this->_expandlinks($this->results[$x],$URI); + } + } + else + { + $this->results = $this->_striplinks($this->results); + if($this->expandlinks) + $this->results = $this->_expandlinks($this->results,$URI); + } + return true; + } + else + return false; + } + +/*======================================================================*\ + Function: submittext + Purpose: grab text from a form submission + Input: $URI where you are submitting from + Output: $this->results the text from the web page +\*======================================================================*/ + + function submittext($URI, $formvars = "", $formfiles = "") + { + if($this->submit($URI,$formvars, $formfiles)) + { + if(is_array($this->results)) + { + for($x=0;$x<count($this->results);$x++) + { + $this->results[$x] = $this->_striptext($this->results[$x]); + if($this->expandlinks) + $this->results[$x] = $this->_expandlinks($this->results[$x],$URI); + } + } + else + { + $this->results = $this->_striptext($this->results); + if($this->expandlinks) + $this->results = $this->_expandlinks($this->results,$URI); + } + return true; + } + else + return false; + } + + + +/*======================================================================*\ + Function: set_submit_multipart + Purpose: Set the form submission content type to + multipart/form-data +\*======================================================================*/ + function set_submit_multipart() + { + $this->_submit_type = "multipart/form-data"; + } + + +/*======================================================================*\ + Function: set_submit_normal + Purpose: Set the form submission content type to + application/x-www-form-urlencoded +\*======================================================================*/ + function set_submit_normal() + { + $this->_submit_type = "application/x-www-form-urlencoded"; + } + + + + +/*======================================================================*\ + Private functions +\*======================================================================*/ + + +/*======================================================================*\ + Function: _striplinks + Purpose: strip the hyperlinks from an html document + Input: $document document to strip. + Output: $match an array of the links +\*======================================================================*/ + + function _striplinks($document) + { + preg_match_all("'<\s*a\s+.*href\s*=\s* # find <a href= + ([\"\'])? # find single or double quote + (?(1) (.*?)\\1 | ([^\s\>]+)) # if quote found, match up to next matching + # quote, otherwise match up to next space + 'isx",$document,$links); + + + // catenate the non-empty matches from the conditional subpattern + + while(list($key,$val) = each($links[2])) + { + if(!empty($val)) + $match[] = $val; + } + + while(list($key,$val) = each($links[3])) + { + if(!empty($val)) + $match[] = $val; + } + + // return the links + return $match; + } + +/*======================================================================*\ + Function: _stripform + Purpose: strip the form elements from an html document + Input: $document document to strip. + Output: $match an array of the links +\*======================================================================*/ + + function _stripform($document) + { + preg_match_all("'<\/?(FORM|INPUT|SELECT|TEXTAREA|(OPTION))[^<>]*>(?(2)(.*(?=<\/?(option|select)[^<>]*>[\r\n]*)|(?=[\r\n]*))|(?=[\r\n]*))'Usi",$document,$elements); + + // catenate the matches + $match = implode("\r\n",$elements[0]); + + // return the links + return $match; + } + + + +/*======================================================================*\ + Function: _striptext + Purpose: strip the text from an html document + Input: $document document to strip. + Output: $text the resulting text +\*======================================================================*/ + + function _striptext($document) + { + + // I didn't use preg eval (//e) since that is only available in PHP 4.0. + // so, list your entities one by one here. I included some of the + // more common ones. + + $search = array("'<script[^>]*?>.*?</script>'si", // strip out javascript + "'<[\/\!]*?[^<>]*?>'si", // strip out html tags + "'([\r\n])[\s]+'", // strip out white space + "'&(quote|#34);'i", // replace html entities + "'&(amp|#38);'i", + "'&(lt|#60);'i", + "'&(gt|#62);'i", + "'&(nbsp|#160);'i", + "'&(iexcl|#161);'i", + "'&(cent|#162);'i", + "'&(pound|#163);'i", + "'&(copy|#169);'i" + ); + $replace = array( "", + "", + "\\1", + "\"", + "&", + "<", + ">", + " ", + chr(161), + chr(162), + chr(163), + chr(169)); + + $text = preg_replace($search,$replace,$document); + + return $text; + } + +/*======================================================================*\ + Function: _expandlinks + Purpose: expand each link into a fully qualified URL + Input: $links the links to qualify + $URI the full URI to get the base from + Output: $expandedLinks the expanded links +\*======================================================================*/ + + function _expandlinks($links,$URI) + { + + preg_match("/^[^\?]+/",$URI,$match); + + $match = preg_replace("|/[^\/\.]+\.[^\/\.]+$|","",$match[0]); + + $search = array( "|^http://".preg_quote($this->host)."|i", + "|^(?!http://)(\/)?(?!mailto:)|i", + "|/\./|", + "|/[^\/]+/\.\./|" + ); + + $replace = array( "", + $match."/", + "/", + "/" + ); + + $expandedLinks = preg_replace($search,$replace,$links); + + return $expandedLinks; + } + +/*======================================================================*\ + Function: _httprequest + Purpose: go get the http data from the server + Input: $url the url to fetch + $fp the current open file pointer + $URI the full URI + $body body contents to send if any (POST) + Output: +\*======================================================================*/ + + function _httprequest($url,$fp,$URI,$http_method,$content_type="",$body="") + { + if($this->passcookies && $this->_redirectaddr) + $this->setcookies(); + + $URI_PARTS = parse_url($URI); + if(empty($url)) + $url = "/"; + $headers = $http_method." ".$url." ".$this->_httpversion."\r\n"; + if(!empty($this->agent)) + $headers .= "User-Agent: ".$this->agent."\r\n"; + if(!empty($this->host) && !isset($this->rawheaders['Host'])) + $headers .= "Host: ".$this->host."\r\n"; + if(!empty($this->accept)) + $headers .= "Accept: ".$this->accept."\r\n"; + + if($this->use_gzip) { + // make sure PHP was built with --with-zlib + // and we can handle gzipp'ed data + if ( function_exists(gzinflate) ) { + $headers .= "Accept-encoding: gzip\r\n"; + } + else { + trigger_error( + "use_gzip is on, but PHP was built without zlib support.". + " Requesting file(s) without gzip encoding.", + E_USER_NOTICE); + } + } + + if(!empty($this->referer)) + $headers .= "Referer: ".$this->referer."\r\n"; + if(!empty($this->cookies)) + { + if(!is_array($this->cookies)) + $this->cookies = (array)$this->cookies; + + reset($this->cookies); + if ( count($this->cookies) > 0 ) { + $cookie_headers .= 'Cookie: '; + foreach ( $this->cookies as $cookieKey => $cookieVal ) { + $cookie_headers .= $cookieKey."=".urlencode($cookieVal)."; "; + } + $headers .= substr($cookie_headers,0,-2) . "\r\n"; + } + } + if(!empty($this->rawheaders)) + { + if(!is_array($this->rawheaders)) + $this->rawheaders = (array)$this->rawheaders; + while(list($headerKey,$headerVal) = each($this->rawheaders)) + $headers .= $headerKey.": ".$headerVal."\r\n"; + } + if(!empty($content_type)) { + $headers .= "Content-type: $content_type"; + if ($content_type == "multipart/form-data") + $headers .= "; boundary=".$this->_mime_boundary; + $headers .= "\r\n"; + } + if(!empty($body)) + $headers .= "Content-length: ".strlen($body)."\r\n"; + if(!empty($this->user) || !empty($this->pass)) + $headers .= "Authorization: BASIC ".base64_encode($this->user.":".$this->pass)."\r\n"; + + $headers .= "\r\n"; + + // set the read timeout if needed + if ($this->read_timeout > 0) + socket_set_timeout($fp, $this->read_timeout); + $this->timed_out = false; + + fwrite($fp,$headers.$body,strlen($headers.$body)); + + $this->_redirectaddr = false; + unset($this->headers); + + // content was returned gzip encoded? + $is_gzipped = false; + + while($currentHeader = fgets($fp,$this->_maxlinelen)) + { + if ($this->read_timeout > 0 && $this->_check_timeout($fp)) + { + $this->status=-100; + return false; + } + + if($currentHeader == "\r\n") + break; + + // if a header begins with Location: or URI:, set the redirect + if(preg_match("/^(Location:|URI:)/i",$currentHeader)) + { + // get URL portion of the redirect + preg_match("/^(Location:|URI:)\s+(.*)/",chop($currentHeader),$matches); + // look for :// in the Location header to see if hostname is included + if(!preg_match("|\:\/\/|",$matches[2])) + { + // no host in the path, so prepend + $this->_redirectaddr = $URI_PARTS["scheme"]."://".$this->host.":".$this->port; + // eliminate double slash + if(!preg_match("|^/|",$matches[2])) + $this->_redirectaddr .= "/".$matches[2]; + else + $this->_redirectaddr .= $matches[2]; + } + else + $this->_redirectaddr = $matches[2]; + } + + if(preg_match("|^HTTP/|",$currentHeader)) + { + if(preg_match("|^HTTP/[^\s]*\s(.*?)\s|",$currentHeader, $status)) + { + $this->status= $status[1]; + } + $this->response_code = $currentHeader; + } + + if (preg_match("/Content-Encoding: gzip/", $currentHeader) ) { + $is_gzipped = true; + } + + $this->headers[] = $currentHeader; + } + + # $results = fread($fp, $this->maxlength); + $results = ""; + while ( $data = fread($fp, $this->maxlength) ) { + $results .= $data; + if ( + strlen($results) > $this->maxlength ) { + break; + } + } + + // gunzip + if ( $is_gzipped ) { + // per http://www.php.net/manual/en/function.gzencode.php + $results = substr($results, 10); + $results = gzinflate($results); + } + + if ($this->read_timeout > 0 && $this->_check_timeout($fp)) + { + $this->status=-100; + return false; + } + + // check if there is a a redirect meta tag + + if(preg_match("'<meta[\s]*http-equiv[^>]*?content[\s]*=[\s]*[\"\']?\d+;[\s]+URL[\s]*=[\s]*([^\"\']*?)[\"\']?>'i",$results,$match)) + { + $this->_redirectaddr = $this->_expandlinks($match[1],$URI); + } + + // have we hit our frame depth and is there frame src to fetch? + if(($this->_framedepth < $this->maxframes) && preg_match_all("'<frame\s+.*src[\s]*=[\'\"]?([^\'\"\>]+)'i",$results,$match)) + { + $this->results[] = $results; + for($x=0; $x<count($match[1]); $x++) + $this->_frameurls[] = $this->_expandlinks($match[1][$x],$URI_PARTS["scheme"]."://".$this->host); + } + // have we already fetched framed content? + elseif(is_array($this->results)) + $this->results[] = $results; + // no framed content + else + $this->results = $results; + + return true; + } + +/*======================================================================*\ + Function: _httpsrequest + Purpose: go get the https data from the server using curl + Input: $url the url to fetch + $URI the full URI + $body body contents to send if any (POST) + Output: +\*======================================================================*/ + + function _httpsrequest($url,$URI,$http_method,$content_type="",$body="") + { + if($this->passcookies && $this->_redirectaddr) + $this->setcookies(); + + $headers = array(); + + $URI_PARTS = parse_url($URI); + if(empty($url)) + $url = "/"; + // GET ... header not needed for curl + //$headers[] = $http_method." ".$url." ".$this->_httpversion; + if(!empty($this->agent)) + $headers[] = "User-Agent: ".$this->agent; + if(!empty($this->host)) + $headers[] = "Host: ".$this->host; + if(!empty($this->accept)) + $headers[] = "Accept: ".$this->accept; + if(!empty($this->referer)) + $headers[] = "Referer: ".$this->referer; + if(!empty($this->cookies)) + { + if(!is_array($this->cookies)) + $this->cookies = (array)$this->cookies; + + reset($this->cookies); + if ( count($this->cookies) > 0 ) { + $cookie_str = 'Cookie: '; + foreach ( $this->cookies as $cookieKey => $cookieVal ) { + $cookie_str .= $cookieKey."=".urlencode($cookieVal)."; "; + } + $headers[] = substr($cookie_str,0,-2); + } + } + if(!empty($this->rawheaders)) + { + if(!is_array($this->rawheaders)) + $this->rawheaders = (array)$this->rawheaders; + while(list($headerKey,$headerVal) = each($this->rawheaders)) + $headers[] = $headerKey.": ".$headerVal; + } + if(!empty($content_type)) { + if ($content_type == "multipart/form-data") + $headers[] = "Content-type: $content_type; boundary=".$this->_mime_boundary; + else + $headers[] = "Content-type: $content_type"; + } + if(!empty($body)) + $headers[] = "Content-length: ".strlen($body); + if(!empty($this->user) || !empty($this->pass)) + $headers[] = "Authorization: BASIC ".base64_encode($this->user.":".$this->pass); + + for($curr_header = 0; $curr_header < count($headers); $curr_header++) + $cmdline_params .= " -H \"".$headers[$curr_header]."\""; + + if(!empty($body)) + $cmdline_params .= " -d \"$body\""; + + if($this->read_timeout > 0) + $cmdline_params .= " -m ".$this->read_timeout; + + $headerfile = uniqid(time()); + + exec($this->curl_path." -D \"/tmp/$headerfile\"".$cmdline_params." ".$URI,$results,$return); + + if($return) + { + $this->error = "Error: cURL could not retrieve the document, error $return."; + return false; + } + + + $results = implode("\r\n",$results); + + $result_headers = file("/tmp/$headerfile"); + + $this->_redirectaddr = false; + unset($this->headers); + + for($currentHeader = 0; $currentHeader < count($result_headers); $currentHeader++) + { + + // if a header begins with Location: or URI:, set the redirect + if(preg_match("/^(Location: |URI: )/i",$result_headers[$currentHeader])) + { + // get URL portion of the redirect + preg_match("/^(Location: |URI:)(.*)/",chop($result_headers[$currentHeader]),$matches); + // look for :// in the Location header to see if hostname is included + if(!preg_match("|\:\/\/|",$matches[2])) + { + // no host in the path, so prepend + $this->_redirectaddr = $URI_PARTS["scheme"]."://".$this->host.":".$this->port; + // eliminate double slash + if(!preg_match("|^/|",$matches[2])) + $this->_redirectaddr .= "/".$matches[2]; + else + $this->_redirectaddr .= $matches[2]; + } + else + $this->_redirectaddr = $matches[2]; + } + + if(preg_match("|^HTTP/|",$result_headers[$currentHeader])) + $this->response_code = $result_headers[$currentHeader]; + + $this->headers[] = $result_headers[$currentHeader]; + } + + // check if there is a a redirect meta tag + + if(preg_match("'<meta[\s]*http-equiv[^>]*?content[\s]*=[\s]*[\"\']?\d+;[\s]+URL[\s]*=[\s]*([^\"\']*?)[\"\']?>'i",$results,$match)) + { + $this->_redirectaddr = $this->_expandlinks($match[1],$URI); + } + + // have we hit our frame depth and is there frame src to fetch? + if(($this->_framedepth < $this->maxframes) && preg_match_all("'<frame\s+.*src[\s]*=[\'\"]?([^\'\"\>]+)'i",$results,$match)) + { + $this->results[] = $results; + for($x=0; $x<count($match[1]); $x++) + $this->_frameurls[] = $this->_expandlinks($match[1][$x],$URI_PARTS["scheme"]."://".$this->host); + } + // have we already fetched framed content? + elseif(is_array($this->results)) + $this->results[] = $results; + // no framed content + else + $this->results = $results; + + unlink("/tmp/$headerfile"); + + return true; + } + +/*======================================================================*\ + Function: setcookies() + Purpose: set cookies for a redirection +\*======================================================================*/ + + function setcookies() + { + for($x=0; $x<count($this->headers); $x++) + { + if(preg_match("/^set-cookie:[\s]+([^=]+)=([^;]+)/i", $this->headers[$x],$match)) + $this->cookies[$match[1]] = $match[2]; + } + } + + +/*======================================================================*\ + Function: _check_timeout + Purpose: checks whether timeout has occurred + Input: $fp file pointer +\*======================================================================*/ + + function _check_timeout($fp) + { + if ($this->read_timeout > 0) { + $fp_status = socket_get_status($fp); + if ($fp_status["timed_out"]) { + $this->timed_out = true; + return true; + } + } + return false; + } + +/*======================================================================*\ + Function: _connect + Purpose: make a socket connection + Input: $fp file pointer +\*======================================================================*/ + + function _connect(&$fp) + { + if(!empty($this->proxy_host) && !empty($this->proxy_port)) + { + $this->_isproxy = true; + $host = $this->proxy_host; + $port = $this->proxy_port; + } + else + { + $host = $this->host; + $port = $this->port; + } + + $this->status = 0; + + if($fp = fsockopen( + $host, + $port, + $errno, + $errstr, + $this->_fp_timeout + )) + { + // socket connection succeeded + + return true; + } + else + { + // socket connection failed + $this->status = $errno; + switch($errno) + { + case -3: + $this->error="socket creation failed (-3)"; + case -4: + $this->error="dns lookup failure (-4)"; + case -5: + $this->error="connection refused or timed out (-5)"; + default: + $this->error="connection failed (".$errno.")"; + } + return false; + } + } +/*======================================================================*\ + Function: _disconnect + Purpose: disconnect a socket connection + Input: $fp file pointer +\*======================================================================*/ + + function _disconnect($fp) + { + return(fclose($fp)); + } + + +/*======================================================================*\ + Function: _prepare_post_body + Purpose: Prepare post body according to encoding type + Input: $formvars - form variables + $formfiles - form upload files + Output: post body +\*======================================================================*/ + + function _prepare_post_body($formvars, $formfiles) + { + settype($formvars, "array"); + settype($formfiles, "array"); + + if (count($formvars) == 0 && count($formfiles) == 0) + return; + + switch ($this->_submit_type) { + case "application/x-www-form-urlencoded": + reset($formvars); + while(list($key,$val) = each($formvars)) { + if (is_array($val) || is_object($val)) { + while (list($cur_key, $cur_val) = each($val)) { + $postdata .= urlencode($key)."[]=".urlencode($cur_val)."&"; + } + } else + $postdata .= urlencode($key)."=".urlencode($val)."&"; + } + break; + + case "multipart/form-data": + $this->_mime_boundary = "Snoopy".md5(uniqid(microtime())); + + reset($formvars); + while(list($key,$val) = each($formvars)) { + if (is_array($val) || is_object($val)) { + while (list($cur_key, $cur_val) = each($val)) { + $postdata .= "--".$this->_mime_boundary."\r\n"; + $postdata .= "Content-Disposition: form-data; name=\"$key\[\]\"\r\n\r\n"; + $postdata .= "$cur_val\r\n"; + } + } else { + $postdata .= "--".$this->_mime_boundary."\r\n"; + $postdata .= "Content-Disposition: form-data; name=\"$key\"\r\n\r\n"; + $postdata .= "$val\r\n"; + } + } + + reset($formfiles); + while (list($field_name, $file_names) = each($formfiles)) { + settype($file_names, "array"); + while (list(, $file_name) = each($file_names)) { + if (!is_readable($file_name)) continue; + + $fp = fopen($file_name, "r"); + $file_content = fread($fp, filesize($file_name)); + fclose($fp); + $base_name = basename($file_name); + + $postdata .= "--".$this->_mime_boundary."\r\n"; + $postdata .= "Content-Disposition: form-data; name=\"$field_name\"; filename=\"$base_name\"\r\n\r\n"; + $postdata .= "$file_content\r\n"; + } + } + $postdata .= "--".$this->_mime_boundary."--\r\n"; + break; + } + + return $postdata; + } +} + +?> Modified: trunk/htdocs/index.php =================================================================== --- trunk/htdocs/index.php 2006-11-21 05:54:21 UTC (rev 332) +++ trunk/htdocs/index.php 2006-11-21 09:20:15 UTC (rev 333) @@ -1,41 +1,143 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <title>DC Comprehensive Subscriber Survey (DCCSS)</title> - <link rel="shortcut icon" href="image/dccsss.ico" /> + <link rel="stylesheet" href="dcmms.css" type="text/css"/> + <link rel="shortcut icon" href="images/dcmms.ico" /> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> </head> <body> - <h1><img src="image/dccss_small.png" width="48" height="48" alt="DCCSS" - />DC Comprehensive Subscriber Survey</h1> - <p>Welcome to the DCCSS pages.</p> + <div class="sf-logo"><a href="http://sourceforge.net"> + <img src="http://sourceforge.net/sflogo.php?group_id=76364&type=5" + width="210" height="62" border="0" alt="SourceForge.net Logo" + align="top"></a> + DCCSS is kindly hosted by Sourceforge.net.</div> - <p>DCCSS is under active development. Right now the following is available:</p> - + <p class="shortcuts"><a href="#documentation">Documentation</a> | + + >Downloads</a> | <a href="#installation">Installation</a> | + <a href="http://sourceforge.net/projects/dccss/">Project</a> | + <a href="#license">License</a></p> + + <div class="dccss"> + <h1><img src="images/dccss_small.png" alt="DCCSS" /> DC Comprehensive Subscriber Survey</h1> + <p>Welcome to the DC Comprehensive Subscriber Survey homepage.</p> + <p>A web-based system for a comprehensive survey of water utility customers. + Cross-platform application written in PHP. + Uses a GIS component based on mapserver to visualize the delivery points..</p> + <p>More information about the project is available on the <a + href="http://sourceforge.net/projects/dccss/">project summary + page</a>. All releases are available from the <a href= + "http://sourceforge.net/project/showfiles.php?group_id=147704">download + page</a>.</p> + <p>The DCCSS development is supported by <a href= + "http://www.dorsch.de">Dorsch Gruppe</a>.</p> + + <h2><a name="documentation">Documentation</a></h2> + <p>The following documentation is available:</p> <ul> <li><a href="http://sourceforge.net/projects/dccss">Project pages</a> - (Additional information, trackers, CVS, mailing lists).</li> - <li>Preliminary User Guide <a href="doc/user/en/index.html">HTML</a>, - <a href="doc/user/en/dccss_user_guide.pdf">PDF</a>, <a - href="doc/user/en/dccss_user_guide.chm">CHM</a></li> + <li>DCCSS Flyer + <ul> + <li><a href="dccss_flyer.pdf">English</a> (PDF)</li> - <li>DCCSS flyer <a href="dccss_flyer.pdf">PDF</a></li> + </ul> + </li> + <li>User Guide + <ul> + <li>English + <a href="doc/user/en/dccss_user_guide.pdf">PDF</a> + <a href="doc/user/en/index.html">HTML</a> + <a href="doc/user/en/dccss_user_guide.chm">CHM</a> + </li> + + </ul> + </li> + + <li><a href="dccss_data_model.pdf">DCMMS Data Model</a> (PDF)</li> + <li>API documentation generated by doxygen + </li> </ul> - <p><img src="http://www.dorsch.de/WEB/web_home_e.nsf/dcIndex.jpg" - width="144" height="48" style="border: 0px" alt="DORSCH Consult" /> DCCSS is - developed by <a href="http://www.dorsch.de">DC Water and Environment</a>.</p> - <p><img src="image/postgis.gif" alt="PostGIS" width="60" height="60" - style="border: 0px"/> DCCSS is using <a href= - "http://postgis.refractions.net">PostGIS</a>.</p> - <p><img src="image/postgresql.gif" alt="PostgreSQL" width="88" height="31" - style="border: 0px"/> DCCSS is using <a href= - "http://www.postgresql.org">PostgreSQL</a>.</p> - <p><a href="http://sourceforge.net" - ><img src="http://sourceforge.net/sflogo.php?group_id=147704&type=1" - width="88" height="31" style="border: 0px" alt="SourceForge.net Logo" /></a> - The DCCSS project is kindly hosted by <a href="http://sourceforge.net" - >Sourceforge.net</a></p> - <p>Copyright (c) 2005, 2006 DC Water and Environment</p> - </body> -</html> + <h2><a name="screenshots">Screenshots</a></h2> + <p>The following DCCSS screenshots are available: + <ul> + <li><a href="./dccss_index.png">Main Page</a></li> + <li><a href="./dccss_map.png">Map</a></li> + </ul> + </p> + <h2>Additional Packages</h2> + <p>PostArabic is used by the DCCSS application.</p> + + <h3>PostArabic</h3> + <p><a href="http://dcmms.sourceforge.net/postarabic.php">PostArabic</a> is a module that provides + Arabic shaping functionality in PostgreSQL.</p> + <p>PostArabic is required in order to display Arabic map labels in DCCSS. + The DCCSS installer includes PostArabic.</p> + + <h3>DC Maintenance Management System</h3> + <p>You may also be interested in <a href= + "http://dcmms.sourceforge.net">DCMMS</a>, a web-based application to manage + , and record repair locations.</p> + <h3>Road Advertisement Panel Control</h3> + <p>You may also be interested in <a href= + "http://rapc.sourceforge.net">RAPC</a>, a web-based application to manage + , and record advertisement panels.This application was developed for the Jordanian + <a href="www.mpwh.gov.jo" > Ministry of Public Works and Housing (MPWH)</a> </p> + + <h3>Bulk Meter Flow and Operations</h3> + <p>You may also be interested in <a href= + "http://bmfo.sourceforge.net">BMFO</a>, a web-based application to manage + bulk meter readings and flow estimates.</p> + + <h3>DC Water Design Extension</h3> + <p>You may also be interested in the <a href= + "http://dcwaterdesign.sourceforge.net">DC Water Design Extension</a>, a + set of free ArcView extension related to design and hydraulic analysis + of water and wastewater networks.</p> + + <h2>File Releases</h2> <?php + require_once 'rss_fetch.inc'; + $url = + "http://sourceforge.net/export/rss2_projfiles.php?group_id=147704&rss_limit=10"; + @$rss = fetch_rss($url); + if($rss) { + foreach($rss->items as $item ) { ?> + <h3><?= $item[title]; ?></h3> + <p><?= $item["description"]; ?></p> <?php + } + } else { ?> + <p class="important">RSS feed currently unavailable. Please check again + later.</p> <?php + } ?> + + <h2><a name="license">License</a></h2> + <p>Copyright (c) 2005,2006 <a href="http://www.dorsch.de">DORSCH + Consult</a></p> + <p>This program is free software; you can redistribute it and/or modify + it under the terms of the <a href="http://www.gnu.org/copyleft/gpl.html" + >GNU General Public License</a> as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version.</p> + <p>This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details.</p> + <p>You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA.</p> + </div> + <p class="footer">$Date: 2006-10-11 9:10:24 +0200 (Wed, 11 Oct 2006) $ <a href= + "mailto:Mah...@do..." + >Maher Abdel Karim <Mah...@do...></a></p> + <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> + </script> + <script type="text/javascript"> + _uacct = "UA-389797-3"; + urchinTracker(); + </script> + </body> +</html> \ No newline at end of file Added: trunk/htdocs/rss.php =================================================================== --- trunk/htdocs/rss.php (rev 0) +++ trunk/htdocs/rss.php 2006-11-21 09:20:15 UTC (rev 333) @@ -0,0 +1,13 @@ +<?php require_once 'rss_fetch.inc'; + +$url = "http://sourceforge.net/export/rss2_projfiles.php?group_id=147704&rss_limit=3"; +$rss = fetch_rss($url); + +print_r($rss); + +echo "Site: ", $rss->channel['title'], "<br>\n"; +foreach ($rss->items as $item ) { ?> + <h2><?= $item[title]; ?></h2> + <p><?= $item["description"]; ?></p><?php +} +?> Added: trunk/htdocs/rss_fetch.inc =================================================================== --- trunk/htdocs/rss_fetch.inc (rev 0) +++ trunk/htdocs/rss_fetch.inc 2006-11-21 09:20:15 UTC (rev 333) @@ -0,0 +1,439 @@ +<?php +/* + * Project: MagpieRSS: a simple RSS integration tool + * File: rss_fetch.inc, a simple functional interface + to fetching and parsing RSS files, via the + function fetch_rss() + * Author: Kellan Elliott-McCrea <ke...@pr...> + * Version: 0.51 + * License: GPL + * + * The lastest version of MagpieRSS can be obtained from: + * http://magpierss.sourceforge.net + * + * For questions, help, comments, discussion, etc., please join the + * Magpie mailing list: + * mag...@li... + * + */ + +// Setup MAGPIE_DIR for use on hosts that don't include +// the current path in include_path. +// with thanks to rajiv and smarty +if (!defined('DIR_SEP')) { + define('DIR_SEP', DIRECTORY_SEPARATOR); +} + +if (!defined('MAGPIE_DIR')) { + define('MAGPIE_DIR', dirname(__FILE__) . DIR_SEP); +} + +require_once( MAGPIE_DIR . 'rss_parse.inc' ); +require_once( MAGPIE_DIR . 'rss_cache.inc' ); + +// for including 3rd party libraries +define('MAGPIE_EXTLIB', MAGPIE_DIR . 'extlib' . DIR_SEP); +require_once( MAGPIE_EXTLIB . 'Snoopy.class.inc'); + + +/* + * CONSTANTS - redefine these in your script to change the + * behaviour of fetch_rss() currently, most options effect the cache + * + * MAGPIE_CACHE_ON - Should Magpie cache parsed RSS objects? + * For me a built in cache was essential to creating a "PHP-like" + * feel to Magpie, see rss_cache.inc for rationale + * + * + * MAGPIE_CACHE_DIR - Where should Magpie cache parsed RSS objects? + * This should be a location that the webserver can write to. If this + * directory does not already exist Mapie will try to be smart and create + * it. This will often fail for permissions reasons. + * + * + * MAGPIE_CACHE_AGE - How long to store cached RSS objects? In seconds. + * + * + * MAGPIE_CACHE_FRESH_ONLY - If remote fetch fails, throw error + * instead of returning stale object? + * + * MAGPIE_DEBUG - Display debugging notices? + * +*/ + + +/*=======================================================================*\ + Function: fetch_rss: + Purpose: return RSS object for the give url + maintain the cache + Input: url of RSS file + Output: parsed RSS object (see rss_parse.inc) + + NOTES ON CACHEING: + If caching is on (MAGPIE_CACHE_ON) fetch_rss will first check the cache. + + NOTES ON RETRIEVING REMOTE FILES: + If conditional gets are on (MAGPIE_CONDITIONAL_GET_ON) fetch_rss will + return a cached object, and touch the cache object upon recieving a + 304. + + NOTES ON FAILED REQUESTS: + If there is an HTTP error while fetching an RSS object, the cached + version will be return, if it exists (and if MAGPIE_CACHE_FRESH_ONLY is off) +\*=======================================================================*/ + +define('MAGPIE_VERSION', '0.51'); + +$MAGPIE_ERROR = ""; + +function fetch_rss ($url) { + // initialize constants + init(); + + if ( !isset($url) ) { + error("fetch_rss called without a url"); + return false; + } + + // if cache is disabled + if ( !MAGPIE_CACHE_ON ) { + // fetch file, and parse it + $resp = _fetch_remote_file( $url ); + if ( is_success( $resp->status ) ) { + return _response_to_rss( $resp ); + } + else { + error("Failed to fetch $url and cache is off"); + return false; + } + } + // else cache is ON + else { + // Flow + // 1. check cache + // 2. if there is a hit, make sure its fresh + // 3. if cached obj fails freshness check, fetch remote + // 4. if remote fails, return stale object, or error + + $cache = new RSSCache( MAGPIE_CACHE_DIR, MAGPIE_CACHE_AGE ); + + if (MAGPIE_DEBUG and $cache->ERROR) { + debug($cache->ERROR, E_USER_WARNING); + } + + + $cache_status = 0; // response of check_cache + $request_headers = array(); // HTTP headers to send with fetch + $rss = 0; // parsed RSS object + $errormsg = 0; // errors, if any + + if (!$cache->ERROR) { + // return cache HIT, MISS, or STALE + $cache_status = $cache->check_cache( $url ); + } + + // if object cached, and cache is fresh, return cached obj + if ( $cache_status == 'HIT' ) { + $rss = $cache->get( $url ); + if ( isset($rss) and $rss ) { + $rss->from_cache = 1; + if ( MAGPIE_DEBUG > 1) { + debug("MagpieRSS: Cache HIT", E_USER_NOTICE); + } + return $rss; + } + } + + // else attempt a conditional get + + // setup headers + if ( $cache_status == 'STALE' ) { + $rss = $cache->get( $url ); + if ( $rss->etag and $rss->last_modified ) { + $request_headers['If-None-Match'] = $rss->etag; + $request_headers['If-Last-Modified'] = $rss->last_modified; + } + } + + $resp = _fetch_remote_file( $url, $request_headers ); + + if (isset($resp) and $resp) { + if ($resp->status == '304' ) { + // we have the most current copy + if ( MAGPIE_DEBUG > 1) { + debug("Got 304 for $url"); + } + // reset cache on 304 (at minutillo insistent prodding) + $cache->set($url, $rss); + return $rss; + } + elseif ( is_success( $resp->status ) ) { + $rss = _response_to_rss( $resp ); + if ( $rss ) { + if (MAGPIE_DEBUG > 1) { + debug("Fetch successful"); + } + // add object to cache + $cache->set( $url, $rss ); + return $rss; + } + } + else { + $errormsg = "Failed to fetch $url. "; + if ( $resp->error ) { + # compensate for Snoopy's annoying habbit to tacking + # on '\n' + $http_error = substr($resp->error, 0, -2); + $errormsg .= "(HTTP Error: $http_error)"; + } + else { + $errormsg .= "(HTTP Response: " . $resp->response_code .')'; + } + } + } + else { + $errormsg = "Unable to retrieve RSS file for unknown reasons."; + } + + // else fetch failed + + // attempt to return cached object + if ($rss) { + if ( MAGPIE_DEBUG ) { + debug("Returning STALE object for $url"); + } + return $rss; + } + + // else we totally failed + error( $errormsg ); + + return false; + + } // end if ( !MAGPIE_CACHE_ON ) { +} // end fetch_rss() + +/*=======================================================================*\ + Function: error + Purpose: set MAGPIE_ERROR, and trigger error +\*=======================================================================*/ + +function error ($errormsg, $lvl=E_USER_WARNING) { + global $MAGPIE_ERROR; + + // append PHP's error message if track_errors enabled + if ( isset($php_errormsg) ) { + $errormsg .= " ($php_errormsg)"; + } + if ( $errormsg ) { + $errormsg = "MagpieRSS: $errormsg"; + $MAGPIE_ERROR = $errormsg; + trigger_error( $errormsg, $lvl); + } +} + +function debug ($debugmsg, $lvl=E_USER_NOTICE) { + trigger_error("MagpieRSS [debug] $debugmsg", $lvl); +} + +/*=======================================================================*\ + Function: magpie_error + Purpose: accessor for the magpie error variable +\*=======================================================================*/ +function magpie_error ($errormsg="") { + global $MAGPIE_ERROR; + + if ( isset($errormsg) and $errormsg ) { + $MAGPIE_ERROR = $errormsg; + } + + return $MAGPIE_ERROR; +} + +/*=======================================================================*\ + Function: _fetch_remote_file + Purpose: retrieve an arbitrary remote file + Input: url of the remote file + headers to send along with the request (optional) + Output: an HTTP response object (see Snoopy.class.inc) +\*=======================================================================*/ +function _fetch_remote_file ($url, $headers = "" ) { + // Snoopy is an HTTP client in PHP + $client = new Snoopy(); + $client->agent = MAGPIE_USER_AGENT; + $client->read_timeout = MAGPIE_FETCH_TIME_OUT; + $client->use_gzip = MAGPIE_USE_GZIP; + if (is_array($headers) ) { + $client->rawheaders = $headers; + } + + @$client->fetch($url); + return $client; + +} + +/*=======================================================================*\ + Function: _response_to_rss + Purpose: parse an HTTP response object into an RSS object + Input: an HTTP response object (see Snoopy) + Output: parsed RSS object (see rss_parse) +\*=======================================================================*/ +function _response_to_rss ($resp) { + $rss = new MagpieRSS( $resp->results ); + + // if RSS parsed successfully + if ( $rss and !$rss->ERROR) { + + // find Etag, and Last-Modified + foreach($resp->headers as $h) { + // 2003-03-02 - Nicola Asuni (www.tecnick.com) - fixed bug "Undefined offset: 1" + if (strpos($h, ": ")) { + list($field, $val) = explode(": ", $h, 2); + } + else { + $field = $h; + $val = ""; + } + + if ( $field == 'ETag' ) { + $rss->etag = $val; + } + + if ( $field == 'Last-Modified' ) { + $rss->last_modified = $val; + } + } + + return $rss; + } // else construct error message + else { + $errormsg = "Failed to parse RSS file."; + + if ($rss) { + $errormsg .= " (" . $rss->ERROR . ")"; + } + error($errormsg); + + return false; + } // end if ($rss and !$rss->error) +} + +/*=======================================================================*\ + Function: init + Purpose: setup constants with default values + check for user overrides +\*=======================================================================*/ +function init () { + if ( defined('MAGPIE_INITALIZED') ) { + return; + } + else { + define('MAGPIE_INITALIZED', 1); + } + + if ( !defined('MAGPIE_CACHE_ON') ) { + define('MAGPIE_CACHE_ON', 1); + } + + if ( !defined('MAGPIE_CACHE_DIR') ) { + define('MAGPIE_CACHE_DIR', './cache'); + } + + if ( !defined('MAGPIE_CACHE_AGE') ) { + define('MAGPIE_CACHE_AGE', 60*60); // one hour + } + + if ( !defined('MAGPIE_CACHE_FRESH_ONLY') ) { + define('MAGPIE_CACHE_FRESH_ONLY', 0); + } + + if ( !defined('MAGPIE_DEBUG') ) { + define('MAGPIE_DEBUG', 0); + } + + if ( !defined('MAGPIE_USER_AGENT') ) { + $ua = 'MagpieRSS/'. MAGPIE_VERSION . ' (+http://magpierss.sf.net'; + + if ( MAGPIE_CACHE_ON ) { + $ua = $ua . ')'; + } + else { + $ua = $ua . '; No cache)'; + } + + define('MAGPIE_USER_AGENT', $ua); + } + + if ( !defined('MAGPIE_FETCH_TIME_OUT') ) { + define('MAGPIE_FETCH_TIME_OUT', 5); // 5 second timeout + } + + // use gzip encoding to fetch rss files if supported? + if ( !defined('MAGPIE_USE_GZIP') ) { + define('MAGPIE_USE_GZIP', true); + } +} + +// NOTE: the following code should really be in Snoopy, or at least +// somewhere other then rss_fetch! + +/*=======================================================================*\ + HTTP STATUS CODE PREDICATES + These functions attempt to classify an HTTP status code + based on RFC 2616 and RFC 2518. + + All of them take an HTTP status code as input, and return true or false + + All this code is adapted from LWP's HTTP::Status. +\*=======================================================================*/ + + +/*=======================================================================*\ + Function: is_info + Purpose: return true if Informational status code +\*=======================================================================*/ +function is_info ($sc) { + return $sc >= 100 && $sc < 200; +} + +/*=======================================================================*\ + Function: is_success + Purpose: return true if Successful status code +\*=======================================================================*/ +function is_success ($sc) { + return $sc >= 200 && $sc < 300; +} + +/*=======================================================================*\ + Function: is_redirect + Purpose: return true if Redirection sta... [truncated message content] |
From: <mah...@us...> - 2006-11-21 05:54:25
|
Revision: 332 http://svn.sourceforge.net/dccss/?rev=332&view=rev Author: maher_karim Date: 2006-11-20 21:54:21 -0800 (Mon, 20 Nov 2006) Log Message: ----------- 2006-11-21 Maher Abdel karim <mah...@do...> * sca.apr:add to the sourceforge Added Paths: ----------- trunk/sca/ trunk/sca/AUTHORS trunk/sca/COPYING trunk/sca/changelog trunk/sca/readme trunk/sca/sca.apr Added: trunk/sca/AUTHORS =================================================================== --- trunk/sca/AUTHORS (rev 0) +++ trunk/sca/AUTHORS 2006-11-21 05:54:21 UTC (rev 332) @@ -0,0 +1,3 @@ +Maher Abdel Karim <Mah...@do...> + + Added: trunk/sca/COPYING =================================================================== --- trunk/sca/COPYING (rev 0) +++ trunk/sca/COPYING 2006-11-21 05:54:21 UTC (rev 332) @@ -0,0 +1,341 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. + Added: trunk/sca/changelog =================================================================== --- trunk/sca/changelog (rev 0) +++ trunk/sca/changelog 2006-11-21 05:54:21 UTC (rev 332) @@ -0,0 +1,3 @@ +2006-11-21 Maher Abdel karim <mah...@do...> + + * sca.apr:add to the sourceforge \ No newline at end of file Added: trunk/sca/readme =================================================================== Added: trunk/sca/sca.apr =================================================================== --- trunk/sca/sca.apr (rev 0) +++ trunk/sca/sca.apr 2006-11-21 05:54:21 UTC (rev 332) @@ -0,0 +1,7910 @@ +/3.2 +(ODB.1 + Dependencies: "$AVEXT/legends.avx\n$AVEXT/dialog.avx\n" + FirstRootClassName: "Project" + Roots: 2 + Version: 32 +) + +(Project.2 + Name: "yemen_css.apr" + CreationDate: "Wednesday, April 07, 2004 3:04:31 PM" + GUIName: "Project" + Win: 3 + CSMgr: 4 + DocExts: 5 + VisGUIWidth: 70 + Doc: 6 + Doc: 10 + Doc: 14 + Doc: 18 + Doc: 22 + Doc: 26 + Doc: 30 + Doc: 51 + Doc: 55 + Doc: 59 + Doc: 63 + Doc: 67 + Doc: 71 + Doc: 75 + Doc: 79 + Doc: 83 + Doc: 87 + Doc: 220 + Doc: 224 + Doc: 228 + Doc: 232 + Doc: 236 + Doc: 240 + Doc: 244 + Doc: 248 + Doc: 252 + Doc: 368 + Doc: 372 + Doc: 376 + Doc: 380 + ActiveDoc: 59 + Buttons: 384 + Buttons: 385 + Buttons: 386 + Dependencies: 387 + Dependencies: 388 + Scripts: 389 + Prefs: 390 + GUI: 403 + GUI: 691 + GUI: 914 + WorkDir: 1388 + WinX: -4 + WinY: -3 + WinW: 1032 + WinH: 747 + SerialNumber: "798501100465" + SelColor: 1389 + GUINames: 1390 + GUINames: 1391 + GUINames: 1392 + GUINames: 1393 + GUINames: 1394 + GUINames: 1395 + GUINames: 1396 + GUINames: 1397 + TocWidthScale: 1.00000000000000 +) + +(DocWin.3 + Owner: 2 + Open: 1 + X: 513 + W: 513 + H: 627 +) + +(CSMgr.4 +) + +(DocAct.5 + Doc: 2 +) + +(SEd.6 + Name: "dc_canunload" + CreationDate: "13 \xD1\xC8\xEDڠ\xC7\xE1\xCB\xC7\xE4\xED, 1425 01:54:48 \xE3" + GUIName: "Script" + Win: 7 + CSMgr: 8 + DocExts: 9 + Source: "return(true)\n\n\n" + FontSize: 1 +) + +(DocWin.7 + Owner: 6 + X: -4 + Y: -4 + W: 1023 + H: 625 +) + +(CSMgr.8 +) + +(DocAct.9 + Doc: 6 +) + +(SEd.10 + Name: "DC_extention_make" + CreationDate: "13 \xD1\xC8\xEDڠ\xC7\xE1\xCB\xC7\xE4\xED, 1425 01:56:13 \xE3" + GUIName: "Script" + Win: 11 + CSMgr: 12 + DocExts: 13 + Source: "' Name: GTZ-OMS-YEMEN CSS Application'\n' Title: Extension Builder - Source Code\n'\n' Topics: GIS / CSS link\n'\n' Description: \n'\n' Requires: \n'\n' Self: \n'\n' Returns: \n\n\n\n'------------------------------\n 'the Filename of the extension\n '\ntheExtensionFile = \"$AvHOME\\Ext32\\NWSA-GIS-PK.avx\"\n\n'------------------------------\n 'The Name of the extension to be displayed in the\n 'extension dialog\ntheExtensionName = \"NWSA GIS CSS link application\"\n\n'------------------------------\n 'The description of the extensi +on to be displayed\n ' in the extension dialog\n \ntheDescription = \"NWSA GIS Primary key related application to confirm customer's information and transfer it to Oracle or a temporary sql file,By Maher ABDEL KARIM 01/06/2004 modified 29/12/2004\"\n\n'------------------------------\n 'The version of the extension\ntheVersion = 1.1\n'------------------------------\n 'Install Script\n ' The Script to use to install the extension\n 'NOTE: \"My Extension Install\" is a pre-perpared script for this\nInScriptName=\"DC_Install\"\n\n +'------------------------------\n 'Uninstall Script\n ' The Script to use to uninstall the extension\n 'NOTE: \"My Extension Uninstall\" is a pre-perpared script for this\n\nUnScriptName=\"DC_Uninstall\"\n\n'------------------------------\n 'Any document Names to include\n ' This is a list of any documents to include\n ' e.g. theDocs={\"View1\",\"Layout1\"}\ntheDocs={}\n\n'------------------------------\n 'Controls (Buttons and normal Tools) to include\n 'Controls {GUI name,ControlType,ScriptName}\nTheControlList={{\"Table\",\"Button +Bar\",\"YEOMS.Table-structure\"},{\"View\",\"Toolbar\",\"YEOMS-pk-gen-calc-Single-apply\"},{\"view\",\"toolBar\",\"YEOMS-pk-gen-calc-apply\"},{\"View\",\"Buttonbar\",\"YEOMS-pk-gen-ALL\"},{\"View\",\"Buttonbar\",\"YEOMS-PK-dump\"}}\n\n\n'------------------------------\n 'Tool menus to include\n ' This is a list of which tool menus to include. Tool menus are specified\n ' by giving a GUI name and a script name of one of the tools in the tool menu\n ' Using this to locate the tool menu ALL other tools inb that menu and \n ' their scripts will + be extracted\n ' theToolMenu={{\"View\",\"View.PointTool\"}}\n'TheToolMenuList={{\"View\",\"YEOMS-Building-Add-Apply\"}}\nTheToolMenuList={}\n\n\n'------------------------------\n 'The Menus to include (a list of menu items listing the doc, the top menu, and the script for the menu item)\n 'The MenuList {Doc name, Main Menu name , menu item Scriptname}\n ' e.g. The MenuList={{\"View\", \"File\", \"View.Export\"}}\nTheMenuList={{\"View\", \"NWSA CSS\", \"YEOMS-Layer-Setup\"}}\n\n'------------------------------\n 'The scripts to include, no +t in controls or menus\n 'e.g. theScripts={\"My.Script\",\"View.export\"}\n\ntheScripts= {}\n for each s in Av.GetProject.GetDocs\n if ((s.is(SED)) and (s.GetName.contains(\"YEOMS\"))) then\n theScripts.add(s.GetName) \n ENd\n \n \n End\n\n\n'------------------------------\n 'The dialogs to include\n 'e.g. theDialogs={\"Dialog Name\"}\ntheDialogs={\"YEOMS-PK-GEN\",\"YEOMS-PK-GEN-CONFIRM\"}\n\n\n'------------------------------\n 'The Dependencies\ntheDependencies={}\n\n'------------------------------\n' ATTENTION!!!!!!!!!!!!!! +!\n' Do NOT alter the script after these lines, the remainer of this script\n' uses the lists you provided above to build the extension object.\n'_______________________________________________________________\n'_______________________________________________________________\n'_______________________________________________________________\n'_______________________________________________________________\n'_______________________________________________________________\n'____________________________________________ +___________________\n'_______________________________________________________________\n'_______________________________________________________________\n'_______________________________________________________________\n\n'Create a total list of the needed scripts\nTheNeeded={}\n\nfor each ControlScript in thecontrolList\n TheNeeded.add(ConTrolScript.get(2))\nend\n\nFor each MenuScript in theMenuList\n theNeeded.add(MenuScript.get(2))\nend\n \ntotalscripts=thescripts.merge(theNeeded)\nTotalScripts.removeduplicates\n \ntheInsta +ll=av.GetProject.FindScript(InscriptName)\nif (theInstall=NIL) then \n Msgbox.Error(\"The install Script \"+InScriptName+\" was not found\",\"Script not found\")\n return(nil)\nend\n\ntheUninstall=av.GetProject.FindScript(unscriptName)\nif (theUninstall=NIL) then \n Msgbox.Error(\"The install Script \"+UnScriptName+\" was not found\",\"Script not found\")\n return(nil)\nend\n\n\n'Create the extension\n' Extension.Make(ExtensionFile, theExtensionName, InstallScript, UninstallScript, Dependancies_\n\nmyExt = Extension.Make(theExtens +ionFile.asFilename, \n theExtensionName,\n theInstall,\n theUninstall, \n theDependencies)\n\n\n\nTheDocList={}\nTheDialogList={}\nTheTotalControls={}\nThetotalMenus={}\ntheTotalToolMenus={}\n\n' Process the Document List\n'__________________________________________\nfor each aDoc in TheDocs\n if ((av.getproject.findDoc(aDoc)=\"Null\").NOT) then\n TheDocList.Add(av.GetProject.FindDoc(aDoc))\n else\n MsgBox.Warning(\"The Doc \"+adoc.asstring+\" cannot be fo +und in the current project.\",\"Script Error\")\n return(nil)\n end\nend\n\n'Add the List of Documents\nMyExt.add(TheDocList)\n\n\n' Process the Dialog List\n'__________________________________________\nfor each aDialog in TheDialogs\n if ((av.getproject.findDialog(aDialog)=\"Null\").NOT) then\n TheDialogList.Add(av.GetProject.FindDialog(aDialog))\n else\n MsgBox.Warning(\"The Dialog \"+aDialog.asstring+\" cannot be found in the current project.\",\"Script Error\")\n return(nil)\n end\nend\n\n'Add the List of Docume +nts\nMyExt.add(TheDialogList)\n\n\n\n' Process the control List\n'__________________________________________\n\n'Controls {GUI,ControlType,Scriptname}\n'__________________________________________\n'__________________________________________\n'__________________________________________\n\nfor each aControl in TheControlList\n theControlDoc=av.getproject.findGUI(aControl.get(0))\n if (theControlDoc=NIL) then \n MsgBox.Warning(\"The GUI \"+aControl.get(0)+\" cannot be found in the current project.\",\"Script Error\")\n + return(nil)\n end\n thecommand=\"av.getproject.findGUI(\"\"\"+aControl.get(0)+\"\"\").Get\"+acontrol.get(1)\n 'msgbox.info(thecommand,\"\")\n thescript1=Script.Make(thecommand)\n thecontrolset=thescript1.doit(\"\")\n theFoundControl=TheControlSet.FindbyScript(aControl.get(2))\n if (theFoundControl=NIL) then \n MsgBox.Warning(\"No Control found with the script \"+aControl.get(2)+\" in \"+acontrol.get(1),\"Warning\")\n return(nil)\n end\n if (theFoundControl.is(ToolMenu)) then \n MsgBox.Warning(\"The sc +ript \"+aControl.get(2)+\" in \"+acontrol.get(1)+\" is for a tool menu.\",\"Not Supported\")\n return(nil)\n end\n \n TheTotalControls.Add({aControl,thefoundControl,theControlSet.getcontrols.find(thefoundcontrol)})\nend \n'Add to Ext\nMyExt.add(TheTotalControls)\n\n'__________________________________________\n\n'The MenuList {Doc, Menu, MenuScript}\n'__________________________________________\n'__________________________________________\n'__________________________________________\n\nFor each aMenu in themenulis +t\n mDoc=aMenu.get(0)\n mMenu=aMenu.get(1)\n mScript=aMenu.get(2)\n \n themDoc=av.getproject.findGUI(mDoc)\n if (themDoc=NIL) then \n MsgBox.Warning(\"The GUI \"+mDoc+\" cannot be found in the current project.\",\"Script Error\")\n return(nil)\n end\n theMbar=av.getproject.findGUI(mDoc).GetMenuBar\n themenu=theMbar.findbylabel(mMenu)\n if (themenu=NiL) then\n MsgBox.Warning(\"The menu named \"+mMenu+\" is not here.\",\"Script Error\")\n return(nil)\n end\n \n themenucontrol=themenu.findbyScript(mS +cript)\n\n if (themenucontrol=NiL) then\n MsgBox.Warning(\"The script \"+mScript+\" not found.\",\"Warning\")\n return(nil)\n end\n themenuitemidx=themenu.getcontrols.find(themenucontrol)\n thetotalmenus.add({amenu,theMenuControl,theMenuItemIdx})\n\nend\n\nmyext.add(thetotalmenus)\n \n'__________________________________________\n\n'Process the Tool Menu List\n'__________________________________________\n'__________________________________________\n'__________________________________________\n \nfor each aControl in Th +eToolMenuList\n theControlDoc=av.getproject.findGUI(aControl.get(0))\n if (theControlDoc=NIL) then \n MsgBox.Warning(\"The GUI \"+aControl.get(0)+\" cannot be found in the current project.\",\"Script Error\")\n return(nil)\n end\n thecontrolset=theControlDoc.getToolbar\n theFoundControl=TheControlSet.FindbyScript(aControl.get(1))\n if (theFoundControl=NIL) then \n MsgBox.Warning(\"No Control found with the script \"+aControl.get(1)+\" in \"+acontrol.get(1),\"Warning\")\n return(nil)\n end\n + if (theFoundControl.is(ToolMenu).not) then \n MsgBox.Warning(\"The script \"+aControl.get(1)+\" is NOT for a tool menu.\",\"User Error\")\n return(nil)\n end \n \n TheTotalToolMenus.Add({aControl,thefoundControl,theControlSet.getcontrols.find(thefoundcontrol)})\nend \n\nmyext.add(thetotalToolmenus)\n \n\n'__________________________________________\n\n' Process the Script list\n'__________________________________________\n'__________________________________________\n'_____________________________________ +_____\n\nfor each ascript in TotalScripts\n if ((av.getproject.findscript(ascript)=\"Null\").NOT) then\n myExt.Add(av.GetProject.FindScript(ascript))\n else\n MsgBox.Warning(\"The script \"+ascript+\" cannot be found in the current project.\",\"Script Eror\")\n return(nil)\n end\nend\n \nmyExt.SetAbout(theDescription)\nmyExt.SetExtVersion(theVersion)\nmyExt.Commit\n\n" + SearchStr: "toolbar" + FontSize: 1 +) + +(DocWin.11 + Owner: 10 + X: -4 + Y: -4 + W: 1034 + H: 643 +) + +(CSMgr.12 +) + +(DocAct.13 + Doc: 10 +) + +(SEd.14 + Name: "dc_install" + CreationDate: "13 \xD1\xC8\xEDڠ\xC7\xE1\xCB\xC7\xE4\xED, 1425 01:55:28 \xE3" + GUIName: "Script" + Win: 15 + CSMgr: 16 + DocExts: 17 + Source: "'DO NOT EDIT!!!\n\nif (av.getproject=nil) then return(nil) end\n\n\ntheDocs = SELF.get(0)\ntheDialogs = SELF.get(1)\ntheControlList = SELF.get(2)\ntheMenuList = SELF.get(3)\ntheToolMenuList=SELF.Get(4)\ntheProject=Av.getproject\n\n\n'Add the Docs\n'\nfor each adoc in theDocs\n theProject.addDoc(adoc)\nend\n\n'Add the Dialogs\n'\nfor each adialog in theDialogs\n theProject.addDialog(adialog)\nend\n\n'Add the Controls\n'\nfor each totalControl in theControlList\n 'The Control list\n acontrol=totalControl.get(0)\n \n 'The physical c +ontrol\n theControl = totalControl.get(1)\n \n 'The control Index\n theCindex=totalControl.get(2)\n\n 'Find the DocGUI\n theControlDoc=av.getproject.findGUI(aControl.get(0))\n if (theControlDoc=NIL) then \n MsgBox.Warning(\"The GUI \"+aControl.get(0)+\" cannot be found in the current project.\",\"Script Eror\")\n return(nil)\n end\n \n 'This finds the control set \n thecommand=\"av.getproject.findGUI(\"\"\"+aControl.get(0)+\"\"\").Get\"+acontrol.get(1)\n thescript1=Script.Make(thecommand)\n thec +ontrolset=thescript1.doit(\"\")\n \n 'Add the control to the control set\n theControlSet.Add(theControl,theCindex)\nend\n\n\n'Add the menus\nfor each totalcontrol in theMenuList\n \n 'The Control list\n acontrol=totalControl.get(0)\n mDoc=acontrol.get(0)\n mMenu=acontrol.get(1)\n mMenuItem=acontrol.get(2)\n\n 'The physical control\n theControl = totalControl.get(1)\n \n 'The control Index\n theCindex=totalControl.get(2)\n\n 'Find the DocGUI\n theControlDoc=av.getproject.findGUI(aControl.get(0))\n + if (theControlDoc=NIL) then \n MsgBox.Warning(\"The GUI \"+aControl.get(0)+\" cannot be found in the current project.\",\"Script Eror\")\n return(nil)\n end\n \n theMbar=av.getproject.findGUI(mDoc).GetMenuBar\n themenu=theMbar.findbylabel(mMenu)\n if (themenu=NiL) then\n themenu=menu.make\n themenu.setlabel(mMenu)\n theMbar.add(themenu,999)\n end\n \n themenu.add(thecontrol, theCindex)\nend\n \n \n'Add the Tool Menus\n\nfor each totalControl in theToolMenuList\n 'The Control list\n + acontrol=totalControl.get(0)\n \n 'The physical control\n theControl = totalControl.get(1)\n \n 'The control Index\n theCindex=totalControl.get(2)\n\n 'Find the DocGUI\n theControlDoc=av.getproject.findGUI(aControl.get(0))\n if (theControlDoc=NIL) then \n MsgBox.Warning(\"The GUI \"+aControl.get(0)+\" cannot be found in the current project.\",\"Script Eror\")\n return(nil)\n end\n \n 'This finds the control set \n thecommand=\"av.getproject.findGUI(\"\"\"+aControl.get(0)+\"\"\").Get\"+acontr +ol.get(1)\n thescript1=Script.Make(thecommand)\n thecontrolset=av.getproject.findGUI(aControl.get(0)).GetToolBar\n \n 'Add the control to the control set\n theControlSet.Add(theControl,theCindex)\nend\n\n\nav.getproject.setmodified(true)\n\n\n'And the scripts add themselves\n\nAv.Run(\"YEOMS-PK-GEN-CONF\",\"\")\n" + FontSize: 1 +) + +(DocWin.15 + Owner: 14 + X: 338 + W: 338 + H: 308 +) + +(CSMgr.16 +) + +(DocAct.17 + Doc: 14 +) + +(SEd.18 + Name: "dc_uninstall" + CreationDate: "13 \xD1\xC8\xEDڠ\xC7\xE1\xCB\xC7\xE4\xED, 1425 01:55:42 \xE3" + GUIName: "Script" + Win: 19 + CSMgr: 20 + DocExts: 21 + Source: "'DO NOT EDIT!!!\n\n'The SELF is the Extension\n\ntheDocs = SELF.get(0)\ntheDialogs = SELF.get(1)\ntheControlList = SELF.get(2)\ntheMenuList = SELF.get(3)\ntheToolMenuList=SELF.get(4)\ntheProject=Av.getproject\n\n\n'Remove the Docs\n'\nfor each adoc in theDocs\n If (theProject.finddoc(adoc.getname)<>NIL) then \n theAnswer=msgbox.yesno(\"Remove the Document \"+adoc.getname+\"?\",\"Remove Document?\",TRUE)\n if (theAnswer=TRUE) then theProject.RemoveDoc(adoc) end\n end\nend\n\n'Remove the Dialogs\n'\nfor each adialog in theDialogs\n the +Project.RemoveDialog(adialog.AsString)\nend\n\n'Removethe Controls\n'\nfor each totalControl in theControlList\n 'Get the control list from the Ext\n acontrol=totalControl.get(0)\n \n 'Get the physical Control\n theControl = totalControl.get(1)\n \n 'Get the Controls Index\n theCindex=totalControl.get(2)\n\n 'Find the DocGUI for the Control\n theControlDoc=av.getproject.findGUI(aControl.get(0))\n if (theControlDoc=NIL) then \n MsgBox.Warning(\"The GUI \"+aControl.get(0)+\" cannot be found in the +current project.\",\"Script Eror\")\n return(nil)\n end\n \n 'This sequence finds the appropiate control set\n thecommand=\"av.getproject.findGUI(\"\"\"+aControl.get(0)+\"\"\").Get\"+acontrol.get(1)\n thescript1=Script.Make(thecommand)\n thecontrolset=thescript1.doit(\"\")\n\n 'See if the control is in the set , if so remove it\n if (theControlSet.GetControls.find(theControl)<>NIL) then\n theControlSet.remove(theControl)\n if (thecontrol = \"ToolBar\") then\n theControlSet.selectdefault\n +end\n end\nend\n\n\n'Remove the Menus\n'\nfor each totalcontrol in theMenuList\n \n 'The Control list\n acontrol=totalControl.get(0)\n mDoc=acontrol.get(0)\n mMenu=acontrol.get(1)\n mMenuItem=acontrol.get(2)\n\n 'The physical control\n theControl = totalControl.get(1)\n \n 'The control Index\n theCindex=totalControl.get(2)\n\n 'Find the DocGUI\n theControlDoc=av.getproject.findGUI(aControl.get(0))\n if (theControlDoc=NIL) then \n MsgBox.Warning(\"The GUI \"+aControl.get(0)+\" cannot b +e found in the current project.\",\"Script Eror\")\n return(nil)\n end\n \n theMbar=av.getproject.findGUI(mDoc).GetMenuBar\n themenu=theMbar.findbylabel(mMenu)\n if (themenu=NiL) then\n MsgBox.Warning(\"The menu named \"+mMenu+\" is not here.\",\"Script Eror\")\n 'return(nil)\n else\n \n thething=themenu.getcontrols.find(thecontrol)\n if (thething<>NIL) then \n themenu.remove(thecontrol) \n end\n 'msgbox.info(themenu.GetControls.count.asstring,\"\")\n if (themenu.GetControls.count<1) th +en\n theMbar.remove(themenu)\n end\n end\nend\n \nfor each totalControl in theToolMenuList\n 'Get the control list from the Ext\n acontrol=totalControl.get(0)\n \n 'Get the physical Control\n theControl = totalControl.get(1)\n \n 'Get the Controls Index\n theCindex=totalControl.get(2)\n\n 'Find the DocGUI for the Control\n theControlDoc=av.getproject.findGUI(aControl.get(0))\n if (theControlDoc=NIL) then \n MsgBox.Warning(\"The GUI \"+aControl.get(0)+\" cannot be found in the current pr +oject.\",\"Script Eror\")\n return(nil)\n end\n \n 'This sequence finds the appropiate control set\n thecontrolset=av.getproject.findGUI(aControl.get(0)).GetToolBar\n\n \n 'See if the control is in the set , if so remove it\n if (theControlSet.GetControls.find(theControl)<>NIL) then\n \n theControlSet.remove(theControl)\n theControlSet.selectdefault\n end\n\nend\n \n\n'And the scripts delete themselves\n\n\nav.getproject.setmodified(true)\n\n\n" + FontSize: 1 +) + +(DocWin.19 + Owner: 18 + X: -4 + Y: -4 + W: 1023 + H: 625 +) + +(CSMgr.20 +) + +(DocAct.21 + Doc: 18 +) + +(SEd.22 + Name: "dc_unload" + CreationDate: "13 \xD1\xC8\xEDڠ\xC7\xE1\xCB\xC7\xE4\xED, 1425 01:55:56 \xE3" + GUIName: "Script" + Win: 23 + CSMgr: 24 + DocExts: 25 + Source: "\n" + FontSize: 1 +) + +(DocWin.23 + Owner: 22 + X: -4 + Y: -4 + W: 1023 + H: 625 +) + +(CSMgr.24 +) + +(DocAct.25 + Doc: 22 +) + +(SEd.26 + Name: "Script1" + CreationDate: "Sunday, September 05, 2004 1:17:49 PM" + GUIName: "Script" + Win: 27 + CSMgr: 28 + DocExts: 29 + Source: "Av.finddialog(\"yeoms-pk-gen-confirm\").Open" +) + +(DocWin.27 + Owner: 26 + X: -4 + Y: -4 + W: 1034 + H: 635 +) + +(CSMgr.28 +) + +(DocAct.29 + Doc: 26 +) + +(View.30 + Name: "View1" + CreationDate: "26 \xCF\xED\xD3\xE3\xC8\xD1, 2004 09:09:18 \xD5" + GUIName: "View" + Win: 31 + CSMgr: 32 + DocExts: 34 + DocExts: 35 + Graphics: 36 + Dpy: 45 + TOCWidth: 150 + CoordPrecision: 2 +) + +(DocWin.31 + Owner: 30 + X: -4 + Y: -4 + W: 1034 + H: 635 +) + +(CSMgr.32 + Client: 33 +) + +(CSClient.33 + Client: 34 + ReqName: "ClientNfy" +) + +(PanMgr.34 + Doc: 30 +) + +(DocAct.35 + Doc: 30 +) + +(GList.36 + Child: 37 + Dpy: 45 + FormatNumb: 50 +) + +(GShape.37 + Bounds: 38 + Sym: 39 + Shape: 44 +) + +(RectD.38 + Left: 410855.58883798408000 + Top: 1544791.99244328450000 + Right: 410899.44582284818000 + Bottom: 1544748.13545842050000 +) + +(BShSym.39 + Color: 40 + Outline: 1 + OutlineColor: 41 + OutlineWidth: 2.00000000000000 + BgColor: 42 + Style: 0x01 + Stipple: 43 +) + +(TClr.40 +) + +(TClr.41 + Red: 0xffff +) + +(TClr.42 + Name: "Transparent" +) + +(Stipple.43 + Columns: 8 + Rows: 8 + Bits: 00000000 00000000 +) + +(CircleD.44 + CX: 410877.51733041613000 + CY: 1544770.06395085250000 + Radius: 21.92849243204957 +) + +(MapDpy.45 + Left: 410792.17610261403000 + Bottom: 1544660.55514473000000 + Top: 1544892.45614593060000 + Right: 411118.59599529905000 + Scale: 46 + FrameTop: 6.21875000000000 + FrameRight: 9.05208333333333 + PageDpy: 47 + FitToPage: 1 + MouseLoc: 49 +) + +(Numb.46 + N: 0.02681639996294 +) + +(PageDpy.47 + Top: 6.21875000000000 + Right: 9.05208333333333 + ReportUnits: 1 + Units: 1 + Scale: 48 + ZoomRight: 9.05208333333333 + ZoomTop: 6.21875000000000 + GridSpacingX: 0.25000000000000 + GridSpacingY: 0.25000000000000 +) + +(Numb.48 + N: 0.11047180667434 +) + +(PointD.49 + x: 410794.05207900878000 + y: 1544663.00907344840000 +) + +(Numb.50 +) + +(SEd.51 + Name: "YEOMS-Building-Add-Apply" + CreationDate: "Monday, April 12, 2004 1:42:25 PM" + GUIName: "Script" + Win: 52 + CSMgr: 53 + DocExts: 54 + Source: "'Script Name: YEOMS-Building-Add-Apply\n'Company: DORSCH Consult.\n'Project: OMS-YEMEN.\n'Creator: Maher Abdel Karim\n'Date: 08/04/2004\n\n'Purpose: Draw a building on toop of other building.\n'Action: Check the building information, and transfer it to the new building.\n' \n' \n'Requires: user interaction to draw the building.\n'Return: Nothing\n\n\n\n'Check the current View.\ntheView= Av.GetActiveDoc\nIf (theView.Is(View).Not) Then\n Msgbox.Error(\"The Active Document should be a View\",\"OMS\")\n Return NIL\nEnd +\n\n' Select the Working Layer.\nif (theView.findTheme(_thmWorkingLayer.GetName) = nil) Then\n msgbox.error(\"The working theme was removed\",\"OMS\")\n return nil\nEnd\n\n\n'Check the Working Layer table.\nftbthmWorking = _thmWorkingLayer.GetFtab\n\n'Check Selection Bitmap.\nftbBitmap = ftbthmWorking.GetSelection\n\n\n\np = theView.ReturnUserPolygon\n\n_thmWorkingLayer.SelectByPolygon(p, #VTAB_SELTYPE_NEW)\n\nif ((ftbBitmap.Count > 1) or(ftbBitmap.count = 0)) then\n'system.echo(_MSG)\n msgbox.Error(_Msg1,_msgTitle)\n return NIL\nE +nd\nav.GetProject.SetModified(true)\n\n'Get them selected polygon shape.\n'for each sel in ftbBitmap\n' OriginalShp = ftbthmWorking.returnvalue(ftbthmWorking.findfield(\"Shape\"),sel) \n'End\n\n\nfldlst = _fldLst\n\nValLst = list.Make\nfor each rec in ftbBitmap\n for each fld in fldLSt\n intAttVal = ftbthmWorking.returnvalue(ftbthmWorking.findfield(fld.get(0)),rec) \n valLst.add({fld.get(0),intAttVal})\n End\nEnd\n\ntheview.setEditabletheme(_thmWorkingLayer)\n\nif (p.IsNull) then\n return nil\nelse\n if (_thmWorkingLayer<> +nil) then\n IF (_thmWorkingLayer.GetFTab.IsEditable.Not) Then\n _thmWorkingLayer.GetFTab.SetEditable(true)\n End\n _thmWorkingLayer.GetFTab.BeginTransaction\n thePrj = theView.GetProjection\n if (thePrj.IsNull.Not) then\n p = p.ReturnUnprojected(thePrj)\n end\n theField = _thmWorkingLayer.GetFTab.FindField(\"Shape\")\n _thmWorkingLayer.SubtractShape (p)\n rec = _thmWorkingLayer.GetFTab.AddRecord\n _thmWorkingLayer.GetFTab.SetValue(theField, rec, p)\n \n 'Subtract the new +shape from the existing one.\n \n \n for each att in vallst\n ftbthmWorking.SetValue(ftbthmWorking.findfield(att.get(0)),rec,att.get(1))\n End\n \n ftbthmWorking.SetValue(ftbthmWorking.findfield(ValLst.get(vallst.count-1).get(0)),rec,0)\n _thmWorkingLayer.GetFTab.GetSelection.ClearAll\n _thmWorkingLayer.GetFTab.GetSelection.Set(rec)\n _thmWorkingLayer.GetFTab.UpdateSelection\n _thmWorkingLayer.GetFTab.EndTransaction\n _thmWorkingLayer.GetFTab.SetEditable(false)\n end\n av.GetProjec +t.SetModified(true)\nend\n\n" + SearchStr: "lookup" + FontSize: 1 +) + +(DocWin.52 + Owner: 51 + X: -4 + Y: -4 + W: 1034 + H: 643 +) + +(CSMgr.53 +) + +(DocAct.54 + Doc: 51 +) + +(SEd.55 + Name: "YEOMS-Building-Union-Update" + CreationDate: "Monday, April 26, 2004 3:06:43 PM" + GUIName: "Script" + Win: 56 + CSMgr: 57 + DocExts: 58 + Source: "'Script Name: YEOMS-Building-Union-Update\n'Company: DORSCH Consult.\n'Project: OMS-YEMEN.\n'Creator: Maher Abdel Karim\n'Date: 26/04/2004\n\n'Purpose: Combine two or more buildings to one.\n'Action: \n' \n' \n'Requires: Start editing, and two or more selected buildings\n'Return: Nothing\n\n\n\ntheView = av.GetActiveDoc\ntheTheme = theView.GetEditableTheme\nenabled = FALSE\nif (theTheme <> nil) then\n SELF.SetHelpTopic(\"Union_Features\")\n SELF.SetHelp(\"Unions the selected features to create a new feature\")\n fC +ount = theTheme.GetFTab.GetSelection.Count\n theType = theTheme.GetFTab.FindField(\"Shape\").GetType\n enabled = ((fcount > 1) and ((theType = #FIELD_SHAPEPOLY) or\n (theType = #FIELD_SHAPELINE))) \n else\n \n SELF.SetHelpTopic(\"Union_Graphics\")\n SELF.SetHelp(\"Unions the selected graphics to create a new graphic\")\n theGraphics = theView.GetGraphics.GetSelected\n gcount = theGraphics.Count\n if (gcount > 1) then\n dim2 = 0\n dim1 = 0\n dim0 = 0\n for each gra in theGraphics\n dim = + gra.GetShape.GetDimension\n if ((gra.Is(GraphicText).not) and (gra.Is(GraphicGroup).not)) then\n if (dim = 2) then\n dim2 = dim2 + 1\n end\n if (dim = 1) then\n dim1 = dim1 + 1\n end\n end\n end\n enabled = ((gcount = dim2) or (gcount = dim1))\n end\nend\n\nSELF.SetEnabled(enabled)\n" + FontSize: 1 +) + +(DocWin.56 + Owner: 55 + X: -4 + Y: -4 + W: 1029 + H: 625 +) + +(CSMgr.57 +) + +(DocAct.58 + Doc: 55 +) + +(SEd.59 + Name: "YEOMS-CSO.CreateSymbols" + CreationDate: "05 \xCF\xED\xD3\xE3\xC8\xD1, 2004 10:44:44 \xD5" + GUIName: "Script" + Win: 60 + CSMgr: 61 + DocExts: 62 + Source: "'****************************************\n'* CompositeArcInfoPen Example Script *\n'* *\n'* Creates a CompositeArcInfoPen symbol *\n'* and a new palette file for it so you *\n'* can use it in the Symbol Window. *\n'****************************************\n'Script Name: DC.CSO.CreateSymbols\n'Date:04/12/2004\n'Creator:Maher Abdel Karim\n'Purpose: Create the CSO symbols to be used for CSS map printing.\n\n' Adjust this example to create the symbols for the CSO data accordingly +.\n'Using the ESRI AMFM fonts.\n\n\n'** Make a New Palette and get its Pen List\n\npal = Palette.Make\npens = pal.GetList(#PALETTE_LIST_PEN)\n\n\n'** Make a MODERIEH VectorPenMarker Symbol\nmrk = BasicMarker.Make\nmrk.SetStyle(#BASICMARKER_STYLE_PATTERN)\n\nmrk.SetFont(Font.Make(\"ESRI AMFM Electric\",\"Normal\"))\nmrk.SetCharacter(54)\nmrk.SetBgColor(color.getred)\n\nvpm = VectorPenMarker.Make(mrk)\nvpm.SetTemplate(\"12\")\nvpm.SetInterval(2)\n\nvpm.SetSize(15)\n\n'** Make a BasicPen Symbol\nbln = BasicPen.Make\nbln.SetWidth(0.5)\n\n'** Ma +ke a SymbolList that contains the above pen symbols\nsyl = SymbolList.FromList({vpm,bln})\n\n'** Make the CompositeArcInfoPen Symbol\ncaip = CompositeArcInfoPen.Make(syl)\n\n'** Add it to the Pen List of the new palette\npens.Add(caip)\n\n\n\n\n'** Make a UZLA VectorPenMarker Symbol\nmrk = BasicMarker.Make\nmrk.SetStyle(#BASICMARKER_STYLE_PATTERN)\n\nmrk.SetFont(Font.Make(\"ESRI AMFM Electric\",\"Normal\"))\nmrk.SetCharacter(40)\nmrk.SetBgColor(color.getred)\n\nvpm = VectorPenMarker.Make(mrk)\nvpm.SetTemplate(\"12\")\nvpm.SetInterval( +2)\n\nvpm.SetSize(15)\n\n'** Make a BasicPen Symbol\nbln = BasicPen.Make\nbln.SetWidth(0.5)\n\n'** Make a SymbolList that contains the above pen symbols\nsyl = SymbolList.FromList({vpm,bln})\n\n'** Make the CompositeArcInfoPen Symbol\ncaip = CompositeArcInfoPen.Make(syl)\n\n'** Add it to the Pen List of the new palette\npens.Add(caip)\n\n\n\n'** Make a HARA VectorPenMarker Symbol\nmrk = BasicMarker.Make\nmrk.SetStyle(#BASICMARKER_STYLE_PATTERN)\n\nmrk.SetFont(Font.Make(\"ESRI AMFM Electric\",\"Normal\"))\nmrk.SetCharacter(46)\nmrk.SetB +gColor(color.getred)\n\nvpm = VectorPenMarker.Make(mrk)\nvpm.SetTemplate(\"12\")\nvpm.SetInterval(2)\n\nvpm.SetSize(15)\n\n'** Make a BasicPen Symbol\nbln = BasicPen.Make\nbln.SetWidth(0.5)\n\n'** Make a SymbolList that contains the above pen symbols\nsyl = SymbolList.FromList({vpm,bln})\n\n'** Make the CompositeArcInfoPen Symbol\ncaip = CompositeArcInfoPen.Make(syl)\n\n'** Add it to the Pen List of the new palette\npens.Add(caip)\n\n\n'** Make a HAI VectorPenMarker Symbol\nmrk = BasicMarker.Make\nmrk.SetStyle(#BASICMARKER_STYLE_PAT +TERN)\n\nmrk.SetFont(Font.Make(\"ESRI AMFM Electric\",\"Normal\"))\nmrk.SetCharacter(48)\nmrk.SetBgColor(color.getred)\n\nvpm = VectorPenMarker.Make(mrk)\nvpm.SetTemplate(\"12\")\nvpm.SetInterval(2)\n\nvpm.SetSize(15)\n\n'** Make a BasicPen Symbol\nbln = BasicPen.Make\nbln.SetWidth(0.5)\n\n'** Make a SymbolList that contains the above pen symbols\nsyl = SymbolList.FromList({vpm,bln})\n\n'** Make the CompositeArcInfoPen Symbol\ncaip = CompositeArcInfoPen.Make(syl)\n\n'** Add it to the Pen List of the new palette\npens.Add(caip)\n\n\n'** Wr +ite the new palette out to the file system for later use\nmypal = _sandboxdir + \"\\oms_yemen\\\" + _LC + \"\\gis\\plotting\\legend\\CSO_Symbols.avp\".AsFileName\npal.SaveToFile(#PALETTE_LIST_ALL,mypal)\n" + SearchStr: "18" + FontSize: 1 +) + +(DocWin.60 + Owner: 59 + Open: 1 + X: -4 + Y: -4 + W: 1034 + H: 635 +) + +(CSMgr.61 +) + +(DocAct.62 + Doc: 59 +) + +(SEd.63 + Name: "YEOMS-Dialog-Load-Information" + CreationDate: "Sunday, September 05, 2004 11:08:47 AM" + GUIName: "Script" + Win: 64 + CSMgr: 65 + DocExts: 66 + Source: "'Script Name: YEOMS-Dialog-Load-Information\n'Company: DORSCH Consult.\n'Project: OMS-YEMEN.\n'Creator: Maher Abdel Karim\n'Date: 05/09/2004\n\n\nLookUpVtab = VTab.Make (_TablePath.asfilename, true, false)\nLookUpTable = Table.Make (LookupVTab)\nAv.getProject.AddDoc(LookUpTable)\n\n\nav.GetProject.SetModified(true)\n\n'Check the current View.\ntheView= Av.GetActiveDoc\nIf (theView.Is(View).Not) Then\n Msgbox.Error(\"The Active Document should be a View\",\"OMS\")\n Return NIL\nEnd\n\n' Select the Working Layer.\nif (theView.findTh +eme(_thmWorkingLayer.GetName) = nil) Then\n msgbox.error(\"The working theme was removed\",\"OMS\")\n return nil\nEnd\n\n'Check the Working Layer table.\nftbthmWorking = _thmWorkingLayer.GetFtab\n\n'Check Selection Bitmap.\nftbBitmap = ftbthmWorking.GetSelection\n\n\nfor each fld in _fldLookUpLst\n 'expr = \"[\" + fld.get(0) +\"]<>0\"\n 'LookUpVtab.Query(expr,LookUpVtab.GetSelection,#VTAB_SELTYPE_NEW)\n \n Av.FindDialog(\"YEOMS-PK-GEN-confirm\").FindByName(\"YEOMS-PK-GEN-\"+fld.Get(0)).DefineUniqueFromVTab(LookUpVtab, lookupVtab.f +indfield(fld.Get(0)), false,false,true)\n' Av.FindDialog(\"YEOMS-PK-GEN-confirm\").FindByName(\"YEOMS-PK-GEN-\"+fld).DefineUniqueFromVTab(LookUpVtab, lookupVtab.findfield(fld), false,false,true)\n \nEnd\n\n for each fld3 in _fldLookUpLst\n Av.FindDialog(\"YEOMS-PK-GEN-confirm\").FindByName(\"YEOMS-PK-GEN-\"+fld3.get(1)).setlabel(\"\")\n \n End \n\n\n_EXPR = \"\"\n_numExpr=\"\"\n\nAv.GetProject.removedoc(LookUpTable)" + FontSize: 1 +) + +(DocWin.64 + Owner: 63 + X: -4 + Y: -4 + W: 1034 + H: 643 +) + +(CSMgr.65 +) + +(DocAct.66 + Doc: 63 +) + +(SEd.67 + Name: "YEOMS-Dialog-Load-Information-select" + CreationDate: "Sunday, September 05, 2004 1:46:56 PM" + GUIName: "Script" + Win: 68 + CSMgr: 69 + DocExts: 70 + Source: "'Script Name: YEOMS-Dialog-Load-Information-select\n'Company: DORSCH Consult.\n'Project: OMS-YEMEN.\n'Creator: Maher Abdel Karim\n'Date: 05/09/2004\n\n\nLookUpVtab = VTab.Make (_TablePath.asfilename, true, false)\nLookUpTable = Table.Make (LookupVTab)\nLookUpTable.setname(\"LookUpTable\")\nAv.getProject.AddDoc(LookUpTable)\n\nControlName = Self.GetName\n\n\n\nav.GetProject.SetModified(true)\n\n'Check the current View.\ntheView= Av.GetActiveDoc\n fldVal = \"\"\n\n' for each fld in _fldLookUpLst\n' strLength = ControlName.count - 1 +3\n' \n' if (controlname.right(strLength) = fld) then\n' expr = \"([\" + fld +\"] =\" + Av.FindDialog(\"YEOMS-PK-GEN-confirm\").FindByName(controlname).GetSelection +\")\"\n' \n' if (_expr <> \"\") then\n' _expr = _expr + \" and \" + expr\n' \n' else\n' _expr = expr\n' End\n' system.echo(_expr) \n' LookUpVtab.Query(_expr,LookUpVtab.GetSelection,#VTAB_SELTYPE_NEW) \n' Lookupvtab.updateSelection\n' \n' for each rec in LookUpVtab.getSelect +ion\n' fldVal = Lookupvtab.returnValue(lookupVtab.findfield(fld),rec) \n' End\n' \n' numExpr = \"([\" + fld +\"] =\" + fldVal.asstring +\")\"\n' if (_numexpr <> \"\") then\n' _numExpr = _numExpr + \" and \" + numexpr \n' else\n' _numExpr = numExpr \n' End\n' _selectVals.add({fld,fldval})\n' \n' End\n' Av.FindDialog(\"YEOMS-PK-GEN-confirm\").FindByName(\"YEOMS-PK-GEN-\"+fld).DefineUniqueFromVTab(LookUpVtab, LookUpVtab.findfield(fld), true, +false,true) \n' \n' End\n' \n' for each fld2 in _fldLookUpLst\n' Av.FindDialog(\"YEOMS-PK-GEN-confirm\").FindByName(\"YEOMS-PK-GEN-\"+fld2).DefineUniqueFromVTab(LookUpVtab, LookUpVtab.findfield(fld2), true,false,true)\n' End \n'str = Av.FindDialog(\"YEOMS-PK-GEN-confirm\").FindByName(\"YEOMS-PK-GEN-GOV_nO\").GetSelection\n'msgbox.info(str)\n\nfldnameval = \"\"\n\n\n for each fld in _fldLookUpLst\n \n\n strLength = ControlName.count - 13\n \n if (controlname.right(strLength) = fld.get(0)) then\n expr = + \"([\" + fld.get(0) +\"] =\" + Av.FindDialog(\"YEOMS-PK-GEN-confirm\").FindByName(controlname).GetSelection +\")\"\n \n if (_expr <> \"\") then\n _expr = _expr + \" and \" + expr\n \n else\n _expr = expr\n End\n 'system.echo(_expr) \n LookUpVtab.Query(_expr,LookUpVtab.GetSelection,#VTAB_SELTYPE_NEW) \n Lookupvtab.updateSelection\n \n for each rec in LookUpVtab.getSelection\n fldVal = Lookupvtab.returnValue(lookupVtab.findfield(fld +.get(0)),rec) \n fldnameval = Lookupvtab.returnValue(lookupVtab.findfield(fld.get(1)),rec)\n End\n \n numExpr = \"([\" + fld.get(0) +\"] =\" + fldVal.asstring +\")\"\n if (_numexpr <> \"\") then\n _numExpr = _numExpr + \" and \" + numexpr \n else\n _numExpr = numExpr \n End\n _selectVals.add({fld.get(0),fldval})\n _lstNames.add({fld.get(1),fldnameval})\n \n End\n \n Av.FindDialog(\"YEOMS-PK-GEN-confirm\").FindByName(\"YEOMS-PK-GEN-\" ++fld.get(0)).DefineUniqueFromVTab(LookUpVtab, LookUpVtab.findfield(fld.get(0)), true,false,true) \n 'Av.FindDialog(\"YEOMS-PK-GEN-confirm\").FindByName(\"YEOMS-PK-GEN-\"+fld.get(1)).setlabel(fldnameval) \n \n \n End\n \n for each fld2 in _fldLookUpLst\n Av.FindDialog(\"YEOMS-PK-GEN-confirm\").FindByName(\"YEOMS-PK-GEN-\"+fld2.get(0)).DefineUniqueFromVTab(LookUpVtab, LookUpVtab.findfield(fld2.get(0)), true,false,true)\n \n End \n for each fld3 in _lstNames\n Av.FindDialog(\"YEOMS-PK-GEN-confirm\").FindB +yName(\"YEOMS-PK-GEN-\"+fld3.get(0)).setlabel(fld3.get(1))\n \n End \n \n\n\nAv.getProject.RemoveDoc(LookUpTable)" + SearchStr: "selectval" + FontSize: 1 +) + +(DocWin.68 + Owner: 67 + X: -4 + Y: -4 + W: 1034 + H: 643 +) + +(CSMgr.69 +) + +(DocAct.70 + Doc: 67 +) + +(SEd.71 + Name: "YEOMS-Display-building-Information" + CreationDate: "Tuesday, April 27, 2004 10:01:53 AM" + GUIName: "Script" + Win: 72 + CSMgr: 73 + DocExts: 74 + Source: "'Script Name: YEOMS-Display-building-Information\n'Company: DORSCH Consult.\n'Project: OMS-YEMEN.\n'Creator: Maher Abdel Karim\n'Date: 27/04/2004\n\n'Purpose:Display selected building information\n'Action: \n\n'Requires: Selected Building\n'Return: Nothing\n\n\ntheView = av.GetActiveDoc\nfor each t in theView.GetActiveThemes\n if (t.HasTable) then\n t.EditTable\n end\nend\ntheTable = av.GetActiveDoc\ntheTable.PromoteSelection\n" + FontSize: 1 +) + +(DocWin.72 + Owner: 71 + X: -4 + Y: -4 + W: 1034 + H: 643 +) + +(CSMgr.73 +) + +(DocAct.74 + Doc: 71 +) + +(SEd.75 + Name: "YEOMS-Layer-setup" + CreationDate: "Thursday, April 08, 2004 12:16:38 PM" + GUIName: "Script" + Win: 76 + CSMgr: 77 + DocExts: 78 + Source: "'Script Name: YEOMS-Layer-setup\n'Company: DORSCH Consult.\n'Project: OMS-YEMEN.\n'Creator: Maher Abdel Karim\n'Date: 08/04/2004\n\n\ntheView= Av.GetActiveDoc\nIf (theView.Is(View).Not) Then\n Msgbox.Error(\"The Active Document should be a View\",\"OMS\")\n Return NIL\nEnd\n\nFileWorkingTheme = SourceManager.GetDataSet(FTab, \"Choose a shapefile\")\nIf (FileWorkingTheme = NIL) Then\n Return NIL\nEnd\nSrcWorkingTheme = SrcName.Make(FileWorkingTheme.asstring)\n if (SrcWorkingTheme.GetSubname <> \"polygon\" ) then\n MsgBox.Error( +\"The Working layer should be a polygon\",\"OMS\")\n Return NIL\n End\nthmWorkingLayer = Theme.Make(SrcWorkingTheme)\nTheView.AddTheme(thmWorkingLayer)\nthmWorkingLayer.SetName(\"Buildings\")\nthmWorkingLayer.SetVisible(True)\n\n'Make The Theme name GLOBAL.\n_thmWorkingLayer = thmWorkingLayer\n\n'Call the configuration script.\nAv.Run(\"YEOMS-PK-GEN-CONF\",\"\")" + FontSize: 1 +) + +(DocWin.76 + Owner: 75 + Y: 327 + W: 342 + H: 327 +) + +(CSMgr.77 +) + +(DocAct.78 + Doc: 75 +) + +(SEd.79 + Name: "YEOMS-Mark-AS-Street" + CreationDate: "Tuesday, April 27, 2004 10:11:42 AM" + GUIName: "Script" + Win: 80 + CSMgr: 81 + DocExts: 82 + Source: "'Script Name: YEOMS-Mark-AS-Street\n'Company: DORSCH Consult.\n'Project: OMS-YEMEN.\n'Creator: Maher Abdel Karim\n'Date: 27/04/2004\n\n'Purpose: Mark a parcel as street\n'Action: Select the Plot\n' \n' \n'Requires: The user should click on a plot in order to select it.\n'Return: \n' \n\nav.GetProject.SetModified(true)\n\n'Check the current View.\ntheView= Av.GetActiveDoc\nIf (theView.Is(View).Not) Then\n Msgbox.Error(\"The Active Document should be a View\",\"OMS\")\n Return NIL\nEnd\n\n' Select the Working Lay +er.\nif (theView.findTheme(_thmWorkingLayer.GetName) = nil) Then\n msgbox.error(\"The working theme was removed\",\"OMS\")\n return nil\nEnd\n\n'Check the Working Layer table.\nftbthmWorking = _thmWorkingLayer.GetFtab\n\n'Check Selection Bitmap.\nftbBitmap = ftbthmWorking.GetSelection\n'ftbBitmap.clearall\n\n\nr = theView.ReturnUserRect\n\nif (r.IsNull) then \n p = theView.GetDisplay.ReturnUserPoint\n if (System.IsShiftKeyDown) then\n op = #VTAB_SELTYPE_XOR\n else\n op = #VTAB_SELTYPE_NEW\n end\n \n if (_thmWorkingLaye +r.CanSelect) then\n _thmWorkingLayer.SelectByPoint(p, op)\n ftbthmWorking.updateselection\n end\n \n \nend\nav.GetProject.SetModified(true)\n\n'Check the count of the selected Buildings\nIf ((ftbBitmap.count = 0) or (ftbBitmap.Count > 1)) Then\n\nElse\n\nEnd\n\n\n\n\n" + FontSize: 1 +) + +(DocWin.80 + Owner: 79 + W: 513 + H: 625 +) + +(CSMgr.81 +) + +(DocAct.82 + Doc: 79 +) + +(SEd.83 + Name: "YEOMS-PK-dump" + CreationDate: "03 \xC7\xDF\xCA\xE6\xC8\xD1, 2004 08:17:59 \xD5" + GUIName: "Script" + Win: 84 + CSMgr: 85 + DocExts: 86 + Source: "'Script Name: YEOMS-PK-dump\n'Company: DORSCH Consult.\n'Project: OMS-YEMEN.\n'Creator: Maher Abdel Karim\n'Date: 03/10/2004\n\n'Purpose: Dump all PKs that have been sent to the database.\n'Action: Check the existance of the primary key in the GIS\n' database.\n' \n'Requires: GIS-ORA field in the table.\n'Return: writes a file in the system path,\n\n'*****'Check the current View.\ntheView= Av.GetActiveDoc\nIf (theView.Is(View).Not) Then\n Msgbox.Error(\"The Active Document should be a View\",\"OMS\")\n Return NI +L\nEnd\n\n'*****'Select the Working Layer.\nif (theView.findTheme(_thmWorkingLayer.GetName) = nil) Then\n msgbox.error(\"The working theme was removed\",\"OMS\")\n return nil\nEnd\n\n\n'*****'Check the Working Layer table.\nftbthmWorking = _thmWorkingLayer.GetFtab\n\n'*****'Check Selection Bitmap.\nftbBitmap = ftbthmWorking.GetSelection\n\nFlagData... [truncated message content] |
From: <mah...@us...> - 2006-10-04 07:24:40
|
Revision: 331 http://svn.sourceforge.net/dccss/?rev=331&view=rev Author: maher_karim Date: 2006-10-04 00:24:19 -0700 (Wed, 04 Oct 2006) Log Message: ----------- 2006-10-4 Maher Abdel karim <mah...@do...> * script/create_views.sql:adjust the css_to_billing view to include metercabinet routesequence for the related subscribers. Modified Paths: -------------- trunk/dccss/changelog trunk/dccss/script/create_views.sql Modified: trunk/dccss/changelog =================================================================== --- trunk/dccss/changelog 2006-10-03 10:41:21 UTC (rev 330) +++ trunk/dccss/changelog 2006-10-04 07:24:19 UTC (rev 331) @@ -1,3 +1,8 @@ +2006-10-4 Maher Abdel karim <mah...@do...> + + * script/create_views.sql:adjust the css_to_billing view to include + metercabinet routesequence for the related subscribers. + 2006-10-3 Maher Abdel karim <mah...@do...> * script/create_views.sql:add taskforce_damagednotworking view. Modified: trunk/dccss/script/create_views.sql =================================================================== --- trunk/dccss/script/create_views.sql 2006-10-03 10:41:21 UTC (rev 330) +++ trunk/dccss/script/create_views.sql 2006-10-04 07:24:19 UTC (rev 331) @@ -427,10 +427,11 @@ select subscriber.id,deliverypoint.sequence as customerlocation, to_number(subscriber.cabinetid,99999),subscriber.paracode,subscriber.logbooknumber, subscriber.sequence,subscriber.subsequence,subscriber.name, -subscriber.logbookserialnumber,deliverypoint.routeid,deliverypoint.routesequence -from subscriber left outer join metercabinet on -(subscriber.cabinetid=metercabinet.pewssaid) left outer join deliverypoint on -(subscriber.geocode=deliverypoint.geocode) +subscriber.logbookserialnumber,metercabinet.routeid, metercabinet.routesequence + FROM subscriber + LEFT JOIN metercabinet ON (subscriber.cabinetid = metercabinet.id) + LEFT JOIN deliverypoint ON subscriber.geocode::text = deliverypoint.geocode::text + where subscriber.cabinetid<>'0' and subscriber.meterlocationdeliverypointseq =0 and subscriber.paracode is not null union @@ -438,8 +439,11 @@ subscriber.meterlocationdeliverypointseq as meterlocation, subscriber.paracode,subscriber.logbooknumber,subscriber.sequence, subscriber.subsequence,subscriber.name,subscriber.logbookserialnumber, -deliverypoint.routeid,deliverypoint.routesequence -from subscriber,deliverypoint where subscriber.cabinetid<>'0' and +metercabinet.routeid, metercabinet.routesequence + FROM subscriber + LEFT JOIN metercabinet ON (subscriber.cabinetid= metercabinet.id) + LEFT JOIN deliverypoint ON (subscriber.geocode = deliverypoint.geocode) + where subscriber.cabinetid<>'0' and subscriber.meterlocationdeliverypointseq <>0 and subscriber.paracode is not null and subscriber.geocode=deliverypoint.geocode union This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mah...@us...> - 2006-10-03 10:41:44
|
Revision: 330 http://svn.sourceforge.net/dccss/?rev=330&view=rev Author: maher_karim Date: 2006-10-03 03:41:21 -0700 (Tue, 03 Oct 2006) Log Message: ----------- 2006-10-3 Maher Abdel karim <mah...@do...> * script/create_views.sql:add taskforce_damagednotworking view. Modified Paths: -------------- trunk/dccss/changelog trunk/dccss/script/create_views.sql Modified: trunk/dccss/changelog =================================================================== --- trunk/dccss/changelog 2006-10-02 11:47:49 UTC (rev 329) +++ trunk/dccss/changelog 2006-10-03 10:41:21 UTC (rev 330) @@ -1,3 +1,7 @@ +2006-10-3 Maher Abdel karim <mah...@do...> + + * script/create_views.sql:add taskforce_damagednotworking view. + 2006-10-2 Maher Abdel karim <mah...@do...> * script/create_views.sql:adjust taskforce views to have the cabinetid Modified: trunk/dccss/script/create_views.sql =================================================================== --- trunk/dccss/script/create_views.sql 2006-10-02 11:47:49 UTC (rev 329) +++ trunk/dccss/script/create_views.sql 2006-10-03 10:41:21 UTC (rev 330) @@ -348,6 +348,19 @@ and subscriber.geocode=deliverypoint.geocode order by cabinetid; +--Taskforce damaged, and not working +CREATE OR REPLACE VIEW taskforce_damagednotworking AS + SELECT deliverypoint."sequence" AS dpsequence, subscriber.logbooknumber, subscriber."sequence", +subscriber.subsequence, subscriber.name, subscriber.subscription, subscriber.serialnumber,deliverypoint.cabinetid,grid.id as gridid + FROM deliverypoint, subscriber, damaged,grid + WHERE deliverypoint.geocode::text = subscriber.geocode::text AND damaged.id = subscriber.id and +deliverypoint.the_geom&&grid.the_geom and intersects(deliverypoint.the_geom,grid.the_geom) +union +SELECT deliverypoint."sequence" AS dpsequence, subscriber.logbooknumber, subscriber."sequence", +subscriber.subsequence, subscriber.name, subscriber.subscription, subscriber.serialnumber,deliverypoint.cabinetid,grid.id as gridid + FROM deliverypoint, subscriber,grid,subscriber_meterstatus + WHERE deliverypoint.geocode::text = subscriber.geocode::text AND subscriber_meterstatus.subscriberid = subscriber.id and subscriber_meterstatus.codedvalue=2 and +deliverypoint.the_geom&&grid.the_geom and intersects(deliverypoint.the_geom,grid.the_geom) order by gridid,dpsequence,cabinetid -- Routed and miss placed customers @@ -483,4 +496,4 @@ grant all on RequiredTranslationView to group dccssadministrator; grant all on MissingTranslationView to group dccssadministrator; grant all on UnusedTranslationView to group dccssadministrator; - +grant all on taskforce_damagednotworking to public; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mah...@us...> - 2006-10-02 11:48:09
|
Revision: 329 http://svn.sourceforge.net/dccss/?rev=329&view=rev Author: maher_karim Date: 2006-10-02 04:47:49 -0700 (Mon, 02 Oct 2006) Log Message: ----------- 2006-10-2 Maher Abdel karim <mah...@do...> * script/create_views.sql:adjust taskforce views to have the cabinetid * subscriberpage.php:remove echos. * script/create_css_ddl.sql:add grid, and collect tables for view creation. * script/create_views.sql:comment the lost customers view. * script/drop_views.sql:drop geometry columns from geometry_columns. Added Paths: ----------- tags/DCCSS_0.6.0/dccss/ Copied: tags/DCCSS_0.6.0/dccss (from rev 328, trunk/dccss) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mah...@us...> - 2006-10-02 11:46:54
|
Revision: 328 http://svn.sourceforge.net/dccss/?rev=328&view=rev Author: maher_karim Date: 2006-10-02 04:46:37 -0700 (Mon, 02 Oct 2006) Log Message: ----------- 2006-10-2 Maher Abdel karim <mah...@do...> * script/create_views.sql:adjust taskforce views to have the cabinetid * subscriberpage.php:remove echos. * script/create_css_ddl.sql:add grid, and collect tables for view creation. * script/create_views.sql:comment the lost customers view. * script/drop_views.sql:drop geometry columns from geometry_columns. Modified Paths: -------------- trunk/dccss/conf/dccss_pewssa_en.map Modified: trunk/dccss/conf/dccss_pewssa_en.map =================================================================== --- trunk/dccss/conf/dccss_pewssa_en.map 2006-10-02 09:44:28 UTC (rev 327) +++ trunk/dccss/conf/dccss_pewssa_en.map 2006-10-02 11:46:37 UTC (rev 328) @@ -1,6 +1,6 @@ # MapFile created with Gix Export Tool - Tue Sep 13 15:39:23 2005 # http://gix.sourceforge.net -# View Date : 10 �����, 1426 03:16:23 � +# View Date : 10 ?????, 1426 03:16:23 ? # MAP NAME 'DCCSS PEWSSA Map' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mah...@us...> - 2006-10-02 09:44:51
|
Revision: 327 http://svn.sourceforge.net/dccss/?rev=327&view=rev Author: maher_karim Date: 2006-10-02 02:44:28 -0700 (Mon, 02 Oct 2006) Log Message: ----------- 2006-10-2 Maher Abdel karim <mah...@do...> * script/create_views.sql:adjust taskforce views to have the cabinetid * subscriberpage.php:remove echos. * script/create_css_ddl.sql:add grid, and collect tables for view creation. * script/create_views.sql:comment the lost customers view. * script/drop_views.sql:drop geometry columns from geometry_columns. Modified Paths: -------------- trunk/dccss/changelog trunk/dccss/script/create_css_ddl.sql trunk/dccss/script/create_views.sql trunk/dccss/script/drop_views.sql trunk/dccss/subscriberpage.php Modified: trunk/dccss/changelog =================================================================== --- trunk/dccss/changelog 2006-07-27 05:45:39 UTC (rev 326) +++ trunk/dccss/changelog 2006-10-02 09:44:28 UTC (rev 327) @@ -1,3 +1,21 @@ +2006-10-2 Maher Abdel karim <mah...@do...> + + * script/create_views.sql:adjust taskforce views to have the cabinetid + * subscriberpage.php:remove echos. + * script/create_css_ddl.sql:add grid, and collect tables for view + creation. + * script/create_views.sql:comment the lost customers view. + * script/drop_views.sql:drop geometry columns from geometry_columns. + +2006-08-21 Maher Abdel karim <mah...@do...> + + * script/create_css_ddl.sql:add grid, and collect tables for view + creation. + * script/create_views.sql:comment the lost customers view. + * script/drop_views.sql:drop geometry columns from geometry_columns. + * admin/shapefile_loader.php:adjust the tables which the drop view + script to be launched. + 2006-07-27 Maher Abdel karim <mah...@do...> * admin/processing.php: fix form elements labels. Modified: trunk/dccss/script/create_css_ddl.sql =================================================================== --- trunk/dccss/script/create_css_ddl.sql 2006-07-27 05:45:39 UTC (rev 326) +++ trunk/dccss/script/create_css_ddl.sql 2006-10-02 09:44:28 UTC (rev 327) @@ -166,8 +166,19 @@ routesequence integer -- deliverypoint route sequence ); create table route( -logbookno integer; +logbookno integer ); +create table grid( +id integer, +gid serial +); + +create table collect( +id integer, +gid serial +); +select AddGeometryColumn('grid', 'the_geom', -1, 'POLYGON', 2); +select AddGeometryColumn('collect', 'the_geom', -1, 'POLYGON', 2); create table center ( id varchar(64), gid serial @@ -404,6 +415,7 @@ ) ; select AddGeometryColumn('meterconnection', 'the_geom', -1, 'LINESTRING', 2); +select AddGeometryColumn('route', 'the_geom', -1, 'LINESTRING', 2); CREATE INDEX meterconnection_gidx ON meterconnection @@ -733,7 +745,7 @@ end if; end;' language 'plpgsql'; -comment on function dcrmroute(id) is +comment on function dcrmroute(integer) is 'calculate the route sequence for each deliverypoint intersected with the route @param routeid, or an 0 to process all the routes. @returns a text like ''All records were processed''. Modified: trunk/dccss/script/create_views.sql =================================================================== --- trunk/dccss/script/create_views.sql 2006-07-27 05:45:39 UTC (rev 326) +++ trunk/dccss/script/create_views.sql 2006-10-02 09:44:28 UTC (rev 327) @@ -1,4 +1,4 @@ --- DCCSS - DC Comprehensive Subscribers Survey +-- DCCSS - DC Comprehensive Subscribers Survey -- -- create_views.sql - Create database views @@ -336,18 +336,20 @@ create or replace view taskforce_illegal as select * from (select deliverypoint.sequence as dpsequence, subscriber.logbooknumber,subscriber.sequence,subscriber.subsequence, -subscriber.name,subscriber.subscription,subscriber.serialnumber from +subscriber.name,subscriber.subscription,subscriber.serialnumber,deliverypoint.cabinetid from subscriber,deliverypoint where subscriber.hasconnectionbefore<>1 and subscriber.note like '%وصلة غير%' and subscriber.geocode=deliverypoint.geocode) s union all select deliverypoint.sequence as dpsequence,subscriber.logbooknumber, subscriber.sequence,subscriber.subsequence, -subscriber.name,subscriber.subscription,subscriber.serialnumber from +subscriber.name,subscriber.subscription,subscriber.serialnumber,deliverypoint.cabinetid from subscriber,deliverypoint where subscriber.hasconnectionbefore=1 -and subscriber.geocode=deliverypoint.geocode; +and subscriber.geocode=deliverypoint.geocode +order by cabinetid; + -- Routed and miss placed customers create or replace view taskforce_routedandmissplaced as select distinct deliverypoint.sequence as @@ -391,12 +393,12 @@ ,2678,2680); --Task force lost customers -create or replace view taskforce_lostcustomer as -select deliverypoint.sequence as dpsequence,subscriber.logbooknumber,subscriber.sequence,subscriber.subsequence, -subscriber.name,subscriber.logbookserialnumber, grid.id from subscriber,deliverypoint,grid where -link=0 and subscriber.hasconnectionbefore <> 1 and subscriber.note::text !~~ '%وصلة غير%'::text and -subscriber.geocode=deliverypoint.geocode and grid.the_geom&&deliverypoint.the_geom and -intersects(deliverypoint.the_geom,grid.the_geom) order by grid.id; +--create or replace view taskforce_lostcustomer as +--select deliverypoint.sequence as dpsequence,subscriber.logbooknumber,subscriber.sequence,subscriber.subsequence, +--subscriber.name,subscriber.logbookserialnumber,deliverypoint.cabinetid, grid.id from subscriber,deliverypoint,grid where +--link=0 and subscriber.hasconnectionbefore <> 1 and subscriber.note::text !~~ '%وصلة غير%'::text and +--subscriber.geocode=deliverypoint.geocode and grid.the_geom&&deliverypoint.the_geom and +--intersects(deliverypoint.the_geom,grid.the_geom) order by grid.id; -- CSS to billing for data transfer create or replace view css_to_billing as @@ -434,12 +436,12 @@ subscriber.logbookserialnumber,deliverypoint.routeid,deliverypoint.routesequence from subscriber,deliverypoint where subscriber.cabinetid='0' and subscriber.meterlocationdeliverypointseq =0 and subscriber.paracode is not null -and subscriber.geocode=deliverypoint.geocode +and subscriber.geocode=deliverypoint.geocode; -- user access rights grant all on css_to_billing to public; grant all on LandmarkView to public; -grant all on taskforce_lostcustomer to public; +--grant all on taskforce_lostcustomer to public; grant all on taskforce_collectionmissplaced to public; grant all on taskforce_routedandmissplaced to public; grant all on taskforce_illegal to public; Modified: trunk/dccss/script/drop_views.sql =================================================================== --- trunk/dccss/script/drop_views.sql 2006-07-27 05:45:39 UTC (rev 326) +++ trunk/dccss/script/drop_views.sql 2006-10-02 09:44:28 UTC (rev 327) @@ -21,29 +21,46 @@ -- Run the script like this: -- psql -d dcmms -f drop_views.sql -drop view LandmarkView cascade; -drop view TermView cascade; -drop view MissingTranslationView cascade; -drop view UnusedTranslationView cascade; -drop view total_records; -drop view subscriber_yesyesno; -drop view subscriber_noyesno; -drop view subscriber_nono; -drop view subscriber_yesno; -drop view subscriber_closed; -drop view unmatched_serial; -drop view subscriber_yesnono; -drop view subscriber_nonono; -drop view subscriber_noyesyes; -drop view subscriber_nonoyes; -drop view subscriber_yesyesyes; -drop view illegal; -drop view supply_legalconnection; -drop view testlink; -drop view subscribers_fromcabinetes; -drop view subscriber_nostatus; -drop view nobillavailable; -drop view disconnectwithbill; +Drop view css_to_billing ; +Drop view LandmarkView ; +Drop view taskforce_lostcustomer ; +Drop view taskforce_collectionmissplaced ; +Drop view taskforce_routedandmissplaced ; +Drop view taskforce_illegal ; +Drop view TermView ; +Drop view RequiredTranslationView ; +Drop view MissingTranslationView ; +Drop view UnusedTranslationView ; +Drop view total_records ; +Drop view subscriber_yesyesno ; +Drop view subscriber_noyesno ; +Drop view subscriber_nono ; +Drop view subscriber_yesno ; +Drop view subscriber_closed ; +Drop view unmatched_serial ; +Drop view subscriber_yesnono ; +Drop view subscriber_noyesyes ; +Drop view subscriber_nonoyes ; +Drop view subscriber_yesyesyes ; +Drop view supply_legalconnection ; +Drop view testlink ; +Drop view nobillavailable ; +Drop view disconnectwithbill ; +Drop view disconnectwithnobbill ; +Drop view closed ; +Drop view illegalconnection ; +Drop view subscribers_badlocation ; +Drop view subscriber_notlinked ; +Drop view nobillavailable to group dccssuser; +Drop view disconnectwithbill to group dccssuser; +Drop view disconnectwithnobbill to group dccssuser; +Drop view closed to group dccssuser; +Drop view illegalconnection to group dccssuser; +Drop view CabinetSubscriber ; +Drop view illegal ; + + + delete from geometry_columns where f_table_name = 'disconnectwithbill'; drop view disconnectwithnobill; delete from geometry_columns where f_table_name = 'disconnectwithnobill'; @@ -57,5 +74,8 @@ delete from geometry_columns where f_table_name = 'subscriber_notlinked'; drop view deliverypoint_fromcabinetes; delete from geometry_columns where f_table_name = 'deliverypoint_fromcabinetes'; -delete from geometry_columns where f_table_name = 'nobillavailable'; +delete from geometry_columns where f_table_name = 'route'; +delete from geometry_columns where f_table_name = 'grid'; +delete from geometry_columns where f_table_name = 'collect'; + Modified: trunk/dccss/subscriberpage.php =================================================================== --- trunk/dccss/subscriberpage.php 2006-07-27 05:45:39 UTC (rev 326) +++ trunk/dccss/subscriberpage.php 2006-10-02 09:44:28 UTC (rev 327) @@ -203,7 +203,7 @@ $objBill->meternumber,'sequence'=> $objBill->sequence,'subsequence'=> $objBill->subsequence); - print_r($_SESSION['Checkchange']); + // print_r($_SESSION['Checkchange']); } $objStatic =& new HTML_QuickForm_static(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |