├── 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 |
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 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 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.
10 | The Package Manager
11 |
12 | The package manager resembles the package managers common
13 | in Linux. It handles dependencies, retrieves updates, checks
14 | signed code, and much more. This isn't necessarily uncommon in a
15 | PHP framework, but Pines' package manager is 100% PHP code. That
16 | includes everything. The package downloading, dependency
17 | checker, code signing, even the package format is 100%
18 | PHP.
19 |
20 | The Slim Archive Format
21 |
22 | The Slim archive format is the heart of the package
23 | manager. Using just PHP, Slim is able to rival other archive
24 | formats. Slim archives can even be built to self extract.
25 |
26 | The Hook System
27 |
28 | Similar hook systems have been attempted by other
29 | frameworks, but Pines' hook system is unparalleled. It allows
30 | the developer to extend or even change any method in a component. This level of
31 | flexibility allows developers to collaborate and build like
32 | never before.
33 |
34 | The Entity Manager
35 |
36 | The entity manager is an object-relational mapper, which
37 | provides developers with a very simple and very flexible way of
38 | saving, retrieving, and manipulating data. With a simple, yet
39 | powerful querying system, you can make a complex, portable
40 | application without ever writing a single SQL query. Complex
41 | data relations are easy to handle and easy to query.
42 |
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 Chapter 2. Getting Started
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
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
4 |
5 |
6 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/documentation/html/ch06s02.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 6.2. Actions
8 |
--------------------------------------------------------------------------------
/documentation/html/ch06s03.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 6.3. Classes
8 |
--------------------------------------------------------------------------------
/documentation/html/ch06s05.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 6.5. Init Scripts
8 |
--------------------------------------------------------------------------------
/documentation/html/ch08.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Chapter 8. Packaging
8 |
--------------------------------------------------------------------------------
/documentation/html/ch09.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Chapter 9. Pines Plaza
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 |
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
4 |
5 |
6 |
7 |
8 |
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 2. How This Book is Organized
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 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 Part II. Application Development
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/documentation/html/pt03.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Part III. Distribution
10 |
--------------------------------------------------------------------------------
/documentation/html/templates.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Chapter 7. Templates
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
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 |
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 |
38 |
39 |
--------------------------------------------------------------------------------
/documentation/phpdoc.sh:
--------------------------------------------------------------------------------
1 | #! /bin/bash
2 |
3 | echo "Checking for phpDocumentor..."
4 | if which phpdoc &> /dev/null; then
5 | echo "Found."
6 | else
7 | echo "phpDoc not found."
8 | echo "Please run as administrator:"
9 | echo " pear channel-discover pear.phpdoc.org"
10 | echo " pear install phpdoc/phpDocumentor"
11 | exit
12 | fi
13 |
14 | if [ ! -d "api-docs" ]; then
15 | echo "Making working directory..."
16 | mkdir api-docs
17 | fi
18 | cd api-docs
19 |
20 | if [ ! -d "2be" ]; then
21 | echo "Cloning git repositories..."
22 | if [ ! -d "2be-core" ]; then
23 | git clone git://github.com/sciactive/2be-core.git
24 | fi
25 | if [ ! -d "2be-packages" ]; then
26 | git clone git://github.com/sciactive/2be-packages.git
27 | fi
28 |
29 | echo "Setting up doc installation..."
30 | mkdir 2be
31 | mv 2be-core/* 2be/
32 | mv 2be-packages/com_* 2be/components/
33 | mv 2be-packages/tpl_* 2be/templates/
34 |
35 | echo "Removing git repos..."
36 | rm --interactive=never -r 2be-core
37 | rm --interactive=never -r 2be-packages
38 | else
39 | echo "Found an existing doc installation. Using that..."
40 | fi
41 |
42 | if [ -d "2be-docs" ]; then
43 | echo "Removing old docs folder..."
44 | rm -r 2be-docs
45 | fi
46 |
47 | echo "Generating documentation..."
48 | mkdir 2be-docs
49 | phpdoc project:run --sourcecode -c ../phpdoc-config.xml -p -d 2be -t 2be-docs
50 | cd ..
51 | echo "Done."
--------------------------------------------------------------------------------
/documentation/setup.sh:
--------------------------------------------------------------------------------
1 | #! /bin/bash
2 |
3 | echo "Getting dependencies..."
4 | sudo apt-get install xmlto dblatex texlive-xetex ttf-linux-libertine ttf-dejavu python-pygments
5 |
6 | echo "Installing custom Pygments alterations..."
7 | sudo cp sources-pdf/_mapping.py /usr/share/pyshared/pygments/formatters/_mapping.py
8 | sudo cp sources-pdf/latexlisting.py /usr/share/pyshared/pygments/formatters/latexlisting.py
9 | sudo ln -s "../../../../../share/pyshared/pygments/formatters/latexlisting.py" /usr/lib/python2.7/dist-packages/pygments/formatters/latexlisting.py
10 | sudo ln -s "../../../../../share/pyshared/pygments/formatters/latexlisting.py" /usr/lib/python2.6/dist-packages/pygments/formatters/latexlisting.py
11 |
--------------------------------------------------------------------------------
/documentation/sources-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/sources-html/blank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/blank.png
--------------------------------------------------------------------------------
/documentation/sources-html/caution.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/caution.png
--------------------------------------------------------------------------------
/documentation/sources-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 |
27 |
28 |
29 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/documentation/sources-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/sources-html/draft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/draft.png
--------------------------------------------------------------------------------
/documentation/sources-html/fonts/biolinum_re-0.4.1ro-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/fonts/biolinum_re-0.4.1ro-webfont.eot
--------------------------------------------------------------------------------
/documentation/sources-html/fonts/biolinum_re-0.4.1ro-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/fonts/biolinum_re-0.4.1ro-webfont.ttf
--------------------------------------------------------------------------------
/documentation/sources-html/fonts/biolinum_re-0.4.1ro-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/fonts/biolinum_re-0.4.1ro-webfont.woff
--------------------------------------------------------------------------------
/documentation/sources-html/fonts/dejavusansmono-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/fonts/dejavusansmono-webfont.eot
--------------------------------------------------------------------------------
/documentation/sources-html/fonts/dejavusansmono-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/fonts/dejavusansmono-webfont.ttf
--------------------------------------------------------------------------------
/documentation/sources-html/fonts/dejavusansmono-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/fonts/dejavusansmono-webfont.woff
--------------------------------------------------------------------------------
/documentation/sources-html/fonts/linlibertine_re-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/fonts/linlibertine_re-webfont.eot
--------------------------------------------------------------------------------
/documentation/sources-html/fonts/linlibertine_re-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/fonts/linlibertine_re-webfont.ttf
--------------------------------------------------------------------------------
/documentation/sources-html/fonts/linlibertine_re-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/fonts/linlibertine_re-webfont.woff
--------------------------------------------------------------------------------
/documentation/sources-html/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/home.png
--------------------------------------------------------------------------------
/documentation/sources-html/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/icon.png
--------------------------------------------------------------------------------
/documentation/sources-html/important.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/important.png
--------------------------------------------------------------------------------
/documentation/sources-html/next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/next.png
--------------------------------------------------------------------------------
/documentation/sources-html/note.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/note.png
--------------------------------------------------------------------------------
/documentation/sources-html/prev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/prev.png
--------------------------------------------------------------------------------
/documentation/sources-html/tip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/tip.png
--------------------------------------------------------------------------------
/documentation/sources-html/toc-blank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/toc-blank.png
--------------------------------------------------------------------------------
/documentation/sources-html/toc-minus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/toc-minus.png
--------------------------------------------------------------------------------
/documentation/sources-html/toc-plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/toc-plus.png
--------------------------------------------------------------------------------
/documentation/sources-html/up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/up.png
--------------------------------------------------------------------------------
/documentation/sources-html/warning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/warning.png
--------------------------------------------------------------------------------
/documentation/sources-html/watermark-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/documentation/sources-html/watermark-small.png
--------------------------------------------------------------------------------
/documentation/sources-pdf/options.xsl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | letterpaper
9 |
10 |
11 | 0
12 | 0
13 |
14 |
15 |
16 |
17 |
18 |
19 | 1
20 |
21 |
22 | nohyphen
23 |
24 |
25 | 1
26 |
27 |
28 |
29 |
30 | \setmainfont{Linux Libertine O}
31 |
32 | \setsansfont{Linux Biolinum O}
33 |
34 | \setmonofont[Scale=MatchLowercase,HyphenChar=None]{DejaVu Sans Mono}
35 |
36 |
37 |
38 |
57 |
58 |
86 |
87 |
97 |
98 |
99 |
--------------------------------------------------------------------------------
/documentation/sources-pdf/style.sty:
--------------------------------------------------------------------------------
1 | %%
2 | %% This style is derivated from the docbook one
3 | %%
4 | \NeedsTeXFormat{LaTeX2e}
5 | \ProvidesPackage{2be-style}[2011/03/10 2be Documentation Style]
6 |
7 | %% Just use the original package and pass the options
8 | \RequirePackageWithOptions{docbook}
9 |
10 | %% Syntax Highlighting
11 | \usepackage{minted,framed,color}
12 | \definecolor{mintedbg}{rgb}{0.96,0.97,0.98}
13 | % Second environment version
14 | % Needs: shadecolor, \boxwidth and the framed package
15 | \newlength{\boxwidth}
16 | \newenvironment{mintedbox}{%
17 | %%\def\FrameCommand{\fboxsep=\FrameSep \fboxrule=\FrameRule \fcolorbox{black}{mintedbg}}%
18 | \def\FrameCommand{\fboxsep=1pt \fboxrule=\FrameRule \fcolorbox{black}{mintedbg}}%
19 | \MakeFramed {\setlength{\boxwidth}{\textwidth}
20 | \addtolength{\boxwidth}{-2\FrameSep}
21 | \addtolength{\boxwidth}{-2\FrameRule}
22 | \setlength{\hsize}{\boxwidth} \FrameRestore}}%
23 | {\endMakeFramed}
24 |
25 | %% Margins
26 | %\addtolength{\textwidth}{.6in}
27 | %\addtolength{\hoffset}{-.3in}
28 | %\addtolength{\textheight}{.8in}
29 | %\addtolength{\voffset}{-.8in}
30 | \setlength{\headsep}{1cm}
31 | \setlength{\footskip}{.8cm}
32 |
33 | %% Captions
34 | \usepackage{caption}
35 | \captionsetup{labelfont=bf,skip=5pt,position=above}
36 |
37 | % ##############################################################################
38 | % ### Header and Footer Page
39 | % ##############################################################################
40 |
41 | \pagestyle{fancyplain}
42 | \renewcommand{\headrulewidth}{0.5pt}
43 | \renewcommand{\footrulewidth}{0.5pt}
44 | \renewcommand{\plainheadrulewidth}{0.5pt}
45 | \renewcommand{\plainfootrulewidth}{0.5pt}
46 | \setcounter{page}{1}
47 |
48 | \def\releasebox{%
49 | \ifthenelse{\equal{\DBKreleaseinfo}{}}{}%
50 | {\framebox{\textsc{\textsf{\DBKreleaseinfo}}}}%
51 | }
52 |
53 | % Define front/main/back matter if not available
54 | \@ifundefined{frontmatter}{
55 | \def\frontmatter{\cleardoublepage\pagenumbering{roman}\chead[]{\DBKcheadfront}}
56 | }{}
57 | \@ifundefined{mainmatter}{
58 | \def\mainmatter{\cleardoublepage\pagenumbering{arabic}\chead[]{\DBKcheadbody}}
59 | }{}
60 | \@ifundefined{backmatter}{
61 | \def\backmatter{\if@openright\cleardoublepage\else\clearpage\fi}
62 | }{}
63 |
64 |
65 | % Fancy header/footer for the first page
66 |
67 | \chead[]{%
68 | \begin{tabular}{
69 | >{\raggedright}p{5.6cm} >{\centering}p{5.6cm} >{\raggedleft}p{5.6cm}} %
70 | \multirow{3}{5.6cm}{\DBKtitle}
71 | %% & & \tabularnewline%
72 | %% & \releasebox
73 | & \textsf{\thepage} \tabularnewline %
74 | & & \tabularnewline%
75 | \end{tabular}%
76 | } %
77 |
78 | \lfoot[]{\@ifundefined{DBKpublisher}{}{\DBKpublisher}}
79 | \rfoot[]{}
80 | \cfoot[]{}
81 |
82 | % Fancy header/footer for the front matter
83 |
84 | \def\DBKcheadfront{%
85 | \begin{tabular}{
86 | >{\raggedright}p{5.6cm} >{\centering}p{5.6cm} >{\raggedleft}p{5.6cm}} %
87 | \multirow{3}{5.6cm}{\DBKtitle}
88 | & & \textsf{\DBKreference{} \edhead} \tabularnewline%
89 | %% & \releasebox & \tabularnewline %
90 | & & \textsf{\thepage}
91 | \tabularnewline%
92 | \end{tabular}%
93 | }
94 |
95 | % Fancy header/footer for the doc body
96 |
97 | \def\DBKcheadbody{%
98 | \begin{tabular}{
99 | >{\raggedright}p{5.6cm} >{\centering}p{5.6cm} >{\raggedleft}p{5.6cm}} %
100 | \multirow{3}{5.6cm}{\DBKtitle}
101 | & & \textsf{\DBKreference{} \edhead} \tabularnewline%
102 | %% & \releasebox & \tabularnewline %
103 | & & \textsf{\thepage{} / \getpagerefnumber{LastPage}}
104 | \tabularnewline%
105 | \end{tabular}%
106 | }
107 |
108 | \lhead[]{}
109 | \rhead[]{}
110 |
111 |
--------------------------------------------------------------------------------
/documentation/sources-pdf/stylesheet.xsl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | \begin{center}
6 | \textbf{\captionof{example}{
7 |
8 |
9 |
10 | }}
11 | \end{center}
12 |
13 |
14 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 | text
51 |
52 |
53 |
54 |
55 |
56 |
57 |
\usemintedstyle{manni}
\begin{mintedbox}
\begin{
58 |
59 | }
60 |
61 | [texcl=false,mathescape=false,
62 |
63 | firstline=2,
64 |
65 |
66 | ]
67 | {
68 |
69 | }
70 |
71 |
74 |
75 |
76 |
77 | <?php
78 |
79 |
80 |
81 |
82 |
83 |
\end{
84 |
85 | }
\end{mintedbox}
86 |
87 |
88 |
89 |
--------------------------------------------------------------------------------
/logo/cms-nav-logo.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/cms-nav-logo.xcf
--------------------------------------------------------------------------------
/logo/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/favicon.ico
--------------------------------------------------------------------------------
/logo/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/favicon.png
--------------------------------------------------------------------------------
/logo/header-large.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/header-large.png
--------------------------------------------------------------------------------
/logo/header-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/header-small.png
--------------------------------------------------------------------------------
/logo/header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/header.png
--------------------------------------------------------------------------------
/logo/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/icon.png
--------------------------------------------------------------------------------
/logo/logo-bw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/logo-bw.png
--------------------------------------------------------------------------------
/logo/logo-bw.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
9 |
10 |
16 |
17 |
18 |
19 |
21 |
22 |
23 |
24 |
28 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/logo/logo-grayscale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/logo-grayscale.png
--------------------------------------------------------------------------------
/logo/logo-huge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/logo-huge.png
--------------------------------------------------------------------------------
/logo/logo-text-huge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/logo-text-huge.png
--------------------------------------------------------------------------------
/logo/logo-text-shirt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/logo-text-shirt.png
--------------------------------------------------------------------------------
/logo/logo-text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/logo-text.png
--------------------------------------------------------------------------------
/logo/logo.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/logo.ai
--------------------------------------------------------------------------------
/logo/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/logo.png
--------------------------------------------------------------------------------
/logo/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
19 |
21 |
22 |
23 |
29 |
30 |
31 |
32 |
35 |
36 |
37 |
38 |
39 |
42 |
43 |
44 |
45 |
49 |
53 |
64 |
65 |
66 |
67 |
68 |
69 |
--------------------------------------------------------------------------------
/logo/product-icon-100-bw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/product-icon-100-bw.png
--------------------------------------------------------------------------------
/logo/product-icon-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/product-icon-100.png
--------------------------------------------------------------------------------
/logo/product-icon-40-bw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/product-icon-40-bw.png
--------------------------------------------------------------------------------
/logo/product-icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/product-icon-40.png
--------------------------------------------------------------------------------
/logo/sciactive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/logo/sciactive.png
--------------------------------------------------------------------------------
/sandbox/amurrell/ajax-loader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/sandbox/amurrell/ajax-loader.gif
--------------------------------------------------------------------------------
/sandbox/amurrell/angela.json:
--------------------------------------------------------------------------------
1 | {"name":"Angela","description":"Angela is a coder. She also designs stuff and makes people go \"how pretty\", which makes us get more money.
41 | EOF;
42 |
43 | echo json_encode($angela);
--------------------------------------------------------------------------------
/sandbox/amurrell/banana.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/sandbox/amurrell/banana.gif
--------------------------------------------------------------------------------
/sandbox/amurrell/bounceanimationjquery.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
15 |
16 |
17 | Animate!
18 |
21 |
22 |
--------------------------------------------------------------------------------
/sandbox/amurrell/edit-delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/sandbox/amurrell/edit-delete.png
--------------------------------------------------------------------------------
/sandbox/amurrell/imagewall.php:
--------------------------------------------------------------------------------
1 | apiKey . '&text=' . urlencode($query) . '&per_page=100&format=php_serial';
12 | $result = file_get_contents($search);
13 | $result = unserialize($result);
14 | return $result;
15 | }
16 | }
17 |
18 | $photos = array();
19 | $keyword = htmlspecialchars($_REQUEST['keyword']);
20 |
21 | if(isset($keyword) and $keyword !="") {
22 | $Flickr = new Flickr;
23 | $data = $Flickr->search($keyword);
24 | $getphotos = array();
25 | $getlinks = array();
26 |
27 | foreach($data['photos']['photo'] as $photo) {
28 | // the image URL becomes somthing like
29 | // http://farm{farm-id}.static.flickr.com/{server-id}/{id}_{secret}.jpg
30 |
31 | $getphotos[] = ' ';
32 | $getlinks [] = 'http://flickr.com/photo.gne?id='.$photo[id];
33 | }
34 | $photos[0] = $getphotos;
35 | $photos[1] = $getlinks;
36 | echo json_encode($photos);
37 | }
--------------------------------------------------------------------------------
/sandbox/date_tester.php:
--------------------------------------------------------------------------------
1 | PHP's strtotime Calculation:";
7 | $format = 'l jS \of F Y h:i:s A T';
8 | echo htmlspecialchars("Custom Format (\"$format\"):\n\t");
9 | echo ''.date($format, $date)." \n\n";
10 | echo "RFC 2822:\n\t";
11 | echo ''.date('r', $date)." \n\n";
12 | echo "ISO 8601:\n\t";
13 | echo ''.date('c', $date)." \n\n";
14 | echo "Unix Timestamp:\n\t";
15 | echo ''.date('U', $date)." \n\n";
16 | //echo "Input:\n\t".htmlspecialchars($_REQUEST['date'])." ";
17 | exit;
18 | }
19 |
20 | ?>
21 |
22 |
23 |
24 |
25 | PHP Date String Tester
26 |
31 |
32 |
61 |
62 |
63 |
64 |
65 | PHP Date String Tester
66 |
67 |
77 |
78 | PHP's output will be displayed here.
79 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/sandbox/hperrin/ajax_upload/backend.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
12 |
13 |
14 |
17 |
18 |
--------------------------------------------------------------------------------
/sandbox/hperrin/ajax_upload/frontend.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | AJAX Uploader
5 |
6 |
7 |
46 |
47 |
48 | Upload File(s)
49 |
50 |
51 |
--------------------------------------------------------------------------------
/sandbox/hperrin/ajax_upload/valums-file-uploader-b3b20b1.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sciactive/2be-extras/2cb41332cfd046496de5cab6e200ff19ccb74c4a/sandbox/hperrin/ajax_upload/valums-file-uploader-b3b20b1.zip
--------------------------------------------------------------------------------
/sandbox/hperrin/array_alteration_testing.php:
--------------------------------------------------------------------------------
1 | Element Addition TestingMust show 10 items to pass.
';
4 |
5 | echo 'foreach ';
6 | $array = range(0, 9);
7 | foreach ($array as $cur_elem) {
8 | if ($cur_elem == 3)
9 | $array[] = 10;
10 | echo $cur_elem.' ';
11 | }
12 |
13 | echo 'for.. reset, key, next ';
14 | $array = range(0, 9);
15 | for ($cur_elem = reset($array); key($array) !== null; $cur_elem = next($array)) {
16 | if ($cur_elem == 3)
17 | $array[] = 10;
18 | echo $cur_elem.' ';
19 | }
20 |
21 | echo 'reset; while(list = each) ';
22 | $array = range(0, 9);
23 | reset($array);
24 | while (list($cur_key, $cur_elem) = each($array)) {
25 | if ($cur_elem == 3)
26 | $array[] = 10;
27 | echo $cur_elem.' ';
28 | }
29 |
30 |
31 | echo 'Element Removal Testing Must show item 9 to pass.
';
32 |
33 | echo 'foreach ';
34 | $array = range(0, 9);
35 | foreach ($array as $cur_elem) {
36 | if ($cur_elem == 8)
37 | unset($array[8]);
38 | echo $cur_elem.' ';
39 | }
40 |
41 | echo 'for.. reset, key, next ';
42 | $array = range(0, 9);
43 | for ($cur_elem = reset($array); key($array) !== null; $cur_elem = next($array)) {
44 | if ($cur_elem == 8)
45 | unset($array[8]);
46 | echo $cur_elem.' ';
47 | }
48 |
49 | echo 'reset; while(list = each) ';
50 | $array = range(0, 9);
51 | reset($array);
52 | while (list($cur_key, $cur_elem) = each($array)) {
53 | if ($cur_elem == 8)
54 | unset($array[8]);
55 | echo $cur_elem.' ';
56 | }
57 |
58 |
59 | echo 'Element Addition and Removal Testing Must show 10 items to pass.
';
60 |
61 | echo 'foreach ';
62 | $array = range(0, 9);
63 | foreach ($array as $cur_elem) {
64 | if ($cur_elem == 3)
65 | $array[] = 10;
66 | if ($cur_elem == 8)
67 | unset($array[8]);
68 | echo $cur_elem.' ';
69 | }
70 |
71 | echo 'for.. reset, key, next ';
72 | $array = range(0, 9);
73 | for ($cur_elem = reset($array); key($array) !== null; $cur_elem = next($array)) {
74 | if ($cur_elem == 3)
75 | $array[] = 10;
76 | if ($cur_elem == 8)
77 | unset($array[8]);
78 | echo $cur_elem.' ';
79 | }
80 |
81 | echo 'reset; while(list = each) ';
82 | $array = range(0, 9);
83 | reset($array);
84 | while (list($cur_key, $cur_elem) = each($array)) {
85 | if ($cur_elem == 3)
86 | $array[] = 10;
87 | if ($cur_elem == 8)
88 | unset($array[8]);
89 | echo $cur_elem.' ';
90 | }
--------------------------------------------------------------------------------
/sandbox/hperrin/calendar/calendar.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Calendar
6 |
7 |
8 |
9 |
10 |
11 |
33 |
81 |
82 |
83 |
84 |
85 |
--------------------------------------------------------------------------------
/sandbox/hperrin/cron.php:
--------------------------------------------------------------------------------
1 |
29 |
2 |
3 |
4 | Working Around PHP's Floating Point Calculation Errors
5 |
6 |
19 |
20 |
21 | Working Around PHP's Floating Point Calculation Errors
22 |
23 | Problem
24 | PHP's internal representation of floats uses binary (duh), so simple rational numbers like .7 can't always be exactly represented.
25 | serialize(.7) =
26 | This means that when these numbers are used in calculations, the results may not be what is expected.
27 | serialize((.7 + .1) * 10) =
28 |
29 | Solution
30 | When a float is cast to a string, PHP is smart enough to realize that its binary (inexact) representation probably means the exact decimal representation.
31 | serialize((string) .7) =
32 | These string representations can be used in calculations just like floats.
33 | serialize((string) (.7 + .1) * 10) =
34 |
35 | Examples
36 | Without String Casting
37 | floor((.7 + .1) * 10) =
38 | With String Casting
39 | floor((string) (.7 + .1) * 10) =
40 |
41 |
--------------------------------------------------------------------------------
/sandbox/hperrin/financial.php:
--------------------------------------------------------------------------------
1 | '.htmlspecialchars('for ($cur_elem = reset($array); key($array) !== null; $cur_elem = next($array))').'';
6 | for ($cur_elem = reset($array); key($array) !== null; $cur_elem = next($array)) {
7 | var_dump(array('Current Pointer' => key($array), 'Current Value' => $cur_elem));
8 | }
9 | echo " ";
10 | echo ''.htmlspecialchars('while (list($cur_key, $cur_elem) = each($array))').' ';
11 | reset($array);
12 | while (list($cur_key, $cur_elem) = each($array)) {
13 | var_dump(array('Current Pointer' => key($array), 'Current Value' => $cur_elem));
14 | }
15 | echo " ";
16 | echo ''.htmlspecialchars('foreach ($array as $cur_elem)').' ';
17 | foreach ($array as $cur_elem) {
18 | var_dump(array('Current Pointer' => key($array), 'Current Value' => $cur_elem));
19 | }
--------------------------------------------------------------------------------
/sandbox/hperrin/gource-viz/make-gource-video.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Clone all the repos.
4 | git clone git://github.com/sciactive/2be-core.git
5 | git clone git://github.com/sciactive/2be-packages.git
6 | git clone git://github.com/sciactive/2be-extras.git
7 | git clone git://github.com/sciactive/pform.git
8 | git clone git://github.com/sciactive/pnotify.git
9 | git clone git://github.com/sciactive/pgrid.git
10 | git clone git://github.com/sciactive/ptags.git
11 |
12 | # Output a custom log of each repo.
13 | gource --output-custom-log core.txt 2be-core/
14 | gource --output-custom-log components.txt 2be-packages/
15 | gource --output-custom-log tools.txt 2be-extras/
16 | gource --output-custom-log pform.txt pform/
17 | gource --output-custom-log pnotify.txt pnotify/
18 | gource --output-custom-log pgrid.txt pgrid/
19 | gource --output-custom-log ptags.txt ptags/
20 |
21 | # Add a directory name to each log entry.
22 | sed -i -r "s#(.+)\|#\1|/core#" core.txt
23 | sed -i -r "s#(.+)\|#\1|/components#" components.txt
24 | sed -i -r "s#(.+)\|#\1|/tools#" tools.txt
25 | sed -i -r "s#(.+)\|#\1|/pform#" pform.txt
26 | sed -i -r "s#(.+)\|#\1|/pnotify#" pnotify.txt
27 | sed -i -r "s#(.+)\|#\1|/pgrid#" pgrid.txt
28 | sed -i -r "s#(.+)\|#\1|/ptags#" ptags.txt
29 |
30 | # Combine all logs into a big sorted log.
31 | cat core.txt components.txt tools.txt pform.txt pnotify.txt pgrid.txt ptags.txt | sort -n > combined.txt
32 |
33 | # Create the gource video.
34 | gource --title 2be -1280x720 --highlight-colour 22FF55 --hide mouse,filenames --highlight-users --max-user-speed 1000 --user-scale 5 --max-file-lag 0.1 --max-files 0 -i 0 -a 1 -s .5 -c 4 -e 0.01 -o gource-output.ppm -r 60 combined.txt
35 |
--------------------------------------------------------------------------------
/sandbox/hperrin/ip_checking.php:
--------------------------------------------------------------------------------
1 | > (32 - $cidr_bits);
14 | $ip_network = $ip_long >> (32 - $cidr_bits);
15 |
16 | // If the network parts are equal, return true.
17 | return ($cidr_network === $ip_network);
18 | }
19 |
20 | function check_subnet($ip, $network, $netmask) {
21 | // Turn the addresses into long format.
22 | $network_long = ip2long($network);
23 | $mask_long = ip2long($netmask);
24 | $ip_long = ip2long($ip);
25 |
26 | // Remove the host part of the addresses.
27 | $network_net_long = $network_long & $mask_long;
28 | $ip_net_long = $ip_long & $mask_long;
29 |
30 | // If the network parts are equal, return true.
31 | return ($network_net_long === $ip_net_long);
32 | }
33 |
34 | function check_range($ip, $from_ip, $to_ip) {
35 | // Turn the addresses into long format.
36 | $from_ip_long = ip2long($from_ip);
37 | $to_ip_long = ip2long($to_ip);
38 | $ip_long = ip2long($ip);
39 |
40 | // If the IP is between the two addresses, return true.
41 | return ($ip_long >= $from_ip_long && $ip_long <= $to_ip_long);
42 | }
43 |
44 |
45 | foreach (array('192.168.0.1', '192.168.1.1', '192.168.2.1') as $ip) {
46 | echo "IP: $ip \n";
47 | $cidr = '192.168/23';
48 | echo '';
49 | echo "CIDR Address: $cidr\n";
50 | echo ' ';
51 | echo check_cidr($ip, $cidr) ? 'Same network.' : 'Different network.';
52 |
53 | $network = '192.168.0.0';
54 | $netmask = '255.255.254.0';
55 | echo '';
56 | echo "Network Address: $network\n";
57 | echo "Subnet Mask: $netmask\n";
58 | echo ' ';
59 | echo check_subnet($ip, $network, $netmask) ? 'Same network.' : 'Different network.';
60 |
61 | $from_ip = '192.168.0.0';
62 | $to_ip = '192.168.1.255';
63 | echo '';
64 | echo "IP Range: $from_ip - $to_ip\n";
65 | echo ' ';
66 | echo check_range($ip, $from_ip, $to_ip) ? 'Same network.' : 'Different network.';
67 | }
--------------------------------------------------------------------------------
/sandbox/hperrin/javascript escaping/bad_variable.php:
--------------------------------------------------------------------------------
1 | This page is vulnerable to a XSS attack!
8 |
9 |
10 | Back
11 |
30 |
31 |
32 |