- Webtech talk.

This commit is contained in:
Derick Rethans
2006-06-28 10:03:27 +00:00
parent db56f433c2
commit c77b478888
17 changed files with 790 additions and 4 deletions

53
ezc-webtech2006.xml Normal file
View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<presentation
template="css"
navmode="html"
navbarbackground="#4373b4"
navbartopiclinks="0"
navColor="#f1fbff"
logo1=""
stylesheet="presentations/slides/perf/ezp.css"
backgroundfixed="1" >
<topic>Component Libraries</topic>
<title>eZ components</title>
<event>webtech2006</event>
<location>Sofia, Bulgaria</location>
<date>July 1st, 2006</date>
<speaker>Derick Rethans</speaker>
<email>dr@ez.no</email>
<url>http://files.derickrethans.nl/ezc-webtech2006.pdf</url>
<slide>slides/ezc/title-ezc-generic.xml</slide>
<!-- introduction -->
<slide>slides/toolbox/goals-library.xml</slide>
<slide>slides/toolbox/goals-process.xml</slide>
<slide>slides/toolbox/documentation.xml</slide>
<slide>slides/toolbox/dependencies.xml</slide>
<!-- overview -->
<slide>slides/ezc/overview.xml</slide>
<slide>slides/ezc/install-download.xml</slide>
<slide>slides/ezc/install-pear.xml</slide>
<slide>slides/ezc/example-consoletools-table.xml</slide>
<slide>slides/ezc/example-consoletools-progressbar.xml</slide>
<slide>slides/ezc/example-database-instance.xml</slide>
<slide>slides/ezc/example-database-query.xml</slide>
<slide>slides/ezc/example-persistentobject.xml</slide>
<slide>slides/ezc/example-mail.xml</slide>
<slide>slides/ezc/example-mail-parse.xml</slide>
<slide>slides/ezc/example-graph.xml</slide>
<slide>slides/ezc/example-graph-result.xml</slide>
<slide>slides/ezc/example-graph2.xml</slide>
<slide>slides/ezc/example-graph2-result.xml</slide>
<slide>slides/ezc/example-feed.xml</slide>
<!-- what's next? -->
<slide>slides/ezc/future-1.1-1.2.xml</slide>
<slide>slides/ezc/questions.xml</slide>
</presentation>

View File

@@ -0,0 +1,41 @@
<?php
$stats = array(
200401 => array(14699098, 1330821),
200402 => array(15205474, 1330021),
200403 => array(15054623, 1335263),
200404 => array(15528732, 1343899),
200405 => array(15896330, 1341729),
200406 => array(16251453, 1346521),
200407 => array(16369503, 1340909),
200408 => array(16946328, 1348793),
200409 => array(17245242, 1338970),
200410 => array(17245242, 1338970), /* No data from Netcraft this month */
200411 => array(17245242, 1338970), /* No data from Netcraft this month */
200412 => array(17826404, 1318739),
200501 => array(18455683, 1317871),
200502 => array(18827149, 1307980),
200503 => array(19279566, 1303710),
200504 => array(19720597, 1310181),
200505 => array(20157542, 1303750),
200506 => array(20478778, 1299068),
200507 => array(21466638, 1293874),
200508 => array(22267442, 1291738),
200509 => array(22167075, 1283102),
200510 => array(23299550, 1290179),
200511 => array(21952457, 1277364),
200512 => array(22172983, 1277375),
200601 => array(20285205, 1278151),
200602 => array(21340831, 1268048),
);
$domains = array();
$ips = array();
foreach( $stats as $month => $stat )
{
$label = sprintf( '%d-%02d', floor( $month / 100 ), $month % 100 );
$domains[$label] = $stat[0];
$ips[$label] = $stat[1];
}
return array( $domains, $ips );
?>

View File

@@ -7,7 +7,7 @@ $stmt = $sq->select( 'name', 'country', 'lat', 'lon' )
->from( 'city' )
->where(
$sq->expr->like(
'normalized_name', $sq->bindValue( 'orlando%' )
'normalized_name', $sq->bindValue( 'sofia%' )
)
)
->orderBy( 'country', 'name' )

View File

@@ -0,0 +1,5 @@
<slide>
<title>Feed</title>
<example filename='feed.php' result="1"/>
</slide>

View File

