modula 2
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 6355
WordPress 2.2.2
WordPress is a state-of-the-art semantic personal publishing platform with a focus on aesthetics, web standards, and usability. more>> <<less
Download (0.64MB)
Added: 2007-08-07 License: GPL (GNU General Public License) Price:
1179 downloads
Rainlendar Lite 2.2
Rainlendar project is a customizable desktop calendar. more>>
Rainlendar project is a customizable desktop calendar.
Rainlendar is a feature rich calendar application that is easy to use and doesnt take much space on your desktop. The application is platform independent so you can run it both on Windows and on Linux. The appearance can be customized with skins and you can even mix different skins together.
It is possible to use Rainlendar with other calendar applications too. Rainlendar uses the standard iCalendar format to store its events and tasks so you can easily transfer them between applications. You can also subscribe to online calendars and see your Outlook appointments directly in Rainlendar*.
Rainlendar is an unicode application and support localization so you can use it on your own language.
All the coming events are shown in a separate list where you can see the weeks events at one glance. You can decide how many days in advance you want to see in the list. Different events can have a different appearance in the list so you can easily spot the important events from the others. The icons in the calendar are also available in the event list and other windows to make it easier to separate the events.
You can also have a separate list for your long term tasks. The task list can be arranged several ways so that you can keep it better organized. You can also set a due date for the tasks to make sure youll remember to do them on time.
Youll also get an alarm when an event or task is due so that you dont miss it. The alarm can be defined to be set off any duration before the actual event so you have time to prepare for it.
And thats not all. Check the list of features for better overview of all the things Rainlendar can do. If you find it useful go to the download page and get yourself a copy.
*Network shared calendars and Outlook support are available only in the Pro version
Main features:
- Small and lightweight
- Different type events can have different appearence
- Supports Windows transparency
- Synchronizes events between several clients
- Localized for multiple languages
- Shows an alarm when an event is due
- Shows Outlooks appointments
- Includes a todo-list
- Works also as Litestep plugin
- Displays the current date in tray icon
- Can stick to the desktop (i.e. doesnt hide with Show Desktop)
- Hotkeys for quick access
- Easy skinning with an UI
- Can be controlled from 3rd party applications with !bangs
<<lessRainlendar is a feature rich calendar application that is easy to use and doesnt take much space on your desktop. The application is platform independent so you can run it both on Windows and on Linux. The appearance can be customized with skins and you can even mix different skins together.
It is possible to use Rainlendar with other calendar applications too. Rainlendar uses the standard iCalendar format to store its events and tasks so you can easily transfer them between applications. You can also subscribe to online calendars and see your Outlook appointments directly in Rainlendar*.
Rainlendar is an unicode application and support localization so you can use it on your own language.
All the coming events are shown in a separate list where you can see the weeks events at one glance. You can decide how many days in advance you want to see in the list. Different events can have a different appearance in the list so you can easily spot the important events from the others. The icons in the calendar are also available in the event list and other windows to make it easier to separate the events.
You can also have a separate list for your long term tasks. The task list can be arranged several ways so that you can keep it better organized. You can also set a due date for the tasks to make sure youll remember to do them on time.
Youll also get an alarm when an event or task is due so that you dont miss it. The alarm can be defined to be set off any duration before the actual event so you have time to prepare for it.
And thats not all. Check the list of features for better overview of all the things Rainlendar can do. If you find it useful go to the download page and get yourself a copy.
*Network shared calendars and Outlook support are available only in the Pro version
Main features:
- Small and lightweight
- Different type events can have different appearence
- Supports Windows transparency
- Synchronizes events between several clients
- Localized for multiple languages
- Shows an alarm when an event is due
- Shows Outlooks appointments
- Includes a todo-list
- Works also as Litestep plugin
- Displays the current date in tray icon
- Can stick to the desktop (i.e. doesnt hide with Show Desktop)
- Hotkeys for quick access
- Easy skinning with an UI
- Can be controlled from 3rd party applications with !bangs
Download (4.1MB)
Added: 2007-07-27 License: Freeware Price:
821 downloads
Polyglot 2.2.2
Polyglot is a highly extensible compiler front end for the Java programming language. more>>
Polyglot is a highly extensible compiler front end for the Java programming language. The project is implemented as a Java class framework using design patterns to promote extensibility. Using Polyglot, language extensions can be implemented without duplicating code from the framework itself.
Polyglot has been used to implement domain-specific languages, to explore language design ideas, to simplify Java for pedagogical purposes, and for various code transformations such as optimization and fault injection. Polyglot has been used for both major and minor language extensions; our experience suggests that the cost of implementing an extension scales well with the degree to which it modifies Java.
Polyglot compiles and runs on (at least) Linux, Solaris, Windows, and Mac OS X. Ant and the JFlex scanner generator are required to build it. On Windows, you will also need Cygwin.
Polyglot includes PPG, an extensible LALR parser generator based on the CUP LALR parser generator for Java (extended with improved debugging support).
Polyglot supports Java version 1.4, but a Polyglot extension that supports Java 5. has been developed at UCLA.
A version of Polyglot written in the J& language is also under development. It makes extending the base compiler even easier.
Enhancements:
- Miscellaneous bugfixes.
- An assumption that return statements occur only within methods has been fixed.
- A copy(NodeFactory) method has been added to the Node interface to generate a new version of a node with a different node factory.
<<lessPolyglot has been used to implement domain-specific languages, to explore language design ideas, to simplify Java for pedagogical purposes, and for various code transformations such as optimization and fault injection. Polyglot has been used for both major and minor language extensions; our experience suggests that the cost of implementing an extension scales well with the degree to which it modifies Java.
Polyglot compiles and runs on (at least) Linux, Solaris, Windows, and Mac OS X. Ant and the JFlex scanner generator are required to build it. On Windows, you will also need Cygwin.
Polyglot includes PPG, an extensible LALR parser generator based on the CUP LALR parser generator for Java (extended with improved debugging support).
Polyglot supports Java version 1.4, but a Polyglot extension that supports Java 5. has been developed at UCLA.
A version of Polyglot written in the J& language is also under development. It makes extending the base compiler even easier.
Enhancements:
- Miscellaneous bugfixes.
- An assumption that return statements occur only within methods has been fixed.
- A copy(NodeFactory) method has been added to the Node interface to generate a new version of a node with a different node factory.
Download (MB)
Added: 2007-06-11 License: Eclipse Public License Price:
946 downloads
Objective Modula-2 1.00 (Language Definition)
Objective Modula-2 programming language is a hybrid between Smalltalk and Modula-2. more>>
Objective Modula-2 programming language is a hybrid between Smalltalk and Modula-2 based on the object model and runtime of Objective-C.
The design is an example how native Cocoa/GNUstep support can be added to static imperative programming languages without implementing a bridge.
The projects scope encompasses the design of the Objective Modula-2 programming language and the implementation of a compiler to implement it. The initial compiler will generate Objective-C source code.
<<lessThe design is an example how native Cocoa/GNUstep support can be added to static imperative programming languages without implementing a bridge.
The projects scope encompasses the design of the Objective Modula-2 programming language and the implementation of a compiler to implement it. The initial compiler will generate Objective-C source code.
Download (0.23MB)
Added: 2007-07-21 License: (FDL) GNU Free Documentation License Price:
516 downloads
Other version of Objective Modula-2
License:(FDL) GNU Free Documentation License
frob 3D viewer 1.0
frob 3D viewer project is a 3D object point/wireframe/polygon viewer - called frob3dv for lack of a better name. more>>
frob 3D viewer project is a 3D object point/wireframe/polygon viewer - called frob3dv for lack of a better name.
I wrote this version mainly to learn c++. Also it was the first program I wrote after I got a PC (and put linux on it), but it has a long history. Many years ago I wrote a few stacks in Hypercard (on a Mac SE) for editing and displaying 3d shapes. I then ported it to modula-2 , using the free MacMETH compiler, then MOPS, a great free object-oriented programming language and application framework for the mac.
That is where it got most of its current class hierarchy. At that stage it was still only a wire-frame viewer. I then ported it to c++ for the macintosh using the Macintosh Programmers Workshop. When I wiped Windoze off my PC and put an operating system (linux) on it, I ported it to X and added the polygon drawing.
<<lessI wrote this version mainly to learn c++. Also it was the first program I wrote after I got a PC (and put linux on it), but it has a long history. Many years ago I wrote a few stacks in Hypercard (on a Mac SE) for editing and displaying 3d shapes. I then ported it to modula-2 , using the free MacMETH compiler, then MOPS, a great free object-oriented programming language and application framework for the mac.
That is where it got most of its current class hierarchy. At that stage it was still only a wire-frame viewer. I then ported it to c++ for the macintosh using the Macintosh Programmers Workshop. When I wiped Windoze off my PC and put an operating system (linux) on it, I ported it to X and added the polygon drawing.
Download (0.050MB)
Added: 2007-02-26 License: GPL (GNU General Public License) Price:
974 downloads
LavaPE 0.8.4
LavaPE is a programming environment for the experimental object-oriented programming language Lava. more>>
LavaPE is a programming environment for the experimental object-oriented programming language Lava. It replaces text editing with structure editing, thereby preventing all syntactic and many semantic errors.
The pure point-and-click nature of Lava programming and the concise representation of programs as declaration trees with small chunks of executable code simplify programming, and ease comprehension.
The new Lava language attempts to combine the advantages of either, and also to propose solutions to a number of fundamental problems that are hard to solve and that have been more or less ignored therefore by other languages so far.
Clearly this cannot be achieved by essentially combining individual features of Java and Visual Basic and by adding further features. A completely new language had to be developed from scratch.
Lava attempts to overcome the "ancient" programming technology that is based on text editors and that requires detailed knowledge and meticulous observation of the syntactic rules of the respective language.
Structure editing has many advantages over text editing and has the potential to considerably increase the programmers productivity.
The conceptual framework of object-orientation can still be improved considerably in several respects:
- Interfaces and implementations should be strictly separated. (Remember Modula-2 and Ada!)
- Two categories of objects, state and value objects, should be distinguished.
- A unified view of object- and component-orientation should be provided.
- "Genericity" and design patterns should be supported properly.
- The necessity of "type-casts" should be overcome.
The general conceptual framework of programming languages calls for additional improvements:
- The data flow of programs can be clarified by "single-assignment" just as the control flow has been clarified by abandoning "go to".
- We need an application-level pointer notion to distinguish "constituents" and "acquaintances" of objects.
- "Embedded SQL" should be finally replaced by seamlessly integrated expressive means for database access,
- Multi-threading, transactions, and synchronization should be treated in a purely declarative way.
- Programming languages should become "organization-aware" and "security-aware".
Enhancements:
- We have completely rewritten the Lava "callback" support, roughly after the model of the "signal/slot" concept of TrollTechs Qt. This is a first step towards an extended Lava GUI builder that will support also mainframe windows, menus, toolbars and callbacks.
- Lava is more portable now. It can be built on the Windows XP, Linux, FreeBSD, Solaris (sparc station and x86, g++), and Mac OS X.2 platforms. It has been tested, so far, on Windows XP, Linux and FreeBSD. Please tell us if it runs also on the other platforms (and also if not).
- You can now benefit from "precompiled headers" if you use the g++ compiler (g++ release 3.4 or higher).
- For the Windows platform we have migrated to the NullSoft Install System (NSIS).
- We have added a method "zombifyRec" (zombify recursively) to class "Object" as a further aid for deactivating whole collections of objects containing circular forward references.
<<lessThe pure point-and-click nature of Lava programming and the concise representation of programs as declaration trees with small chunks of executable code simplify programming, and ease comprehension.
The new Lava language attempts to combine the advantages of either, and also to propose solutions to a number of fundamental problems that are hard to solve and that have been more or less ignored therefore by other languages so far.
Clearly this cannot be achieved by essentially combining individual features of Java and Visual Basic and by adding further features. A completely new language had to be developed from scratch.
Lava attempts to overcome the "ancient" programming technology that is based on text editors and that requires detailed knowledge and meticulous observation of the syntactic rules of the respective language.
Structure editing has many advantages over text editing and has the potential to considerably increase the programmers productivity.
The conceptual framework of object-orientation can still be improved considerably in several respects:
- Interfaces and implementations should be strictly separated. (Remember Modula-2 and Ada!)
- Two categories of objects, state and value objects, should be distinguished.
- A unified view of object- and component-orientation should be provided.
- "Genericity" and design patterns should be supported properly.
- The necessity of "type-casts" should be overcome.
The general conceptual framework of programming languages calls for additional improvements:
- The data flow of programs can be clarified by "single-assignment" just as the control flow has been clarified by abandoning "go to".
- We need an application-level pointer notion to distinguish "constituents" and "acquaintances" of objects.
- "Embedded SQL" should be finally replaced by seamlessly integrated expressive means for database access,
- Multi-threading, transactions, and synchronization should be treated in a purely declarative way.
- Programming languages should become "organization-aware" and "security-aware".
Enhancements:
- We have completely rewritten the Lava "callback" support, roughly after the model of the "signal/slot" concept of TrollTechs Qt. This is a first step towards an extended Lava GUI builder that will support also mainframe windows, menus, toolbars and callbacks.
- Lava is more portable now. It can be built on the Windows XP, Linux, FreeBSD, Solaris (sparc station and x86, g++), and Mac OS X.2 platforms. It has been tested, so far, on Windows XP, Linux and FreeBSD. Please tell us if it runs also on the other platforms (and also if not).
- You can now benefit from "precompiled headers" if you use the g++ compiler (g++ release 3.4 or higher).
- For the Windows platform we have migrated to the NullSoft Install System (NSIS).
- We have added a method "zombifyRec" (zombify recursively) to class "Object" as a further aid for deactivating whole collections of objects containing circular forward references.
Download (1.2MB)
Added: 2005-07-19 License: (FDL) GNU Free Documentation License Price:
1558 downloads
grafist 2.0.0
Grafist is a bandwidth utilization viewer. more>>
Grafist is a bandwidth utilization viewer. It gets the bandwidth utilization information for network interfaces from the /proc/net/dev file in 15-second periods, and stores it in four data files.
Run "grafist". This will wait the minute to be 0 in modula 5. The results may be seen at http://server_address/grafist/index.php. Also you can select the language at runtime like this "http://server_address/grafist/index.php?lang=LANGUAGE" where LANGUAGE is one of the languages that are supported by grafist.
If you want it to start automaticly when the system start, you should add "grafist &" to /etc/rc.d/rc.local or /etc/init.d/
Enhancements:
- defs.inc has been updated to defs.inc.php so that some parameters can be changed in this file
- Added the ability to set a scaling value for graphing at install time and run time (by editing defs.inc.php)
- Added the ability to set an integer value for viewing N times bigger of a graph when its image receives a click event (this value can be supplied at install time and run time (by editing defs.inc.php))
- Added the ability to set the "method" parameter at install time and run time (by editing defs.inc.php)
<<lessRun "grafist". This will wait the minute to be 0 in modula 5. The results may be seen at http://server_address/grafist/index.php. Also you can select the language at runtime like this "http://server_address/grafist/index.php?lang=LANGUAGE" where LANGUAGE is one of the languages that are supported by grafist.
If you want it to start automaticly when the system start, you should add "grafist &" to /etc/rc.d/rc.local or /etc/init.d/
Enhancements:
- defs.inc has been updated to defs.inc.php so that some parameters can be changed in this file
- Added the ability to set a scaling value for graphing at install time and run time (by editing defs.inc.php)
- Added the ability to set an integer value for viewing N times bigger of a graph when its image receives a click event (this value can be supplied at install time and run time (by editing defs.inc.php))
- Added the ability to set the "method" parameter at install time and run time (by editing defs.inc.php)
Download (0.010MB)
Added: 2006-06-28 License: GPL (GNU General Public License) Price:
1213 downloads
phpLedAds 2.2
phpLedAds provides a simple yet very powerful PHP/MySql driven banner rotation program. more>>
phpLedAds provides a simple yet very powerful PHP/MySql driven banner rotation program.
This is a simple yet very powerful PHP/MySql driven banner rotation program. Complete with Administrative control panel and statistics for each ad. This ad program was designed for single site use. Version 2.2 includes many upgrades including improved database design and graphed statistics (created on-the-fly). Also supports either standard image-based ads (with upload support) or rich text ads -- and so much more! Version 2.2 includes many bug fixes as well as more graphs and advanced features!
Main features:
- Better Database Design - Massive improvements made over the previous version of phpLedAds (formally Led-Ads)
- Simple Interface - The interface, while powerful and very functional, is very easy to use. No more guessing what something does!
- Graphical Stats - If your host has GD support compiled into php, LedAds will generate graphs representing displays and clicks from the previous 10 days -- automatically! (Graphs creating using JGraph 1.11).
- NEW for version 2.2! -- 30-day history graph comparing displays-to-clicks!
- Two Ad Types - You can use standard ad banners or use your own rich-media adcode (such as what you would get from an ad company).
- Three Link Options - Choose to open clicks on standard ad banners in one of three target attributes (this one was highly requested!)
- Random Number Generation - You can now insert random numbers into the Rich-Media. This allows you to dynamically create what ad your ad company may call unique keys for each time the ad is displayed (highly requested as well!)
- Image Uploads and Storage - You can upload your ad banners right from the control panel -- and let the program take care off all the storage and retrieval.
- Full upgrade ability. You can easily upgrade your Led-Ads (previous name) v1.0 ad stats and info. There is no support to import LedAds 2.0 (CGI Version) yet.
- Full Stats - Stats tracked per day, per month, per year and lifetime! Now you know your total stats all the time!
<<lessThis is a simple yet very powerful PHP/MySql driven banner rotation program. Complete with Administrative control panel and statistics for each ad. This ad program was designed for single site use. Version 2.2 includes many upgrades including improved database design and graphed statistics (created on-the-fly). Also supports either standard image-based ads (with upload support) or rich text ads -- and so much more! Version 2.2 includes many bug fixes as well as more graphs and advanced features!
Main features:
- Better Database Design - Massive improvements made over the previous version of phpLedAds (formally Led-Ads)
- Simple Interface - The interface, while powerful and very functional, is very easy to use. No more guessing what something does!
- Graphical Stats - If your host has GD support compiled into php, LedAds will generate graphs representing displays and clicks from the previous 10 days -- automatically! (Graphs creating using JGraph 1.11).
- NEW for version 2.2! -- 30-day history graph comparing displays-to-clicks!
- Two Ad Types - You can use standard ad banners or use your own rich-media adcode (such as what you would get from an ad company).
- Three Link Options - Choose to open clicks on standard ad banners in one of three target attributes (this one was highly requested!)
- Random Number Generation - You can now insert random numbers into the Rich-Media. This allows you to dynamically create what ad your ad company may call unique keys for each time the ad is displayed (highly requested as well!)
- Image Uploads and Storage - You can upload your ad banners right from the control panel -- and let the program take care off all the storage and retrieval.
- Full upgrade ability. You can easily upgrade your Led-Ads (previous name) v1.0 ad stats and info. There is no support to import LedAds 2.0 (CGI Version) yet.
- Full Stats - Stats tracked per day, per month, per year and lifetime! Now you know your total stats all the time!
Download (0.43MB)
Added: 2007-05-01 License: Freeware Price:
907 downloads
easyNotes 0.2.2
easyNotes project is a Web-based multi-user notes management application. more>>
easyNotes project is a Web-based multi-user notes management application.
easyNotes is a Web application for managing notes within a large group of different users.
Main features:
General features
- Multiuser notes management
- simulated row level locking
- Organisation of notes with folders
- Access management
- User / Group management
- Rights management (depending on the great software phpGACL)
- Multiple skins / themes
- English / German
- for Mozilla / Firebird / IE
- PHPUnit Testing
Notes management
- Create new notes
- Search notes
- Filter notes by owner and / or group
Enhancements:
- There are some bugfixes.
- An initial plugin (calendar) has been added to show how easyApplications can be customized according to your needs.
<<lesseasyNotes is a Web application for managing notes within a large group of different users.
Main features:
General features
- Multiuser notes management
- simulated row level locking
- Organisation of notes with folders
- Access management
- User / Group management
- Rights management (depending on the great software phpGACL)
- Multiple skins / themes
- English / German
- for Mozilla / Firebird / IE
- PHPUnit Testing
Notes management
- Create new notes
- Search notes
- Filter notes by owner and / or group
Enhancements:
- There are some bugfixes.
- An initial plugin (calendar) has been added to show how easyApplications can be customized according to your needs.
Download (2.7MB)
Added: 2007-04-30 License: MPL (Mozilla Public License) Price:
909 downloads
XMLBeans 2.2.0
XMLBeans project is a technology for accessing XML by binding it to Java types. more>>
XMLBeans project is a technology for accessing XML by binding it to Java types. XMLBeans provides several ways to get at the XML, including:
- Through XML schema that has been compiled to generate Java types that represent schema types. In this way, you can access instances of the schema through JavaBeans-style accessors after the fashion of "getFoo" and "setFoo".
- The XMLBeans API also allows you to reflect into the XML schema itself through an XML Schema Object model.
- A cursor model through which you can traverse the full XML infoset.
- Support for XML DOM.
Start off with your own stuff:
If you want to get right to it with your own XML schema and instance, follow these basic steps:
Install XMLBeans.
Compile your schema. Use scomp to compile the schema, generating and jarring Java types. For example, to create a employeeschema.jar from an employeesschema.xsd file:
scomp -out employeeschema.jar employeeschema.xsd
Write code. With the generated JAR on your classpath, write code to bind an XML instance to the Java types representing your schema. Heres an example that would use types generated from an employees schema:
File xmlFile = new File("c:employees.xml");
// Bind the instance to the generated XMLBeans types.
EmployeesDocument empDoc =
EmployeesDocument.Factory.parse(xmlFile);
// Get and print pieces of the XML instance.
Employees emps = empDoc.getEmployees();
Employee[] empArray = emps.getEmployeeArray();
for (int i = 0; i < empArray.length; i++)
{
System.out.println(empArray[i]);
}
Enhancements:
- Updated to the latest XMLSchema.xsd - January 25, 2006
- Updated XmlBeans to work with SaxonB-8.6.1 in place of SaxonB8.1
- XQuery external variable binding support
<<less- Through XML schema that has been compiled to generate Java types that represent schema types. In this way, you can access instances of the schema through JavaBeans-style accessors after the fashion of "getFoo" and "setFoo".
- The XMLBeans API also allows you to reflect into the XML schema itself through an XML Schema Object model.
- A cursor model through which you can traverse the full XML infoset.
- Support for XML DOM.
Start off with your own stuff:
If you want to get right to it with your own XML schema and instance, follow these basic steps:
Install XMLBeans.
Compile your schema. Use scomp to compile the schema, generating and jarring Java types. For example, to create a employeeschema.jar from an employeesschema.xsd file:
scomp -out employeeschema.jar employeeschema.xsd
Write code. With the generated JAR on your classpath, write code to bind an XML instance to the Java types representing your schema. Heres an example that would use types generated from an employees schema:
File xmlFile = new File("c:employees.xml");
// Bind the instance to the generated XMLBeans types.
EmployeesDocument empDoc =
EmployeesDocument.Factory.parse(xmlFile);
// Get and print pieces of the XML instance.
Employees emps = empDoc.getEmployees();
Employee[] empArray = emps.getEmployeeArray();
for (int i = 0; i < empArray.length; i++)
{
System.out.println(empArray[i]);
}
Enhancements:
- Updated to the latest XMLSchema.xsd - January 25, 2006
- Updated XmlBeans to work with SaxonB-8.6.1 in place of SaxonB8.1
- XQuery external variable binding support
Download (MB)
Added: 2007-05-07 License: The Apache License 2.0 Price:
907 downloads
Pieforms 0.2.2
Pieforms project provides a simple, unified way to create, validate and process forms. more>>
Pieforms project provides a simple, unified way to create, validate and process forms all with a common look and feel, with support for pluggable elements, renderers and validation rules.
Huh? What does all that mean?
In simple terms, Pieforms provides a library for building HTML forms. So rather than writing all that HTML yourself for building forms, handling the validation and processing of them in whatever messy, inconsistent way youre doing it currently, you simply define a big hash in your script that describes your form. Pieforms does all of the legwork involved with building the form HTML from this hash (using elements and renderers), and also handles the validation of input using rules. In the general case, after youve defined you form, all you need to do is write a callback function that gets called when the form has been submitted with the data valid according to the rules.
Sounds interesting! Show me an example...
Okay, so youre writing a simple form that has a standard < input type="text" > and a textarea on it, with a submit button. Youd write a script similar to the following:
require_once(pieform.php);
$form = array(
name => myform,
method => get,
elements => array(
text => array(
type => text,
title => Text Element,
description => A little text box for you
rules => array(
required => true
)
),
textarea => array(
type => textarea,
title => Textarea,
defaultvalue => Some default text for the textarea,
rows => 7,
cols => 50
),
submit => array(
type => submit,
value => Submit form!
)
)
);
echo pieform($form);
function myform_submit($values) {
echo "Your submitted values:< br >";
foreach ($values as $key => $value) {
echo "$key: $value< br> ";
}
}
You see how easy that is? You didnt have to write any HTML - in fact, the entire definition is in PHP, which means if you make mistakes theyll show up as parse errors, rather than HTML validity errors (which are generally less often checked for). You only called one function to have everything done for you. And you can write a function to handle submission, full well knowing that the text element will always have a value that isnt the empty string.
After that, the submnit function is almost academic. You just save whatever you want to the database or whatever, and then the last thing you should do is redirect the user somewhere, perhaps to the same page or perhaps elsewhere.
For AJAX forms, all you have to do is add ajaxpost => true in the $form array, and then make your submit function output JSON in the form {error: [false or true], message: some message}, and then exit. Pieforms includes an implementation of json_encode for your convenience.
Okay, that looks easy! What else can it do?
The best part is that the elements, renderers and rules for your forms are pluggable. For example, you could write a wysiwyg element which behaves like the textarea one, but also includes javascript necessary to turn the textarea into a full WYSIWYG editor. Or you could write an element with two select boxes, arrows to move items left and right, and AJAX searching of the boxes. The possibilities are limitless! You can also write your own rules for reuse later (and change how elements respond to those rules if necessary), and write your own renderers (which handle the HTML surrounding the elements), so you can do things like add a little help icon next to each element with a link to a page explaining how the element works.
<<lessHuh? What does all that mean?
In simple terms, Pieforms provides a library for building HTML forms. So rather than writing all that HTML yourself for building forms, handling the validation and processing of them in whatever messy, inconsistent way youre doing it currently, you simply define a big hash in your script that describes your form. Pieforms does all of the legwork involved with building the form HTML from this hash (using elements and renderers), and also handles the validation of input using rules. In the general case, after youve defined you form, all you need to do is write a callback function that gets called when the form has been submitted with the data valid according to the rules.
Sounds interesting! Show me an example...
Okay, so youre writing a simple form that has a standard < input type="text" > and a textarea on it, with a submit button. Youd write a script similar to the following:
require_once(pieform.php);
$form = array(
name => myform,
method => get,
elements => array(
text => array(
type => text,
title => Text Element,
description => A little text box for you
rules => array(
required => true
)
),
textarea => array(
type => textarea,
title => Textarea,
defaultvalue => Some default text for the textarea,
rows => 7,
cols => 50
),
submit => array(
type => submit,
value => Submit form!
)
)
);
echo pieform($form);
function myform_submit($values) {
echo "Your submitted values:< br >";
foreach ($values as $key => $value) {
echo "$key: $value< br> ";
}
}
You see how easy that is? You didnt have to write any HTML - in fact, the entire definition is in PHP, which means if you make mistakes theyll show up as parse errors, rather than HTML validity errors (which are generally less often checked for). You only called one function to have everything done for you. And you can write a function to handle submission, full well knowing that the text element will always have a value that isnt the empty string.
After that, the submnit function is almost academic. You just save whatever you want to the database or whatever, and then the last thing you should do is redirect the user somewhere, perhaps to the same page or perhaps elsewhere.
For AJAX forms, all you have to do is add ajaxpost => true in the $form array, and then make your submit function output JSON in the form {error: [false or true], message: some message}, and then exit. Pieforms includes an implementation of json_encode for your convenience.
Okay, that looks easy! What else can it do?
The best part is that the elements, renderers and rules for your forms are pluggable. For example, you could write a wysiwyg element which behaves like the textarea one, but also includes javascript necessary to turn the textarea into a full WYSIWYG editor. Or you could write an element with two select boxes, arrows to move items left and right, and AJAX searching of the boxes. The possibilities are limitless! You can also write your own rules for reuse later (and change how elements respond to those rules if necessary), and write your own renderers (which handle the HTML surrounding the elements), so you can do things like add a little help icon next to each element with a link to a page explaining how the element works.
Download (MB)
Added: 2007-04-09 License: GPL (GNU General Public License) Price:
929 downloads
Bluetrait 1.2.2
Bluetrait is a weblog tool. more>>
Bluetrait is a weblog tool. Bluetrait has support for multiple users, XHTML output, an event viewer, RSS, and link management.
Enhancements:
- Small fixes were made to the upload script.
- Some whitespace was removed from the generated configuration file.
- BT_REL_ROOT was fixed on Mac OS X.
- Text box overflow if WYSIWYG is disabled was fixed.
- Fixes were made for is_installed().
- Some fixes were made for config.php.
- A small fix was made for table_prefix (to lower case).
- An Akismet content body bug was fixed.
<<lessEnhancements:
- Small fixes were made to the upload script.
- Some whitespace was removed from the generated configuration file.
- BT_REL_ROOT was fixed on Mac OS X.
- Text box overflow if WYSIWYG is disabled was fixed.
- Fixes were made for is_installed().
- Some fixes were made for config.php.
- A small fix was made for table_prefix (to lower case).
- An Akismet content body bug was fixed.
Download (0.84MB)
Added: 2007-03-14 License: GPL (GNU General Public License) Price:
954 downloads
mod_auth_shadow2 2.2
mod_auth_shadow is an Apache module for authentication using /etc/shadow. more>>
mod_auth_shadow is an Apache module for authentication using /etc/shadow.
When performing this task one encounters one fundamental difficulty: The /etc/shadow file is supposed to be read/writeable only by root. However, the webserver is supposed to run under a non-root user, such as "nobody".
mod_auth_shadow addresses this difficulty by opening a pipe to an suid root program, validate, which does the actual validation. When there is a failure, validate writes an error message to the system log, and waits three seconds before exiting.
<<lessWhen performing this task one encounters one fundamental difficulty: The /etc/shadow file is supposed to be read/writeable only by root. However, the webserver is supposed to run under a non-root user, such as "nobody".
mod_auth_shadow addresses this difficulty by opening a pipe to an suid root program, validate, which does the actual validation. When there is a failure, validate writes an error message to the system log, and waits three seconds before exiting.
Download (0.009MB)
Added: 2007-04-02 License: GPL (GNU General Public License) Price:
935 downloads
Xinity 2.2 RC1
Xinity project is a powerful web content management system (CMS). more>>
Xinity project is a powerful web content management system (CMS).
Xinity is a powerful web content management system (CMS). You can build complex web sites with content edited and maintained by non-programmers. It is user-friendy because it eliminates the flexibility gap: in common CM Systems the editor loses the more flexibility the more the programmer gains and vice versa.
In Xinity the programmer has the power to decide how much flexibility the editor has. There are no limitations given by the system.
The editor edits his content in WYSIWYG, and there is no need to battle with or system-specific variables. Xinity is a highly scalable system with a lot of customization work to do with each installtion, and is not suitable for a quick test run.
On the other hand there is a generic site architecture that comes with the base distribution, so you can set up you own Xinity web site in 30 minutes.
Enhancements:
- revise Exception-Handling and inform Client properly [TOBIAS done 11/4]
- inform client if logon fails [TOBIAS done 15/4]
- integrate Form- and Treehandling in AdCo [TOBIAS done 15/4]
- build ShiftBox AMS-Group selection (with two windows add/remove like in XBU) [TOBIAS done 16/4]
- change AMS-Groupprocessing on serverside (tokens to entities)[TOBIAS changed 17/4]
- confirmation on logout (generic confirmation-flag in Conmmand) [TOBIAS done 17/4]
- avoid server-startup on connection-failure (RMI-Registry) [TOBIAS done 17/4]
- errormessage if client cant connect to server prior to login [TOBIAS done 17/4]
- change AMS-Forms so ARPs will be set on save() not directly with a seperate Command [TOBIAS done 17/4]
- fix AMS-search [TOBIAS done 19/4]
- Copy+Paste in editor [TOBIAS done 19/4]
- introduce UserConfiguration for Modules [TOBIAS done 23/4]
- avoid focus-setting on read-only forms [TOBIAS done 23/4]
- Message on problems during session-initalisation [TOBIAS done 23/4]
<<lessXinity is a powerful web content management system (CMS). You can build complex web sites with content edited and maintained by non-programmers. It is user-friendy because it eliminates the flexibility gap: in common CM Systems the editor loses the more flexibility the more the programmer gains and vice versa.
In Xinity the programmer has the power to decide how much flexibility the editor has. There are no limitations given by the system.
The editor edits his content in WYSIWYG, and there is no need to battle with or system-specific variables. Xinity is a highly scalable system with a lot of customization work to do with each installtion, and is not suitable for a quick test run.
On the other hand there is a generic site architecture that comes with the base distribution, so you can set up you own Xinity web site in 30 minutes.
Enhancements:
- revise Exception-Handling and inform Client properly [TOBIAS done 11/4]
- inform client if logon fails [TOBIAS done 15/4]
- integrate Form- and Treehandling in AdCo [TOBIAS done 15/4]
- build ShiftBox AMS-Group selection (with two windows add/remove like in XBU) [TOBIAS done 16/4]
- change AMS-Groupprocessing on serverside (tokens to entities)[TOBIAS changed 17/4]
- confirmation on logout (generic confirmation-flag in Conmmand) [TOBIAS done 17/4]
- avoid server-startup on connection-failure (RMI-Registry) [TOBIAS done 17/4]
- errormessage if client cant connect to server prior to login [TOBIAS done 17/4]
- change AMS-Forms so ARPs will be set on save() not directly with a seperate Command [TOBIAS done 17/4]
- fix AMS-search [TOBIAS done 19/4]
- Copy+Paste in editor [TOBIAS done 19/4]
- introduce UserConfiguration for Modules [TOBIAS done 23/4]
- avoid focus-setting on read-only forms [TOBIAS done 23/4]
- Message on problems during session-initalisation [TOBIAS done 23/4]
Download (MB)
Added: 2007-04-25 License: Common Public License Price:
913 downloads
Ignorance 2.2
Ignorance is a flexible, powerful content filtering plugin for Gaim. more>>
Ignorance is a content filtering plugin for Gaim. If you love Gaim for chat, but find yourself missing the filtering features of clients like zinc, then Ignorance is for you!
<<less Download (0.22MB)
Added: 2005-10-21 License: GPL (GNU General Public License) Price:
1463 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above modula 2 search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed