├── build-tools ├── assemblerelease.sh ├── build-dev-env.sh ├── buildpgridrelease.sh ├── buildpstepsrelease.sh ├── buildptagsrelease.sh ├── buildrelease.php ├── checkindexfiles.php ├── compiler.jar ├── elfinderminify.sh ├── extract-template.php ├── jstreeminify.sh ├── makeiconcss.php ├── makesprite.php ├── minifycorejs.sh ├── minifydatetimepickerjs.sh ├── minifypgrid.sh ├── minifypsteps.sh ├── minifyptags.sh └── slim │ ├── archive.php │ ├── read.php │ ├── self-extractor-creator.php │ ├── self-extractor-template-basic.php │ ├── self-extractor-template-fancy.php │ ├── slim format │ ├── slim.php │ ├── test.php │ ├── test_readfile.php │ ├── test_recursive.php │ ├── testfile │ ├── testfile-bzip2.slm │ ├── testfile-deflate.slm │ └── testfile-full.slm ├── business-card ├── template-ideas │ ├── template1.svg │ ├── template2.svg │ ├── template3.svg │ └── template4.svg └── template.svg ├── documentation ├── 2be-Development.pdf ├── 2be-Development.xml ├── bin │ └── xelatex ├── doc-both.sh ├── doc-html.sh ├── doc-pdf.sh ├── html │ ├── base.css │ ├── blank.png │ ├── caution.png │ ├── ch01.html │ ├── ch01s02.html │ ├── ch01s03.html │ ├── ch02.html │ ├── ch02s02.html │ ├── ch02s03.html │ ├── ch02s04.html │ ├── ch03.html │ ├── ch03s02.html │ ├── ch03s04.html │ ├── ch03s05.html │ ├── ch03s06.html │ ├── ch04.html │ ├── ch04s02.html │ ├── ch05.html │ ├── ch06.html │ ├── ch06s02.html │ ├── ch06s03.html │ ├── ch06s05.html │ ├── ch08.html │ ├── ch09.html │ ├── config.xsl │ ├── core_services.html │ ├── docbook.css │ ├── draft.png │ ├── fonts │ │ ├── biolinum_re-0.4.1ro-webfont.eot │ │ ├── biolinum_re-0.4.1ro-webfont.svg │ │ ├── biolinum_re-0.4.1ro-webfont.ttf │ │ ├── biolinum_re-0.4.1ro-webfont.woff │ │ ├── dejavusansmono-webfont.eot │ │ ├── dejavusansmono-webfont.svg │ │ ├── dejavusansmono-webfont.ttf │ │ ├── dejavusansmono-webfont.woff │ │ ├── linlibertine_re-webfont.eot │ │ ├── linlibertine_re-webfont.svg │ │ ├── linlibertine_re-webfont.ttf │ │ └── linlibertine_re-webfont.woff │ ├── home.png │ ├── icon.png │ ├── important.png │ ├── index.html │ ├── next.png │ ├── note.png │ ├── pr01.html │ ├── pr01s02.html │ ├── pr01s03.html │ ├── prev.png │ ├── pt01.html │ ├── pt02.html │ ├── pt03.html │ ├── templates.html │ ├── tip.png │ ├── toc-blank.png │ ├── toc-minus.png │ ├── toc-plus.png │ ├── up.png │ ├── views.html │ ├── warning.png │ └── watermark-small.png ├── phpdoc-config.xml ├── phpdoc.sh ├── setup.sh ├── sources-html │ ├── base.css │ ├── blank.png │ ├── caution.png │ ├── config.xsl │ ├── docbook.css │ ├── draft.png │ ├── fonts │ │ ├── biolinum_re-0.4.1ro-webfont.eot │ │ ├── biolinum_re-0.4.1ro-webfont.svg │ │ ├── biolinum_re-0.4.1ro-webfont.ttf │ │ ├── biolinum_re-0.4.1ro-webfont.woff │ │ ├── dejavusansmono-webfont.eot │ │ ├── dejavusansmono-webfont.svg │ │ ├── dejavusansmono-webfont.ttf │ │ ├── dejavusansmono-webfont.woff │ │ ├── linlibertine_re-webfont.eot │ │ ├── linlibertine_re-webfont.svg │ │ ├── linlibertine_re-webfont.ttf │ │ └── linlibertine_re-webfont.woff │ ├── home.png │ ├── icon.png │ ├── important.png │ ├── next.png │ ├── note.png │ ├── prev.png │ ├── tip.png │ ├── toc-blank.png │ ├── toc-minus.png │ ├── toc-plus.png │ ├── up.png │ ├── warning.png │ └── watermark-small.png └── sources-pdf │ ├── _mapping.py │ ├── latexlisting.py │ ├── minted.sty │ ├── options.xsl │ ├── style.sty │ └── stylesheet.xsl ├── logo ├── Color Palette by Color Scheme Generator - Dark.html ├── Color Palette by Color Scheme Generator - Light.html ├── cms-nav-logo.xcf ├── favicon.ico ├── favicon.png ├── header-large.png ├── header-small.png ├── header.png ├── icon.png ├── logo-ai.svg ├── logo-bw.png ├── logo-bw.svg ├── logo-grayscale.png ├── logo-huge.png ├── logo-text-huge.png ├── logo-text-shirt.png ├── logo-text.png ├── logo-text.svg ├── logo.ai ├── logo.png ├── logo.svg ├── product-icon-100-bw.png ├── product-icon-100.png ├── product-icon-40-bw.png ├── product-icon-40.png ├── sciactive.png └── sciactive.svg ├── phpserialeditor.php ├── sandbox ├── amurrell │ ├── ajax-loader.gif │ ├── angela.json │ ├── angela.php │ ├── banana.gif │ ├── bounceanimationjquery.html │ ├── edit-delete.png │ ├── formtest.html │ ├── imagewall.html │ └── imagewall.php ├── date_tester.php ├── hperrin │ ├── ajax_upload │ │ ├── backend.php │ │ ├── frontend.html │ │ └── valums-file-uploader-b3b20b1.zip │ ├── array_alteration_testing.php │ ├── calendar │ │ └── calendar.html │ ├── cron.php │ ├── decimal_calculations.php │ ├── financial.php │ ├── foreach_pointer_testing.php │ ├── gource-viz │ │ └── make-gource-video.sh │ ├── ip_checking.php │ ├── javascript escaping │ │ ├── bad_variable.php │ │ ├── test_addcslashes.php │ │ ├── test_addcslashes_xhtml.php │ │ ├── test_addslashes.php │ │ ├── test_addslashes_xhtml.php │ │ ├── test_htmlspecialchars.php │ │ ├── test_htmlspecialchars_xhtml.php │ │ ├── test_json_encode.php │ │ ├── test_json_encode_xhtml.php │ │ ├── test_no_escaping.php │ │ ├── test_no_escaping_xhtml.php │ │ ├── test_strip_tags.php │ │ └── test_strip_tags_xhtml.php │ ├── menuxml │ │ ├── menu.xml │ │ ├── menu.xsl │ │ └── parse.php │ ├── pcomet │ │ ├── backend.php │ │ ├── frontend.html │ │ └── pcomet.js │ ├── regex find-replace for array access to idx access.txt │ ├── regex-search-replace.php │ └── translation │ │ └── index.php ├── jquery.js ├── mercurial split filemaps │ ├── filemap_component │ └── filemap_core └── zhuber │ ├── file │ ├── sales.php │ ├── sales.xml │ └── sales.xsl └── speedtests ├── array_push.php ├── array_unique.php ├── class_name.php ├── convert_int.php ├── convert_string.php ├── db_access.php ├── empty_array.php ├── empty_string.php ├── escape_for_js.php ├── for_while.php ├── for_while_repeat.php ├── foreach_ref_or_key.php ├── full_array.php ├── full_string.php ├── get_filename.php ├── global_var_access.php ├── if_or_switch.php ├── if_or_ternary.php ├── in_array.php ├── is_array.php ├── is_object.php ├── isset_is_null.php ├── key_exists.php ├── rand_uniqid.php ├── return_or_set.php ├── scan_dir.php ├── serialize_or_commas_or_json.php ├── shortcut_functions.php ├── single_or_double_quote.php └── unset_null_array_entry.php /build-tools/assemblerelease.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # Make our directories. 4 | mkdir release 5 | cd release/ 6 | 7 | mkdir repos 8 | cd repos/ 9 | 10 | # And get 2be. 11 | git clone git://github.com/sciactive/2be-core.git core 12 | git clone git://github.com/sciactive/2be-packages.git packages 13 | 14 | cd .. 15 | mkdir 2be 16 | 17 | # Now copy the core code. 18 | mv repos/core/* 2be/ 19 | 20 | # Now copy the distribution components. 21 | mv repos/packages/com_about/ 2be/components/ 22 | mv repos/packages/com_bootstrap/ 2be/components/ 23 | #mv repos/packages/com_ckeditor/ 2be/components/ 24 | mv repos/packages/com_configure/ 2be/components/ 25 | mv repos/packages/com_content/ 2be/components/ 26 | mv repos/packages/com_dash/ 2be/components/ 27 | mv repos/packages/com_elfinder/ 2be/components/ 28 | mv repos/packages/com_elfinderupload/ 2be/components/ 29 | mv repos/packages/com_entityhelper/ 2be/components/ 30 | mv repos/packages/com_entitytools/ 2be/components/ 31 | mv repos/packages/com_fancybox/ 2be/components/ 32 | mv repos/packages/com_iframe/ 2be/components/ 33 | mv repos/packages/com_imodules/ 2be/components/ 34 | mv repos/packages/com_istyle/ 2be/components/ 35 | mv repos/packages/com_jquery/ 2be/components/ 36 | mv repos/packages/com_jstree/ 2be/components/ 37 | mv repos/packages/com_logger/ 2be/components/ 38 | mv repos/packages/com_mailer/ 2be/components/ 39 | mv repos/packages/com_markdown/ 2be/components/ 40 | mv repos/packages/com_menueditor/ 2be/components/ 41 | mv repos/packages/com_modules/ 2be/components/ 42 | mv repos/packages/com_nivoslider/ 2be/components/ 43 | mv repos/packages/com_notes/ 2be/components/ 44 | mv repos/packages/com_oxygenicons/ 2be/components/ 45 | mv repos/packages/com_package/ 2be/components/ 46 | mv repos/packages/com_pform/ 2be/components/ 47 | mv repos/packages/com_pgrid/ 2be/components/ 48 | mv repos/packages/com_plaza/ 2be/components/ 49 | mv repos/packages/com_pnotify/ 2be/components/ 50 | mv repos/packages/com_popeye/ 2be/components/ 51 | mv repos/packages/com_ptags/ 2be/components/ 52 | mv repos/packages/com_replace/ 2be/components/ 53 | mv repos/packages/com_slim/ 2be/components/ 54 | mv repos/packages/com_su/ 2be/components/ 55 | mv repos/packages/com_timeoutnotice/ 2be/components/ 56 | mv repos/packages/com_tinymce/ 2be/components/ 57 | mv repos/packages/com_uasniffer/ 2be/components/ 58 | mv repos/packages/com_user/ 2be/components/ 59 | mv repos/packages/tpl_mobile/ 2be/templates/ 60 | mv repos/packages/tpl_pines/ 2be/templates/ 61 | mv repos/packages/tpl_pinescms/ 2be/templates/ 62 | mv repos/packages/tpl_print/ 2be/templates/ 63 | 64 | # Now copy MySQL code. 65 | cp -r 2be/ 2be-mysql/ 66 | mv repos/packages/com_myentity/ 2be-mysql/components/ 67 | mv repos/packages/com_mysql/ 2be-mysql/components/ 68 | 69 | # Now copy Postgres code. 70 | cp -r 2be/ 2be-pgsql/ 71 | mv repos/packages/com_pgentity/ 2be-pgsql/components/ 72 | mv repos/packages/com_pgsql/ 2be-pgsql/components/ 73 | 74 | # Now clean up. 75 | rm --interactive=never -r repos/ 76 | rm --interactive=never -r 2be/ 77 | 78 | # And we're done. 79 | echo All done. 80 | -------------------------------------------------------------------------------- /build-tools/build-dev-env.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | PWDDIR="$(pwd)" 4 | DIR="$(dirname $0)" 5 | if [ -e "$DIR/build-dev-env.sh" ]; then 6 | cd "$DIR/../.." 7 | fi 8 | 9 | question () { 10 | echo -n "$1" 11 | read -p " (y/n)[n] " -n 1 answer 12 | echo 13 | if [ "$answer" = "y" ]; then 14 | return 0 15 | elif [ "$answer" = "Y" ]; then 16 | return 0 17 | else 18 | return 1 19 | fi 20 | } 21 | 22 | question "Are you authenticated to the 2be repos on GitHub?" && { 23 | git clone git@github.com:sciactive/2be-core.git 24 | git clone git@github.com:sciactive/2be-packages.git 25 | } || { 26 | git clone https://github.com/sciactive/2be-core.git 27 | git clone https://github.com/sciactive/2be-packages.git 28 | } 29 | 30 | mkdir 2be 31 | cd 2be 32 | ln -s ../2be-core/* ./ 33 | rm components templates media 34 | mkdir components templates media 35 | 36 | cd media 37 | ln -s ../../2be-core/media/* ./ 38 | ln -s ../../2be-packages/meta_packages/* ./ 39 | 40 | cd ../templates 41 | ln -s ../../2be-packages/tpl_* ./ 42 | 43 | cd ../components 44 | ln -s ../../2be-packages/com_* ./ 45 | 46 | rm com_ckeditor com_inuitcss 47 | 48 | question "Are you using MySQL?" && { 49 | echo "MySQL selected. Disabling PostgreSQL components." 50 | mv com_pgsql .com_pgsql 51 | mv com_pgentity .com_pgentity 52 | } || { 53 | echo "PostgreSQL selected. Disabling MySQL components." 54 | mv com_mysql .com_mysql 55 | mv com_myentity .com_myentity 56 | } 57 | 58 | cd "$PWDDIR" 59 | -------------------------------------------------------------------------------- /build-tools/buildpgridrelease.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo Setting up directory structure. 4 | mkdir "jquery.pgrid" 5 | mkdir "jquery.pgrid/use for picon style" 6 | echo Importing files. 7 | cp "../../pgrid/jquery.pgrid.default.icons.css" "jquery.pgrid/use for picon style/" 8 | cp "../../pgrid/jquery.pgrid.touch.icons.css" "jquery.pgrid/use for picon style/" 9 | cp "../../pgrid/jquery.pgrid.default.css" "jquery.pgrid/" 10 | cp "../../pgrid/jquery.pgrid.touch.css" "jquery.pgrid/" 11 | cp "../../pgrid/jquery.pgrid.js" "jquery.pgrid/" 12 | 13 | echo Compressing JavaScript with Google Closure Compiler. 14 | head -n 11 jquery.pgrid/jquery.pgrid.js > jquery.pgrid/jquery.pgrid.min.js 15 | java -jar compiler.jar --js=jquery.pgrid/jquery.pgrid.js >> jquery.pgrid/jquery.pgrid.min.js 16 | 17 | echo Zipping the whole directory. 18 | cd jquery.pgrid/ 19 | zip -r pgrid.zip . 20 | cd .. 21 | mv jquery.pgrid/pgrid.zip . 22 | 23 | echo Cleaning up. 24 | rm -r jquery.pgrid/ 25 | 26 | echo Done. -------------------------------------------------------------------------------- /build-tools/buildpstepsrelease.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo Setting up directory structure. 4 | mkdir "jquery.psteps" 5 | echo Importing files. 6 | cp "../../psteps/jquery.psteps.js" "jquery.psteps/" 7 | 8 | echo Compressing JavaScript with Google Closure Compiler. 9 | head -n 11 jquery.psteps/jquery.psteps.js > jquery.psteps/jquery.psteps.min.js 10 | java -jar compiler.jar --js=jquery.psteps/jquery.psteps.js >> jquery.psteps/jquery.psteps.min.js 11 | 12 | echo Zipping the whole directory. 13 | cd jquery.psteps/ 14 | zip -r psteps.zip . 15 | cd .. 16 | mv jquery.psteps/psteps.zip . 17 | 18 | echo Cleaning up. 19 | rm -r jquery.psteps/ 20 | 21 | echo Done. 22 | -------------------------------------------------------------------------------- /build-tools/buildptagsrelease.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo Setting up directory structure. 4 | mkdir "jquery.ptags" 5 | echo Importing files. 6 | cp "../../ptags/jquery.ptags.default.css" "jquery.ptags/" 7 | cp "../../ptags/jquery.ptags.js" "jquery.ptags/" 8 | 9 | echo Compressing JavaScript with Google Closure Compiler. 10 | head -n 11 jquery.ptags/jquery.ptags.js > jquery.ptags/jquery.ptags.min.js 11 | java -jar compiler.jar --js=jquery.ptags/jquery.ptags.js >> jquery.ptags/jquery.ptags.min.js 12 | 13 | echo Zipping the whole directory. 14 | cd jquery.ptags/ 15 | zip -r ptags.zip . 16 | cd .. 17 | mv jquery.ptags/ptags.zip . 18 | 19 | echo Cleaning up. 20 | rm -r jquery.ptags/ 21 | 22 | echo Done. -------------------------------------------------------------------------------- /build-tools/checkindexfiles.php: -------------------------------------------------------------------------------- 1 | 2 | Index File Checker 3 | 4 |