@@ -0,0 +1,7 @@
<slide>
<title>Graph</title>
<subtitle>Line-graph - Result</subtitle>
<image filename='graph1.png'/>
</slide>

View File

@@ -0,0 +1,7 @@
<slide>
<title>Graph</title>
<subtitle>Line-graph</subtitle>
<example encoding="iso-8859-1" filename='graph1.php'/>
</slide>

View File

@@ -0,0 +1,7 @@
<slide>
<title>Graph</title>
<subtitle>Pie chart - Result</subtitle>
<image filename='graph2.png'/>
</slide>

View File

@@ -0,0 +1,7 @@
<slide>
<title>Graph</title>
<subtitle>Pie chart</subtitle>
<example encoding="iso-8859-1" filename='graph2.php'/>
</slide>

576
slides/ezc/feed-data.php Normal file
View File

@@ -0,0 +1,576 @@
<?php
return array (
0 =>
array (
'package' => 'DatabaseSchema',
0 => 'DatabaseSchema',
'version' => '1.0.1',
1 => '1.0.1',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-19 14:49:33',
3 => '2006-06-19 14:49:33',
'releasenotes' => '- Fixed a bug that an empty \'is null value\' string in the database caused a
PHP warning.',
4 => '- Fixed a bug that an empty \'is null value\' string in the database caused a
PHP warning.',
),
1 =>
array (
'package' => 'TranslationCacheTiein',
0 => 'TranslationCacheTiein',
'version' => '1.1',
1 => '1.1',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-12 13:17:33',
3 => '2006-06-12 13:17:33',
'releasenotes' => '- No changes.',
4 => '- No changes.',
),
2 =>
array (
'package' => 'Translation',
0 => 'Translation',
'version' => '1.1',
1 => '1.1',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-12 13:17:28',
3 => '2006-06-12 13:17:28',
'releasenotes' => '- No changes.',
4 => '- No changes.',
),
3 =>
array (
'package' => 'Template',
0 => 'Template',
'version' => '1.0',
1 => '1.0',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-12 13:17:24',
3 => '2006-06-12 13:17:24',
'releasenotes' => '- Fixed a bug that some indentations were not removed.
- Fixed a bug that the newlines after a non output block were not removed.
- Fixed a bug that fetching an array element was never considered as a
possible sub array. E.g. {var $a = array( array("a") )} {foreach $a[0] as $i}
gave an error.
- Fixed a bug that an imported variable with default value got the wrong type.
E.g. {var $myArray = false} {foreach $myArray as $i} gave an error.',
4 => '- Fixed a bug that some indentations were not removed.
- Fixed a bug that the newlines after a non output block were not removed.
- Fixed a bug that fetching an array element was never considered as a
possible sub array. E.g. {var $a = array( array("a") )} {foreach $a[0] as $i}
gave an error.
- Fixed a bug that an imported variable with default value got the wrong type.
E.g. {var $myArray = false} {foreach $myArray as $i} gave an error.',
),
4 =>
array (
'package' => 'SystemInformation',
0 => 'SystemInformation',
'version' => '1.0',
1 => '1.0',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-12 13:17:15',
3 => '2006-06-12 13:17:15',
'releasenotes' => '- Fixed small CS issues.',
4 => '- Fixed small CS issues.',
),
5 =>
array (
'package' => 'PersistentObjectDatabaseSchemaTiein',
0 => 'PersistentObjectDatabaseSchemaTiein',
'version' => '1.0',
1 => '1.0',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-12 13:17:08',
3 => '2006-06-12 13:17:08',
'releasenotes' => '- Fixed bug #8401: PersistentObjectDatabaseSchemaTieIn error if environment is
not correct.',
4 => '- Fixed bug #8401: PersistentObjectDatabaseSchemaTieIn error if environment is
not correct.',
),
6 =>
array (
'package' => 'PersistentObject',
0 => 'PersistentObject',
'version' => '1.1',
1 => '1.1',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-12 13:17:02',
3 => '2006-06-12 13:17:02',
'releasenotes' => '- Fixed small CS issues.',
4 => '- Fixed small CS issues.',
),
7 =>
array (
'package' => 'Mail',
0 => 'Mail',
'version' => '1.1',
1 => '1.1',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-12 13:16:56',
3 => '2006-06-12 13:16:56',
'releasenotes' => '- Fixed CS issues and tests.',
4 => '- Fixed CS issues and tests.',
),
8 =>
array (
'package' => 'ImageConversion',
0 => 'ImageConversion',
'version' => '1.1',
1 => '1.1',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-12 13:16:53',
3 => '2006-06-12 13:16:53',
'releasenotes' => '- No changes at all.',
4 => '- No changes at all.',
),
9 =>
array (
'package' => 'File',
0 => 'File',
'version' => '1.0',
1 => '1.0',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-12 13:16:43',
3 => '2006-06-12 13:16:43',
'releasenotes' => '- Updated documentation and added tutorial.',
4 => '- Updated documentation and added tutorial.',
),
10 =>
array (
'package' => 'EventLog',
0 => 'EventLog',
'version' => '1.0.1',
1 => '1.0.1',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-12 13:16:32',
3 => '2006-06-12 13:16:32',
'releasenotes' => '- Updated documentation.',
4 => '- Updated documentation.',
),
11 =>
array (
'package' => 'DatabaseSchema',
0 => 'DatabaseSchema',
'version' => '1.0',
1 => '1.0',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-12 13:16:27',
3 => '2006-06-12 13:16:27',
'releasenotes' => '- Updated documentation and added the tutorial.',
4 => '- Updated documentation and added the tutorial.',
),
12 =>
array (
'package' => 'Database',
0 => 'Database',
'version' => '1.1',
1 => '1.1',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-12 13:16:22',
3 => '2006-06-12 13:16:22',
'releasenotes' => '- Fixed bug #8428: LIMIT doesn\'t work correctly, inverted values.',
4 => '- Fixed bug #8428: LIMIT doesn\'t work correctly, inverted values.',
),
13 =>
array (
'package' => 'ConsoleTools',
0 => 'ConsoleTools',
'version' => '1.1',
1 => '1.1',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-12 13:16:11',
3 => '2006-06-12 13:16:11',
'releasenotes' => '- Fixed bug #8460: ConsoleOption is a class and should have properties instead
of public variables.
- Fixed bug #8472: Update documentation for ezcConsoleTableOptions.',
4 => '- Fixed bug #8460: ConsoleOption is a class and should have properties instead
of public variables.
- Fixed bug #8472: Update documentation for ezcConsoleTableOptions.',
),
14 =>
array (
'package' => 'Configuration',
0 => 'Configuration',
'version' => '1.0.2',
1 => '1.0.2',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-12 13:15:57',
3 => '2006-06-12 13:15:57',
'releasenotes' => '- Added a check to insure that the init method is called before fetching a
reader in the manager. If the init method was not called then an
ezcConfigurationManagerNotInitializedException will be thrown.',
4 => '- Added a check to insure that the init method is called before fetching a
reader in the manager. If the init method was not called then an
ezcConfigurationManagerNotInitializedException will be thrown.',
),
15 =>
array (
'package' => 'Cache',
0 => 'Cache',
'version' => '1.1',
1 => '1.1',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-12 13:15:50',
3 => '2006-06-12 13:15:50',
'releasenotes' => '- Fixed tests for Windows.',
4 => '- Fixed tests for Windows.',
),
16 =>
array (
'package' => 'Base',
0 => 'Base',
'version' => '1.1',
1 => '1.1',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-12 13:15:45',
3 => '2006-06-12 13:15:45',
'releasenotes' => '- Fixed bug #8434: ezcBase autoload system does not handle classes without a
prefix.
- Fixed bug #8435: ezcBase::addClassRepository assumes the ezc way of
structuring files. From now on the path specifying the autoload directory is
*not* relative to the repository directory anymore.',
4 => '- Fixed bug #8434: ezcBase autoload system does not handle classes without a
prefix.
- Fixed bug #8435: ezcBase::addClassRepository assumes the ezc way of
structuring files. From now on the path specifying the autoload directory is
*not* relative to the repository directory anymore.',
),
17 =>
array (
'package' => 'Archive',
0 => 'Archive',
'version' => '1.1',
1 => '1.1',
'state' => 'stable',
2 => 'stable',
'releasedate' => '2006-06-12 13:15:38',
3 => '2006-06-12 13:15:38',
'releasenotes' => '- Fixed bug #7987: ezcArchive test in Windows call to undefined function
symlink().',
4 => '- Fixed bug #7987: ezcArchive test in Windows call to undefined function
symlink().',
),
18 =>
array (
'package' => 'Template',
0 => 'Template',
'version' => '1.0RC1',
1 => '1.0RC1',
'state' => 'beta',
2 => 'beta',
'releasedate' => '2006-05-29 14:32:54',
3 => '2006-05-29 14:32:54',
'releasenotes' => '- Added "web" functions.
- Added "date" functions.
- Added the raw tag that outputs raw, without context, values.
- Fixed a bug that arrays and properties could not be send as expression
part of the include construct. E.g. {include "abc.ezt" send $a[0] as $b}
- Fixed a bug that property fetches were ignored after the first fetch.
E.g. {$obj->prop1->prop2}
- Fixed a bug that the variable is declared in the \'as\' part of the include.
E.g. {include "abc.ezt" send $a as $b}, $b was declared.
- Fixed a bug that using parenthesis in an \'if\' block gave an error message.
E.g. {if ( true ) }
- Fixed a bug that a function call after a property fetch would give an error
message. E.g. {$mail->myProp} {str_len( $mail->myProp)}
- Fixed a bug that the equal, not equal, identical, not identical could not
compare arrays with arrays and arrays with \'values\'.
- Fixed a bug in the get_class function. Due to a spelling error it would
throw a PHP Fatal Error.
- Fixed a bug that blanks between the pre-operator and operand were not
allowed. E.g. {5 + - 3}
- Fixed a bug that the break and continue tags could contain garbage.
E.g. {break abcd}
- Fixed a bug that the column number in error messages were incorrect.
- Fixed a bug that the hash_intersect_key function was mapped wrong.
- Fixed bug #8280: Array assignment with non-constants not working.
- All compile errors throw the ezcTemplateParserException. Removed the
ezcTemplateSourceToTstParserException.
- Renamed the functions: str_trimmed, str_trimmed_left, str_trimmed_right,
and str_simplified to respectively str_trim, str_trim_left, str_trim_right,
and str_simplify.
- The modulo part of the delimiter is now optional.
- The delimiter does not appear after the last iteration.',
4 => '- Added "web" functions.
- Added "date" functions.
- Added the raw tag that outputs raw, without context, values.
- Fixed a bug that arrays and properties could not be send as expression
part of the include construct. E.g. {include "abc.ezt" send $a[0] as $b}
- Fixed a bug that property fetches were ignored after the first fetch.
E.g. {$obj->prop1->prop2}
- Fixed a bug that the variable is declared in the \'as\' part of the include.
E.g. {include "abc.ezt" send $a as $b}, $b was declared.
- Fixed a bug that using parenthesis in an \'if\' block gave an error message.
E.g. {if ( true ) }
- Fixed a bug that a function call after a property fetch would give an error
message. E.g. {$mail->myProp} {str_len( $mail->myProp)}
- Fixed a bug that the equal, not equal, identical, not identical could not
compare arrays with arrays and arrays with \'values\'.
- Fixed a bug in the get_class function. Due to a spelling error it would
throw a PHP Fatal Error.
- Fixed a bug that blanks between the pre-operator and operand were not
allowed. E.g. {5 + - 3}
- Fixed a bug that the break and continue tags could contain garbage.
E.g. {break abcd}
- Fixed a bug that the column number in error messages were incorrect.
- Fixed a bug that the hash_intersect_key function was mapped wrong.
- Fixed bug #8280: Array assignment with non-constants not working.
- All compile errors throw the ezcTemplateParserException. Removed the
ezcTemplateSourceToTstParserException.
- Renamed the functions: str_trimmed, str_trimmed_left, str_trimmed_right,
and str_simplified to respectively str_trim, str_trim_left, str_trim_right,
and str_simplify.
- The modulo part of the delimiter is now optional.
- The delimiter does not appear after the last iteration.',
),
19 =>
array (
'package' => 'Archive',
0 => 'Archive',
'version' => '1.1RC1',
1 => '1.1RC1',
'state' => 'beta',
2 => 'beta',
'releasedate' => '2006-05-29 13:27:38',
3 => '2006-05-29 13:27:38',
'releasenotes' => '- Fixed bug #7987: ezcArchive test in Windows call to undefined function
symlink() in archive.php on line 465.
- Fixed tests to run in Windows environment.',
4 => '- Fixed bug #7987: ezcArchive test in Windows call to undefined function
symlink() in archive.php on line 465.
- Fixed tests to run in Windows environment.',
),
20 =>
array (
'package' => 'Base',
0 => 'Base',
'version' => '1.1RC1',
1 => '1.1RC1',
'state' => 'beta',
2 => 'beta',
'releasedate' => '2006-05-29 13:27:30',
3 => '2006-05-29 13:27:30',
'releasenotes' => '- Fixed bug #8252: Autoloading for external repositories only works for the
first such class.',
4 => '- Fixed bug #8252: Autoloading for external repositories only works for the
first such class.',
),
21 =>
array (
'package' => 'Cache',
0 => 'Cache',
'version' => '1.1RC1',
1 => '1.1RC1',
'state' => 'beta',
2 => 'beta',
'releasedate' => '2006-05-29 13:27:25',
3 => '2006-05-29 13:27:25',
'releasenotes' => '- Fixed bug #8301: ezcCacheStorageFile::search and delete do not work with
identifiers containing slashes.
- Fixed bug #8359: Similar IDs lead to invalid data item count. ATTENTION:
This invalidates all cache items, which consists only of an ID. Please purge
these caches manually.
- Refactored to use the new ezcBaseOptions class.',
4 => '- Fixed bug #8301: ezcCacheStorageFile::search and delete do not work with
identifiers containing slashes.
- Fixed bug #8359: Similar IDs lead to invalid data item count. ATTENTION:
This invalidates all cache items, which consists only of an ID. Please purge
these caches manually.
- Refactored to use the new ezcBaseOptions class.',
),
22 =>
array (
'package' => 'ConsoleTools',
0 => 'ConsoleTools',
'version' => '1.1RC1',
1 => '1.1RC1',
'state' => 'beta',
2 => 'beta',
'releasedate' => '2006-05-29 13:27:18',
3 => '2006-05-29 13:27:18',
'releasenotes' => '- Implemented feature request #7792: Possibility to omit the short options.
- Refactored to use the new ezcBaseOptions class.',
4 => '- Implemented feature request #7792: Possibility to omit the short options.
- Refactored to use the new ezcBaseOptions class.',
),
23 =>
array (
'package' => 'Database',
0 => 'Database',
'version' => '1.1RC1',
1 => '1.1RC1',
'state' => 'beta',
2 => 'beta',
'releasedate' => '2006-05-29 13:27:12',
3 => '2006-05-29 13:27:12',
'releasenotes' => '- Added examples of using multi-join and subselect syntax to the tutorial.',
4 => '- Added examples of using multi-join and subselect syntax to the tutorial.',
),
24 =>
array (
'package' => 'DatabaseSchema',
0 => 'DatabaseSchema',
'version' => '1.0RC1',
1 => '1.0RC1',
'state' => 'beta',
2 => 'beta',
'releasedate' => '2006-05-29 13:27:07',
3 => '2006-05-29 13:27:07',
'releasenotes' => '- No changes at all.',
4 => '- No changes at all.',
),
25 =>
array (
'package' => 'File',
0 => 'File',
'version' => '1.0RC1',
1 => '1.0RC1',
'state' => 'beta',
2 => 'beta',
'releasedate' => '2006-05-29 13:27:00',
3 => '2006-05-29 13:27:00',
'releasenotes' => '- No changes at all.',
4 => '- No changes at all.',
),
26 =>
array (
'package' => 'ImageConversion',
0 => 'ImageConversion',
'version' => '1.1RC1',
1 => '1.1RC1',
'state' => 'beta',
2 => 'beta',
'releasedate' => '2006-05-29 13:26:47',
3 => '2006-05-29 13:26:47',
'releasenotes' => '- No changes at all.',
4 => '- No changes at all.',
),
27 =>
array (
'package' => 'Mail',
0 => 'Mail',
'version' => '1.1RC1',
1 => '1.1RC1',
'state' => 'beta',
2 => 'beta',
'releasedate' => '2006-05-29 13:26:36',
3 => '2006-05-29 13:26:36',
'releasenotes' => '- Added the ezcMailTools::replyToMail() method that will create a reply
message with the correct headers set (from, to, cc, ,subject, references and
in-reply-to) based on an existing mail message.
- Added workaround for bug #8271: Mail parsing bug in email with PGP signature.
We don\'t support GPG at the moment, however we now recognize it and ignore keys
and signatures.
- Added the ezcMailSmtpTransport::keepConnection() method. This allows keeping
the connection open when sending several mails.
- Added the ezcMail::messageID property which represents the ID of a mail
message.
- Added the ezcMail::timestamp property which is generated from the Date
header.
- Added the ezcMailMboxTransport and changed ezcMailMboxSet to work together
with that one.
- Added $encoding parameter to ezcMailTools::parseMailAddress and
ezcMailTools::parseMailAddresses. This allows you to parse not only
RFC822 compliant address strings but also address strings in local
encoding. This is useful when ezcMailAddress items directly from
user inserted address string (e.g from a composer window).
- Implemented feature request #8266: Property for the Content-Disposition
stuff on the ezcMailPart level. Implemented for both parsing and sending.
- Changed mime string decoding to be more robust by trying to work around
common mistakes by MUAs.
- Changed the way how character sets are handled. From now on all text parts
will automatically be converted to UTF-8. The original character set
belonging to the e-mail is stored in the originalCharset property, while the
charset property will now always return "UTF-8" for text parts.
- Changed header storage so that headers are now stored case sensitive but
retrieved case insensitive. This is useful since headers are case
insensitive, but do have a preferred case. When fetching headers it is handy
not to have to try all possible permutations.
- Fixed a bug where parsing would fail because there was no trailing \';\' in
the Content-Type field.
- Fixed an issue where mime decoding of headers failed because of a bug in
PHP.',
4 => '- Added the ezcMailTools::replyToMail() method that will create a reply
message with the correct headers set (from, to, cc, ,subject, references and
in-reply-to) based on an existing mail message.
- Added workaround for bug #8271: Mail parsing bug in email with PGP signature.
We don\'t support GPG at the moment, however we now recognize it and ignore keys
and signatures.
- Added the ezcMailSmtpTransport::keepConnection() method. This allows keeping
the connection open when sending several mails.
- Added the ezcMail::messageID property which represents the ID of a mail
message.
- Added the ezcMail::timestamp property which is generated from the Date
header.
- Added the ezcMailMboxTransport and changed ezcMailMboxSet to work together
with that one.
- Added $encoding parameter to ezcMailTools::parseMailAddress and
ezcMailTools::parseMailAddresses. This allows you to parse not only
RFC822 compliant address strings but also address strings in local
encoding. This is useful when ezcMailAddress items directly from
user inserted address string (e.g from a composer window).
- Implemented feature request #8266: Property for the Content-Disposition
stuff on the ezcMailPart level. Implemented for both parsing and sending.
- Changed mime string decoding to be more robust by trying to work around
common mistakes by MUAs.
- Changed the way how character sets are handled. From now on all text parts
will automatically be converted to UTF-8. The original character set
belonging to the e-mail is stored in the originalCharset property, while the
charset property will now always return "UTF-8" for text parts.
- Changed header storage so that headers are now stored case sensitive but
retrieved case insensitive. This is useful since headers are case
insensitive, but do have a preferred case. When fetching headers it is handy
not to have to try all possible permutations.
- Fixed a bug where parsing would fail because there was no trailing \';\' in
the Content-Type field.
- Fixed an issue where mime decoding of headers failed because of a bug in
PHP.',
),
28 =>
array (
'package' => 'PersistentObject',
0 => 'PersistentObject',
'version' => '1.1RC1',
1 => '1.1RC1',
'state' => 'beta',
2 => 'beta',
'releasedate' => '2006-05-29 13:26:29',
3 => '2006-05-29 13:26:29',
'releasenotes' => '- Implemented feature request 8248: ezcPersistentSession should throw more
descriptive exceptions.',
4 => '- Implemented feature request 8248: ezcPersistentSession should throw more
descriptive exceptions.',
),
29 =>
array (
'package' => 'PersistentObjectDatabaseSchemaTiein',
0 => 'PersistentObjectDatabaseSchemaTiein',
'version' => '1.0RC1',
1 => '1.0RC1',
'state' => 'beta',
2 => 'beta',
'releasedate' => '2006-05-29 13:26:23',
3 => '2006-05-29 13:26:23',
'releasenotes' => '- No changes at all.',
4 => '- No changes at all.',
),
);
?>

