SoftMoon-WebWare has developed some useful PHP and JavaScript™ functions and stand alone utilities that we want to share with other developers. We believe in supporting the “Open Source / Free Software Philosophy” movement to the greatest extent possible, in an effort to make the web a better place for all who visit and utilize it. If you find any of the source code found through this page to be useful to your project, please feel free to include them under the international terms of The Free Software Definition, and all the software source code found on this site is released under the GNU GENERAL PUBLIC LICENSE terms.
Code download index
You can learn more about these scripts from their respected pages in the links at the top of the page. A brief description of each is below.
To gain access to download links, please verify your sentience
(or at least that you were programmed by a very smart sentient):
PHP Rainbow Maker: color-gradient sculptor
Released in 2012, our Rainbow Maker has become our pinnacle Open Source project. It gives PHP the ability to not only create user-specified color-gradients, but apply them to any given shape! We didn’t begin to realize where this project would go when we started, and as it developed, the things this software can do with color amazed even us. But we’re not done yet! Look for it to become more powerful in the future!
MasterColorPicker™ — all the color you can handleSM
Developed for our PHP Rainbow Maker 2 project (projected release in 2013), SoftMoon-WebWare’s MasterColorPicker package delivers five JavaScript™ powered professional quality interactive graphical color-pickers, plus a named-color-table based color-picker framework with nine named-color database files included: ANSI, Brewer, common, Crayola, CSS, Material Design, OpenOffice, universal, & X11. Your chosen colors can be returned in the most popular color-space models including hexadecimal-RGB, RGB, HSL, HSB/HSV, HCG, HWB, or CMYK, or when using named-colors their names can also be returned. The different graphical color-pickers each look at the different available color-spaces in a different way, giving you complete intuitive control over finding the exact color you want. Best of all, you can work with one color-space graphically, while outputting the corresponding conversion value from another color-space.
This project is also available on GitHub: MasterColorPicker
UniDOM cross-browser solution + “power queries” and more
This JavaScript™ package gives programmers and software-engineers a light-weight yet super-powered set of functions/methods to work with the DOM in four different programming styles: ●Namespaced functional, ●Global functional (must be user-enabled), ●Wrapper-based Object-Oriented methods, and ●Element-prototyped methods (must be user-enabled).
This project is also available on GitHub: UniDOM
RGB_Calc
color-space conversion calculator Class
This package can convert various different color-models to/from the RGB color-space. You can create multiple calculators, each with its own configuration options. Calculators can be “quick” and work only with specific Array-input, or “auditing” and interpret strings, etc. Calculators can return conversion values in the object-format of your choice: Arrays, RGB_Calc’s custom Color objects, or your custom color objects. And there are many more options…
This project is also available on GitHub: RGB_Calc
JavaScript™ <input type="picker">
This package can apply and manage a “dance of event handlers” to allow you
to create “pop-up” HTML interfaces that allow end-users to click-on and
choose or “pick” data presented to them in any system of complex format, similar to
a <select>
tag or an <input />
with a <datalist>
,
but much more flexible and powerful.
This project is also available on GitHub: input_type-Picker
FormFieldGenie Text-Input Auto-Pop-Up
This JavaScript™ function allows you to create an HTML form that requires an unknown number of text-input boxes. When you don’t want to limit your visitors to a minimal number of input options, but don’t want your page to display with a large number of empty input boxes, this is the utility you need. We use it in our PHP Rainbow Maker project and our File & Folder Synchronization Utility (currently unavailable), and you can see a useful working integrated example there.
This project is also available on GitHub: FormFieldGenie
JavaScript™ <input type="range">
for older browsers
The “FD-Slider” package, created and developed by Brian McAllister of Frequency-Decoder,
gives older browsers the ability to use the new HTML5 <input type="range">
tag.
His fantastic package works well with basic page layouts, but chokes on some more complicated CSS
layouts when the slider’s parent containing element(s) are in a “fixed” or “absolute” position.
I fixed the bugs and enhanced it to work with “transformed” sliders that can be displayed as rotated to any angle.
I also made it so all mouse-related events that were attached to the original HTML <input />
tag are now triggered by this script’s displayed slider (as the original <input />
becomes hidden).
This project is also available on GitHub: fd-slider
Form Input eMail Validation
These JavaScript™ functions allow you to validate a visitor’s input on your website as having the correct structure for an eMail address. They allow many complex but legal formats that your visitor may want to use, including allowing them to enter a comma-separated-list of eMail addresses.
PHP eMail Validation
This PHP function validates the visitor’s eMail input as having a legal format, allowing many complex variations including parsing a comma-separated-list of eMail addresses, complimenting the JavaScript™ functions above. They also extract the portion of a complex eMail address (eg. “John Doe <john.doe@domain.com>”) that represents the actual address (eg. “john.doe@domain.com”).
PHP Utility Functions (that should be standard but were forgot)
Here’s some functions that PHP shouldn’t be without; but it is. No problem, we just write them in PHP. Maybe some day they can be re-written and compiled in C++ and integrated into the PHP language itself. Until then, here they are:
- swap();
- lbreak_at();
- file_path_exists();
- getUploadedFile();
- include_modules();
- XHTML_encode();
- array_is_similar();
- array_not_similar();
- array_equils();
- casei_in_array();
- array_ikey_exists();
- preg_key_grep();
- is_iterateable();
- array_junction();
- array_subkey();