The following source directories in 2be/ don't have index.html files!

5 |

6 | \n"; 11 | foreach ($files as $cur_file) { 12 | if (!in_array($cur_file, array('.', '..', '.svn', '.hg', 'includes')) && is_dir($dir.'/'.$cur_file)) 13 | check_index($dir.'/'.$cur_file); 14 | } 15 | } 16 | check_index('../../2be'); 17 | ?> 18 |

19 | 20 | -------------------------------------------------------------------------------- /build-tools/compiler.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/build-tools/compiler.jar -------------------------------------------------------------------------------- /build-tools/elfinderminify.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo Compressing JavaScript with Google Closure Compiler. 4 | java -jar compiler.jar --js="../../2be/components/com_elfinder/includes/js/elfinder.full.js" > "../../2be/components/com_elfinder/includes/js/elfinder.min.js" 5 | 6 | echo Done. 7 | -------------------------------------------------------------------------------- /build-tools/jstreeminify.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo Compressing JavaScript with Google Closure Compiler. 4 | java -jar compiler.jar --js="../../2be/components/com_jstree/includes/jquery.jstree.js" > "../../2be/components/com_jstree/includes/jquery.jstree.min.js" 5 | 6 | echo Done. -------------------------------------------------------------------------------- /build-tools/makeiconcss.php: -------------------------------------------------------------------------------- 1 | $value) { 36 | if (strpos($value, '+') === false) 37 | echo "{$key}{background:url({$value})}\n"; 38 | else 39 | echo "{$key}{background:url(\"{$value}\")}\n"; 40 | } -------------------------------------------------------------------------------- /build-tools/makesprite.php: -------------------------------------------------------------------------------- 1 | newImage(1, 1, 'none'); 11 | $sprite->setImageFormat('png'); 12 | $sprite->setImageColorspace(imagick::COLORSPACE_RGB); 13 | $sprite->setImageBackgroundColor(new ImagickPixel('transparent')); 14 | $offset = (object) array('x' => 0, 'y' => 0); 15 | $max_width = 800; 16 | $cur_row_height = 0; 17 | 18 | $working_dir = '../../2be/components/com_oxygenicons/includes/oxygen/'; 19 | 20 | $dir_iterator = new RecursiveDirectoryIterator($working_dir); 21 | $iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::CHILD_FIRST); 22 | 23 | foreach ($iterator as $file_path) { 24 | if (!is_file($file_path) || strpos($file_path, '/animations/') !== false || !in_array(strtolower(substr($file_path, -4)), array('.jpg', '.jpe', 'jpeg', '.png'))) 25 | continue; 26 | // Open the image. 27 | $image = new Imagick(); 28 | $image->readImage($file_path); 29 | $image->setImageColorspace(imagick::COLORSPACE_RGB); 30 | // Figure out where it goes. 31 | $width = $image->getImageWidth(); 32 | $height = $image->getImageHeight(); 33 | if ($offset->x + $width > $max_width) { 34 | $offset->y += $cur_row_height; 35 | $offset->x = 0; 36 | $cur_row_height = 0; 37 | } 38 | if ($height > $cur_row_height) 39 | $cur_row_height = $height; 40 | // Figure out if there's room. 41 | $swidth = $sprite->getImageWidth(); 42 | $sheight = $sprite->getImageHeight(); 43 | $change = false; 44 | if ($offset->x + $width > $swidth) { 45 | $change = true; 46 | $swidth = $offset->x + $width; 47 | } 48 | if ($offset->y + $height > $sheight) { 49 | $change = true; 50 | $sheight = $offset->y + $height; 51 | } 52 | // Make some room. 53 | if ($change) 54 | $sprite->setImageExtent($swidth, $sheight); 55 | // Paste in the image. 56 | $sprite->compositeImage($image, imagick::COMPOSITE_COPY, $offset->x, $offset->y); 57 | // Advance the offset. 58 | $offset->x += $width; 59 | } 60 | 61 | header('Content-Type: image/png'); 62 | echo $sprite; -------------------------------------------------------------------------------- /build-tools/minifycorejs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo Compressing JavaScript with Google Closure Compiler. 4 | head -n 8 "../../2be/system/includes/core.js" > "../../2be/system/includes/core.min.js" 5 | java -jar compiler.jar --js="../../2be/system/includes/core.js" >> "../../2be/system/includes/core.min.js" 6 | 7 | echo Done. 8 | -------------------------------------------------------------------------------- /build-tools/minifydatetimepickerjs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo Compressing JavaScript with Google Closure Compiler. 4 | head -n 19 "../../components/com_datetimepicker/includes/jquery-ui-timepicker-addon.js" > "../../components/com_datetimepicker/includes/jquery-ui-timepicker-addon.min.js" 5 | java -jar compiler.jar --js="../../components/com_datetimepicker/includes/jquery-ui-timepicker-addon.js" >> "../../components/com_datetimepicker/includes/jquery-ui-timepicker-addon.min.js" 6 | 7 | echo Done. 8 | -------------------------------------------------------------------------------- /build-tools/minifypgrid.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo Compressing JavaScript with Google Closure Compiler. 4 | head -n 11 "../../pgrid/jquery.pgrid.js" > "../../pgrid/jquery.pgrid.min.js" 5 | java -jar compiler.jar --js="../../pgrid/jquery.pgrid.js" >> "../../pgrid/jquery.pgrid.min.js" 6 | 7 | echo Done. -------------------------------------------------------------------------------- /build-tools/minifypsteps.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo Compressing JavaScript with Google Closure Compiler. 4 | head -n 11 "../../psteps/jquery.psteps.js" > "../../psteps/jquery.psteps.min.js" 5 | java -jar compiler.jar --js="../../psteps/jquery.psteps.js" >> "../../psteps/jquery.psteps.min.js" 6 | 7 | echo Done. -------------------------------------------------------------------------------- /build-tools/minifyptags.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo Compressing JavaScript with Google Closure Compiler. 4 | head -n 11 "../../ptags/jquery.ptags.js" > "../../ptags/jquery.ptags.min.js" 5 | java -jar compiler.jar --js="../../ptags/jquery.ptags.js" >> "../../ptags/jquery.ptags.min.js" 6 | 7 | echo Done. -------------------------------------------------------------------------------- /build-tools/slim/archive.php: -------------------------------------------------------------------------------- 1 | working_directory = $_REQUEST['working_directory']; 8 | $arc->stub = file_get_contents("self-extractor-template-{$_REQUEST['type']}.php"); 9 | $arc->compression = $_REQUEST['compression']; 10 | $arc->header_compression = ($_REQUEST['header_compression'] == 'ON'); 11 | $arc->file_integrity = ($_REQUEST['file_integrity'] == 'ON'); 12 | $arc->preserve_owner = ($_REQUEST['preserve_owner'] == 'ON'); 13 | $arc->preserve_mode = ($_REQUEST['preserve_mode'] == 'ON'); 14 | $arc->preserve_times = ($_REQUEST['preserve_times'] == 'ON'); 15 | if (!empty($_REQUEST['filter'])) 16 | $arc->add_directory('.', true, true, "/{$_REQUEST['filter']}/"); 17 | else 18 | $arc->add_directory('.'); 19 | 20 | header('Content-Type: application/x-httpd-php'); 21 | header('Content-Disposition: attachment; filename="self-extracting-archive.php"'); 22 | $arc->write('php://output'); 23 | exit; 24 | } 25 | 26 | ?> 27 | 28 | 29 | 30 | 31 | Self Extracting Slim Creator 32 | 37 | 38 | 39 |
40 |
41 |

Self Extracting Slim Creator

42 |
43 |
44 |
This directory's contents will be added as the root of the archive.
45 |
46 | 47 |
48 |
49 |
50 |
51 |
Any file(s) matching this regex pattern will not be included in the archive.
52 |
53 | 54 |
55 |
56 |
57 |
Extractor Type
58 |
59 | 60 |
61 | 62 |
63 |
64 |
65 |
Compression
66 |
67 | 68 |
69 | 70 |
71 | 72 |
73 |
74 |
75 |
Extra Option
76 |
77 | 78 |
79 | 80 |
81 | 82 |
83 | 84 |
85 | 86 |
87 |
88 |
89 |
90 | 91 | 92 |
93 |
94 |
95 |
96 | 97 | -------------------------------------------------------------------------------- /build-tools/slim/slim format: -------------------------------------------------------------------------------- 1 | string (one line) (optional): "#!" then anything 2 | string (one line): anything then "slim1.0" 3 | anything here except a line with only "HEADER" 4 | string (one line): "HEADER" 5 | header (JSON of metadata and file array. if the first letter is "D", it means the JSON is compressed using deflate. file offsets refer to beginning of file stream as 0.) 6 | string (one line): "STREAM" 7 | file stream -------------------------------------------------------------------------------- /build-tools/slim/test.php: -------------------------------------------------------------------------------- 1 | preserve_mode = true; 8 | //$arc->preserve_times = true; 9 | $arc->file_integrity = true; 10 | $arc->add_file('testfile'); 11 | $arc->add_file('testfile link'); 12 | $arc->add_file('slim format'); 13 | 14 | if ($arc->write('testfile-deflate.slm')) { 15 | echo 'Deflate archive written successfully. '; 16 | } else { 17 | echo 'Error writing archive. '; 18 | } 19 | 20 | $arc->compression = 'bzip2'; 21 | if ($arc->write('testfile-bzip2.slm')) { 22 | echo 'Bzip2 archive written successfully. '; 23 | } else { 24 | echo 'Error writing archive. '; 25 | } 26 | 27 | $arc->compression = ''; 28 | $arc->header_compression = false; 29 | if ($arc->write('testfile-full.slm')) { 30 | echo 'Full text archive written successfully. '; 31 | } else { 32 | echo 'Error writing archive. '; 33 | } 34 | 35 | unlink('testfile link'); 36 | unset($arc); 37 | 38 | $arc = new slim; 39 | if ($arc->read('testfile-deflate.slm')) { 40 | echo 'Archive read successfully. '; 41 | } else { 42 | echo 'Error reading archive. '; 43 | } 44 | 45 | $arc->working_directory = 'test_extract'; 46 | //$arc->extract('slim format'); 47 | //$arc->extract('testfile'); 48 | if ($arc->extract()) { // testing extract all 49 | echo 'Archive extracted successfully. '; 50 | } else { 51 | echo 'Error extracting archive. '; 52 | } -------------------------------------------------------------------------------- /build-tools/slim/test_readfile.php: -------------------------------------------------------------------------------- 1 | file_integrity = true; 7 | $arc->add_file('testfile'); 8 | 9 | if ($arc->write('testinclude.slm')) { 10 | echo 'Archive written successfully. '; 11 | } else { 12 | echo 'Error writing archive. '; 13 | } 14 | unset($arc); 15 | 16 | $arc = new slim; 17 | if ($arc->read('testinclude.slm')) { 18 | echo 'Archive read successfully. '; 19 | } else { 20 | echo 'Error reading archive. '; 21 | } 22 | 23 | if (file_get_contents('testfile') == $arc->get_file('testfile')) { 24 | echo 'File retrieved successfully. '; 25 | } else { 26 | echo 'Error retrieving file. '; 27 | } 28 | 29 | if (file_exists('testinclude.slm')) 30 | unlink('testinclude.slm'); -------------------------------------------------------------------------------- /build-tools/slim/test_recursive.php: -------------------------------------------------------------------------------- 1 | stub = '#! /usr/bin/php 7 | //stub = '#!/bin/sh 11 | #slim1.0 12 | echo This is a Slim archive. Please use a Slim program to read it. 13 | exit'; 14 | $arc->metadata['title'] = 'test'; 15 | $arc->metadata['complex'] = 'How about 16 | 17 | some complex 18 | 19 | data, like 20 | 21 | HEADER 22 | 23 | and 24 | 25 | STREAM 26 | 27 | '.json_encode(array('see' => array('complex', 'data'))); 28 | $arc->working_directory = '../'; 29 | $arc->compression = ''; 30 | $arc->header_compression = false; 31 | $arc->add_directory('slim', true, true, '/\.slm$/'); 32 | 33 | if ($arc->write('testrecursive.slm')) { 34 | echo 'Regular archive written successfully. '; 35 | } else { 36 | echo 'Error writing archive. '; 37 | } 38 | unset($arc); 39 | 40 | $arc = new slim; 41 | if ($arc->read('testrecursive.slm')) { 42 | echo 'Archive read successfully. '; 43 | } else { 44 | echo 'Error reading archive. '; 45 | } 46 | 47 | if ($arc->metadata['title'] == 'test') { 48 | echo 'Metadata read successfully. '; 49 | } else { 50 | echo 'Error reading metadata. '; 51 | } 52 | 53 | $arc->working_directory = 'test_extract'; 54 | $arc->extract('archives', true, array('/\.php$/', '/blah/')); -------------------------------------------------------------------------------- /build-tools/slim/testfile: -------------------------------------------------------------------------------- 1 | a test file 2 | 3 | if this works 4 | 5 | then this should be extracted 6 | 7 | CORRECTLY 8 | -------------------------------------------------------------------------------- /build-tools/slim/testfile-bzip2.slm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/build-tools/slim/testfile-bzip2.slm -------------------------------------------------------------------------------- /build-tools/slim/testfile-deflate.slm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/build-tools/slim/testfile-deflate.slm -------------------------------------------------------------------------------- /build-tools/slim/testfile-full.slm: -------------------------------------------------------------------------------- 1 | slim1.0 2 | HEADER 3 | {"files":[{"type":"file","path":"testfile","offset":0,"size":69,"md5":"85b172952a7858f3b0ab595a080a24b3"},{"type":"link","path":"testfile link","target":"testfile"},{"type":"file","path":"slim format","offset":69,"size":376,"md5":"f38451c828e23b0150173a64b56b7075"}],"ichk":true} 4 | STREAM 5 | a test file 6 | 7 | if this works 8 | 9 | then this should be extracted 10 | 11 | CORRECTLY 12 | string (one line) (optional): "#!" then anything 13 | string (one line): anything then "slim1.0" 14 | anything here except a line with only "HEADER" 15 | string (one line): "HEADER" 16 | header (JSON of metadata and file array. if the first letter is "D", it means the JSON is compressed using deflate. file offsets refer to beginning of file stream as 0.) 17 | string (one line): "STREAM" 18 | file stream -------------------------------------------------------------------------------- /documentation/2be-Development.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/2be-Development.pdf -------------------------------------------------------------------------------- /documentation/bin/xelatex: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | /usr/bin/xelatex -shell-escape $@ 3 | -------------------------------------------------------------------------------- /documentation/doc-both.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | ./doc-html.sh 4 | ./doc-pdf.sh 5 | -------------------------------------------------------------------------------- /documentation/doc-html.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | echo "Removing previous docs..." 4 | rm -R html/* 5 | 6 | echo "Copying source files..." 7 | cp -R sources-html/* html/ 8 | 9 | echo "Building HTML docs..." 10 | xmlto -o html --skip-validation -m html/config.xsl xhtml 2be-Development.xml 11 | -------------------------------------------------------------------------------- /documentation/doc-pdf.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | echo "Building PDF..." 4 | 5 | echo "Fetching new minted.sty" 6 | wget -O sources-pdf/minted.sty.new http://minted.googlecode.com/files/minted.sty 7 | 8 | if [ ! -s sources-pdf/minted.sty.new ]; then 9 | echo "Couldn't fetch minted.sty. Using the old copy." 10 | cp sources-pdf/minted.sty sources-pdf/minted.sty.new 11 | fi 12 | 13 | cat sources-pdf/minted.sty.new | sed -e "s/-f latex /-f latexlisting /" - > sources-pdf/minted.sty 14 | rm sources-pdf/minted.sty.new 15 | 16 | #export PATH="$(pwd)/bin:$PATH" 17 | PATH="$(pwd)/bin:$PATH" 18 | dblatex -p sources-pdf/options.xsl -s sources-pdf/style.sty -b 'xetex' --pdf 2be-Development.xml 19 | 20 | # Should this be removed? 21 | #rm sources-pdf/minted.sty 22 | -------------------------------------------------------------------------------- /documentation/html/base.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2011, Yahoo! Inc. All rights reserved. 3 | Code licensed under the BSD License: 4 | http://developer.yahoo.com/yui/license.html 5 | version: 2.9.0 6 | */ 7 | /** 8 | * YUI Base 9 | * @module base 10 | * @namespace yui- 11 | * @requires reset, fonts 12 | */ 13 | 14 | body { 15 | /* For breathing room between content and viewport. */ 16 | margin:10px; 17 | } 18 | 19 | h1 { 20 | /* 18px via YUI Fonts CSS foundation. */ 21 | font-size: 138.5%; 22 | } 23 | 24 | h2 { 25 | /* 16px via YUI Fonts CSS foundation. */ 26 | font-size: 123.1%; 27 | } 28 | 29 | h3 { 30 | /* 14px via YUI Fonts CSS foundation. */ 31 | font-size: 108%; 32 | } 33 | 34 | h1,h2,h3 { 35 | /* Top & bottom margin based on font size. */ 36 | margin: 1em 0; 37 | } 38 | 39 | h1,h2,h3,h4,h5,h6,strong,dt { 40 | /* Bringing boldness back to headers and the strong element. */ 41 | font-weight: bold; 42 | } 43 | optgroup { 44 | font-weight:normal; 45 | } 46 | 47 | abbr,acronym { 48 | /* Indicating to users that more info is available. */ 49 | border-bottom: 1px dotted #000; 50 | cursor: help; 51 | } 52 | 53 | em { 54 | /* Bringing italics back to the em element. */ 55 | font-style: italic; 56 | } 57 | 58 | del { 59 | /* Striking deleted phrases. */ 60 | text-decoration: line-through; 61 | } 62 | 63 | blockquote,ul,ol,dl { 64 | /* Giving blockquotes and lists room to breath. */ 65 | margin: 1em; 66 | } 67 | 68 | ol,ul,dl { 69 | /* Bringing lists on to the page with breathing room. */ 70 | margin-left: 2em; 71 | } 72 | 73 | ol { 74 | /* Giving OL's LIs generated numbers. */ 75 | list-style: decimal outside; 76 | } 77 | 78 | ul { 79 | /* Giving UL's LIs generated disc markers. */ 80 | list-style: disc outside; 81 | } 82 | 83 | dl dd { 84 | /* Giving DD default indent. */ 85 | margin-left: 1em; 86 | } 87 | 88 | th,td { 89 | /* Borders and padding to make the table readable. */ 90 | border: 1px solid #000; 91 | padding: .5em; 92 | } 93 | 94 | th { 95 | /* Distinguishing table headers from data cells. */ 96 | font-weight: bold; 97 | text-align: center; 98 | } 99 | 100 | caption { 101 | /* Coordinated margin to match cell's padding. */ 102 | margin-bottom: .5em; 103 | /* Centered so it doesn't blend in to other content. */ 104 | text-align: center; 105 | } 106 | 107 | sup { 108 | /* to preserve line-height and selector appearance */ 109 | vertical-align: super; 110 | } 111 | 112 | sub { 113 | /* to preserve line-height and selector appearance */ 114 | vertical-align: sub; 115 | } 116 | 117 | p, 118 | fieldset, 119 | table, 120 | pre { 121 | /* So things don't run into each other. */ 122 | margin-bottom: 1em; 123 | } 124 | /* Opera requires 1px of padding to render with contemporary native chrome */ 125 | button, 126 | input[type="checkbox"], 127 | input[type="radio"], 128 | input[type="reset"], 129 | input[type="submit"] { 130 | padding:1px; 131 | } 132 | 133 | /* make IE scale images properly */ 134 | /* see http://code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ 135 | img { 136 | -ms-interpolation-mode:bicubic; 137 | } 138 | -------------------------------------------------------------------------------- /documentation/html/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/blank.png -------------------------------------------------------------------------------- /documentation/html/caution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/caution.png -------------------------------------------------------------------------------- /documentation/html/ch01s02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1.2. Implications of Pines' License, The GNU AGPL
Pines Development

1.2. Implications of Pines' License, The GNU AGPL

4 | 5 | 6 |

Pines is, and always will be, free and open source software. 7 | This means that anyone can freely redistribute Pines, obtain the 8 | source code for study or modification, and create derived works (under 9 | the same license). It is released under the GNU AGPL, which places 10 | certain requirements on use of Pines software.

11 | 12 |

If you modify any of Pines' source code (including the SciActive 13 | maintained components), and use this modified code to run a server, 14 | which users can access, your modified code must be freely available to 15 | these users. This does not mean that you must release any 16 | custom components you create, just any modifications to 17 | Pines' core or official components.

18 | 19 |

You are free to make modifications and not release them to the 20 | public, but any users which access the system on which the modified 21 | code runs must have access to the code.

22 | 23 |

If you would like to change Pines' behavior without modifying 24 | its code, you can use the hook system to accomplish almost any needed 25 | change. Because a component can be licensed under any license, you are 26 | not required to distribute this source code.

27 |
28 | -------------------------------------------------------------------------------- /documentation/html/ch01s03.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1.3. Features That Make Pines Unique
Pines Development

1.3. Features That Make Pines Unique

4 | 5 | 6 |

Pines has many features which are either vastly superior to 7 | their counterparts in other frameworks, or have never been seen before 8 | in PHP. This is a list of just a few features that make Pines stand 9 | out in the ever expanding field of PHP frameworks.

43 | 44 |

Pines is full of features which make coding applications fast 45 | and easy, yet it's flexible enough to fit almost any application. 46 | Let's get started!

47 |
48 | -------------------------------------------------------------------------------- /documentation/html/ch02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Chapter 2. Getting Started
Pines Development

Chapter 2. Getting Started

Table of Contents

2.1. Setting Up an Environment
2.2. Getting Pines
2.3. Coding Style
2.3.1. Indentation
2.3.2. Brackets and Parentheses
2.3.3. Naming
2.3.4. Commenting
2.4. Building Pines
4 | 5 | 6 |

2.1. Setting Up an Environment

7 | 8 | 9 |

The first and most important thing you need to develop for Pines 10 | is a web server. Pines is designed for Apache on Linux, but it will 11 | work fine on most setups. If you are planning on using the entity 12 | manager, which is the easiest way to store and manipulate data in 13 | Pines, you will also most likely need a database server. MySQL works 14 | well with Pines, and is officially supported by SciActive. I recommend 15 | using an IDE, such as NetBeans or Eclipse. Both have great PHP 16 | support. Once you have Pines set up and you are ready to make your own 17 | components/templates, you can use symlinks to test them with different 18 | Pines setups.

19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | -------------------------------------------------------------------------------- /documentation/html/ch02s04.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 2.4. Building Pines
Pines Development

2.4. Building Pines

4 | 5 | 6 |

To build a custom release of Pines, you will need to clone the 7 | "pines-tools" repository. There, you will find the 8 | build-tools/buildrelease.php file. Point your 9 | browser to this script to use the release builder.

10 | 11 |

In the build tools, you will also find scripts to package Pines' 12 | jQuery plugins and to generate an icon component's CSS.

13 |
14 | -------------------------------------------------------------------------------- /documentation/html/ch06.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Chapter 6. Components
Pines Development

Chapter 6. Components

Table of Contents

6.1. Component Design
6.2. Actions
6.3. Classes
6.4. Views
6.5. Init Scripts
4 | 5 | 6 |

6.1. Component Design

7 | 8 | 9 |

10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | -------------------------------------------------------------------------------- /documentation/html/ch06s02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6.2. Actions
Pines Development

6.2. Actions

4 | 5 | 6 |

7 |
8 | -------------------------------------------------------------------------------- /documentation/html/ch06s03.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6.3. Classes
Pines Development

6.3. Classes

4 | 5 | 6 |

7 |
8 | -------------------------------------------------------------------------------- /documentation/html/ch06s05.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6.5. Init Scripts
Pines Development

6.5. Init Scripts

4 | 5 | 6 |

7 |
8 | -------------------------------------------------------------------------------- /documentation/html/ch08.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Chapter 8. Packaging
Pines Development

Chapter 8. Packaging

4 | 5 | 6 |

7 |
8 | -------------------------------------------------------------------------------- /documentation/html/ch09.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Chapter 9. Pines Plaza
Pines Development

Chapter 9. Pines Plaza

4 | 5 | 6 |

7 |
8 | -------------------------------------------------------------------------------- /documentation/html/config.xsl: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
2be Development
27 |
28 | 29 | 34 | 35 |
36 | -------------------------------------------------------------------------------- /documentation/html/docbook.css: -------------------------------------------------------------------------------- 1 | /*@import url('base.css');*/ 2 | 3 | @font-face { 4 | font-family: 'LinuxLibertineORegular'; 5 | src: url('fonts/linlibertine_re-webfont.eot'); 6 | src: url('fonts/linlibertine_re-webfont.eot?#iefix') format('embedded-opentype'), 7 | url('fonts/linlibertine_re-webfont.woff') format('woff'), 8 | url('fonts/linlibertine_re-webfont.ttf') format('truetype'), 9 | url('fonts/linlibertine_re-webfont.svg#LinuxLibertineORegular') format('svg'); 10 | font-weight: normal; 11 | font-style: normal; 12 | 13 | } 14 | @font-face { 15 | font-family: 'LinuxBiolinumORegular'; 16 | src: url('fonts/biolinum_re-0.4.1ro-webfont.eot'); 17 | src: url('fonts/biolinum_re-0.4.1ro-webfont.eot?#iefix') format('embedded-opentype'), 18 | url('fonts/biolinum_re-0.4.1ro-webfont.woff') format('woff'), 19 | url('fonts/biolinum_re-0.4.1ro-webfont.ttf') format('truetype'), 20 | url('fonts/biolinum_re-0.4.1ro-webfont.svg#LinuxBiolinumORegular') format('svg'); 21 | font-weight: normal; 22 | font-style: normal; 23 | 24 | } 25 | @font-face { 26 | font-family: 'DejaVuSansMonoBook'; 27 | src: url('fonts/dejavusansmono-webfont.eot'); 28 | src: url('fonts/dejavusansmono-webfont.eot?#iefix') format('embedded-opentype'), 29 | url('fonts/dejavusansmono-webfont.woff') format('woff'), 30 | url('fonts/dejavusansmono-webfont.ttf') format('truetype'), 31 | url('fonts/dejavusansmono-webfont.svg#DejaVuSansMonoBook') format('svg'); 32 | font-weight: normal; 33 | font-style: normal; 34 | 35 | } 36 | 37 | body { 38 | font-family: 'LinuxLibertineORegular', serif; 39 | font-size: 15px; 40 | background: transparent url('watermark-small.png') no-repeat fixed bottom right; 41 | } 42 | 43 | h1, h2, h3, h4, h5, h6, th, .header { 44 | font-family: 'LinuxBiolinumORegular', sans-serif; 45 | } 46 | 47 | /* Fix YUI base styles * 48 | .navheader th, .navheader td, 49 | .navfooter th, .navfooter td, 50 | .tip th, .tip td, 51 | .note th, .note td, 52 | .caution th, .caution td, 53 | .warning th, .warning td { 54 | border: 0 none; 55 | } 56 | .toc dl { 57 | margin: .2em 0; 58 | } 59 | th[align=left] { 60 | text-align: left; 61 | } 62 | table { 63 | margin-bottom: 0; 64 | } 65 | /**/ 66 | 67 | .header { 68 | float: left; 69 | height: 32px; 70 | margin: .4em; 71 | padding-left: 40px; 72 | background: transparent url('icon.png') no-repeat left center; 73 | font-size: 32px; 74 | line-height: 32px; 75 | color: black; 76 | text-decoration: none; 77 | } 78 | .navheader { 79 | clear: both; 80 | } 81 | 82 | code, .command, .filename { 83 | font-family: 'DejaVuSansMonoBook', monospace; 84 | font-size: 12px; 85 | line-height: 1em; 86 | } 87 | 88 | .emphasis { 89 | font-style: italic; 90 | } 91 | 92 | .keysym { 93 | color: blue; 94 | font-weight: bold; 95 | } 96 | 97 | .screen { 98 | font-family: 'DejaVuSansMonoBook', monospace; 99 | font-size: 12px; 100 | display: block; 101 | padding: 10px; 102 | border: 1px solid #bbb; 103 | background-color: #eee; 104 | color: #000; 105 | overflow: auto; 106 | border-radius: 2.5px; 107 | -moz-border-radius: 2.5px; 108 | margin: 0.5em 2em; 109 | } 110 | 111 | .programlisting { 112 | font-family: 'DejaVuSansMonoBook', monospace; 113 | font-size: 12px; 114 | display: block; 115 | padding: 10px; 116 | border: 1px solid #bbb; 117 | background-color: #ddd; 118 | color: #000; 119 | overflow: auto; 120 | border-radius: 2.5px; 121 | -moz-border-radius: 2.5px; 122 | margin: 0.5em 2em; 123 | } 124 | 125 | .copyright { 126 | text-align: right; 127 | font-size: .7em; 128 | } 129 | -------------------------------------------------------------------------------- /documentation/html/draft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/draft.png -------------------------------------------------------------------------------- /documentation/html/fonts/biolinum_re-0.4.1ro-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/fonts/biolinum_re-0.4.1ro-webfont.eot -------------------------------------------------------------------------------- /documentation/html/fonts/biolinum_re-0.4.1ro-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/fonts/biolinum_re-0.4.1ro-webfont.ttf -------------------------------------------------------------------------------- /documentation/html/fonts/biolinum_re-0.4.1ro-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/fonts/biolinum_re-0.4.1ro-webfont.woff -------------------------------------------------------------------------------- /documentation/html/fonts/dejavusansmono-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/fonts/dejavusansmono-webfont.eot -------------------------------------------------------------------------------- /documentation/html/fonts/dejavusansmono-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/fonts/dejavusansmono-webfont.ttf -------------------------------------------------------------------------------- /documentation/html/fonts/dejavusansmono-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/fonts/dejavusansmono-webfont.woff -------------------------------------------------------------------------------- /documentation/html/fonts/linlibertine_re-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/fonts/linlibertine_re-webfont.eot -------------------------------------------------------------------------------- /documentation/html/fonts/linlibertine_re-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/fonts/linlibertine_re-webfont.ttf -------------------------------------------------------------------------------- /documentation/html/fonts/linlibertine_re-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/fonts/linlibertine_re-webfont.woff -------------------------------------------------------------------------------- /documentation/html/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/home.png -------------------------------------------------------------------------------- /documentation/html/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/icon.png -------------------------------------------------------------------------------- /documentation/html/important.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/important.png -------------------------------------------------------------------------------- /documentation/html/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/next.png -------------------------------------------------------------------------------- /documentation/html/note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/note.png -------------------------------------------------------------------------------- /documentation/html/pr01.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Preface
Pines Development

Preface

Table of Contents

1. History of Pines
2. How This Book is Organized
2.1. Part I: The Pines Framework
2.2. Part II: Application Development
2.3. Part III: Distribution
3. Conventions Used in This Book
4 | 5 | 6 |

7 | 8 |

1. History of Pines

9 | 10 | 11 |

Pines was started in the Fall of 2008 by myself, Hunter Perrin. 12 | While taking my first PHP class, along with a French class, I developed 13 | a small PHP application to allow the collaborative editing of a play 14 | script. The application was used for my French class, then stowed away. 15 | Several months after that, I started a new job, working as a web 16 | designer. There, they requested me to find an application capable of 17 | sending newsletters to their clients. I dug up the old application, and 18 | adapted it to send emails. This incarnation was called Dandelion, and 19 | released under the GNU Affero GPL.

20 | 21 |

After a year there, I took a new position. They had several new 22 | ideas for web applications, which I slowly started building using 23 | Dandelion. When the project started to really resemble a framework, not 24 | just an application, we renamed it to Pines. Problem after problem would 25 | arise, and solution after solution would be built. All atop the Pines 26 | framework. Every feature in Pines has come from the real need of a 27 | business environment. Pines has seen two major redesigns, and it barely 28 | resembles the early application.

29 | 30 |

Now Pines is a solid, well tested, and well documented framework, 31 | suitable for building high demand enterprise applications.

32 |
33 | 34 | 35 | 36 | 37 |
38 | -------------------------------------------------------------------------------- /documentation/html/pr01s02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 2. How This Book is Organized
Pines Development

2. How This Book is Organized

2.1. Part I: The Pines Framework
2.2. Part II: Application Development
2.3. Part III: Distribution
4 | 5 | 6 |

This book is divided into three parts, each dealing with a 7 | different aspect of Pines development. Each part builds on the 8 | information and instruction given in the previous part.

9 | 10 |

2.1. Part I: The Pines Framework

11 | 12 | 13 |

Part I focuses on getting acquainted with the Pines framework. 14 | It provides information about Pines, how it works, and what is 15 | provided by Pines. I discuss how to get Pines from the development 16 | repositories. Pines Core, the system on which the framework is built, 17 | is discussed in depth. System services, which provide additional 18 | functionality for developers, are explained in detail.

19 |
20 | 21 |

2.2. Part II: Application Development

22 | 23 | 24 |

Part II focuses on design of components and templates in the 25 | Pines framework. It expands on the features of Pines Core, explaining 26 | how to use them in a real environment. Actions, classes, views, init 27 | and kill scripts, and other aspects of designing a Pines component are 28 | discussed in depth. By the end of this part, you will be able to build 29 | at least a simple Pines component. You will be ready to explore the 30 | advanced features of Pines and experiment on your own.

31 |
32 | 33 |

2.3. Part III: Distribution

34 | 35 | 36 |

37 |
38 |
39 | -------------------------------------------------------------------------------- /documentation/html/pr01s03.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 3. Conventions Used in This Book
Pines Development

3. Conventions Used in This Book

4 | 5 | 6 |

In order to make this book easier to write, I will refer to an 7 | object or class' properties as its "variables". Pines has very few 8 | global variables, so there is little need for a distinction between 9 | variables and properties. I will, however, maintain the distinction 10 | between functions and methods.

11 | 12 |

13 |
14 | -------------------------------------------------------------------------------- /documentation/html/prev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/prev.png -------------------------------------------------------------------------------- /documentation/html/pt02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Part II. Application Development
Pines Development

Part II. Application Development

Table of Contents

6. Components
6.1. Component Design
6.2. Actions
6.3. Classes
6.4. Views
6.5. Init Scripts
7. Templates
7.1. Template Design
4 | 5 | 6 | 7 | 8 | 9 |
10 | -------------------------------------------------------------------------------- /documentation/html/pt03.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Part III. Distribution
Pines Development

Part III. Distribution

Table of Contents

8. Packaging
9. Pines Plaza
4 | 5 | 6 | 7 | 8 | 9 |
10 | -------------------------------------------------------------------------------- /documentation/html/templates.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Chapter 7. Templates
Pines Development

Chapter 7. Templates

Table of Contents

7.1. Template Design
4 | 5 | 6 |

7.1. Template Design

7 | 8 | 9 |

10 |
11 |
12 | -------------------------------------------------------------------------------- /documentation/html/tip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/tip.png -------------------------------------------------------------------------------- /documentation/html/toc-blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/toc-blank.png -------------------------------------------------------------------------------- /documentation/html/toc-minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/toc-minus.png -------------------------------------------------------------------------------- /documentation/html/toc-plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/toc-plus.png -------------------------------------------------------------------------------- /documentation/html/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/up.png -------------------------------------------------------------------------------- /documentation/html/views.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6.4. Views
Pines Development

6.4. Views

4 | 5 | 6 |

7 |
8 | -------------------------------------------------------------------------------- /documentation/html/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/warning.png -------------------------------------------------------------------------------- /documentation/html/watermark-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/html/watermark-small.png -------------------------------------------------------------------------------- /documentation/phpdoc-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | <![CDATA[2be]]> 4 | 5 | Core 6 | 2be-docs 7 | 8 | TODO 9 | FIXME 10 | 11 | 12 | php 13 | 14 | 15 | 16 | 17 | 2be-docs 18 | 19 | 20 | on 21 | on 22 | 2be/ 23 | components/com_barcode/includes/* 24 | components/com_elfinder/classes/elFinder* 25 | components/com_messenger/includes/* 26 | components/com_pdf/includes/* 27 | templates/tpl_joomlatemplates/* 28 | 29 | 30 | warn 31 | 32 | {APP_ROOT}/data/log/{DATE}.log 33 | {APP_ROOT}/data/log/{DATE}.errors.log 34 | 35 | 36 | 37 |