29
slides/ezc/feed.php Normal file
View File

@@ -0,0 +1,29 @@
<pre style="font-size: 11px;">
<?php
require 'ezc-setup.php';
// setup feed and content module
$feed = ezcFeed::create( 'rss2' );
$feed->title = 'eZ components release feed';
$feed->link = 'http://components.ez.no/';
$feed->description = <<<ENDL
This feed shows all the latest components releases.
ENDL;
$feed->copyright = "eZ systems A.S.";
$feed->language = 'en-us';
// load data
$stmt = require 'feed-data.php';
foreach( $stmt as $release )
{
$item = $feed->newItem();
$item->title = "{$release['package']} {$release['version']}";
$item->link = "http://ez.no/doc/components/view/latest/(file)/changelog_{$release['package']}.html";
$item->description = $release['releasenotes'];
$item->published = $release['releasedate'];
$item->guid = md5( $item->title );
}
echo htmlspecialchars( $feed->generate() );
?>

BIN
slides/ezc/font.ttf Normal file

Binary file not shown.

30
slides/ezc/graph1.php Normal file
View File

@@ -0,0 +1,30 @@
<?php
require 'ezc-setup.php';
list( $domains, $ips ) = require 'data-graph1.php';
$chart = ezcGraph::create( 'Line' );
$chart->title = 'PHP Usage Statistics';
$chart->palette = 'Tango';
$chart->options->padding = 10;
$chart->options->fillLines = 230;
$chart->legend->symbolSize = 7;
$chart->legend->title = "Legend";
$chart->legend->padding = 3;
$chart->options->font = dirname(__FILE__) . '/font.ttf';
$chart->xAxis->font->maxFontSize = 10;
$chart->yAxis->grid = '#aaaaaa';
$chart->yAxis->axisSpace = 0.2;
$chart->title->font->maxFontSize = 20;
$chart['domains'] = $domains;
$chart['domains']->label = 'Domains';
$chart['ips'] = $ips;
$chart['ips']->label = 'IP addresses';
$chart->driver = new ezcGraphGdDriver();
$chart->render( 700, 400, '/tmp/graph1.png' );
?>

BIN
slides/ezc/graph1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

24
slides/ezc/graph2.php Normal file
View File

@@ -0,0 +1,24 @@
<?php
require 'ezc-setup.php';
$chart = ezcGraph::create( 'Pie' );
$chart->title = 'Browser Partitioning';
$chart->palette = 'Tango';
$chart['browser'] = array(
'Firefox' => 10001,
'IE5' => 698,
'IE6' => 17383,
'IE7' => 708,
'Netscape' => 871,
'Opera' => 584,
);
$chart['browser']->highlight['Firefox'] = true;
$chart->title->font = dirname(__FILE__) . '/font.ttf';
$chart->title->font->maxFontSize = 20;
$chart->driver = new ezcGraphGdDriver();
$chart->options->font = dirname(__FILE__) . '/font.ttf';
$chart->options->maxLabelHeight = 0.08;
$chart->render( 700, 400, '/tmp/graph2.png' );
?>

BIN
slides/ezc/graph2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

View File

@@ -5,14 +5,14 @@
<blurb>Installation:</blurb>
<example><![CDATA[// download the bundle from http://ez.no/download/ez_components
tar -xjf ezcomponents-1.1beta1.tar.bz2
tar -xjf ezcomponents-1.1.tar.bz2
pwd]]></example>
<break lines="3"/>
<blurb>Setup:</blurb>
<example result='1'><![CDATA[<?php
ini_set( 'include_path', '/home/httpd/ezcomponents/trunk:.' );
ini_set( 'include_path', '/home/httpd/ezcomponents-1.1:.' );
require 'Base/src/base.php';
function __autoload( $className )

View File

@@ -5,7 +5,7 @@
<break lines="3"/>
<blurb class="event">:-:title:-:</blurb>
<break/>
<blurb class="event-date">:-:event:-:</blurb>
<blurb class="event-date">:-:event:-: - :-:location:-:</blurb>
<break/>
<blurb class="event-presenter">Derick Rethans - dr@ez.no</blurb>
<break/>