Updating vendors

1.10.x
Julio Montoya 12 years ago
parent 2f8e14ba38
commit ce8571e88a
  1. 2
      vendor/autoload.php
  2. 1
      vendor/bin/generate_vcards
  3. 1
      vendor/bin/vobject
  4. 16
      vendor/chamilo/chash/src/Chash/Command/Installation/CommonCommand.php
  5. 1
      vendor/chamilo/chash/src/Chash/Command/Installation/InstallCommand.php
  6. 76
      vendor/chamilo/chash/src/Chash/Resources/Database/1.10.0/db_main.sql
  7. 34
      vendor/chamilo/chash/src/Chash/Resources/Database/1.10.0/migrate-db-1.9.0-1.10.0-pre.sql
  8. 74
      vendor/composer/autoload_classmap.php
  9. 11
      vendor/composer/autoload_namespaces.php
  10. 10
      vendor/composer/autoload_real.php
  11. 1498
      vendor/composer/installed.json
  12. 6
      vendor/filp/whoops/README.md
  13. 1
      vendor/filp/whoops/composer.json
  14. 12
      vendor/filp/whoops/docs/API Documentation.md
  15. 2
      vendor/filp/whoops/tests/Whoops/RunTest.php
  16. 8
      vendor/guzzle/guzzle/.travis.yml
  17. 21
      vendor/guzzle/guzzle/CHANGELOG.md
  18. 188
      vendor/guzzle/guzzle/README.md
  19. 14
      vendor/guzzle/guzzle/composer.json
  20. 7
      vendor/guzzle/guzzle/docs/_templates/index.html
  21. 1
      vendor/guzzle/guzzle/docs/conf.py
  22. 4
      vendor/guzzle/guzzle/docs/getting-started/installation.rst
  23. 4
      vendor/guzzle/guzzle/docs/http-client/client.rst
  24. 2
      vendor/guzzle/guzzle/docs/http-client/request.rst
  25. 4
      vendor/guzzle/guzzle/docs/iterators/guzzle-iterators.rst
  26. 2
      vendor/guzzle/guzzle/docs/webservice-client/guzzle-service-descriptions.rst
  27. 12
      vendor/guzzle/guzzle/phar-stub.php
  28. 4
      vendor/guzzle/guzzle/phing/imports/deploy.xml
  29. 2
      vendor/guzzle/guzzle/src/Guzzle/Common/Version.php
  30. 54
      vendor/guzzle/guzzle/src/Guzzle/Http/Client.php
  31. 8
      vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMulti.php
  32. 9
      vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMultiProxy.php
  33. 2
      vendor/guzzle/guzzle/src/Guzzle/Http/Message/Request.php
  34. 49
      vendor/guzzle/guzzle/src/Guzzle/Http/QueryString.php
  35. 469
      vendor/guzzle/guzzle/src/Guzzle/Http/Resources/cacert.pem
  36. 1
      vendor/guzzle/guzzle/src/Guzzle/Http/Resources/cacert.pem.md5
  37. 23
      vendor/guzzle/guzzle/src/Guzzle/Http/Url.php
  38. 2
      vendor/guzzle/guzzle/src/Guzzle/Iterator/composer.json
  39. 2
      vendor/guzzle/guzzle/src/Guzzle/Log/MonologLogAdapter.php
  40. 47
      vendor/guzzle/guzzle/src/Guzzle/Parser/Cookie/CookieParser.php
  41. 8
      vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultRevalidation.php
  42. 27
      vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/Cookie.php
  43. 15
      vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookieJar/ArrayCookieJar.php
  44. 2
      vendor/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/ErrorResponsePlugin.php
  45. 19
      vendor/guzzle/guzzle/src/Guzzle/Plugin/Mock/MockPlugin.php
  46. 5
      vendor/guzzle/guzzle/src/Guzzle/Plugin/Oauth/OauthPlugin.php
  47. 4
      vendor/guzzle/guzzle/src/Guzzle/Service/Client.php
  48. 2
      vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/XmlVisitor.php
  49. 5
      vendor/guzzle/guzzle/src/Guzzle/Service/Description/SchemaValidator.php
  50. 4
      vendor/guzzle/guzzle/tests/Guzzle/Tests/GuzzleTestCase.php
  51. 9
      vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/ClientTest.php
  52. 4
      vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlHandleTest.php
  53. 18
      vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlMultiProxyTest.php
  54. 5
      vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/RequestFactoryTest.php
  55. 14
      vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/RequestTest.php
  56. 13
      vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryStringTest.php
  57. 7
      vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/UrlTest.php
  58. 90
      vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Cookie/CookieParserProvider.php
  59. 4
      vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DefaultRevalidationTest.php
  60. 32
      vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieJar/ArrayCookieJarTest.php
  61. 17
      vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieTest.php
  62. 3
      vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Mock/MockPluginTest.php
  63. 16
      vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Oauth/OauthPluginTest.php
  64. 13
      vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/ClientTest.php
  65. 10
      vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/CommandTest.php
  66. 16
      vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/XmlVisitorTest.php
  67. 1
      vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/ResourceIteratorTest.php
  68. 40
      vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/test_service_3.json
  69. 1
      vendor/imagine/imagine/CHANGELOG.md
  70. 2
      vendor/imagine/imagine/README.md
  71. 43
      vendor/imagine/imagine/docs/API/API/Imagine/Exception/NotSupportedException.html
  72. 32
      vendor/imagine/imagine/docs/API/API/Imagine/Filter/Transformation.html
  73. 14
      vendor/imagine/imagine/docs/API/API/Imagine/Gd/Drawer.html
  74. 4
      vendor/imagine/imagine/docs/API/API/Imagine/Gd/Effects.html
  75. 56
      vendor/imagine/imagine/docs/API/API/Imagine/Gd/Image.html
  76. 10
      vendor/imagine/imagine/docs/API/API/Imagine/Gd/Imagine.html
  77. 18
      vendor/imagine/imagine/docs/API/API/Imagine/Gmagick/Drawer.html
  78. 8
      vendor/imagine/imagine/docs/API/API/Imagine/Gmagick/Effects.html
  79. 48
      vendor/imagine/imagine/docs/API/API/Imagine/Gmagick/Image.html
  80. 12
      vendor/imagine/imagine/docs/API/API/Imagine/Gmagick/Imagine.html
  81. 28
      vendor/imagine/imagine/docs/API/API/Imagine/Gmagick/Layers.html
  82. 177
      vendor/imagine/imagine/docs/API/API/Imagine/Image/AbstractImage.html
  83. 134
      vendor/imagine/imagine/docs/API/API/Imagine/Image/AbstractImagine.html
  84. 18
      vendor/imagine/imagine/docs/API/API/Imagine/Image/Box.html
  85. 2
      vendor/imagine/imagine/docs/API/API/Imagine/Image/Histogram/Range.html
  86. 60
      vendor/imagine/imagine/docs/API/API/Imagine/Image/Metadata.html
  87. 203
      vendor/imagine/imagine/docs/API/API/Imagine/Image/Metadata/AbstractMetadataReader.html
  88. 207
      vendor/imagine/imagine/docs/API/API/Imagine/Image/Metadata/DefaultMetadataReader.html
  89. 235
      vendor/imagine/imagine/docs/API/API/Imagine/Image/Metadata/ExifMetadataReader.html
  90. 306
      vendor/imagine/imagine/docs/API/API/Imagine/Image/Metadata/MetadataBag.html
  91. 202
      vendor/imagine/imagine/docs/API/API/Imagine/Image/Metadata/MetadataReaderInterface.html
  92. 9
      vendor/imagine/imagine/docs/API/API/Imagine/Image/Metadata/namespace-frame.html
  93. 6
      vendor/imagine/imagine/docs/API/API/Imagine/Image/Palette/CMYK.html
  94. 24
      vendor/imagine/imagine/docs/API/API/Imagine/Image/Palette/Color/CMYK.html
  95. 18
      vendor/imagine/imagine/docs/API/API/Imagine/Image/Palette/Color/Gray.html
  96. 22
      vendor/imagine/imagine/docs/API/API/Imagine/Image/Palette/Color/RGB.html
  97. 10
      vendor/imagine/imagine/docs/API/API/Imagine/Image/Palette/Grayscale.html
  98. 4
      vendor/imagine/imagine/docs/API/API/Imagine/Image/Palette/RGB.html
  99. 10
      vendor/imagine/imagine/docs/API/API/Imagine/Image/Point.html
  100. 14
      vendor/imagine/imagine/docs/API/API/Imagine/Imagick/Drawer.html
  101. Some files were not shown because too many files have changed in this diff Show More

@ -4,4 +4,4 @@
require_once __DIR__ . '/composer' . '/autoload_real.php';
return ComposerAutoloaderInitf4df0055480c4a6738498545f1ec0cfd::getLoader();
return ComposerAutoloaderInitbbdc7dea11a66b6e7562e6c0fd58031a::getLoader();

@ -0,0 +1 @@
../sabre/vobject/bin/generate_vcards

@ -0,0 +1 @@
../sabre/vobject/bin/vobject

@ -30,16 +30,16 @@ class CommonCommand extends AbstractCommand
private $migrationConfigurationFile;
/**
* @param array $configuration
*/
* @param array $configuration
*/
public function setConfigurationArray(array $configuration)
{
$this->configuration = $configuration;
}
/**
* @return array
*/
* @return array
*/
public function getConfigurationArray()
{
return $this->configuration;
@ -116,8 +116,8 @@ class CommonCommand extends AbstractCommand
}
/**
* @param array $databaseSettings
*/
* @param array $databaseSettings
*/
public function setExtraDatabaseSettings(array $databaseSettings)
{
$this->extraDatabaseSettings = $databaseSettings;
@ -503,8 +503,8 @@ class CommonCommand extends AbstractCommand
'parent' => '1.9.0'
),
'1.9.x' => array(
'require_update' => false,
'parent' => '1.9.0'
'require_update' => false,
'parent' => '1.9.0'
),
'1.10.0' => array(
'require_update' => true,

@ -379,7 +379,6 @@ class InstallCommand extends CommonCommand
// Generating config files (auth, profile, etc)
$this->generateConfFiles($output);
$this->writeHtaccess($path);
$output->writeln("<comment>Chamilo was successfully installed here: ".$this->getRootSys()." </comment>");
return 1;

@ -657,10 +657,12 @@ VALUES
('Institution',NULL,'textfield','Platform','{ORGANISATIONNAME}','InstitutionTitle','InstitutionComment','platform',NULL, 1),
('InstitutionUrl',NULL,'textfield','Platform','{ORGANISATIONURL}','InstitutionUrlTitle','InstitutionUrlComment',NULL,NULL, 1),
('siteName',NULL,'textfield','Platform','{CAMPUSNAME}','SiteNameTitle','SiteNameComment',NULL,NULL, 1),
('emailAdministrator',NULL,'textfield','Platform','{ADMINEMAIL}','emailAdministratorTitle','emailAdministratorComment',NULL,NULL, 1),
('administratorSurname',NULL,'textfield','Platform','{ADMINLASTNAME}','administratorSurnameTitle','administratorSurnameComment',NULL,NULL, 1),
('administratorName',NULL,'textfield','Platform','{ADMINFIRSTNAME}','administratorNameTitle','administratorNameComment',NULL,NULL, 1),
('show_administrator_data',NULL,'radio','Platform','true','ShowAdministratorDataTitle','ShowAdministratorDataComment',NULL,NULL, 1),
('noreply_email_address', '', 'textfield', 'Platform', '', 'NoReplyEmailAddress', 'NoReplyEmailAddressComment', NULL, NULL, 0),
('emailAdministrator',NULL,'textfield','Admin','{ADMINEMAIL}','emailAdministratorTitle','emailAdministratorComment',NULL,NULL, 1),
('administratorSurname',NULL,'textfield','Admin','{ADMINLASTNAME}','administratorSurnameTitle','administratorSurnameComment',NULL,NULL, 1),
('administratorName',NULL,'textfield','Admin','{ADMINFIRSTNAME}','administratorNameTitle','administratorNameComment',NULL,NULL, 1),
('administratorTelephone',NULL,'textfield','Admin','(000) 001 02 03','administratorTelephoneTitle','administratorTelephoneComment',NULL,NULL, 1),
('show_administrator_data',NULL,'radio','Admin','true','ShowAdministratorDataTitle','ShowAdministratorDataComment',NULL,NULL, 1),
('show_tutor_data',NULL,'radio','Session','true','ShowTutorDataTitle','ShowTutorDataComment',NULL,NULL, 1),
('show_teacher_data',NULL,'radio','Platform','true','ShowTeacherDataTitle','ShowTeacherDataComment',NULL,NULL, 1),
('homepage_view',NULL,'radio','Course','activity_big','HomepageViewTitle','HomepageViewComment',NULL,NULL, 1),
@ -679,13 +681,13 @@ VALUES
('profile','password','checkbox','User','true','ProfileChangesTitle','ProfileChangesComment',NULL,'UserPassword', 0),
('profile','language','checkbox','User','true','ProfileChangesTitle','ProfileChangesComment',NULL,'Language', 0),
('default_document_quotum',NULL,'textfield','Course','100000000','DefaultDocumentQuotumTitle','DefaultDocumentQuotumComment',NULL,NULL, 0),
('registration','officialcode','checkbox','User','false','RegistrationRequiredFormsTitle','RegistrationRequiredFormsComment',NULL,'OfficialCode', 0),
('registration','email','checkbox','User','true','RegistrationRequiredFormsTitle','RegistrationRequiredFormsComment',NULL,'Email', 0),
('registration','language','checkbox','User','true','RegistrationRequiredFormsTitle','RegistrationRequiredFormsComment',NULL,'Language', 0),
('registration','officialcode','checkbox','Registration','false','RegistrationRequiredFormsTitle','RegistrationRequiredFormsComment',NULL,'OfficialCode', 0),
('registration','email','checkbox','Registration','true','RegistrationRequiredFormsTitle','RegistrationRequiredFormsComment',NULL,'Email', 0),
('registration','language','checkbox','Registration','true','RegistrationRequiredFormsTitle','RegistrationRequiredFormsComment',NULL,'Language', 0),
('default_group_quotum',NULL,'textfield','Course','5000000','DefaultGroupQuotumTitle','DefaultGroupQuotumComment',NULL,NULL, 0),
('allow_registration',NULL,'radio','Platform','{ALLOWSELFREGISTRATION}','AllowRegistrationTitle','AllowRegistrationComment',NULL,NULL, 0),
('allow_registration_as_teacher',NULL,'radio','Platform','{ALLOWTEACHERSELFREGISTRATION}','AllowRegistrationAsTeacherTitle','AllowRegistrationAsTeacherComment',NULL,NULL, 0),
('allow_lostpassword',NULL,'radio','Platform','true','AllowLostPasswordTitle','AllowLostPasswordComment',NULL,NULL, 0),
('allow_registration',NULL,'radio','Registration','{ALLOWSELFREGISTRATION}','AllowRegistrationTitle','AllowRegistrationComment',NULL,NULL, 0),
('allow_registration_as_teacher',NULL,'radio','Registration','{ALLOWTEACHERSELFREGISTRATION}','AllowRegistrationAsTeacherTitle','AllowRegistrationAsTeacherComment',NULL,NULL, 0),
('allow_lostpassword',NULL,'radio','Registration','true','AllowLostPasswordTitle','AllowLostPasswordComment',NULL,NULL, 0),
('allow_user_headings',NULL,'radio','Course','false','AllowUserHeadings','AllowUserHeadingsComment',NULL,NULL, 0),
('course_create_active_tools','course_description','checkbox','Tools','true','CourseCreateActiveToolsTitle','CourseCreateActiveToolsComment',NULL,'CourseDescription', 0),
('course_create_active_tools','agenda','checkbox','Tools','true','CourseCreateActiveToolsTitle','CourseCreateActiveToolsComment',NULL,'Agenda', 0),
@ -702,8 +704,8 @@ VALUES
('course_create_active_tools','online_conference','checkbox','Tools','true','CourseCreateActiveToolsTitle','CourseCreateActiveToolsComment',NULL,'OnlineConference', 0),
('course_create_active_tools','student_publications','checkbox','Tools','true','CourseCreateActiveToolsTitle','CourseCreateActiveToolsComment',NULL,'StudentPublications', 0),
('allow_personal_agenda',NULL,'radio','User','true','AllowPersonalAgendaTitle','AllowPersonalAgendaComment',NULL,NULL, 0),
('display_coursecode_in_courselist',NULL,'radio','Platform','false','DisplayCourseCodeInCourselistTitle','DisplayCourseCodeInCourselistComment',NULL,NULL, 0),
('display_teacher_in_courselist',NULL,'radio','Platform','true','DisplayTeacherInCourselistTitle','DisplayTeacherInCourselistComment',NULL,NULL, 0),
('display_coursecode_in_courselist',NULL,'radio','Course','false','DisplayCourseCodeInCourselistTitle','DisplayCourseCodeInCourselistComment',NULL,NULL, 0),
('display_teacher_in_courselist',NULL,'radio','Course','true','DisplayTeacherInCourselistTitle','DisplayTeacherInCourselistComment',NULL,NULL, 0),
('permanently_remove_deleted_files',NULL,'radio','Tools','false','PermanentlyRemoveFilesTitle','PermanentlyRemoveFilesComment',NULL,NULL, 0),
('dropbox_allow_overwrite',NULL,'radio','Tools','true','DropboxAllowOverwriteTitle','DropboxAllowOverwriteComment',NULL,NULL, 0),
('dropbox_max_filesize',NULL,'textfield','Tools','100000000','DropboxMaxFilesizeTitle','DropboxMaxFilesizeComment',NULL,NULL, 0),
@ -711,12 +713,11 @@ VALUES
('dropbox_allow_student_to_student',NULL,'radio','Tools','true','DropboxAllowStudentToStudentTitle','DropboxAllowStudentToStudentComment',NULL,NULL, 0),
('dropbox_allow_group',NULL,'radio','Tools','true','DropboxAllowGroupTitle','DropboxAllowGroupComment',NULL,NULL, 0),
('dropbox_allow_mailing',NULL,'radio','Tools','false','DropboxAllowMailingTitle','DropboxAllowMailingComment',NULL,NULL, 0),
('administratorTelephone',NULL,'textfield','Platform','(000) 001 02 03','administratorTelephoneTitle','administratorTelephoneComment',NULL,NULL, 1),
('extended_profile',NULL,'radio','User','false','ExtendedProfileTitle','ExtendedProfileComment',NULL,NULL, 0),
('student_view_enabled',NULL,'radio','Platform','true','StudentViewEnabledTitle','StudentViewEnabledComment',NULL,NULL, 0),
('student_view_enabled',NULL,'radio','Course','true','StudentViewEnabledTitle','StudentViewEnabledComment',NULL,NULL, 0),
('show_navigation_menu',NULL,'radio','Course','false','ShowNavigationMenuTitle','ShowNavigationMenuComment',NULL,NULL, 0),
('enable_tool_introduction',NULL,'radio','course','false','EnableToolIntroductionTitle','EnableToolIntroductionComment',NULL,NULL, 0),
('page_after_login', NULL, 'radio','Platform','user_portal.php', 'PageAfterLoginTitle','PageAfterLoginComment', NULL, NULL, 0),
('page_after_login', NULL, 'radio','Registration','user_portal.php', 'PageAfterLoginTitle','PageAfterLoginComment', NULL, NULL, 0),
('time_limit_whosonline', NULL, 'textfield','Platform','30', 'TimeLimitWhosonlineTitle','TimeLimitWhosonlineComment', NULL, NULL, 0),
('breadcrumbs_course_homepage', NULL, 'radio','Course','course_title', 'BreadCrumbsCourseHomepageTitle','BreadCrumbsCourseHomepageComment', NULL, NULL, 0),
('example_material_course_creation', NULL, 'radio','Platform','true', 'ExampleMaterialCourseCreationTitle','ExampleMaterialCourseCreationComment', NULL, NULL, 0),
@ -762,7 +763,6 @@ VALUES
('show_tabs', 'my_profile', 'checkbox', 'Platform', 'true', 'ShowTabsTitle','ShowTabsComment',NULL,'TabsMyProfile', 1),
('default_forum_view', NULL, 'radio', 'Course', 'flat', 'DefaultForumViewTitle','DefaultForumViewComment',NULL,NULL, 0),
('platform_charset',NULL,'textfield','Languages','UTF-8','PlatformCharsetTitle','PlatformCharsetComment','platform',NULL, 0),
('noreply_email_address', '', 'textfield', 'Platform', '', 'NoReplyEmailAddress', 'NoReplyEmailAddressComment', NULL, NULL, 0),
('survey_email_sender_noreply', '', 'radio', 'Course', 'coach', 'SurveyEmailSenderNoReply', 'SurveyEmailSenderNoReplyComment', NULL, NULL, 0),
('openid_authentication',NULL,'radio','Security','false','OpenIdAuthentication','OpenIdAuthenticationComment',NULL,NULL, 0),
('profile','openid','checkbox','User','false','ProfileChangesTitle','ProfileChangesComment',NULL,'OpenIDURL', 0),
@ -773,7 +773,7 @@ VALUES
('gradebook_score_display_colorsplit',NULL,'textfield','Gradebook','50','GradebookScoreDisplayColorSplit','GradebookScoreDisplayColorSplitComment',NULL,NULL, 0),
('gradebook_score_display_upperlimit','my_display_upperlimit','checkbox','Gradebook','false','GradebookScoreDisplayUpperLimit','GradebookScoreDisplayUpperLimitComment',NULL,'TabsGradebookEnableUpperLimit', 0),
('gradebook_number_decimals', NULL, 'select', 'Gradebook', '0', 'GradebookNumberDecimals', 'GradebookNumberDecimalsComment', NULL, NULL, 0),
('user_selected_theme',NULL,'radio','Platform','false','UserThemeSelection','UserThemeSelectionComment',NULL,NULL, 0),
('user_selected_theme',NULL,'radio','User','false','UserThemeSelection','UserThemeSelectionComment',NULL,NULL, 0),
('profile','theme','checkbox','User','false','ProfileChangesTitle','ProfileChangesComment',NULL,'UserTheme', 0),
('allow_course_theme',NULL,'radio','Course','true','AllowCourseThemeTitle','AllowCourseThemeComment',NULL,NULL, 0),
('display_mini_month_calendar',NULL,'radio','Tools', 'true', 'DisplayMiniMonthCalendarTitle', 'DisplayMiniMonthCalendarComment', NULL, NULL, 0),
@ -781,15 +781,15 @@ VALUES
('number_of_upcoming_events',NULL,'textfield','Tools','1','NumberOfUpcomingEventsTitle','NumberOfUpcomingEventsComment',NULL,NULL, 0),
('show_closed_courses',NULL,'radio','Platform','false','ShowClosedCoursesTitle','ShowClosedCoursesComment',NULL,NULL, 0),
('service_visio', 'visio_use_rtmpt', 'radio',null,'false', 'VisioUseRtmptTitle','VisioUseRtmptComment', NULL, NULL, 0),
('extendedprofile_registration', 'mycomptetences', 'checkbox','User','false', 'ExtendedProfileRegistrationTitle','ExtendedProfileRegistrationComment', NULL, 'MyCompetences', 0),
('extendedprofile_registration', 'mydiplomas', 'checkbox','User','false', 'ExtendedProfileRegistrationTitle','ExtendedProfileRegistrationComment', NULL, 'MyDiplomas', 0),
('extendedprofile_registration', 'myteach', 'checkbox','User','false', 'ExtendedProfileRegistrationTitle','ExtendedProfileRegistrationComment', NULL, 'MyTeach', 0),
('extendedprofile_registration', 'mypersonalopenarea', 'checkbox','User','false', 'ExtendedProfileRegistrationTitle','ExtendedProfileRegistrationComment', NULL, 'MyPersonalOpenArea', 0),
('extendedprofile_registrationrequired', 'mycomptetences', 'checkbox','User','false', 'ExtendedProfileRegistrationRequiredTitle','ExtendedProfileRegistrationRequiredComment', NULL, 'MyCompetences', 0),
('extendedprofile_registrationrequired', 'mydiplomas', 'checkbox','User','false', 'ExtendedProfileRegistrationRequiredTitle','ExtendedProfileRegistrationRequiredComment', NULL, 'MyDiplomas', 0),
('extendedprofile_registrationrequired', 'myteach', 'checkbox','User','false', 'ExtendedProfileRegistrationRequiredTitle','ExtendedProfileRegistrationRequiredComment', NULL, 'MyTeach', 0),
('extendedprofile_registrationrequired', 'mypersonalopenarea', 'checkbox','User','false', 'ExtendedProfileRegistrationRequiredTitle','ExtendedProfileRegistrationRequiredComment', NULL, 'MyPersonalOpenArea', 0),
('registration','phone','textfield','User','false','RegistrationRequiredFormsTitle','RegistrationRequiredFormsComment',NULL,'Phone', 0),
('extendedprofile_registration', 'mycomptetences', 'checkbox','Registration','false', 'ExtendedProfileRegistrationTitle','ExtendedProfileRegistrationComment', NULL, 'MyCompetences', 0),
('extendedprofile_registration', 'mydiplomas', 'checkbox','Registration','false', 'ExtendedProfileRegistrationTitle','ExtendedProfileRegistrationComment', NULL, 'MyDiplomas', 0),
('extendedprofile_registration', 'myteach', 'checkbox','Registration','false', 'ExtendedProfileRegistrationTitle','ExtendedProfileRegistrationComment', NULL, 'MyTeach', 0),
('extendedprofile_registration', 'mypersonalopenarea', 'checkbox','Registration','false', 'ExtendedProfileRegistrationTitle','ExtendedProfileRegistrationComment', NULL, 'MyPersonalOpenArea', 0),
('extendedprofile_registrationrequired', 'mycomptetences', 'checkbox','Registration','false', 'ExtendedProfileRegistrationRequiredTitle','ExtendedProfileRegistrationRequiredComment', NULL, 'MyCompetences', 0),
('extendedprofile_registrationrequired', 'mydiplomas', 'checkbox','Registration','false', 'ExtendedProfileRegistrationRequiredTitle','ExtendedProfileRegistrationRequiredComment', NULL, 'MyDiplomas', 0),
('extendedprofile_registrationrequired', 'myteach', 'checkbox','Registration','false', 'ExtendedProfileRegistrationRequiredTitle','ExtendedProfileRegistrationRequiredComment', NULL, 'MyTeach', 0),
('extendedprofile_registrationrequired', 'mypersonalopenarea', 'checkbox','Registration','false', 'ExtendedProfileRegistrationRequiredTitle','ExtendedProfileRegistrationRequiredComment', NULL, 'MyPersonalOpenArea', 0),
('registration','phone','textfield','Registration','false','RegistrationRequiredFormsTitle','RegistrationRequiredFormsComment',NULL,'Phone', 0),
('add_users_by_coach',NULL,'radio','Session','false','AddUsersByCoachTitle','AddUsersByCoachComment',NULL,NULL, 0),
('extend_rights_for_coach',NULL,'radio','Security','false','ExtendRightsForCoachTitle','ExtendRightsForCoachComment',NULL,NULL, 0),
('extend_rights_for_coach_on_survey',NULL,'radio','Security','true','ExtendRightsForCoachOnSurveyTitle','ExtendRightsForCoachOnSurveyComment',NULL,NULL, 0),
@ -811,7 +811,7 @@ VALUES
('show_session_data', NULL, 'radio', 'Session', 'false', 'ShowSessionDataTitle', 'ShowSessionDataComment', NULL, NULL, 1),
('allow_use_sub_language', NULL, 'radio', 'Languages', 'false', 'AllowUseSubLanguageTitle', 'AllowUseSubLanguageComment', NULL, NULL,0),
('show_glossary_in_documents', NULL, 'radio', 'Course', 'none', 'ShowGlossaryInDocumentsTitle', 'ShowGlossaryInDocumentsComment', NULL, NULL,1),
('allow_terms_conditions', NULL, 'radio', 'Platform', 'false', 'AllowTermsAndConditionsTitle', 'AllowTermsAndConditionsComment', NULL, NULL,0),
('allow_terms_conditions', NULL, 'radio', 'Registration', 'false', 'AllowTermsAndConditionsTitle', 'AllowTermsAndConditionsComment', NULL, NULL,0),
('course_create_active_tools','enable_search','checkbox','Tools','false','CourseCreateActiveToolsTitle','CourseCreateActiveToolsComment',NULL,'Search',0),
('search_enabled',NULL,'radio','Search','false','EnableSearchTitle','EnableSearchComment',NULL,NULL,1),
('search_prefilter_prefix',NULL, NULL,'Search','','SearchPrefilterPrefix','SearchPrefilterPrefixComment',NULL,NULL,0),
@ -905,14 +905,14 @@ VALUES
('cas_protocol', NULL, 'radio', 'CAS', '', 'CasMainProtocolTitle', 'CasMainProtocolComment', NULL, NULL, 0),
('cas_add_user_activate', NULL, 'radio', 'CAS', 'false', 'CasUserAddActivateTitle', 'CasUserAddActivateComment', NULL, NULL, 0),
('update_user_info_cas_with_ldap', NULL, 'radio', 'CAS', 'true', 'UpdateUserInfoCasWithLdapTitle', 'UpdateUserInfoCasWithLdapComment', NULL, NULL, 0),
('student_page_after_login', NULL, 'textfield', 'Platform', '', 'StudentPageAfterLoginTitle', 'StudentPageAfterLoginComment', NULL, NULL, 0),
('teacher_page_after_login', NULL, 'textfield', 'Platform', '', 'TeacherPageAfterLoginTitle', 'TeacherPageAfterLoginComment', NULL, NULL, 0),
('drh_page_after_login', NULL, 'textfield', 'Platform', '', 'DRHPageAfterLoginTitle', 'DRHPageAfterLoginComment', NULL, NULL, 0),
('sessionadmin_page_after_login', NULL, 'textfield', 'Session', '', 'SessionAdminPageAfterLoginTitle', 'SessionAdminPageAfterLoginComment', NULL, NULL, 0),
('student_autosubscribe', NULL, 'textfield', 'Platform', '', 'StudentAutosubscribeTitle', 'StudentAutosubscribeComment', NULL, NULL, 0),
('teacher_autosubscribe', NULL, 'textfield', 'Platform', '', 'TeacherAutosubscribeTitle', 'TeacherAutosubscribeComment', NULL, NULL, 0),
('drh_autosubscribe', NULL, 'textfield', 'Platform', '', 'DRHAutosubscribeTitle', 'DRHAutosubscribeComment', NULL, NULL, 0),
('sessionadmin_autosubscribe', NULL, 'textfield', 'Session', '', 'SessionadminAutosubscribeTitle', 'SessionadminAutosubscribeComment', NULL, NULL, 0),
('student_page_after_login', NULL, 'textfield', 'Registration', '', 'StudentPageAfterLoginTitle', 'StudentPageAfterLoginComment', NULL, NULL, 0),
('teacher_page_after_login', NULL, 'textfield', 'Registration', '', 'TeacherPageAfterLoginTitle', 'TeacherPageAfterLoginComment', NULL, NULL, 0),
('drh_page_after_login', NULL, 'textfield', 'Registration', '', 'DRHPageAfterLoginTitle', 'DRHPageAfterLoginComment', NULL, NULL, 0),
('sessionadmin_page_after_login', NULL, 'textfield', 'Registration', '', 'SessionAdminPageAfterLoginTitle', 'SessionAdminPageAfterLoginComment', NULL, NULL, 0),
('student_autosubscribe', NULL, 'textfield', 'Registration', '', 'StudentAutosubscribeTitle', 'StudentAutosubscribeComment', NULL, NULL, 0),
('teacher_autosubscribe', NULL, 'textfield', 'Registration', '', 'TeacherAutosubscribeTitle', 'TeacherAutosubscribeComment', NULL, NULL, 0),
('drh_autosubscribe', NULL, 'textfield', 'Registration', '', 'DRHAutosubscribeTitle', 'DRHAutosubscribeComment', NULL, NULL, 0),
('sessionadmin_autosubscribe', NULL, 'textfield', 'Registration', '', 'SessionadminAutosubscribeTitle', 'SessionadminAutosubscribeComment', NULL, NULL, 0),
('scorm_cumulative_session_time', NULL, 'radio', 'Course', 'true', 'ScormCumulativeSessionTimeTitle', 'ScormCumulativeSessionTimeComment', NULL, NULL, 0),
('allow_hr_skills_management', NULL, 'radio', 'Gradebook', 'true', 'AllowHRSkillsManagementTitle', 'AllowHRSkillsManagementComment', NULL, NULL, 1),
('enable_help_link', NULL, 'radio', 'Platform', 'true', 'EnableHelpLinkTitle', 'EnableHelpLinkComment', NULL, NULL, 0),
@ -924,7 +924,7 @@ VALUES
('languagePriority2', NULL, 'radio', 'Languages','user_profil_lang', 'LanguagePriority2Title', 'LanguagePriority2Comment', NULL, NULL, 0),
('languagePriority3', NULL, 'radio', 'Languages','user_selected_lang', 'LanguagePriority3Title', 'LanguagePriority3Comment', NULL, NULL, 0),
('languagePriority4', NULL, 'radio', 'Languages', 'platform_lang','LanguagePriority4Title', 'LanguagePriority4Comment', NULL, NULL, 0),
('login_is_email', NULL, 'radio', 'Platform', 'false', 'LoginIsEmailTitle', 'LoginIsEmailComment', NULL, NULL, 0),
('login_is_email', NULL, 'radio', 'Registration', 'false', 'LoginIsEmailTitle', 'LoginIsEmailComment', NULL, NULL, 0),
('courses_default_creation_visibility', NULL, 'radio', 'Course', '2', 'CoursesDefaultCreationVisibilityTitle', 'CoursesDefaultCreationVisibilityComment', NULL, NULL, 1),
('allow_browser_sniffer', NULL, 'radio', 'Tuning', 'false', 'AllowBrowserSnifferTitle', 'AllowBrowserSnifferComment', NULL, NULL, 0),
('enable_wami_record',NULL,'radio','Tools','false','EnableWamiRecordTitle','EnableWamiRecordComment',NULL,NULL, 0),
@ -939,7 +939,7 @@ VALUES
('allow_session_admins_to_manage_all_sessions', NULL, 'radio', 'Session', 'false', 'AllowSessionAdminsToSeeAllSessionsTitle', 'AllowSessionAdminsToSeeAllSessionsComment', NULL, NULL, 1),
('allow_skills_tool', NULL, 'radio', 'Platform', 'false', 'AllowSkillsToolTitle', 'AllowSkillsToolComment', NULL, NULL, 1),
('allow_public_certificates', NULL, 'radio', 'Course', 'false', 'AllowPublicCertificatesTitle', 'AllowPublicCertificatesComment', NULL, NULL, 1),
('platform_unsubscribe_allowed', NULL, 'radio', 'Platform', 'false', 'PlatformUnsubscribeTitle', 'PlatformUnsubscribeComment', NULL, NULL, 1),
('platform_unsubscribe_allowed', NULL, 'radio', 'Registration', 'false', 'PlatformUnsubscribeTitle', 'PlatformUnsubscribeComment', NULL, NULL, 1),
('activate_email_template', NULL, 'radio', 'Platform', 'false', 'ActivateEmailTemplateTitle', 'ActivateEmailTemplateComment', NULL, NULL, 0),
('enable_iframe_inclusion', NULL, 'radio', 'Editor', 'false', 'EnableIframeInclusionTitle', 'EnableIframeInclusionComment', NULL, NULL, 1),
('show_hot_courses', NULL, 'radio', 'Platform', 'true', 'ShowHotCoursesTitle', 'ShowHotCoursesComment', NULL, NULL, 1),
@ -3644,4 +3644,4 @@ CREATE TABLE user_session_path (
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- Do not move this
UPDATE settings_current SET selected_value = '1.10.0.061' WHERE variable = 'chamilo_database_version';
UPDATE settings_current SET selected_value = '1.10.0.062' WHERE variable = 'chamilo_database_version';

@ -221,5 +221,37 @@ INSERT INTO branch_transaction_status VALUES (1, 'To be executed'), (2, 'Execute
UPDATE course_field SET field_type = 3 WHERE field_variable = 'special_course';
UPDATE settings_current SET category = 'Admin' WHERE variable = 'emailAdministrator';
UPDATE settings_current SET category = 'Admin' WHERE variable = 'administratorSurname';
UPDATE settings_current SET category = 'Admin' WHERE variable = 'administratorName';
UPDATE settings_current SET category = 'Admin' WHERE variable = 'show_administrator_data';
UPDATE settings_current SET category = 'Admin' WHERE variable = 'administratorTelephone';
UPDATE settings_current SET category = 'Registration' WHERE variable = 'allow_registration';
UPDATE settings_current SET category = 'Registration' WHERE variable = 'allow_registration_as_teacher';
UPDATE settings_current SET category = 'Registration' WHERE variable = 'allow_lostpassword';
UPDATE settings_current SET category = 'Registration' WHERE variable = 'page_after_login';
UPDATE settings_current SET category = 'Registration' WHERE variable = 'allow_terms_conditions';
UPDATE settings_current SET category = 'Registration' WHERE variable = 'student_page_after_login';
UPDATE settings_current SET category = 'Registration' WHERE variable = 'teacher_page_after_login';
UPDATE settings_current SET category = 'Registration' WHERE variable = 'drh_page_after_login';
UPDATE settings_current SET category = 'Registration' WHERE variable = 'student_autosubscribe';
UPDATE settings_current SET category = 'Registration' WHERE variable = 'teacher_autosubscribe';
UPDATE settings_current SET category = 'Registration' WHERE variable = 'drh_autosubscribe';
UPDATE settings_current SET category = 'Registration' WHERE variable = 'platform_unsubscribe_allowed';
UPDATE settings_current SET category = 'Registration' WHERE variable = 'teacher_page_after_login';
UPDATE settings_current SET category = 'Registration' WHERE variable = 'registration';
UPDATE settings_current SET category = 'Registration' WHERE variable = 'extendedprofile_registration';
UPDATE settings_current SET category = 'Registration' WHERE variable = 'extendedprofile_registrationrequired';
UPDATE settings_current SET category = 'Registration' WHERE variable = 'login_is_email';
UPDATE settings_current SET category = 'Course' WHERE variable = 'display_coursecode_in_courselist';
UPDATE settings_current SET category = 'Course' WHERE variable = 'display_teacher_in_courselist';
UPDATE settings_current SET category = 'Course' WHERE variable = 'student_view_enabled';
UPDATE settings_current SET category = 'Course' WHERE variable = 'course_validation';
UPDATE settings_current SET category = 'User' WHERE variable = 'user_selected_theme';
-- Do not move this
UPDATE settings_current SET selected_value = '1.10.0.061' WHERE variable = 'chamilo_database_version';
UPDATE settings_current SET selected_value = '1.10.0.062' WHERE variable = 'chamilo_database_version';

@ -75,7 +75,7 @@ return array(
'CourseSelectForm' => $baseDir . '/main/coursecopy/classes/CourseSelectForm.class.php',
'CourseSession' => $baseDir . '/main/coursecopy/classes/CourseSession.class.php',
'CoursesController' => $baseDir . '/main/auth/courses_controller.php',
'Cpdf' => $baseDir . '/main/inc/lib/ezpdf/class.pdf.php',
'Cpdf' => $baseDir . '/main/inc/lib/phpdocx/pdf/lib/class.pdf.php',
'CreateChartRels' => $baseDir . '/main/inc/lib/phpdocx/classes/CreateChartRels.inc',
'CreateDocx' => $baseDir . '/main/inc/lib/phpdocx/classes/CreateDocx.inc',
'CreateElement' => $baseDir . '/main/inc/lib/phpdocx/classes/CreateElement.inc',
@ -170,6 +170,9 @@ return array(
'DashboardManager' => $baseDir . '/main/inc/lib/dashboard.lib.php',
'DataForm' => $baseDir . '/main/gradebook/lib/fe/dataform.class.php',
'Database' => $baseDir . '/main/inc/lib/database.lib.php',
'DatePicker' => $baseDir . '/main/inc/lib/formvalidator/Element/DatePicker.php',
'DateRangePicker' => $baseDir . '/main/inc/lib/formvalidator/Element/DateRangePicker.php',
'DateTimePicker' => $baseDir . '/main/inc/lib/formvalidator/Element/DateTimePicker.php',
'Diagnoser' => $baseDir . '/main/inc/lib/diagnoser.lib.php',
'Display' => $baseDir . '/main/inc/lib/display.lib.php',
'DisplayGradebook' => $baseDir . '/main/gradebook/lib/fe/displaygradebook.php',
@ -212,7 +215,7 @@ return array(
'ForumThreadLink' => $baseDir . '/main/gradebook/lib/be/forumthreadlink.class.php',
'ForumTopic' => $baseDir . '/main/coursecopy/classes/ForumTopic.class.php',
'Frame' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/frame.cls.php',
'FrameFiller' => $vendorDir . '/jmontoyaa/phpqrcode/qrencode.php',
'FrameFiller' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'FrameList' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/frame.cls.php',
'FrameListIterator' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/frame.cls.php',
'FrameTreeIterator' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/frame.cls.php',
@ -282,6 +285,7 @@ return array(
'HTML_QuickForm_Rule_Url' => $baseDir . '/main/inc/lib/formvalidator/Rule/Url.php',
'HTML_QuickForm_Rule_Username' => $baseDir . '/main/inc/lib/formvalidator/Rule/Username.php',
'HTML_QuickForm_Rule_UsernameAvailable' => $baseDir . '/main/inc/lib/formvalidator/Rule/UsernameAvailable.php',
'HTML_QuickForm_Select_Ajax' => $baseDir . '/main/inc/lib/formvalidator/Element/select_ajax.php',
'HTML_QuickForm_Select_Language' => $baseDir . '/main/inc/lib/formvalidator/Element/select_language.php',
'HTML_QuickForm_Select_Theme' => $baseDir . '/main/inc/lib/formvalidator/Element/select_theme.php',
'HTML_QuickForm_advanced_settings' => $baseDir . '/main/inc/lib/pear/HTML/QuickForm/advanced_settings.php',
@ -314,6 +318,7 @@ return array(
'HTML_QuickForm_select' => $baseDir . '/main/inc/lib/pear/HTML/QuickForm/select.php',
'HTML_QuickForm_static' => $baseDir . '/main/inc/lib/pear/HTML/QuickForm/static.php',
'HTML_QuickForm_stylebutton' => $baseDir . '/main/inc/lib/formvalidator/Element/style_button.php',
'HTML_QuickForm_styleresetbutton' => $baseDir . '/main/inc/lib/formvalidator/Element/style_reset_button.php',
'HTML_QuickForm_stylesubmitbutton' => $baseDir . '/main/inc/lib/formvalidator/Element/style_submit_button.php',
'HTML_QuickForm_submit' => $baseDir . '/main/inc/lib/pear/HTML/QuickForm/submit.php',
'HTML_QuickForm_text' => $baseDir . '/main/inc/lib/pear/HTML/QuickForm/text.php',
@ -336,16 +341,16 @@ return array(
'ImagickWrapper' => $baseDir . '/main/inc/lib/image.lib.php',
'Import' => $baseDir . '/main/inc/lib/import.lib.php',
'Ims2Question' => $baseDir . '/main/exercice/export/qti2/qti2_classes.php',
'ImsAnswerFillInBlanks' => $baseDir . '/main/exercice/export/qti/qti_classes.php',
'ImsAnswerFillInBlanks' => $baseDir . '/main/exercice/export/qti2/qti2_classes.php',
'ImsAnswerFree' => $baseDir . '/main/exercice/export/qti2/qti2_classes.php',
'ImsAnswerHotspot' => $baseDir . '/main/exercice/export/qti2/qti2_classes.php',
'ImsAnswerMatching' => $baseDir . '/main/exercice/export/qti/qti_classes.php',
'ImsAnswerMultipleChoice' => $baseDir . '/main/exercice/export/qti/qti_classes.php',
'ImsAnswerMatching' => $baseDir . '/main/exercice/export/qti2/qti2_classes.php',
'ImsAnswerMultipleChoice' => $baseDir . '/main/exercice/export/qti2/qti2_classes.php',
'ImsAnswerTrueFalse' => $baseDir . '/main/exercice/export/qti/qti_classes.php',
'ImsAssessmentItem' => $baseDir . '/main/exercice/export/qti2/qti2_export.php',
'ImsItem' => $baseDir . '/main/exercice/export/qti/qti_export.php',
'ImsItem' => $baseDir . '/main/exercice/export/qti2/qti2_export.php',
'ImsQuestion' => $baseDir . '/main/exercice/export/qti/qti_classes.php',
'ImsSection' => $baseDir . '/main/exercice/export/qti/qti_export.php',
'ImsSection' => $baseDir . '/main/exercice/export/qti2/qti2_export.php',
'IndexableChunk' => $baseDir . '/main/inc/lib/search/IndexableChunk.class.php',
'Inline_Frame_Decorator' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/inline_frame_decorator.cls.php',
'Inline_Frame_Reflower' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/inline_frame_reflower.cls.php',
@ -426,7 +431,6 @@ return array(
'LoggerRoot' => $baseDir . '/main/inc/lib/phpdocx/lib/log4php/LoggerRoot.php',
'Login' => $baseDir . '/main/inc/lib/login.lib.php',
'LoginRedirection' => $baseDir . '/main/inc/lib/login_redirection.class.php',
'MagpieRSS' => $baseDir . '/main/inc/lib/magpierss/rss_parse.inc',
'Matching' => $baseDir . '/main/exercice/matching.class.php',
'MediaQuestion' => $baseDir . '/main/exercice/media_question.class.php',
'MessageManager' => $baseDir . '/main/inc/lib/message.lib.php',
@ -468,7 +472,6 @@ return array(
'PGTStorageDB' => $baseDir . '/main/auth/cas/lib/CAS/PGTStorage/pgt-db.php',
'PGTStorageFile' => $baseDir . '/main/auth/cas/lib/CAS/PGTStorage/pgt-file.php',
'PHP_Evaluator' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/php_evaluator.cls.php',
'PageController' => $baseDir . '/main/inc/lib/page.lib.php',
'Page_Cache' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/page_cache.cls.php',
'Page_Frame_Decorator' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/page_frame_decorator.cls.php',
'Page_Frame_Reflower' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/page_frame_reflower.cls.php',
@ -485,21 +488,21 @@ return array(
'PortfolioShare' => $baseDir . '/main/inc/lib/portfolio.class.php',
'Positioner' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/positioner.cls.php',
'Promotion' => $baseDir . '/main/inc/lib/promotion.lib.php',
'QRbitstream' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRcode' => $vendorDir . '/jmontoyaa/phpqrcode/qrencode.php',
'QRencode' => $vendorDir . '/jmontoyaa/phpqrcode/qrencode.php',
'QRimage' => $vendorDir . '/jmontoyaa/phpqrcode/qrimage.php',
'QRinput' => $vendorDir . '/jmontoyaa/phpqrcode/qrinput.php',
'QRinputItem' => $vendorDir . '/jmontoyaa/phpqrcode/qrinput.php',
'QRmask' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRrawcode' => $vendorDir . '/jmontoyaa/phpqrcode/qrencode.php',
'QRrs' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRrsItem' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRrsblock' => $vendorDir . '/jmontoyaa/phpqrcode/qrencode.php',
'QRspec' => $vendorDir . '/jmontoyaa/phpqrcode/qrspec.php',
'QRsplit' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRtools' => $vendorDir . '/jmontoyaa/phpqrcode/qrtools.php',
'QRvect' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRbitstream' => $vendorDir . '/jmontoyaa/phpqrcode/qrbitstream.php',
'QRcode' => $vendorDir . '/jmontoyaa/phpqrcode/bindings/tcpdf/qrcode.php',
'QRencode' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRimage' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRinput' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRinputItem' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRmask' => $vendorDir . '/jmontoyaa/phpqrcode/qrmask.php',
'QRrawcode' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRrs' => $vendorDir . '/jmontoyaa/phpqrcode/qrrscode.php',
'QRrsItem' => $vendorDir . '/jmontoyaa/phpqrcode/qrrscode.php',
'QRrsblock' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRspec' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRsplit' => $vendorDir . '/jmontoyaa/phpqrcode/qrsplit.php',
'QRtools' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'QRvect' => $vendorDir . '/jmontoyaa/phpqrcode/qrvect.php',
'Question' => $baseDir . '/main/exercice/question.class.php',
'QuickformElement' => $baseDir . '/main/inc/lib/pear/HTML/QuickForm/Renderer/Object.php',
'QuickformFlexyElement' => $baseDir . '/main/inc/lib/pear/HTML/QuickForm/Renderer/ObjectFlexy.php',
@ -508,7 +511,6 @@ return array(
'Quiz' => $baseDir . '/main/coursecopy/classes/Quiz.class.php',
'QuizQuestion' => $baseDir . '/main/coursecopy/classes/QuizQuestion.class.php',
'QuizQuestionOption' => $baseDir . '/main/coursecopy/classes/QuizQuestionOption.class.php',
'RSSCache' => $baseDir . '/main/inc/lib/magpierss/rss_cache.inc',
'Renderer' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/renderer.cls.php',
'Resource' => $baseDir . '/main/coursecopy/classes/Resource.class.php',
'Result' => $baseDir . '/main/gradebook/lib/be/result.class.php',
@ -566,7 +568,6 @@ return array(
'SkillRelSkill' => $baseDir . '/main/inc/lib/skill.lib.php',
'SkillRelUser' => $baseDir . '/main/inc/lib/skill.lib.php',
'SkillVisualizer' => $baseDir . '/main/inc/lib/skill.visualizer.lib.php',
'Snoopy' => $baseDir . '/main/inc/lib/magpierss/extlib/Snoopy.class.inc',
'SocialManager' => $baseDir . '/main/inc/lib/social.lib.php',
'SortableTable' => $baseDir . '/main/inc/lib/sortable_table.class.php',
'SortableTableFromArray' => $baseDir . '/main/inc/lib/sortable_table.class.php',
@ -608,7 +609,6 @@ return array(
'Table_Row_Group_Frame_Reflower' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/table_row_group_frame_reflower.cls.php',
'Table_Row_Positioner' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/table_row_positioner.cls.php',
'Temp' => $baseDir . '/main/inc/lib/system/io/temp.class.php',
'Template' => $baseDir . '/main/inc/lib/template.lib.php',
'Testcategory' => $baseDir . '/main/exercice/testcategory.class.php',
'Text' => $baseDir . '/main/inc/lib/text.lib.php',
'Text_CAPTCHA' => $baseDir . '/main/inc/lib/pear/Text/CAPTCHA.php',
@ -659,7 +659,6 @@ return array(
'UniqueAnswer' => $baseDir . '/main/exercice/unique_answer.class.php',
'UniqueAnswerImage' => $baseDir . '/main/exercice/unique_answer_image.class.php',
'UniqueAnswerNoOption' => $baseDir . '/main/exercice/unique_answer_no_option.class.php',
'Uri' => $baseDir . '/main/inc/lib/uri.class.php',
'UrlManager' => $baseDir . '/main/inc/lib/urlmanager.lib.php',
'UserDataGenerator' => $baseDir . '/main/gradebook/lib/user_data_generator.class.php',
'UserForm' => $baseDir . '/main/gradebook/lib/fe/userform.class.php',
@ -679,7 +678,6 @@ return array(
'Work' => $baseDir . '/main/coursecopy/classes/Work.class.php',
'XMLSchema' => $baseDir . '/main/inc/lib/nusoap/class.xmlschema.php',
'XapianIndexer' => $baseDir . '/main/inc/lib/search/xapian/XapianIndexer.class.php',
'Zip' => $baseDir . '/main/inc/lib/zip.class.php',
'ZombieManager' => $baseDir . '/main/inc/lib/zombie/zombie_manager.class.php',
'ZombieReport' => $baseDir . '/main/inc/lib/zombie/zombie_report.class.php',
'_IndexableChunk' => $baseDir . '/main/inc/lib/search/IndexableChunk.class.php',
@ -700,7 +698,6 @@ return array(
'aiccResource' => $baseDir . '/main/newscorm/aiccResource.class.php',
'api_failure' => $baseDir . '/main/inc/lib/api.lib.php',
'bmp' => $vendorDir . '/mpdf/mpdf/classes/bmp.php',
'calendarComponent' => $baseDir . '/main/inc/lib/icalcreator/iCalcreator.class.php',
'ch_comment' => $baseDir . '/main/survey/survey.lib.php',
'ch_dropdown' => $baseDir . '/main/survey/survey.lib.php',
'ch_multiplechoice' => $baseDir . '/main/survey/survey.lib.php',
@ -749,8 +746,8 @@ return array(
'link_processor' => $baseDir . '/main/inc/lib/search/tool_processors/link_processor.class.php',
'mPDF' => $vendorDir . '/mpdf/mpdf/mpdf.php',
'meter' => $vendorDir . '/mpdf/mpdf/classes/meter.php',
'nusoap_base' => $baseDir . '/main/inc/lib/nusoap/class.nusoap_base.php',
'nusoap_client' => $baseDir . '/main/inc/lib/nusoap/nusoap.php',
'nusoap_base' => $baseDir . '/main/inc/lib/nusoap/nusoap.php',
'nusoap_client' => $baseDir . '/main/inc/lib/nusoap/class.soapclient.php',
'nusoap_client_mime' => $baseDir . '/main/inc/lib/nusoap/nusoapmime.php',
'nusoap_fault' => $baseDir . '/main/inc/lib/nusoap/class.soap_fault.php',
'nusoap_parser' => $baseDir . '/main/inc/lib/nusoap/class.soap_parser.php',
@ -772,7 +769,7 @@ return array(
'php4DomProcessingInstruction' => $baseDir . '/main/auth/cas/lib/CAS/domxml-php4-to-php5.php',
'php4DomXsltStylesheet' => $baseDir . '/main/auth/cas/lib/CAS/domxml-php4-to-php5.php',
'phpCAS' => $baseDir . '/main/auth/cas/lib/CAS.php',
'qrstr' => $vendorDir . '/jmontoyaa/phpqrcode/phpqrcode.php',
'qrstr' => $vendorDir . '/jmontoyaa/phpqrcode/qrconst.php',
'quiz_processor' => $baseDir . '/main/inc/lib/search/tool_processors/quiz_processor.class.php',
'scorm' => $baseDir . '/main/newscorm/scorm.class.php',
'scormItem' => $baseDir . '/main/newscorm/scormItem.class.php',
@ -784,25 +781,16 @@ return array(
'soap_parser' => $baseDir . '/main/inc/lib/nusoap/class.soap_parser.php',
'soap_server' => $baseDir . '/main/inc/lib/nusoap/class.soap_server.php',
'soap_transport_http' => $baseDir . '/main/inc/lib/nusoap/class.soap_transport_http.php',
'soapclient' => $baseDir . '/main/inc/lib/nusoap/nusoap.php',
'soapclient' => $baseDir . '/main/inc/lib/nusoap/class.soapclient.php',
'soapclientmime' => $baseDir . '/main/inc/lib/nusoap/nusoapmime.php',
'soapval' => $baseDir . '/main/inc/lib/nusoap/class.soap_val.php',
'sso' => $baseDir . '/main/auth/sso/sso.class.php',
'survey_manager' => $baseDir . '/main/survey/survey.lib.php',
'survey_question' => $baseDir . '/main/survey/survey.lib.php',
'tocontents' => $vendorDir . '/mpdf/mpdf/classes/tocontents.php',
'valarm' => $baseDir . '/main/inc/lib/icalcreator/iCalcreator.class.php',
'vcalendar' => $baseDir . '/main/inc/lib/icalcreator/iCalcreator.class.php',
'vevent' => $baseDir . '/main/inc/lib/icalcreator/iCalcreator.class.php',
'vfreebusy' => $baseDir . '/main/inc/lib/icalcreator/iCalcreator.class.php',
'vjournal' => $baseDir . '/main/inc/lib/icalcreator/iCalcreator.class.php',
'vtimezone' => $baseDir . '/main/inc/lib/icalcreator/iCalcreator.class.php',
'vtodo' => $baseDir . '/main/inc/lib/icalcreator/iCalcreator.class.php',
'wmf' => $vendorDir . '/mpdf/mpdf/classes/wmf.php',
'wsdl' => $baseDir . '/main/inc/lib/nusoap/class.wsdl.php',
'wsdlcache' => $baseDir . '/main/inc/lib/nusoap/class.wsdlcache.php',
'xajax' => $baseDir . '/main/inc/lib/xajax/xajax.inc.php',
'xajaxResponse' => $baseDir . '/main/inc/lib/xajax/xajaxResponse.inc.php',
'xhtdoc' => $baseDir . '/main/inc/lib/xht.lib.php',
'xmddoc' => $baseDir . '/main/inc/lib/xmd.lib.php',
);

@ -6,7 +6,14 @@ $vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Zend\\Validator\\' => array($vendorDir . '/zendframework/zend-validator'),
'Zend\\Uri\\' => array($vendorDir . '/zendframework/zend-uri'),
'Zend\\Stdlib\\' => array($vendorDir . '/zendframework/zend-stdlib'),
'Zend\\ServiceManager\\' => array($vendorDir . '/zendframework/zend-servicemanager'),
'Zend\\Loader\\' => array($vendorDir . '/zendframework/zend-loader'),
'Zend\\Http\\' => array($vendorDir . '/zendframework/zend-http'),
'Zend\\Feed\\' => array($vendorDir . '/zendframework/zend-feed'),
'Zend\\Escaper\\' => array($vendorDir . '/zendframework/zend-escaper'),
'Zend\\Config\\' => array($vendorDir . '/zendframework/zend-config'),
'Whoops' => array($vendorDir . '/filp/whoops/src'),
'Unoconv' => array($vendorDir . '/php-unoconv/php-unoconv/src'),
@ -52,10 +59,14 @@ return array(
'Silex' => array($vendorDir . '/silex/silex/src'),
'Sensio\\Bundle\\FrameworkExtraBundle' => array($vendorDir . '/sensio/framework-extra-bundle'),
'Seld\\JsonLint' => array($vendorDir . '/seld/jsonlint/src'),
'Sabre\\VObject' => array($vendorDir . '/sabre/vobject/lib'),
'Psr\\Log\\' => array($vendorDir . '/psr/log'),
'Pimple' => array($vendorDir . '/pimple/pimple/lib'),
'Patchwork' => array($vendorDir . '/patchwork/utf8/class'),
'Pagerfanta\\' => array($vendorDir . '/pagerfanta/pagerfanta/src'),
'PHPExiftool' => array($vendorDir . '/phpexiftool/phpexiftool/lib'),
'Oziks' => array($vendorDir . '/jmontoyaa/xhprof-service-provider/src'),
'Normalizer' => array($vendorDir . '/patchwork/utf8/class'),
'Neutron' => array($vendorDir . '/neutron/silex-filesystem-provider/src', $vendorDir . '/neutron/temporary-filesystem/src'),
'MediaVorus' => array($vendorDir . '/mediavorus/mediavorus/src'),
'MediaAlchemyst' => array($vendorDir . '/media-alchemyst/media-alchemyst/src'),

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInitf4df0055480c4a6738498545f1ec0cfd
class ComposerAutoloaderInitbbdc7dea11a66b6e7562e6c0fd58031a
{
private static $loader;
@ -19,9 +19,9 @@ class ComposerAutoloaderInitf4df0055480c4a6738498545f1ec0cfd
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInitf4df0055480c4a6738498545f1ec0cfd', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInitbbdc7dea11a66b6e7562e6c0fd58031a', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInitf4df0055480c4a6738498545f1ec0cfd', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInitbbdc7dea11a66b6e7562e6c0fd58031a', 'loadClassLoader'));
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
@ -45,14 +45,14 @@ class ComposerAutoloaderInitf4df0055480c4a6738498545f1ec0cfd
$includeFiles = require __DIR__ . '/autoload_files.php';
foreach ($includeFiles as $file) {
composerRequiref4df0055480c4a6738498545f1ec0cfd($file);
composerRequirebbdc7dea11a66b6e7562e6c0fd58031a($file);
}
return $loader;
}
}
function composerRequiref4df0055480c4a6738498545f1ec0cfd($file)
function composerRequirebbdc7dea11a66b6e7562e6c0fd58031a($file)
{
require $file;
}

File diff suppressed because it is too large Load Diff

@ -1,9 +1,9 @@
# whoops
php errors for cool kids
[![Total Downloads](https://poser.pugx.org/filp/whoops/downloads.png)](https://packagist.org/packages/filp/whoops)
[![Latest Stable Version](https://poser.pugx.org/filp/whoops/v/stable.png)](https://packagist.org/packages/filp/whoops)
[![Build Status](https://travis-ci.org/filp/whoops.png?branch=master)](https://travis-ci.org/filp/whoops)
[![Total Downloads](https://img.shields.io/packagist/dm/filp/whoops.svg)](https://packagist.org/packages/filp/whoops)
[![Latest Version](http://img.shields.io/packagist/v/filp/whoops.svg)](https://packagist.org/packages/filp/whoops)
[![Build Status](https://img.shields.io/travis/filp/whoops/master.svg)](https://travis-ci.org/filp/whoops)
[![Dependency Status](https://depending.in/filp/whoops.png)](https://depending.in/filp/whoops)
[![Scrutinizer Quality Score](https://scrutinizer-ci.com/g/filp/whoops/badges/quality-score.png?s=6225c36f2a2dd1fdca11ecc7b10b29105c8c62bd)](https://scrutinizer-ci.com/g/filp/whoops)
[![Code Coverage](https://scrutinizer-ci.com/g/filp/whoops/badges/coverage.png?s=711feb2069144d252d111b211965ffb19a7d09a8)](https://scrutinizer-ci.com/g/filp/whoops)

@ -15,7 +15,6 @@
"php": ">=5.3.0"
},
"require-dev": {
"php": ">=5.3.3",
"mockery/mockery": "0.9.*"
},
"autoload": {

@ -350,17 +350,17 @@ PrettyPageHandler::setPageTitle( string $title )
PrettyPageHandler::getPageTitle()
#=> string
// Returns a string path to the location where resources
// used by this handler are stored - the template and CSS
// Returns a list of string paths where resources
// used by this handler are searched for - the template and CSS
// files.
PrettyPageHandler::getResourcesPath()
#=> string
PrettyPageHandler::getResourcesPaths()
#=> array
// Sets a string path to the location of resources for the
// Adds a string path to the location of resources for the
// handler. Useful if you want to roll your own template
// file (pretty-template.php and pretty-page.css) while
// still using the logic this handler provides
PrettyPageHandler::setResourcesPath( string $resourcesPath )
PrettyPageHandler::addResourcesPath( string $resourcesPath )
#=> null
// Sets an editor to use to open referenced files, either by

@ -350,7 +350,7 @@ class RunTest extends TestCase
})
;
$run->silenceErrorsInPaths('@^'.preg_quote(__FILE__).'$@', E_USER_NOTICE);
$run->silenceErrorsInPaths('@^'.preg_quote(__FILE__, '@').'$@', E_USER_NOTICE);
trigger_error('Test', E_USER_NOTICE);
$this->assertTrue(true);
}

@ -4,6 +4,8 @@ php:
- 5.3
- 5.4
- 5.5
- 5.6
- hhvm
before_script:
- curl --version
@ -20,3 +22,9 @@ before_script:
- ~/.nvm/nvm.sh install v0.6.14
script: vendor/bin/phpunit
matrix:
allow_failures:
- php: 5.6
- php: hhvm
fast_finish: true

@ -1,7 +1,26 @@
CHANGELOG
=========
3.8.1 (2013-01-28)
3.9.0 (2014-04-23)
------------------
* `null`, `false`, and `"_guzzle_blank_"` all now serialize as an empty value
with no trailing "=". See dc1d824277.
* No longer performing an MD5 check on the cacert each time the phar is used,
but rather copying the cacert to the temp directory.
* `"0"` can now be added as a URL path
* Deleting cookies that are set to empty
* If-Modified-Since is no longer unnecessarily added to the CachePlugin
* Cookie path matching now follows RFC 6265 s5.1.4
* Updated service descriptions are now added to a service client's composite
factory.
* MockPlugin now throws an exception if the queue is empty.
* Properly parsing URLs that start with "http" but are not absolute
* Added the ability to configure the curl_multi_select timeout setting
* OAuth parameters are now sorted using lexicographical byte value ordering
* Fixing invalid usage of an out of range PHP feature in the ErrorResponsePlugin
3.8.1 (2014-01-28)
------------------
* Bug: Always using GET requests when redirecting from a 303 response

@ -1,7 +1,8 @@
Guzzle, PHP HTTP client and webservice framework
================================================
[![Latest Stable Version](https://poser.pugx.org/guzzle/guzzle/version.png)](https://packagist.org/packages/guzzle/guzzle) [![Composer Downloads](https://poser.pugx.org/guzzle/guzzle/d/total.png)](https://packagist.org/packages/guzzle/guzzle) [![Build Status](https://secure.travis-ci.org/guzzle/guzzle.png?branch=master)](http://travis-ci.org/guzzle/guzzle)
[![Composer Downloads](https://poser.pugx.org/guzzle/guzzle/d/total.png)](https://packagist.org/packages/guzzle/guzzle)
[![Build Status](https://secure.travis-ci.org/guzzle/guzzle3.png?branch=master)](http://travis-ci.org/guzzle/guzzle3)
Guzzle is a PHP HTTP client and framework for building RESTful web service clients.
@ -10,18 +11,7 @@ Guzzle is a PHP HTTP client and framework for building RESTful web service clien
- Service description DSL allows you build awesome web service clients faster.
- Symfony2 event-based plugin system allows you to completely modify the behavior of a request.
Get answers with: [Documentation](http://docs.guzzlephp.org/), [Forums](https://groups.google.com/forum/?hl=en#!forum/guzzle), IRC ([#guzzlephp](irc://irc.freenode.net/#guzzlephp) @ irc.freenode.net)
```php
// Really simple using a static facade
Guzzle\Http\StaticClient::mount();
$response = Guzzle::get('http://guzzlephp.org');
// More control using a client class
$client = new \Guzzle\Http\Client('http://guzzlephp.org');
$request = $client->get('/');
$response = $request->send();
```
Get answers with: [Documentation](http://guzzle3.readthedocs.org/en/latest/), [Forums](https://groups.google.com/forum/?hl=en#!forum/guzzle), IRC ([#guzzlephp](irc://irc.freenode.net/#guzzlephp) @ irc.freenode.net)
### Installing via Composer
@ -32,7 +22,7 @@ The recommended way to install Guzzle is through [Composer](http://getcomposer.o
curl -sS https://getcomposer.org/installer | php
# Add Guzzle as a dependency
php composer.phar require guzzle/guzzle:~3.7
php composer.phar require guzzle/guzzle:~3.9
```
After installing, you need to require Composer's autoloader:
@ -41,172 +31,6 @@ After installing, you need to require Composer's autoloader:
require 'vendor/autoload.php';
```
### Installing via phar
As of the 3.7.4 release, each release of Guzzle includes a "guzzle.phar" file that includes all of the files needed to
run Guzzle and all of Guzzle's dependencies. Simply download the phar and include it in your project.
You can find a list of each release and the available downloads at https://github.com/guzzle/guzzle/releases.
Features
--------
- Supports GET, HEAD, POST, DELETE, PUT, PATCH, OPTIONS, and any other custom HTTP method
- Allows full access to request and response headers
- Persistent connections are implicitly managed by Guzzle, resulting in huge performance benefits
- [Send requests in parallel](http://guzzlephp.org/tour/http.html#send-http-requests-in-parallel)
- Cookie sessions can be maintained between requests using the
[CookiePlugin](http://guzzlephp.org/tour/http.html#cookie-session-plugin)
- Allows custom [entity bodies](http://guzzlephp.org/tour/http.html#entity-bodies), including sending data from a PHP
stream and downloading data to a PHP stream
- Responses can be cached and served from cache using the
[caching forward proxy plugin](http://guzzlephp.org/tour/http.html#php-based-caching-forward-proxy)
- Failed requests can be retried using
[truncated exponential backoff](http://guzzlephp.org/tour/http.html#truncated-exponential-backoff) with custom retry
policies
- Entity bodies can be validated automatically using Content-MD5 headers and the
[MD5 hash validator plugin](http://guzzlephp.org/tour/http.html#md5-hash-validator-plugin)
- All data sent over the wire can be logged using the
[LogPlugin](http://guzzlephp.org/tour/http.html#over-the-wire-logging)
- Subject/Observer signal slot system for unobtrusively
[modifying request behavior](http://guzzlephp.org/guide/http/creating_plugins.html)
- Supports all of the features of libcurl including authentication, compression, redirects, SSL, proxies, etc
- Web service client framework for building future-proof interfaces to web services
- Includes a [service description DSL](http://guzzlephp.org/guide/service/service_descriptions.html) for quickly
building webservice clients
- Full support for [URI templates](http://tools.ietf.org/html/rfc6570)
- Advanced batching functionality to efficiently send requests or commands in parallel with customizable batch sizes
and transfer strategies
HTTP basics
-----------
```php
<?php
use Guzzle\Http\Client;
$client = new Client('http://www.example.com/api/v1/key/{key}', [
'key' => '***'
]);
// Issue a path using a relative URL to the client's base URL
// Sends to http://www.example.com/api/v1/key/***/users
$request = $client->get('users');
$response = $request->send();
// Relative URL that overwrites the path of the base URL
$request = $client->get('/test/123.php?a=b');
// Issue a head request on the base URL
$response = $client->head()->send();
// Delete user 123
$response = $client->delete('users/123')->send();
// Send a PUT request with custom headers
$response = $client->put('upload/text', [
'X-Header' => 'My Header'
], 'body of the request')->send();
// Send a PUT request using the contents of a PHP stream as the body
// Send using an absolute URL (overrides the base URL)
$response = $client->put('http://www.example.com/upload', [
'X-Header' => 'My Header'
], fopen('http://www.test.com/', 'r'));
// Create a POST request with a file upload (notice the @ symbol):
$request = $client->post('http://localhost:8983/solr/update', null, [
'custom_field' => 'my value',
'file' => '@/path/to/documents.xml'
]);
// Create a POST request and add the POST files manually
$request = $client->post('http://localhost:8983/solr/update')
->addPostFiles(['file' => '/path/to/documents.xml']);
// Responses are objects
echo $response->getStatusCode() . ' ' . $response->getReasonPhrase() . "\n";
// Requests and responses can be cast to a string to show the raw HTTP message
echo $request . "\n\n" . $response;
// Create a request based on an HTTP message
$request = RequestFactory::fromMessage(
"PUT / HTTP/1.1\r\n" .
"Host: test.com:8081\r\n" .
"Content-Type: text/plain" .
"Transfer-Encoding: chunked\r\n" .
"\r\n" .
"this is the body"
);
```
Using the static client facade
------------------------------
You can use Guzzle through a static client to make it even easier to send simple HTTP requests.
```php
<?php
// Use the static client directly:
$response = Guzzle\Http\StaticClient::get('http://www.google.com');
// Or, mount the client to \Guzzle to make it easier to use
Guzzle\Http\StaticClient::mount();
$response = Guzzle::get('http://guzzlephp.org');
// Custom options can be passed into requests created by the static client
$response = Guzzle::post('http://guzzlephp.org', [
'headers' => ['X-Foo' => 'Bar'],
'body' => ['Foo' => 'Bar'],
'query' => ['Test' => 123],
'timeout' => 10,
'debug' => true,
'save_to' => '/path/to/file.html'
]);
```
### Available request options:
* headers: Associative array of headers
* query: Associative array of query string values to add to the request
* body: Body of a request, including an EntityBody, string, or array when sending POST requests. Setting a body for a
GET request will set where the response body is downloaded.
* auth: Array of HTTP authentication parameters to use with the request. The array must contain the
username in index [0], the password in index [1], and can optionally contain the authentication type in index [2].
The authentication types are: "Basic", "Digest". The default auth type is "Basic".
* cookies: Associative array of cookies
* allow_redirects: Set to false to disable redirects
* save_to: String, fopen resource, or EntityBody object used to store the body of the response
* events: Associative array mapping event names to a closure or array of (priority, closure)
* plugins: Array of plugins to add to the request
* exceptions: Set to false to disable throwing exceptions on an HTTP level error (e.g. 404, 500, etc)
* timeout: Float describing the timeout of the request in seconds
* connect_timeout: Float describing the number of seconds to wait while trying to connect. Use 0 to wait
indefinitely.
* verify: Set to true to enable SSL cert validation (the default), false to disable, or supply the path to a CA
bundle to enable verification using a custom certificate.
* proxy: Specify an HTTP proxy (e.g. "http://username:password@192.168.16.1:10")
* debug: Set to true to display all data sent over the wire
These options can also be used when creating requests using a standard client:
```php
$client = new Guzzle\Http\Client();
// Create a request with a timeout of 10 seconds
$request = $client->get('http://guzzlephp.org', [], ['timeout' => 10]);
$response = $request->send();
```
Unit testing
------------
Guzzle uses PHPUnit for unit testing. In order to run the unit tests, you'll first need
to install the dependencies of the project using Composer: `php composer.phar install --dev`.
You can then run the tests using `vendor/bin/phpunit`.
If you are running the tests with xdebug enabled, you may encounter the following issue: 'Fatal error: Maximum function nesting level of '100' reached, aborting!'. This can be resolved by adding 'xdebug.max_nesting_level = 200' to your php.ini file.
# This is an older version
The PECL extensions, uri_template and pecl_http will be required to ensure all the tests can run.
This repository is for Guzzle 3.x. Guzzle 4.0, the new version of Guzzle has been released and is available at https://github.com/guzzle/guzzle.

@ -46,7 +46,7 @@
"require": {
"php": ">=5.3.3",
"ext-curl": "*",
"symfony/event-dispatcher": ">=2.1"
"symfony/event-dispatcher": "~2.1"
},
"autoload": {
@ -57,12 +57,12 @@
},
"require-dev": {
"doctrine/cache": "*",
"symfony/class-loader": "*",
"monolog/monolog": "1.*",
"psr/log": "1.0.*",
"zendframework/zend-cache": "<2.3",
"zendframework/zend-log": "<2.3",
"doctrine/cache": "~1.3",
"symfony/class-loader": "~2.1",
"monolog/monolog": "~1.0",
"psr/log": "~1.0",
"zendframework/zend-cache": "2.*,<2.3",
"zendframework/zend-log": "2.*,<2.3",
"phpunit/phpunit": "3.7.*"
},

@ -47,7 +47,7 @@
<li><a href="{{ pathto('webservice-client/guzzle-service-descriptions') }}">Service descriptions</a> for quickly building clients.</li>
<li>Powered by the Symfony2 EventDispatcher.</li>
<li>Use all of the code or only <a href="https://packagist.org/packages/guzzle/">specific components</a>.</li>
<li><a href="{{ pathto('plugins/plugins-overview') }}">Plugins</a> for caching, logging, OAuth, mocks, and more</a>
<li><a href="{{ pathto('plugins/plugins-overview') }}">Plugins</a> for caching, logging, OAuth, mocks, and more</li>
<li>Includes a custom node.js webserver to <a href="{{ pathto('testing/unit-testing') }}">test your clients</a>.</li>
</ul>
@ -55,7 +55,7 @@
Guzzle is now part of Drupal 8 core and powers the official <a href="https://github.com/aws/aws-sdk-php">AWS SDK for PHP</a>
</div>
<h2>Quick Twitter example</h2>
<h2>GitHub Example</h2>
<pre class="prettyprint">&lt;?php
require_once 'vendor/autoload.php';
@ -71,7 +71,10 @@ echo $response->getBody();
// >>> {"type":"User", ...
echo $response->getHeader('Content-Length');
// >>> 792
</pre>
<h2>Twitter Example</h2>
<pre class="prettyprint">&lt;?php
// Create a client to work with the Twitter API
$client = new Client('https://api.twitter.com/{version}', array(
'version' => '1.1'

@ -45,7 +45,6 @@ htmlhelp_basename = 'Guzzledoc'
sys.path.insert(0, '/Users/dowling/projects/guzzle_sphinx_theme')
import guzzle_sphinx_theme
pygments_style = 'guzzle_sphinx_theme.GuzzleStyle'
html_translator_class = 'guzzle_sphinx_theme.HTMLTranslator'
html_theme_path = guzzle_sphinx_theme.html_theme_path()
html_theme = 'guzzle_sphinx_theme'

@ -24,7 +24,7 @@ project.
curl -sS https://getcomposer.org/installer | php
# Add Guzzle as a dependency
php composer.phar require guzzle/guzzle:~3.7
php composer.phar require guzzle/guzzle:~3.9
After installing, you need to require Composer's autoloader:
@ -115,7 +115,7 @@ You can install a specific version of Guzzle by providing a version number suffi
.. code-block:: bash
pear install guzzle/guzzle-3.7.0
pear install guzzle/guzzle-3.9.0
Contributing to Guzzle
----------------------

@ -405,7 +405,7 @@ cert
The `cert` option lets you specify a PEM formatted SSL client certificate to use with servers that require one. If the
certificate requires a password, provide an array with the password as the second item.
This would typically be used in conjuction with the `ssl_key` option.
This would typically be used in conjunction with the `ssl_key` option.
.. code-block:: php
@ -423,7 +423,7 @@ ssl_key
The `ssl_key` option lets you specify a file containing your PEM formatted private key, optionally protected by a password.
Note: your password is sensitive, keep the PHP script containing it safe.
This would typically be used in conjuction with the `cert` option.
This would typically be used in conjunction with the `cert` option.
.. code-block:: php

@ -590,7 +590,7 @@ Connection problems and cURL specific errors can also occur when transferring re
encounters cURL specific errors while transferring a single request, a ``Guzzle\Http\Exception\CurlException`` is
thrown with an informative error message and access to the cURL error message.
A ``Guzzle\Common\Exception\MultiTransferException`` exception is thrown when a cURL specific error occurs while
A ``Guzzle\Http\Exception\MultiTransferException`` exception is thrown when a cURL specific error occurs while
transferring multiple requests in parallel. You can then iterate over all of the exceptions encountered during the
transfer.

@ -17,7 +17,7 @@ pulling out chunks of values from the inner iterator.
use Guzzle\Iterator\ChunkedIterator;
$inner = new ArrayIterator(range(0, 8));
$chunkedIterator = new ChunkedIterator($inner, 10);
$chunkedIterator = new ChunkedIterator($inner, 2);
foreach ($chunkedIterator as $chunk) {
echo implode(', ', $chunk) . "\n";
@ -63,7 +63,7 @@ This iterator modifies the values of the inner iterator before yielding.
use Guzzle\Iterator\MapIterator;
$innner = new ArrayIterator(range(0, 3));
$inner = new ArrayIterator(range(0, 3));
$mapIterator = new MapIterator($inner, function ($value) {
return $value * 10;

@ -216,7 +216,7 @@ Here's a very simple example of implementing a custom responseClass object.
public static function fromCommand(OperationCommand $command)
{
$response = $command->getResponse();
$xml = $command->xml();
$xml = $response->xml();
return new self((string) $xml->name);
}

@ -13,4 +13,16 @@ $classLoader->registerNamespaces(array(
));
$classLoader->register();
// Copy the cacert.pem file from the phar if it is not in the temp folder.
$from = 'phar://guzzle.phar/src/Guzzle/Http/Resources/cacert.pem';
$certFile = sys_get_temp_dir() . '/guzzle-cacert.pem';
// Only copy when the file size is different
if (!file_exists($certFile) || filesize($certFile) != filesize($from)) {
if (!copy($from, $certFile)) {
throw new RuntimeException("Could not copy {$from} to {$certFile}: "
. var_export(error_get_last(), true));
}
}
__HALT_COMPILER();

@ -5,8 +5,9 @@
<property name="git.currentbranch" value=""/>
<target name="check-git-branch-status">
<exec command="git status -s -b" outputProperty="git.currentbranch" />
<echo msg="${git.currentbranch}"/>
<if>
<equals arg1="${git.currentbranch}" arg2="## ${head}" trim="true"/>
<contains string="${git.currentbranch}" substring="${head}"/>
<then>
<echo>On branch ${head}</echo>
</then>
@ -127,7 +128,6 @@
<fileset dir="${project.basedir}/.subsplit">
<include name="src/**/*.php" />
<include name="src/**/*.pem" />
<include name="src/**/*.md5" />
<include name="vendor/symfony/class-loader/Symfony/Component/ClassLoader/UniversalClassLoader.php" />
<include name="vendor/symfony/event-dispatcher/**/*.php" />
<include name="vendor/doctrine/common/lib/Doctrine/Common/Cache/*.php" />

@ -7,7 +7,7 @@ namespace Guzzle\Common;
*/
class Version
{
const VERSION = '3.8.1';
const VERSION = '3.9.0';
/**
* @var bool Set this value to true to enable warnings for deprecated functionality use. This should be on in your

@ -30,6 +30,8 @@ class Client extends AbstractHasDispatcher implements ClientInterface
const CURL_OPTIONS = 'curl.options';
const SSL_CERT_AUTHORITY = 'ssl.certificate_authority';
const DISABLE_REDIRECTS = RedirectPlugin::DISABLE;
const DEFAULT_SELECT_TIMEOUT = 1.0;
const MAX_HANDLES = 3;
/** @var Collection Default HTTP headers to set on each request */
protected $defaultHeaders;
@ -177,7 +179,7 @@ class Client extends AbstractHasDispatcher implements ClientInterface
} else {
list($uri, $templateVars) = $uri;
}
if (substr($uri, 0, 4) === 'http') {
if (strpos($uri, '://')) {
// Use absolute URLs as-is
$url = $this->expandTemplate($uri, $templateVars);
} else {
@ -306,7 +308,10 @@ class Client extends AbstractHasDispatcher implements ClientInterface
public function getCurlMulti()
{
if (!$this->curlMulti) {
$this->curlMulti = new CurlMultiProxy();
$this->curlMulti = new CurlMultiProxy(
self::MAX_HANDLES,
$this->getConfig('select_timeout') ?: self::DEFAULT_SELECT_TIMEOUT
);
}
return $this->curlMulti;
@ -333,31 +338,6 @@ class Client extends AbstractHasDispatcher implements ClientInterface
return $this;
}
/**
* Copy the cacert.pem file from the phar if it is not in the temp folder and validate the MD5 checksum
*
* @param bool $md5Check Set to false to not perform the MD5 validation
*
* @return string Returns the path to the extracted cacert
* @throws RuntimeException if the file cannot be copied or there is a MD5 mismatch
*/
public function preparePharCacert($md5Check = true)
{
$from = __DIR__ . '/Resources/cacert.pem';
$certFile = sys_get_temp_dir() . '/guzzle-cacert.pem';
if (!file_exists($certFile) && !copy($from, $certFile)) {
throw new RuntimeException("Could not copy {$from} to {$certFile}: " . var_export(error_get_last(), true));
} elseif ($md5Check) {
$actualMd5 = md5_file($certFile);
$expectedMd5 = trim(file_get_contents("{$from}.md5"));
if ($actualMd5 != $expectedMd5) {
throw new RuntimeException("{$certFile} MD5 mismatch: expected {$expectedMd5} but got {$actualMd5}");
}
}
return $certFile;
}
/**
* Expand a URI template while merging client config settings into the template variables
*
@ -457,7 +437,9 @@ class Client extends AbstractHasDispatcher implements ClientInterface
*/
protected function initSsl()
{
if ('system' == ($authority = $this->config[self::SSL_CERT_AUTHORITY])) {
$authority = $this->config[self::SSL_CERT_AUTHORITY];
if ($authority === 'system') {
return;
}
@ -466,13 +448,7 @@ class Client extends AbstractHasDispatcher implements ClientInterface
}
if ($authority === true && substr(__FILE__, 0, 7) == 'phar://') {
$authority = $this->preparePharCacert();
$that = $this;
$this->getEventDispatcher()->addListener('request.before_send', function ($event) use ($authority, $that) {
if ($authority == $event['request']->getCurlOptions()->get(CURLOPT_CAINFO)) {
$that->preparePharCacert(false);
}
});
$authority = sys_get_temp_dir() . '/guzzle-cacert.pem';
}
$this->setSslVerification($authority);
@ -503,4 +479,12 @@ class Client extends AbstractHasDispatcher implements ClientInterface
return $this;
}
/**
* @deprecated
*/
public function preparePharCacert($md5Check = true)
{
return sys_get_temp_dir() . '/guzzle-cacert.pem';
}
}

@ -39,8 +39,12 @@ class CurlMulti extends AbstractHasDispatcher implements CurlMultiInterface
CURLM_INTERNAL_ERROR => array('CURLM_INTERNAL_ERROR', 'This can only be returned if libcurl bugs. Please report it to us!')
);
public function __construct()
/** @var float */
protected $selectTimeout;
public function __construct($selectTimeout = 1.0)
{
$this->selectTimeout = $selectTimeout;
$this->multiHandle = curl_multi_init();
// @codeCoverageIgnoreStart
if ($this->multiHandle === false) {
@ -229,7 +233,7 @@ class CurlMulti extends AbstractHasDispatcher implements CurlMultiInterface
// Perform a usleep if a select returns -1: https://bugs.php.net/bug.php?id=61141
usleep(150);
}
$selectTimeout = 1;
$selectTimeout = $this->selectTimeout;
} while ($active);
}

@ -15,13 +15,16 @@ class CurlMultiProxy extends AbstractHasDispatcher implements CurlMultiInterface
protected $groups = array();
protected $queued = array();
protected $maxHandles;
protected $selectTimeout;
/**
* @param int $maxHandles The maximum number of idle CurlMulti handles to allow to remain open
* @param int $maxHandles The maximum number of idle CurlMulti handles to allow to remain open
* @param float $selectTimeout timeout for curl_multi_select
*/
public function __construct($maxHandles = 3)
public function __construct($maxHandles = 3, $selectTimeout = 1.0)
{
$this->maxHandles = $maxHandles;
$this->selectTimeout = $selectTimeout;
// You can get some weird "Too many open files" errors when sending a large amount of requests in parallel.
// These two statements autoload classes before a system runs out of file descriptors so that you can get back
// valuable error messages if you run out.
@ -122,7 +125,7 @@ class CurlMultiProxy extends AbstractHasDispatcher implements CurlMultiInterface
}
// All are claimed, so create one
$handle = new CurlMulti();
$handle = new CurlMulti($this->selectTimeout);
$handle->setEventDispatcher($this->getEventDispatcher());
$this->handles[] = $handle;

@ -275,7 +275,7 @@ class Request extends AbstractMessage implements RequestInterface
// Include the port in the Host header if it is not the default port for the scheme of the URL
$scheme = $this->url->getScheme();
if (($scheme == 'http' && $port != 80) || ($scheme == 'https' && $port != 443)) {
if ($port && (($scheme == 'http' && $port != 80) || ($scheme == 'https' && $port != 443))) {
$this->headers['host'] = $this->headerFactory->createHeader('Host', $this->url->getHost() . ':' . $port);
} else {
$this->headers['host'] = $this->headerFactory->createHeader('Host', $this->url->getHost());

@ -3,6 +3,7 @@
namespace Guzzle\Http;
use Guzzle\Common\Collection;
use Guzzle\Common\Exception\RuntimeException;
use Guzzle\Http\QueryAggregator\DuplicateAggregator;
use Guzzle\Http\QueryAggregator\QueryAggregatorInterface;
use Guzzle\Http\QueryAggregator\PhpAggregator;
@ -70,7 +71,8 @@ class QueryString extends Collection
$q[$key] = $value;
}
} else {
$q->add($key, self::BLANK);
// Uses false by default to represent keys with no trailing "=" sign.
$q->add($key, false);
}
}
@ -86,6 +88,7 @@ class QueryString extends Collection
* Convert the query string parameters to a query string string
*
* @return string
* @throws RuntimeException
*/
public function __toString()
{
@ -93,21 +96,12 @@ class QueryString extends Collection
return '';
}
$queryString = '';
$queryList = array();
foreach ($this->prepareData($this->data) as $name => $value) {
foreach ((array) $value as $v) {
if ($queryString) {
$queryString .= $this->fieldSeparator;
}
$queryString .= $name;
if ($v !== self::BLANK) {
$queryString .= $this->valueSeparator . $v;
}
}
$queryList[] = $this->convertKvp($name, $value);
}
return $queryString;
return implode($this->fieldSeparator, $queryList);
}
/**
@ -264,7 +258,10 @@ class QueryString extends Collection
$temp = array();
foreach ($data as $key => $value) {
if (is_array($value)) {
if ($value === false || $value === null) {
// False and null will not include the "=". Use an empty string to include the "=".
$temp[$this->encodeValue($key)] = $value;
} elseif (is_array($value)) {
$temp = array_merge($temp, $this->aggregator->aggregate($key, $value, $this));
} else {
$temp[$this->encodeValue($key)] = $this->encodeValue($value);
@ -273,4 +270,28 @@ class QueryString extends Collection
return $temp;
}
/**
* Converts a key value pair that can contain strings, nulls, false, or arrays
* into a single string.
*
* @param string $name Name of the field
* @param mixed $value Value of the field
* @return string
*/
private function convertKvp($name, $value)
{
if ($value === self::BLANK || $value === null || $value === false) {
return $name;
} elseif (!is_array($value)) {
return $name . $this->valueSeparator . $value;
}
$result = '';
foreach ($value as $v) {
$result .= $this->convertKvp($name, $v) . $this->fieldSeparator;
}
return rtrim($result, $this->fieldSeparator);
}
}

@ -1,12 +1,12 @@
##
## ca-bundle.crt -- Bundle of CA Root Certificates
##
## Certificate data from Mozilla as of: Sat Dec 29 20:03:40 2012
## Certificate data from Mozilla as of: Tue Jan 28 09:38:07 2014
##
## This is a bundle of X.509 certificates of public Certificate Authorities
## (CA). These were automatically extracted from Mozilla's root certificates
## file (certdata.txt). This file can be found in the mozilla source tree:
## http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1
## http://mxr.mozilla.org/mozilla-release/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1
##
## It contains the certificates in PEM format and therefore
## can be directly used with curl / libcurl / php_curl, or with
@ -14,7 +14,6 @@
## Just configure this file as the SSLCACertificateFile.
##
# @(#) $RCSfile: certdata.txt,v $ $Revision: 1.87 $ $Date: 2012/12/29 16:32:45 $
GTE CyberTrust Global Root
==========================
@ -91,46 +90,6 @@ BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95
70+sB3c4
-----END CERTIFICATE-----
Digital Signature Trust Co. Global CA 1
=======================================
-----BEGIN CERTIFICATE-----
MIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE
ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMTAeFw05ODEy
MTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs
IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUxMIGdMA0GCSqGSIb3DQEBAQUA
A4GLADCBhwKBgQCgbIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlREmlvMVW5SXIACH7TpWJE
NySZj9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR6Hh8AMthyUQncWlVSn5JTe2i
o74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo
BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0
dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
IoAPMTk5ODEyMTAxODEwMjNagQ8yMDE4MTIxMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQY
MBaAFGp5fpFpRhgTCgJ3pVlbYJglDqL4MB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i+DAM
BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB
ACIS2Hod3IEGtgllsofIH160L+nEHvI8wbsEkBFKg05+k7lNQseSJqBcNJo4cvj9axY+IO6CizEq
kzaFI4iKPANo08kJD038bKTaKHKTDomAsH3+gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4
RbyhkwS7hp86W0N6w4pl
-----END CERTIFICATE-----
Digital Signature Trust Co. Global CA 3
=======================================
-----BEGIN CERTIFICATE-----
MIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE
ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMjAeFw05ODEy
MDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs
IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUyMIGdMA0GCSqGSIb3DQEBAQUA
A4GLADCBhwKBgQC/k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fBw18DW9Fvrn5C6mYjuGOD
VvsoLeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyMvMa1795JJ/9IKn3oTQPMx7JS
xhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo
BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0
dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
IoAPMTk5ODEyMDkxOTE3MjZagQ8yMDE4MTIwOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQY
MBaAFB6CTShlgDzJQW6sNS5ay97u+DlbMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5WzAM
BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB
AEeNg61i8tuwnkUiBbmi1gMOOHLnnvx75pO2mqWilMg0HZHRxdf0CiUPPXiBng+xZ8SQTGPdXqfi
up/1902lMXucKS1M/mQ+7LZT/uqb7YLbdHVLB3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1
mPnHfxsb1gYgAlihw6ID
-----END CERTIFICATE-----
Verisign Class 3 Public Primary Certification Authority
=======================================================
-----BEGIN CERTIFICATE-----
@ -344,11 +303,11 @@ n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
Entrust.net Premium 2048 Secure Server CA
=========================================
-----BEGIN CERTIFICATE-----
MIIEXDCCA0SgAwIBAgIEOGO5ZjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx
NzUwNTFaFw0xOTEyMjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
@ -356,14 +315,13 @@ MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL
Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr
hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW
nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi
VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo3QwcjARBglghkgBhvhC
AQEEBAMCAAcwHwYDVR0jBBgwFoAUVeSB0RGAvtiJuQijMfmhJAkWuXAwHQYDVR0OBBYEFFXkgdER
gL7YibkIozH5oSQJFrlwMB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0B
AQUFAAOCAQEAWUesIYSKF8mciVMeuoCFGsY8Tj6xnLZ8xpJdGGQC49MGCBFhfGPjK50xA3B20qMo
oPS7mmNz7W3lKtvtFKkrxjYR0CvrB4ul2p5cGZ1WEvVUKcgF7bISKo30Axv/55IQh7A6tcOdBTcS
o8f0FbnVpDkWm1M6I5HxqIKiaohowXkCIryqptau37AUX7iH0N18f3v/rxzP5tsHrV7bhZ3QKw0z
2wTR5klAEyt2+z7pnIkPFc4YsIV4IU9rTw76NmfNB/L/CNDi3tm/Kq+4h4YhPATKt5Rof8886ZjX
OP/swNlQ8C5LWK5Gb9Auw2DaclVyvUxFnmG6v4SBkgPR0ml8xQ==
VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ
KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy
T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT
J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e
nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE=
-----END CERTIFICATE-----
Baltimore CyberTrust Root
@ -421,26 +379,6 @@ lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+
KpYrtWKmpj29f5JZzVoqgrI3eQ==
-----END CERTIFICATE-----
Equifax Secure eBusiness CA 2
=============================
-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEXMBUGA1UE
ChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0y
MB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoT
DkVxdWlmYXggU2VjdXJlMSYwJAYDVQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCB
nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn
2Z0GvxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/BPO3QSQ5
BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0CAwEAAaOCAQkwggEFMHAG
A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUx
JjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoG
A1UdEAQTMBGBDzIwMTkwNjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9e
uSBIplBqy/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQFMAMB
Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAAyGgq3oThr1
jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia
78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUm
V+GRMOrN
-----END CERTIFICATE-----
AddTrust Low-Value Services Root
================================
-----BEGIN CERTIFICATE-----
@ -1405,29 +1343,6 @@ wUpgpZKpsaSgYMN4h7Mi8yrrW6ntBas3D7Hi05V2Y1Z0jFhyGzflZKG+TQyTmAyX9odtsz/ny4Cm
VM+h4k0460tQtcsm9MracEpqoeJ5quGnM/b9Sh/22WA=
-----END CERTIFICATE-----
Wells Fargo Root CA
===================
-----BEGIN CERTIFICATE-----
MIID5TCCAs2gAwIBAgIEOeSXnjANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UEBhMCVVMxFDASBgNV
BAoTC1dlbGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhv
cml0eTEvMC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN
MDAxMDExMTY0MTI4WhcNMjEwMTE0MTY0MTI4WjCBgjELMAkGA1UEBhMCVVMxFDASBgNVBAoTC1dl
bGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEv
MC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVqDM7Jvk0/82bfuUER84A4n135zHCLielTWi5MbqNQ1mX
x3Oqfz1cQJ4F5aHiidlMuD+b+Qy0yGIZLEWukR5zcUHESxP9cMIlrCL1dQu3U+SlK93OvRw6esP3
E48mVJwWa2uv+9iWsWCaSOAlIiR5NM4OJgALTqv9i86C1y8IcGjBqAr5dE8Hq6T54oN+J3N0Prj5
OEL8pahbSCOz6+MlsoCultQKnMJ4msZoGK43YjdeUXWoWGPAUe5AeH6orxqg4bB4nVCMe+ez/I4j
sNtlAHCEAQgAFG5Uhpq6zPk3EPbg3oQtnaSFN9OH4xXQwReQfhkhahKpdv0SAulPIV4XAgMBAAGj
YTBfMA8GA1UdEwEB/wQFMAMBAf8wTAYDVR0gBEUwQzBBBgtghkgBhvt7hwcBCzAyMDAGCCsGAQUF
BwIBFiRodHRwOi8vd3d3LndlbGxzZmFyZ28uY29tL2NlcnRwb2xpY3kwDQYJKoZIhvcNAQEFBQAD
ggEBANIn3ZwKdyu7IvICtUpKkfnRLb7kuxpo7w6kAOnu5+/u9vnldKTC2FJYxHT7zmu1Oyl5GFrv
m+0fazbuSCUlFLZWohDo7qd/0D+j0MNdJu4HzMPBJCGHHt8qElNvQRbn7a6U+oxy+hNH8Dx+rn0R
OhPs7fpvcmR7nX1/Jv16+yWt6j4pf0zjAFcysLPp7VMX2YuyFA4w6OXVE8Zkr8QA1dhYJPz1j+zx
x32l2w8n0cbyQIjmH/ZhqPRCyLk306m+LFZ4wnKbWV01QIroTmMatukgalHizqSQ33ZwmVxwQ023
tqcZZE6St8WRPH9IFmV7Fv3L/PvZ1dZPIWU7Sn9Ho/s=
-----END CERTIFICATE-----
Swisscom Root CA 1
==================
-----BEGIN CERTIFICATE-----
@ -2803,29 +2718,6 @@ YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r
kpeDMdmztcpHWD9f
-----END CERTIFICATE-----
TC TrustCenter Universal CA III
===============================
-----BEGIN CERTIFICATE-----
MIID4TCCAsmgAwIBAgIOYyUAAQACFI0zFQLkbPQwDQYJKoZIhvcNAQEFBQAwezELMAkGA1UEBhMC
REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy
IFVuaXZlcnNhbCBDQTEoMCYGA1UEAxMfVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIElJSTAe
Fw0wOTA5MDkwODE1MjdaFw0yOTEyMzEyMzU5NTlaMHsxCzAJBgNVBAYTAkRFMRwwGgYDVQQKExNU
QyBUcnVzdENlbnRlciBHbWJIMSQwIgYDVQQLExtUQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0Ex
KDAmBgNVBAMTH1RDIFRydXN0Q2VudGVyIFVuaXZlcnNhbCBDQSBJSUkwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQDC2pxisLlxErALyBpXsq6DFJmzNEubkKLF5+cvAqBNLaT6hdqbJYUt
QCggbergvbFIgyIpRJ9Og+41URNzdNW88jBmlFPAQDYvDIRlzg9uwliT6CwLOunBjvvya8o84pxO
juT5fdMnnxvVZ3iHLX8LR7PH6MlIfK8vzArZQe+f/prhsq75U7Xl6UafYOPfjdN/+5Z+s7Vy+Eut
CHnNaYlAJ/Uqwa1D7KRTyGG299J5KmcYdkhtWyUB0SbFt1dpIxVbYYqt8Bst2a9c8SaQaanVDED1
M4BDj5yjdipFtK+/fz6HP3bFzSreIMUWWMv5G/UPyw0RUmS40nZid4PxWJ//AgMBAAGjYzBhMB8G
A1UdIwQYMBaAFFbn4VslQ4Dg9ozhcbyO5YAvxEjiMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
BAQDAgEGMB0GA1UdDgQWBBRW5+FbJUOA4PaM4XG8juWAL8RI4jANBgkqhkiG9w0BAQUFAAOCAQEA
g8ev6n9NCjw5sWi+e22JLumzCecYV42FmhfzdkJQEw/HkG8zrcVJYCtsSVgZ1OK+t7+rSbyUyKu+
KGwWaODIl0YgoGhnYIg5IFHYaAERzqf2EQf27OysGh+yZm5WZ2B6dF7AbZc2rrUNXWZzwCUyRdhK
BgePxLcHsU0GDeGl6/R1yrqc0L2z0zIkTO5+4nYES0lT2PLpVDP85XEfPRRclkvxOvIAu2y0+pZV
CIgJwcyRGSmwIC3/yzikQOEXvnlhgP8HA4ZMTnsGnxGGjYnuJ8Tb4rwZjgvDwxPHLQNjO9Po5KIq
woIIlBZU8O8fJ5AluA0OKBtHd0e9HKgl8ZS0Zg==
-----END CERTIFICATE-----
Autoridad de Certificacion Firmaprofesional CIF A62634068
=========================================================
-----BEGIN CERTIFICATE-----
@ -3552,3 +3444,342 @@ uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU
3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM
dcGWxZ0=
-----END CERTIFICATE-----
TURKTRUST Certificate Services Provider Root 2007
=================================================
-----BEGIN CERTIFICATE-----
MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
MA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg
QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4X
DTA3MTIyNTE4MzcxOVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxl
a3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMCVFIxDzAN
BgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp
bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4gKGMpIEFyYWzEsWsgMjAwNzCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9N
YvDdE3ePYakqtdTyuTFYKTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQv
KUmi8wUG+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveGHtya
KhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6PIzdezKKqdfcYbwnT
rqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M733WB2+Y8a+xwXrXgTW4qhe04MsC
AwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHkYb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAP
BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/s
Px+EnWVUXKgWAkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I
aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5mxRZNTZPz/OO
Xl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsaXRik7r4EW5nVcV9VZWRi1aKb
BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK
poRq0Tl9
-----END CERTIFICATE-----
D-TRUST Root Class 3 CA 2 2009
==============================
-----BEGIN CERTIFICATE-----
MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK
DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe
Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE
LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD
ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA
BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv
KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z
p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC
AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ
4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y
eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw
MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G
PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw
OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm
2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0
o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV
dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph
X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I=
-----END CERTIFICATE-----
D-TRUST Root Class 3 CA 2 EV 2009
=================================
-----BEGIN CERTIFICATE-----
MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS
egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh
zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T
7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60
sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35
11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv
cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v
ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El
MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp
b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh
c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+
PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05
nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX
ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA
NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv
w9y4AyHqnxbxLFS1
-----END CERTIFICATE-----
PSCProcert
==========
-----BEGIN CERTIFICATE-----
MIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1dG9yaWRhZCBk
ZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9sYW5vMQswCQYDVQQGEwJWRTEQ
MA4GA1UEBxMHQ2FyYWNhczEZMBcGA1UECBMQRGlzdHJpdG8gQ2FwaXRhbDE2MDQGA1UEChMtU2lz
dGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMUMwQQYDVQQLEzpTdXBl
cmludGVuZGVuY2lhIGRlIFNlcnZpY2lvcyBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMSUw
IwYJKoZIhvcNAQkBFhZhY3JhaXpAc3VzY2VydGUuZ29iLnZlMB4XDTEwMTIyODE2NTEwMFoXDTIw
MTIyNTIzNTk1OVowgdExJjAkBgkqhkiG9w0BCQEWF2NvbnRhY3RvQHByb2NlcnQubmV0LnZlMQ8w
DQYDVQQHEwZDaGFjYW8xEDAOBgNVBAgTB01pcmFuZGExKjAoBgNVBAsTIVByb3ZlZWRvciBkZSBD
ZXJ0aWZpY2Fkb3MgUFJPQ0VSVDE2MDQGA1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZp
Y2FjaW9uIEVsZWN0cm9uaWNhMQswCQYDVQQGEwJWRTETMBEGA1UEAxMKUFNDUHJvY2VydDCCAiIw
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANW39KOUM6FGqVVhSQ2oh3NekS1wwQYalNo97BVC
wfWMrmoX8Yqt/ICV6oNEolt6Vc5Pp6XVurgfoCfAUFM+jbnADrgV3NZs+J74BCXfgI8Qhd19L3uA
3VcAZCP4bsm+lU/hdezgfl6VzbHvvnpC2Mks0+saGiKLt38GieU89RLAu9MLmV+QfI4tL3czkkoh
RqipCKzx9hEC2ZUWno0vluYC3XXCFCpa1sl9JcLB/KpnheLsvtF8PPqv1W7/U0HU9TI4seJfxPmO
EO8GqQKJ/+MMbpfg353bIdD0PghpbNjU5Db4g7ayNo+c7zo3Fn2/omnXO1ty0K+qP1xmk6wKImG2
0qCZyFSTXai20b1dCl53lKItwIKOvMoDKjSuc/HUtQy9vmebVOvh+qBa7Dh+PsHMosdEMXXqP+UH
0quhJZb25uSgXTcYOWEAM11G1ADEtMo88aKjPvM6/2kwLkDd9p+cJsmWN63nOaK/6mnbVSKVUyqU
td+tFjiBdWbjxywbk5yqjKPK2Ww8F22c3HxT4CAnQzb5EuE8XL1mv6JpIzi4mWCZDlZTOpx+FIyw
Bm/xhnaQr/2v/pDGj59/i5IjnOcVdo/Vi5QTcmn7K2FjiO/mpF7moxdqWEfLcU8UC17IAggmosvp
r2uKGcfLFFb14dq12fy/czja+eevbqQ34gcnAgMBAAGjggMXMIIDEzASBgNVHRMBAf8ECDAGAQH/
AgEBMDcGA1UdEgQwMC6CD3N1c2NlcnRlLmdvYi52ZaAbBgVghl4CAqASDBBSSUYtRy0yMDAwNDAz
Ni0wMB0GA1UdDgQWBBRBDxk4qpl/Qguk1yeYVKIXTC1RVDCCAVAGA1UdIwSCAUcwggFDgBStuyId
xuDSAaj9dlBSk+2YwU2u06GCASakggEiMIIBHjE+MDwGA1UEAxM1QXV0b3JpZGFkIGRlIENlcnRp
ZmljYWNpb24gUmFpeiBkZWwgRXN0YWRvIFZlbmV6b2xhbm8xCzAJBgNVBAYTAlZFMRAwDgYDVQQH
EwdDYXJhY2FzMRkwFwYDVQQIExBEaXN0cml0byBDYXBpdGFsMTYwNAYDVQQKEy1TaXN0ZW1hIE5h
Y2lvbmFsIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExQzBBBgNVBAsTOlN1cGVyaW50ZW5k
ZW5jaWEgZGUgU2VydmljaW9zIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExJTAjBgkqhkiG
9w0BCQEWFmFjcmFpekBzdXNjZXJ0ZS5nb2IudmWCAQowDgYDVR0PAQH/BAQDAgEGME0GA1UdEQRG
MESCDnByb2NlcnQubmV0LnZloBUGBWCGXgIBoAwMClBTQy0wMDAwMDKgGwYFYIZeAgKgEgwQUklG
LUotMzE2MzUzNzMtNzB2BgNVHR8EbzBtMEagRKBChkBodHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52
ZS9sY3IvQ0VSVElGSUNBRE8tUkFJWi1TSEEzODRDUkxERVIuY3JsMCOgIaAfhh1sZGFwOi8vYWNy
YWl6LnN1c2NlcnRlLmdvYi52ZTA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9v
Y3NwLnN1c2NlcnRlLmdvYi52ZTBBBgNVHSAEOjA4MDYGBmCGXgMBAjAsMCoGCCsGAQUFBwIBFh5o
dHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9kcGMwDQYJKoZIhvcNAQELBQADggIBACtZ6yKZu4Sq
T96QxtGGcSOeSwORR3C7wJJg7ODU523G0+1ng3dS1fLld6c2suNUvtm7CpsR72H0xpkzmfWvADmN
g7+mvTV+LFwxNG9s2/NkAZiqlCxB3RWGymspThbASfzXg0gTB1GEMVKIu4YXx2sviiCtxQuPcD4q
uxtxj7mkoP3YldmvWb8lK5jpY5MvYB7Eqvh39YtsL+1+LrVPQA3uvFd359m21D+VJzog1eWuq2w1
n8GhHVnchIHuTQfiSLaeS5UtQbHh6N5+LwUeaO6/u5BlOsju6rEYNxxik6SgMexxbJHmpHmJWhSn
FFAFTKQAVzAswbVhltw+HoSvOULP5dAssSS830DD7X9jSr3hTxJkhpXzsOfIt+FTvZLm8wyWuevo
5pLtp4EJFAv8lXrPj9Y0TzYS3F7RNHXGRoAvlQSMx4bEqCaJqD8Zm4G7UaRKhqsLEQ+xrmNTbSjq
3TNWOByyrYDT13K9mmyZY+gAu0F2BbdbmRiKw7gSXFbPVgx96OLP7bx0R/vu0xdOIk9W/1DzLuY5
poLWccret9W6aAjtmcz9opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3Y
eMLEYC/HYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km
-----END CERTIFICATE-----
China Internet Network Information Center EV Certificates Root
==============================================================
-----BEGIN CERTIFICATE-----
MIID9zCCAt+gAwIBAgIESJ8AATANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMCQ04xMjAwBgNV
BAoMKUNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyMUcwRQYDVQQDDD5D
aGluYSBJbnRlcm5ldCBOZXR3b3JrIEluZm9ybWF0aW9uIENlbnRlciBFViBDZXJ0aWZpY2F0ZXMg
Um9vdDAeFw0xMDA4MzEwNzExMjVaFw0zMDA4MzEwNzExMjVaMIGKMQswCQYDVQQGEwJDTjEyMDAG
A1UECgwpQ2hpbmEgSW50ZXJuZXQgTmV0d29yayBJbmZvcm1hdGlvbiBDZW50ZXIxRzBFBgNVBAMM
PkNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyIEVWIENlcnRpZmljYXRl
cyBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm35z7r07eKpkQ0H1UN+U8i6y
jUqORlTSIRLIOTJCBumD1Z9S7eVnAztUwYyZmczpwA//DdmEEbK40ctb3B75aDFk4Zv6dOtouSCV
98YPjUesWgbdYavi7NifFy2cyjw1l1VxzUOFsUcW9SxTgHbP0wBkvUCZ3czY28Sf1hNfQYOL+Q2H
klY0bBoQCxfVWhyXWIQ8hBouXJE0bhlffxdpxWXvayHG1VA6v2G5BY3vbzQ6sm8UY78WO5upKv23
KzhmBsUs4qpnHkWnjQRmQvaPK++IIGmPMowUc9orhpFjIpryp9vOiYurXccUwVswah+xt54ugQEC
7c+WXmPbqOY4twIDAQABo2MwYTAfBgNVHSMEGDAWgBR8cks5x8DbYqVPm6oYNJKiyoOCWTAPBgNV
HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUfHJLOcfA22KlT5uqGDSSosqD
glkwDQYJKoZIhvcNAQEFBQADggEBACrDx0M3j92tpLIM7twUbY8opJhJywyA6vPtI2Z1fcXTIWd5
0XPFtQO3WKwMVC/GVhMPMdoG52U7HW8228gd+f2ABsqjPWYWqJ1MFn3AlUa1UeTiH9fqBk1jjZaM
7+czV0I664zBechNdn3e9rG3geCg+aF4RhcaVpjwTj2rHO3sOdwHSPdj/gauwqRcalsyiMXHM4Ws
ZkJHwlgkmeHlPuV1LI5D1l08eB6olYIpUNHRFrrvwb562bTYzB5MRuF3sTGrvSrIzo9uoV1/A3U0
5K2JRVRevq4opbs/eHnrc7MKDf2+yfdWrPa37S+bISnHOLaVxATywy39FCqQmbkHzJ8=
-----END CERTIFICATE-----
Swisscom Root CA 2
==================
-----BEGIN CERTIFICATE-----
MIIF2TCCA8GgAwIBAgIQHp4o6Ejy5e/DfEoeWhhntjANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQG
EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMjAeFw0xMTA2MjQwODM4MTRaFw0zMTA2
MjUwNzM4MTRaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln
aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAyMIIC
IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlUJOhJ1R5tMJ6HJaI2nbeHCOFvErjw0DzpPM
LgAIe6szjPTpQOYXTKueuEcUMncy3SgM3hhLX3af+Dk7/E6J2HzFZ++r0rk0X2s682Q2zsKwzxNo
ysjL67XiPS4h3+os1OD5cJZM/2pYmLcX5BtS5X4HAB1f2uY+lQS3aYg5oUFgJWFLlTloYhyxCwWJ
wDaCFCE/rtuh/bxvHGCGtlOUSbkrRsVPACu/obvLP+DHVxxX6NZp+MEkUp2IVd3Chy50I9AU/SpH
Wrumnf2U5NGKpV+GY3aFy6//SSj8gO1MedK75MDvAe5QQQg1I3ArqRa0jG6F6bYRzzHdUyYb3y1a
SgJA/MTAtukxGggo5WDDH8SQjhBiYEQN7Aq+VRhxLKX0srwVYv8c474d2h5Xszx+zYIdkeNL6yxS
NLCK/RJOlrDrcH+eOfdmQrGrrFLadkBXeyq96G4DsguAhYidDMfCd7Camlf0uPoTXGiTOmekl9Ab
mbeGMktg2M7v0Ax/lZ9vh0+Hio5fCHyqW/xavqGRn1V9TrALacywlKinh/LTSlDcX3KwFnUey7QY
Ypqwpzmqm59m2I2mbJYV4+by+PGDYmy7Velhk6M99bFXi08jsJvllGov34zflVEpYKELKeRcVVi3
qPyZ7iVNTA6z00yPhOgpD/0QVAKFyPnlw4vP5w8CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw
HQYDVR0hBBYwFDASBgdghXQBUwIBBgdghXQBUwIBMBIGA1UdEwEB/wQIMAYBAf8CAQcwHQYDVR0O
BBYEFE0mICKJS9PVpAqhb97iEoHF8TwuMB8GA1UdIwQYMBaAFE0mICKJS9PVpAqhb97iEoHF8Twu
MA0GCSqGSIb3DQEBCwUAA4ICAQAyCrKkG8t9voJXiblqf/P0wS4RfbgZPnm3qKhyN2abGu2sEzsO
v2LwnN+ee6FTSA5BesogpxcbtnjsQJHzQq0Qw1zv/2BZf82Fo4s9SBwlAjxnffUy6S8w5X2lejjQ
82YqZh6NM4OKb3xuqFp1mrjX2lhIREeoTPpMSQpKwhI3qEAMw8jh0FcNlzKVxzqfl9NX+Ave5XLz
o9v/tdhZsnPdTSpxsrpJ9csc1fV5yJmz/MFMdOO0vSk3FQQoHt5FRnDsr7p4DooqzgB53MBfGWcs
a0vvaGgLQ+OswWIJ76bdZWGgr4RVSJFSHMYlkSrQwSIjYVmvRRGFHQEkNI/Ps/8XciATwoCqISxx
OQ7Qj1zB09GOInJGTB2Wrk9xseEFKZZZ9LuedT3PDTcNYtsmjGOpI99nBjx8Oto0QuFmtEYE3saW
mA9LSHokMnWRn6z3aOkquVVlzl1h0ydw2Df+n7mvoC5Wt6NlUe07qxS/TFED6F+KBZvuim6c779o
+sjaC+NCydAXFJy3SuCvkychVSa1ZC+N8f+mQAWFBVzKBxlcCxMoTFh/wqXvRdpg065lYZ1Tg3TC
rvJcwhbtkj6EPnNgiLx29CzP0H1907he0ZESEOnN3col49XtmS++dYFLJPlFRpTJKSFTnCZFqhMX
5OfNeOI5wSsSnqaeG8XmDtkx2Q==
-----END CERTIFICATE-----
Swisscom Root EV CA 2
=====================
-----BEGIN CERTIFICATE-----
MIIF4DCCA8igAwIBAgIRAPL6ZOJ0Y9ON/RAdBB92ylgwDQYJKoZIhvcNAQELBQAwZzELMAkGA1UE
BhMCY2gxETAPBgNVBAoTCFN3aXNzY29tMSUwIwYDVQQLExxEaWdpdGFsIENlcnRpZmljYXRlIFNl
cnZpY2VzMR4wHAYDVQQDExVTd2lzc2NvbSBSb290IEVWIENBIDIwHhcNMTEwNjI0MDk0NTA4WhcN
MzEwNjI1MDg0NTA4WjBnMQswCQYDVQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsT
HERpZ2l0YWwgQ2VydGlmaWNhdGUgU2VydmljZXMxHjAcBgNVBAMTFVN3aXNzY29tIFJvb3QgRVYg
Q0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMT3HS9X6lds93BdY7BxUglgRCgz
o3pOCvrY6myLURYaVa5UJsTMRQdBTxB5f3HSek4/OE6zAMaVylvNwSqD1ycfMQ4jFrclyxy0uYAy
Xhqdk/HoPGAsp15XGVhRXrwsVgu42O+LgrQ8uMIkqBPHoCE2G3pXKSinLr9xJZDzRINpUKTk4Rti
GZQJo/PDvO/0vezbE53PnUgJUmfANykRHvvSEaeFGHR55E+FFOtSN+KxRdjMDUN/rhPSays/p8Li
qG12W0OfvrSdsyaGOx9/5fLoZigWJdBLlzin5M8J0TbDC77aO0RYjb7xnglrPvMyxyuHxuxenPaH
Za0zKcQvidm5y8kDnftslFGXEBuGCxobP/YCfnvUxVFkKJ3106yDgYjTdLRZncHrYTNaRdHLOdAG
alNgHa/2+2m8atwBz735j9m9W8E6X47aD0upm50qKGsaCnw8qyIL5XctcfaCNYGu+HuB5ur+rPQa
m3Rc6I8k9l2dRsQs0h4rIWqDJ2dVSqTjyDKXZpBy2uPUZC5f46Fq9mDU5zXNysRojddxyNMkM3Ox
bPlq4SjbX8Y96L5V5jcb7STZDxmPX2MYWFCBUWVv8p9+agTnNCRxunZLWB4ZvRVgRaoMEkABnRDi
xzgHcgplwLa7JSnaFp6LNYth7eVxV4O1PHGf40+/fh6Bn0GXAgMBAAGjgYYwgYMwDgYDVR0PAQH/
BAQDAgGGMB0GA1UdIQQWMBQwEgYHYIV0AVMCAgYHYIV0AVMCAjASBgNVHRMBAf8ECDAGAQH/AgED
MB0GA1UdDgQWBBRF2aWBbj2ITY1x0kbBbkUe88SAnTAfBgNVHSMEGDAWgBRF2aWBbj2ITY1x0kbB
bkUe88SAnTANBgkqhkiG9w0BAQsFAAOCAgEAlDpzBp9SSzBc1P6xXCX5145v9Ydkn+0UjrgEjihL
j6p7jjm02Vj2e6E1CqGdivdj5eu9OYLU43otb98TPLr+flaYC/NUn81ETm484T4VvwYmneTwkLbU
wp4wLh/vx3rEUMfqe9pQy3omywC0Wqu1kx+AiYQElY2NfwmTv9SoqORjbdlk5LgpWgi/UOGED1V7
XwgiG/W9mR4U9s70WBCCswo9GcG/W6uqmdjyMb3lOGbcWAXH7WMaLgqXfIeTK7KK4/HsGOV1timH
59yLGn602MnTihdsfSlEvoqq9X46Lmgxk7lq2prg2+kupYTNHAq4Sgj5nPFhJpiTt3tm7JFe3VE/
23MPrQRYCd0EApUKPtN236YQHoA96M2kZNEzx5LH4k5E4wnJTsJdhw4Snr8PyQUQ3nqjsTzyP6Wq
J3mtMX0f/fwZacXduT98zca0wjAefm6S139hdlqP65VNvBFuIXxZN5nQBrz5Bm0yFqXZaajh3DyA
HmBR3NdUIR7KYndP+tiPsys6DXhyyWhBWkdKwqPrGtcKqzwyVcgKEZzfdNbwQBUdyLmPtTbFr/gi
uMod89a2GQ+fYWVq6nTIfI/DT11lgh/ZDYnadXL77/FHZxOzyNEZiCcmmpl5fx7kLD977vHeTYuW
l8PVP3wbI+2ksx0WckNLIOFZfsLorSa/ovc=
-----END CERTIFICATE-----
CA Disig Root R1
================
-----BEGIN CERTIFICATE-----
MIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNVBAYTAlNLMRMw
EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
ZyBSb290IFIxMB4XDTEyMDcxOTA5MDY1NloXDTQyMDcxOTA5MDY1NlowUjELMAkGA1UEBhMCU0sx
EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp
c2lnIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCqw3j33Jijp1pedxiy
3QRkD2P9m5YJgNXoqqXinCaUOuiZc4yd39ffg/N4T0Dhf9Kn0uXKE5Pn7cZ3Xza1lK/oOI7bm+V8
u8yN63Vz4STN5qctGS7Y1oprFOsIYgrY3LMATcMjfF9DCCMyEtztDK3AfQ+lekLZWnDZv6fXARz2
m6uOt0qGeKAeVjGu74IKgEH3G8muqzIm1Cxr7X1r5OJeIgpFy4QxTaz+29FHuvlglzmxZcfe+5nk
CiKxLU3lSCZpq+Kq8/v8kiky6bM+TR8noc2OuRf7JT7JbvN32g0S9l3HuzYQ1VTW8+DiR0jm3hTa
YVKvJrT1cU/J19IG32PK/yHoWQbgCNWEFVP3Q+V8xaCJmGtzxmjOZd69fwX3se72V6FglcXM6pM6
vpmumwKjrckWtc7dXpl4fho5frLABaTAgqWjR56M6ly2vGfb5ipN0gTco65F97yLnByn1tUD3AjL
LhbKXEAz6GfDLuemROoRRRw1ZS0eRWEkG4IupZ0zXWX4Qfkuy5Q/H6MMMSRE7cderVC6xkGbrPAX
ZcD4XW9boAo0PO7X6oifmPmvTiT6l7Jkdtqr9O3jw2Dv1fkCyC2fg69naQanMVXVz0tv/wQFx1is
XxYb5dKj6zHbHzMVTdDypVP1y+E9Tmgt2BLdqvLmTZtJ5cUoobqwWsagtQIDAQABo0IwQDAPBgNV
HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUiQq0OJMa5qvum5EY+fU8PjXQ
04IwDQYJKoZIhvcNAQEFBQADggIBADKL9p1Kyb4U5YysOMo6CdQbzoaz3evUuii+Eq5FLAR0rBNR
xVgYZk2C2tXck8An4b58n1KeElb21Zyp9HWc+jcSjxyT7Ff+Bw+r1RL3D65hXlaASfX8MPWbTx9B
LxyE04nH4toCdu0Jz2zBuByDHBb6lM19oMgY0sidbvW9adRtPTXoHqJPYNcHKfyyo6SdbhWSVhlM
CrDpfNIZTUJG7L399ldb3Zh+pE3McgODWF3vkzpBemOqfDqo9ayk0d2iLbYq/J8BjuIQscTK5Gfb
VSUZP/3oNn6z4eGBrxEWi1CXYBmCAMBrTXO40RMHPuq2MU/wQppt4hF05ZSsjYSVPCGvxdpHyN85
YmLLW1AL14FABZyb7bq2ix4Eb5YgOe2kfSnbSM6C3NQCjR0EMVrHS/BsYVLXtFHCgWzN4funodKS
ds+xDzdYpPJScWc/DIh4gInByLUfkmO+p3qKViwaqKactV2zY9ATIKHrkWzQjX2v3wvkF7mGnjix
lAxYjOBVqjtjbZqJYLhkKpLGN/R+Q0O3c+gB53+XD9fyexn9GtePyfqFa3qdnom2piiZk4hA9z7N
UaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsTQ6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJ
a7+h89n07eLw4+1knj0vllJPgFOL
-----END CERTIFICATE-----
CA Disig Root R2
================
-----BEGIN CERTIFICATE-----
MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw
EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx
EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp
c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC
w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia
xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7
A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S
GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV
g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa
5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE
koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A
Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i
Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV
HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u
Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM
tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV
sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je
dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8
1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx
mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01
utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0
sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg
UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV
7+ZtsH8tZ/3zbBt1RqPlShfppNcL
-----END CERTIFICATE-----
ACCVRAIZ1
=========
-----BEGIN CERTIFICATE-----
MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB
SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1
MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH
UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM
jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0
RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD
aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ
0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG
WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7
8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR
5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J
9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK
Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw
Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu
Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2
VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM
Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA
QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh
AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA
YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj
AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA
IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk
aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0
dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2
MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI
hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E
R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN
YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49
nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ
TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3
sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h
I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg
Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd
3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p
EfbRD0tVNEYqi4Y7
-----END CERTIFICATE-----
TWCA Global Root CA
===================
-----BEGIN CERTIFICATE-----
MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT
CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD
QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK
EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg
Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C
nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV
r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR
Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV
tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W
KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99
sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p
yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn
kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI
zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC
AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g
cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn
LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M
8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg
/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg
lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP
A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m
i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8
EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3
zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0=
-----END CERTIFICATE-----

@ -1 +0,0 @@
349ba2d6964db9ca558c9e1daf38e428

@ -213,6 +213,12 @@ class Url
*/
public function setScheme($scheme)
{
if ($this->scheme == 'http' && $this->port == 80) {
$this->port = null;
} elseif ($this->scheme == 'https' && $this->port == 443) {
$this->port = null;
}
$this->scheme = $scheme;
return $this;
@ -312,7 +318,7 @@ class Url
}
/**
* Add a relative path to the currently set path
* Add a relative path to the currently set path.
*
* @param string $relativePath Relative path to add
*
@ -320,16 +326,15 @@ class Url
*/
public function addPath($relativePath)
{
if (!$relativePath || $relativePath == '/') {
return $this;
}
// Add a leading slash if needed
if ($relativePath[0] != '/') {
$relativePath = '/' . $relativePath;
if ($relativePath != '/' && is_string($relativePath) && strlen($relativePath) > 0) {
// Add a leading slash if needed
if ($relativePath[0] != '/') {
$relativePath = '/' . $relativePath;
}
$this->setPath(str_replace('//', '/', $this->path . $relativePath));
}
return $this->setPath(str_replace('//', '/', $this->getPath() . $relativePath));
return $this;
}
/**

@ -18,7 +18,7 @@
"autoload": {
"psr-0": { "Guzzle\\Iterator": "/" }
},
"target-dir": "Guzzle/Log",
"target-dir": "Guzzle/Iterator",
"extra": {
"branch-alias": {
"dev-master": "3.7-dev"

@ -29,6 +29,6 @@ class MonologLogAdapter extends AbstractLogAdapter
public function log($message, $priority = LOG_INFO, $extras = array())
{
$this->log->addRecord(self::$mapping[$priority], $message);
$this->log->addRecord(self::$mapping[$priority], $message, $extras);
}
}

@ -36,7 +36,7 @@ class CookieParser implements CookieParserInterface
$data = array_merge(array_fill_keys(array_keys(self::$cookieParts), null), array(
'cookies' => array(),
'data' => array(),
'path' => $path ?: '/',
'path' => null,
'http_only' => false,
'discard' => false,
'domain' => $host
@ -81,6 +81,51 @@ class CookieParser implements CookieParserInterface
$data['expires'] = time() + (int) $data['max_age'];
}
// Check path attribute according RFC6265 http://tools.ietf.org/search/rfc6265#section-5.2.4
// "If the attribute-value is empty or if the first character of the
// attribute-value is not %x2F ("/"):
// Let cookie-path be the default-path.
// Otherwise:
// Let cookie-path be the attribute-value."
if (!$data['path'] || substr($data['path'], 0, 1) !== '/') {
$data['path'] = $this->getDefaultPath($path);
}
return $data;
}
/**
* Get default cookie path according to RFC 6265
* http://tools.ietf.org/search/rfc6265#section-5.1.4 Paths and Path-Match
*
* @param string $path Request uri-path
*
* @return string
*/
protected function getDefaultPath($path) {
// "The user agent MUST use an algorithm equivalent to the following algorithm
// to compute the default-path of a cookie:"
// "2. If the uri-path is empty or if the first character of the uri-path is not
// a %x2F ("/") character, output %x2F ("/") and skip the remaining steps.
if (empty($path) || substr($path, 0, 1) !== '/') {
return '/';
}
// "3. If the uri-path contains no more than one %x2F ("/") character, output
// %x2F ("/") and skip the remaining step."
if ($path === "/") {
return $path;
}
$rightSlashPos = strrpos($path, '/');
if ($rightSlashPos === 0) {
return "/";
}
// "4. Output the characters of the uri-path from the first character up to,
// but not including, the right-most %x2F ("/")."
return substr($path, 0, $rightSlashPos);
}
}

@ -95,9 +95,11 @@ class DefaultRevalidation implements RevalidationInterface
protected function createRevalidationRequest(RequestInterface $request, Response $response)
{
$revalidate = clone $request;
$revalidate->removeHeader('Pragma')
->removeHeader('Cache-Control')
->setHeader('If-Modified-Since', $response->getLastModified() ?: $response->getDate());
$revalidate->removeHeader('Pragma')->removeHeader('Cache-Control');
if ($response->getLastModified()) {
$revalidate->setHeader('If-Modified-Since', $response->getLastModified());
}
if ($response->getEtag()) {
$revalidate->setHeader('If-None-Match', $response->getEtag());

@ -412,7 +412,32 @@ class Cookie implements ToArrayInterface
*/
public function matchesPath($path)
{
return !$this->getPath() || 0 === stripos($path, $this->getPath());
// RFC6265 http://tools.ietf.org/search/rfc6265#section-5.1.4
// A request-path path-matches a given cookie-path if at least one of
// the following conditions holds:
// o The cookie-path and the request-path are identical.
if ($path == $this->getPath()) {
return true;
}
$pos = stripos($path, $this->getPath());
if ($pos === 0) {
// o The cookie-path is a prefix of the request-path, and the last
// character of the cookie-path is %x2F ("/").
if (substr($this->getPath(), -1, 1) === "/") {
return true;
}
// o The cookie-path is a prefix of the request-path, and the first
// character of the request-path that is not included in the cookie-
// path is a %x2F ("/") character.
if (substr($path, strlen($this->getPath()), 1) === "/") {
return true;
}
}
return false;
}
/**

@ -93,6 +93,7 @@ class ArrayCookieJar implements CookieJarInterface, \Serializable
if ($this->strictMode) {
throw new InvalidCookieException($result);
} else {
$this->removeCookieIfEmpty($cookie);
return false;
}
}
@ -219,4 +220,18 @@ class ArrayCookieJar implements CookieJarInterface, \Serializable
return $cookies;
}
/**
* If a cookie already exists and the server asks to set it again with a null value, the
* cookie must be deleted.
*
* @param \Guzzle\Plugin\Cookie\Cookie $cookie
*/
private function removeCookieIfEmpty(Cookie $cookie)
{
$cookieValue = $cookie->getValue();
if ($cookieValue === null || $cookieValue === '') {
$this->remove($cookie->getDomain(), $cookie->getPath(), $cookie->getName());
}
}
}

@ -62,7 +62,7 @@ class ErrorResponsePlugin implements EventSubscriberInterface
$errorClassInterface = __NAMESPACE__ . '\\ErrorResponseExceptionInterface';
if (!class_exists($className)) {
throw new ErrorResponseException("{$className} does not exist");
} elseif (!is_subclass_of($className, $errorClassInterface)) {
} elseif (!(in_array($errorClassInterface, class_implements($className)))) {
throw new ErrorResponseException("{$className} must implement {$errorClassInterface}");
}
throw $className::fromCommand($command, $response);

@ -226,17 +226,20 @@ class MockPlugin extends AbstractHasDispatcher implements EventSubscriberInterfa
* Called when a request is about to be sent
*
* @param Event $event
* @throws \OutOfBoundsException When queue is empty
*/
public function onRequestBeforeSend(Event $event)
{
if ($this->queue) {
$request = $event['request'];
$this->received[] = $request;
// Detach the filter from the client so it's a one-time use
if ($this->temporary && count($this->queue) == 1 && $request->getClient()) {
$request->getClient()->getEventDispatcher()->removeSubscriber($this);
}
$this->dequeue($request);
if (!$this->queue) {
throw new \OutOfBoundsException('Mock queue is empty');
}
$request = $event['request'];
$this->received[] = $request;
// Detach the filter from the client so it's a one-time use
if ($this->temporary && count($this->queue) == 1 && $request->getClient()) {
$request->getClient()->getEventDispatcher()->removeSubscriber($this);
}
$this->dequeue($request);
}
}

@ -155,7 +155,8 @@ class OauthPlugin implements EventSubscriberInterface
$params = $this->prepareParameters($params);
// Build signing string from combined params
$parameterString = new QueryString($params);
$parameterString = clone $request->getQuery();
$parameterString->replace($params);
$url = Url::factory($request->getUrl())->setQuery('')->setFragment(null);
@ -225,7 +226,7 @@ class OauthPlugin implements EventSubscriberInterface
// Sort params
$params = $params->toArray();
ksort($params);
uksort($params, 'strcmp');
return $params;
}

@ -147,6 +147,10 @@ class Client extends HttpClient implements ClientInterface
{
$this->serviceDescription = $service;
if ($this->getCommandFactory() && $this->getCommandFactory() instanceof CompositeFactory) {
$this->commandFactory->add(new Command\Factory\ServiceDescriptionFactory($service));
}
// If a baseUrl was set on the description, then update the client
if ($baseUrl = $service->getBaseUrl()) {
$this->setBaseUrl($baseUrl);

@ -55,6 +55,8 @@ class XmlVisitor extends AbstractResponseVisitor
$this->processObject($param, $value);
} elseif ($type == 'array') {
$this->processArray($param, $value);
} elseif ($type == 'string' && gettype($value) == 'array') {
$value = '';
}
if ($value !== null) {

@ -157,8 +157,9 @@ class SchemaValidator implements ValidatorInterface
}
} else {
// if additionalProperties is set to false and there are additionalProperties in the values, then fail
$keys = array_keys($value);
$this->errors[] = sprintf('%s[%s] is not an allowed property', $path, reset($keys));
foreach ($diff as $prop) {
$this->errors[] = sprintf('%s[%s] is not an allowed property', $path, $prop);
}
}
}
}

@ -8,7 +8,7 @@ use Guzzle\Http\Message\Response;
use Guzzle\Http\Message\RequestInterface;
use Guzzle\Tests\Http\Message\HeaderComparison;
use Guzzle\Plugin\Mock\MockPlugin;
use Guzzle\Service\Client;
use Guzzle\Http\Client;
use Guzzle\Service\Builder\ServiceBuilderInterface;
use Guzzle\Service\Builder\ServiceBuilder;
use Guzzle\Tests\Mock\MockObserver;
@ -99,7 +99,7 @@ abstract class GuzzleTestCase extends \PHPUnit_Framework_TestCase
/**
* Get a wildcard observer for an event dispatcher
*
* @param HasDispatcherInterface $hasEvent
* @param HasDispatcherInterface $hasDispatcher
*
* @return MockObserver
*/

@ -589,4 +589,13 @@ class ClientTest extends \Guzzle\Tests\GuzzleTestCase
$head = $client->head('http://www.foo.com', array(), array('query' => array('foo' => 'bar')));
$this->assertEquals('bar', $head->getQuery()->get('foo'));
}
public function testCanSetRelativeUrlStartingWithHttp()
{
$client = new Client('http://www.foo.com');
$this->assertEquals(
'http://www.foo.com/httpfoo',
$client->createRequest('GET', 'httpfoo')->getUrl()
);
}
}

@ -140,7 +140,9 @@ class CurlHandleTest extends \Guzzle\Tests\GuzzleTestCase
"couldn't connect to host",
'timeout was reached',
'connection time-out',
'connect() timed out!'
'connect() timed out!',
'failed connect to 127.0.0.1:123; connection refused',
'failed to connect to 127.0.0.1 port 123: connection refused'
);
$this->assertTrue(in_array(strtolower($h->getError()), $errors), $h->getError() . ' was not the error');

@ -12,13 +12,17 @@ use Guzzle\Http\Curl\CurlMultiProxy;
*/
class CurlMultiProxyTest extends \Guzzle\Tests\GuzzleTestCase
{
const SELECT_TIMEOUT = 23.1;
const MAX_HANDLES = 2;
/** @var \Guzzle\Http\Curl\CurlMultiProxy */
private $multi;
protected function setUp()
{
parent::setUp();
$this->multi = new CurlMultiProxy();
$this->multi = new CurlMultiProxy(self::MAX_HANDLES, self::SELECT_TIMEOUT);
}
public function tearDown()
@ -28,8 +32,14 @@ class CurlMultiProxyTest extends \Guzzle\Tests\GuzzleTestCase
public function testConstructorSetsMaxHandles()
{
$m = new CurlMultiProxy(2);
$this->assertEquals(2, $this->readAttribute($m, 'maxHandles'));
$m = new CurlMultiProxy(self::MAX_HANDLES, self::SELECT_TIMEOUT);
$this->assertEquals(self::MAX_HANDLES, $this->readAttribute($m, 'maxHandles'));
}
public function testConstructorSetsSelectTimeout()
{
$m = new CurlMultiProxy(self::MAX_HANDLES, self::SELECT_TIMEOUT);
$this->assertEquals(self::SELECT_TIMEOUT, $this->readAttribute($m, 'selectTimeout'));
}
public function testAddingRequestsAddsToQueue()
@ -90,7 +100,7 @@ class CurlMultiProxyTest extends \Guzzle\Tests\GuzzleTestCase
"HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"
));
$client = new Client($this->getServer()->getUrl());
$client->setCurlMulti(new CurlMultiProxy(2));
$client->setCurlMulti(new CurlMultiProxy(self::MAX_HANDLES, self::SELECT_TIMEOUT));
$request = $client->get();
$request->send();
$this->assertEquals(200, $request->getResponse()->getStatusCode());

@ -421,7 +421,10 @@ class HttpRequestFactoryTest extends \Guzzle\Tests\GuzzleTestCase
public function testCanAddPlugins()
{
$mock = new MockPlugin(array(new Response(200)));
$mock = new MockPlugin(array(
new Response(200),
new Response(200)
));
$client = new Client();
$client->addSubscriber($mock);
$request = $client->get('/', array(), array(

@ -622,4 +622,18 @@ class RequestTest extends \Guzzle\Tests\GuzzleTestCase
$request->setResponse(new Response(200, array(), 'foo'));
$this->assertEquals('foo', (string) $en);
}
public function testCanChangePortThroughScheme()
{
$request = new Request('GET', 'http://foo.com');
$request->setScheme('https');
$this->assertEquals('https://foo.com', (string) $request->getUrl());
$this->assertEquals('foo.com', $request->getHost());
$request->setScheme('http');
$this->assertEquals('http://foo.com', (string) $request->getUrl());
$this->assertEquals('foo.com', $request->getHost());
$request->setPort(null);
$this->assertEquals('http://foo.com', (string) $request->getUrl());
$this->assertEquals('foo.com', $request->getHost());
}
}

@ -92,13 +92,13 @@ class QueryStringTest extends \Guzzle\Tests\GuzzleTestCase
'test4' => null,
);
$this->q->replace($params);
$this->assertEquals('test=value&test%202=this%20is%20a%20test%3F&test3%5B0%5D=v1&test3%5B1%5D=v2&test3%5B2%5D=v3&test4=', $this->q->__toString());
$this->assertEquals('test=value&test%202=this%20is%20a%20test%3F&test3%5B0%5D=v1&test3%5B1%5D=v2&test3%5B2%5D=v3&test4', $this->q->__toString());
$this->q->useUrlEncoding(false);
$this->assertEquals('test=value&test 2=this is a test?&test3[0]=v1&test3[1]=v2&test3[2]=v3&test4=', $this->q->__toString());
$this->assertEquals('test=value&test 2=this is a test?&test3[0]=v1&test3[1]=v2&test3[2]=v3&test4', $this->q->__toString());
// Use an alternative aggregator
$this->q->setAggregator(new CommaAggregator());
$this->assertEquals('test=value&test 2=this is a test?&test3=v1,v2,v3&test4=', $this->q->__toString());
$this->assertEquals('test=value&test 2=this is a test?&test3=v1,v2,v3&test4', $this->q->__toString());
}
public function testAllowsMultipleValuesPerKey()
@ -147,7 +147,7 @@ class QueryStringTest extends \Guzzle\Tests\GuzzleTestCase
// Ensure that query string values are percent decoded
array('q%20a=a%20b', array('q a' => 'a b')),
// Ensure null values can be added
array('q&a', array('q' => QueryString::BLANK, 'a' => QueryString::BLANK)),
array('q&a', array('q' => false, 'a' => false)),
);
}
@ -207,9 +207,10 @@ class QueryStringTest extends \Guzzle\Tests\GuzzleTestCase
'foo' => 0,
'baz' => '0',
'bar' => null,
'boo' => false
'boo' => false,
'bam' => ''
));
$this->assertEquals('foo=0&baz=0&bar=&boo=', (string) $query);
$this->assertEquals('foo=0&baz=0&bar&boo&bam=', (string) $query);
}
public function testFromStringDoesntStripTrailingEquals()

@ -127,11 +127,16 @@ class UrlTest extends \Guzzle\Tests\GuzzleTestCase
{
// Does nothing here
$this->assertEquals('http://e.com/base?a=1', (string) Url::factory('http://e.com/base?a=1')->addPath(false));
$this->assertEquals('http://e.com/base?a=1', (string) Url::factory('http://e.com/base?a=1')->addPath(null));
$this->assertEquals('http://e.com/base?a=1', (string) Url::factory('http://e.com/base?a=1')->addPath(array()));
$this->assertEquals('http://e.com/base?a=1', (string) Url::factory('http://e.com/base?a=1')->addPath(new \stdClass()));
$this->assertEquals('http://e.com/base?a=1', (string) Url::factory('http://e.com/base?a=1')->addPath(''));
$this->assertEquals('http://e.com/base?a=1', (string) Url::factory('http://e.com/base?a=1')->addPath('/'));
$this->assertEquals('http://e.com/baz/foo', (string) Url::factory('http://e.com/baz/')->addPath('foo'));
$this->assertEquals('http://e.com/base/relative?a=1', (string) Url::factory('http://e.com/base?a=1')->addPath('relative'));
$this->assertEquals('http://e.com/base/relative?a=1', (string) Url::factory('http://e.com/base?a=1')->addPath('/relative'));
$this->assertEquals('http://e.com/base/0', (string) Url::factory('http://e.com/base')->addPath('0'));
$this->assertEquals('http://e.com/base/0/1', (string) Url::factory('http://e.com/base')->addPath('0')->addPath('1'));
}
/**

@ -107,7 +107,7 @@ class CookieParserProvider extends \Guzzle\Tests\GuzzleTestCase
),
// Tests getting the domain and path from a reference request
array(array(
'foo=1; port="80,8081"; httponly', 'foo=1; port="80,8081"; domain=www.test.com; HttpOnly;', 'foo=1; ; domain=www.test.com; path=/path/; port="80,8081"; HttpOnly;'),
'foo=1; port="80,8081"; httponly', 'foo=1; port="80,8081"; domain=www.test.com; HttpOnly;', 'foo=1; ; domain=www.test.com; path=/path; port="80,8081"; HttpOnly;'),
array(
'cookies' => array(
'foo' => 1
@ -117,7 +117,7 @@ class CookieParserProvider extends \Guzzle\Tests\GuzzleTestCase
'domain' => 'www.test.com',
'expires' => null,
'max_age' => null,
'path' => '/path/',
'path' => '/path',
'port' => array('80', '8081'),
'secure' => null,
'version' => null,
@ -135,7 +135,6 @@ class CookieParserProvider extends \Guzzle\Tests\GuzzleTestCase
'justacookie' => 'foo'
),
'domain' => 'example.com',
'path' => '',
'data' => array(),
'discard' => null,
'expires' => null,
@ -249,6 +248,91 @@ class CookieParserProvider extends \Guzzle\Tests\GuzzleTestCase
'http_only' => false
)
),
// rfc6265#section-5.1.4
array(
'cookie=value',
array(
'cookies' => array(
'cookie' => 'value'
),
'domain' => 'example.com',
'data' => array(),
'discard' => null,
'expires' => null,
'max_age' => null,
'path' => '/some/path',
'port' => null,
'secure' => null,
'version' => null,
'comment' => null,
'comment_url' => null,
'http_only' => false
),
'http://example.com/some/path/test.html'
),
array(
'empty=path',
array(
'cookies' => array(
'empty' => 'path'
),
'domain' => 'example.com',
'data' => array(),
'discard' => null,
'expires' => null,
'max_age' => null,
'path' => '/',
'port' => null,
'secure' => null,
'version' => null,
'comment' => null,
'comment_url' => null,
'http_only' => false
),
'http://example.com/test.html'
),
array(
'baz=qux',
array(
'cookies' => array(
'baz' => 'qux'
),
'domain' => 'example.com',
'data' => array(),
'discard' => null,
'expires' => null,
'max_age' => null,
'path' => '/',
'port' => null,
'secure' => null,
'version' => null,
'comment' => null,
'comment_url' => null,
'http_only' => false
),
'http://example.com?query=here'
),
array(
'test=noSlashPath; path=someString',
array(
'cookies' => array(
'test' => 'noSlashPath'
),
'domain' => 'example.com',
'data' => array(),
'discard' => null,
'expires' => null,
'max_age' => null,
'path' => '/real/path',
'port' => null,
'secure' => null,
'version' => null,
'comment' => null,
'comment_url' => null,
'http_only' => false
),
'http://example.com/real/path/'
),
);
}

@ -176,6 +176,7 @@ class DefaultRevalidationTest extends \Guzzle\Tests\GuzzleTestCase
'Last-Modified' => $lm,
'Content-Length' => 2
), 'hi'),
new CurlException('Bleh'),
new CurlException('Bleh')
));
$client->addSubscriber(new CachePlugin());
@ -184,7 +185,7 @@ class DefaultRevalidationTest extends \Guzzle\Tests\GuzzleTestCase
$response = $client->get()->send();
$this->assertEquals(200, $response->getStatusCode());
$this->assertEquals('hi', $response->getBody(true));
$this->assertEquals(2, count($mock->getReceivedRequests()));
$this->assertEquals(3, count($mock->getReceivedRequests()));
$this->assertEquals(0, count($mock->getQueue()));
}
@ -198,6 +199,7 @@ class DefaultRevalidationTest extends \Guzzle\Tests\GuzzleTestCase
'Last-Modified' => $lm,
'Content-Length' => 2
), 'hi'),
new CurlException('Oh no!'),
new CurlException('Oh no!')
));
$cache = new CachePlugin();

@ -350,4 +350,36 @@ class ArrayCookieJarTest extends \Guzzle\Tests\GuzzleTestCase
'domain' => 'bar'
)));
}
public function testRemoveExistingCookieIfEmpty()
{
// Add a cookie that should not be affected
$a = new Cookie(array(
'name' => 'foo',
'value' => 'nope',
'domain' => 'foo.com',
'path' => '/abc'
));
$this->jar->add($a);
$data = array(
'name' => 'foo',
'value' => 'bar',
'domain' => 'foo.com',
'path' => '/'
);
$b = new Cookie($data);
$this->assertTrue($this->jar->add($b));
$this->assertEquals(2, count($this->jar));
// Try to re-set the same cookie with no value: assert that cookie is not added
$data['value'] = null;
$this->assertFalse($this->jar->add(new Cookie($data)));
// assert that original cookie has been deleted
$cookies = $this->jar->all('foo.com');
$this->assertTrue(in_array($a, $cookies, true));
$this->assertFalse(in_array($b, $cookies, true));
$this->assertEquals(1, count($this->jar));
}
}

@ -164,9 +164,24 @@ class CookieTest extends \Guzzle\Tests\GuzzleTestCase
$this->assertTrue($cookie->matchesPath('/foo'));
$cookie->setPath('/foo');
// o The cookie-path and the request-path are identical.
$this->assertTrue($cookie->matchesPath('/foo'));
$this->assertTrue($cookie->matchesPath('/foo/bar'));
$this->assertFalse($cookie->matchesPath('/bar'));
// o The cookie-path is a prefix of the request-path, and the first
// character of the request-path that is not included in the cookie-
// path is a %x2F ("/") character.
$this->assertTrue($cookie->matchesPath('/foo/bar'));
$this->assertFalse($cookie->matchesPath('/fooBar'));
// o The cookie-path is a prefix of the request-path, and the last
// character of the cookie-path is %x2F ("/").
$cookie->setPath('/foo/');
$this->assertTrue($cookie->matchesPath('/foo/bar'));
$this->assertFalse($cookie->matchesPath('/fooBaz'));
$this->assertFalse($cookie->matchesPath('/foo'));
}
public function cookieValidateProvider()

@ -119,8 +119,9 @@ class MockPluginTest extends \Guzzle\Tests\GuzzleTestCase
/**
* @depends testAddsResponseFilesToQueue
* @expectedException \OutOfBoundsException
*/
public function testUpdateIgnoresWhenEmpty()
public function testUpdateThrowsExceptionWhenEmpty()
{
$p = new MockPlugin();
$p->onRequestBeforeSend(new Event());

@ -3,6 +3,7 @@
namespace Guzzle\Tests\Plugin\Oauth;
use Guzzle\Http\Message\RequestFactory;
use Guzzle\Http\QueryAggregator\CommaAggregator;
use Guzzle\Plugin\Oauth\OauthPlugin;
use Guzzle\Common\Event;
@ -149,6 +150,21 @@ class OauthPluginTest extends \Guzzle\Tests\GuzzleTestCase
$this->assertContains('a%255Bb%255D%255Bc%255D%3Dd%26a%255Bb%255D%255Be%255D%3Df%26c%3Dd%26e%3Df%26', $p->getStringToSign($request, self::TIMESTAMP, self::NONCE));
}
/**
* @depends testMultiDimensionalArray
*/
public function testMultiDimensionalArrayWithNonDefaultQueryAggregator()
{
$p = new OauthPlugin($this->config);
$request = $this->getRequest();
$aggregator = new CommaAggregator();
$query = $request->getQuery()->setAggregator($aggregator)
->set('g', array('h', 'i', 'j'))
->set('k', array('l'))
->set('m', array('n', 'o'));
$this->assertContains('a%3Db%26c%3Dd%26e%3Df%26g%3Dh%2Ci%2Cj%26k%3Dl%26m%3Dn%2Co', $p->getStringToSign($request, self::TIMESTAMP, self::NONCE));
}
/**
* @depends testCreatesStringToSignFromPostRequest
*/

@ -304,4 +304,17 @@ class ClientTest extends \Guzzle\Tests\GuzzleTestCase
}
}
}
public function testGetCommandAfterTwoSetDescriptions()
{
$service1 = ServiceDescription::factory(__DIR__ . '/../TestData/test_service.json');
$service2 = ServiceDescription::factory(__DIR__ . '/../TestData/test_service_3.json');
$client = new Mock\MockClient();
$client->setDescription($service1);
$client->getCommand('foo_bar');
$client->setDescription($service2);
$client->getCommand('baz_qux');
}
}

@ -134,11 +134,19 @@ class CommandTest extends AbstractCommandTest
*/
public function testConvertsInvalidJsonResponsesToArray()
{
$json = '{ "key": "Hi!" }invalid';
// Some implementations of php-json extension are not strict enough
// and allow to parse invalid json ignoring invalid parts
// See https://github.com/remicollet/pecl-json-c/issues/5
if (json_decode($json) && JSON_ERROR_NONE === json_last_error()) {
$this->markTestSkipped('php-pecl-json library regression issues');
}
$client = $this->getClient();
$this->setMockResponse($client, array(
new \Guzzle\Http\Message\Response(200, array(
'Content-Type' => 'application/json'
), '{ "key": "Hi!" }invalid'
), $json
)
));
$command = new MockCommand();

@ -412,4 +412,20 @@ class XmlVisitorTest extends AbstractResponseVisitorTest
$visitor->visit($this->command, $this->response, $param, $this->value);
$this->assertEquals(array('foo' => array('bar' => 15)), $this->value);
}
public function testProperlyHandlesEmptyStringValues()
{
$visitor = new Visitor();
$param = new Parameter(array(
'name' => 'foo',
'type' => 'object',
'properties' => array(
'bar' => array('type' => 'string')
),
));
$xml = '<wrapper><foo><bar /></foo></wrapper>';
$value = json_decode(json_encode(new \SimpleXMLElement($xml)), true);
$visitor->visit($this->command, $this->response, $param, $value);
$this->assertEquals(array('foo' => array('bar' => '')), $value);
}
}

@ -66,7 +66,6 @@ class ResourceIteratorTest extends \Guzzle\Tests\GuzzleTestCase
));
$d = array();
reset($ri);
foreach ($ri as $data) {
$d[] = $data;
}

@ -0,0 +1,40 @@
{
"includes": [ "test_service2.json" ],
"operations": {
"test": {
"uri": "/path"
},
"concrete": {
"extends": "abstract"
},
"baz_qux": {
"uri": "/testing",
"parameters": {
"other": {
"location": "json",
"location_key": "Other"
},
"test": {
"type": "object",
"location": "json",
"properties": {
"baz": {
"type": "boolean",
"default": true
},
"bar": {
"type": "string",
"filters": [
{
"method": "strtolower",
"args": ["test", "@value"]
},
"strtoupper"
]
}
}
}
}
}
}
}

@ -22,6 +22,7 @@
* Add width parameter to Drawer::text (@salemgolemugoo).
* Add NotSupportedException when a driver does not support an operation (@rouffj).
* Add support for metadata.
* Fix #158: GD alpha detection + Color::isOpaque are broken.
### 0.5.0 (2013-07-10)

@ -2,6 +2,8 @@
[![project status](http://stillmaintained.com/avalanche123/Imagine.png)](http://stillmaintained.com/avalanche123/Imagine)
[![Build Status](https://secure.travis-ci.org/avalanche123/Imagine.png?branch=develop)](http://travis-ci.org/avalanche123/Imagine)
Tweet about it using the [#php_imagine](https://twitter.com/search?q=%23php_imagine) hashtag.
Image manipulation library for PHP 5.3 inspired by Python's PIL and other image
libraries.

@ -0,0 +1,43 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="robots" content="index, follow, all" />
<title>Imagine\Exception\NotSupportedException | </title>
<link rel="stylesheet" type="text/css" href="../../stylesheet.css">
</head>
<body id="class">
<div class="header">
<ul>
<li><a href="../../classes.html">Classes</a></li>
<li><a href="../../namespaces.html">Namespaces</a></li>
<li><a href="../../interfaces.html">Interfaces</a></li>
<li><a href="../../traits.html">Traits</a></li>
<li><a href="../../doc-index.html">Index</a></li>
</ul>
<div id="title"></div>
<div class="type">Class</div>
<h1><a href="../../Imagine/Exception.html">Imagine\Exception</a>\NotSupportedException</h1>
</div>
<div class="content">
<p> class
<strong>NotSupportedException</strong> extends <a href="../../Imagine/Exception/RuntimeException.html"><abbr title="Imagine\Exception\RuntimeException">RuntimeException</abbr></a> implements
<a href="../../Imagine/Exception/Exception.html"><abbr title="Imagine\Exception\Exception">Exception</abbr></a></p>
<div class="description">
<p>Should be used when a driver does not support an operation.</p>
<p>
</p>
</div>
</div>
<div id="footer">
Generated by <a href="http://sami.sensiolabs.org/" target="_top">Sami, the API Documentation Generator</a>.
</div>
</body>
</html>

@ -303,7 +303,7 @@
</div>
<h3 id="method_getFilters">
<div class="location">at line 98</div>
<div class="location">at line 95</div>
<code> public array
<strong>getFilters</strong>()</code>
</h3>
@ -328,7 +328,7 @@
</div>
<h3 id="method_apply">
<div class="location">at line 111</div>
<div class="location">at line 108</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>apply</strong>(<a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a> $image)</code>
</h3>
@ -365,7 +365,7 @@
</div>
<h3 id="method_copy">
<div class="location">at line 123</div>
<div class="location">at line 120</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>copy</strong>()</code>
</h3>
@ -401,7 +401,7 @@
</div>
<h3 id="method_crop">
<div class="location">at line 131</div>
<div class="location">at line 128</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>crop</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $start, <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size)</code>
</h3>
@ -459,7 +459,7 @@
</div>
<h3 id="method_flipHorizontally">
<div class="location">at line 139</div>
<div class="location">at line 136</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>flipHorizontally</strong>()</code>
</h3>
@ -495,7 +495,7 @@
</div>
<h3 id="method_flipVertically">
<div class="location">at line 147</div>
<div class="location">at line 144</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>flipVertically</strong>()</code>
</h3>
@ -531,7 +531,7 @@
</div>
<h3 id="method_strip">
<div class="location">at line 155</div>
<div class="location">at line 152</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>strip</strong>()</code>
</h3>
@ -567,7 +567,7 @@
</div>
<h3 id="method_paste">
<div class="location">at line 163</div>
<div class="location">at line 160</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>paste</strong>(<a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a> $image, <a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $start)</code>
</h3>
@ -629,7 +629,7 @@
</div>
<h3 id="method_applyMask">
<div class="location">at line 171</div>
<div class="location">at line 168</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>applyMask</strong>(<a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a> $mask)</code>
</h3>
@ -666,7 +666,7 @@
</div>
<h3 id="method_fill">
<div class="location">at line 179</div>
<div class="location">at line 176</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>fill</strong>(<a href="../../Imagine/Image/Fill/FillInterface.html"><abbr title="Imagine\Image\Fill\FillInterface">FillInterface</abbr></a> $fill)</code>
</h3>
@ -703,7 +703,7 @@
</div>
<h3 id="method_resize">
<div class="location">at line 187</div>
<div class="location">at line 184</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>resize</strong>(<a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, string $filter = ImageInterface::FILTER_UNDEFINED)</code>
</h3>
@ -756,7 +756,7 @@
</div>
<h3 id="method_rotate">
<div class="location">at line 195</div>
<div class="location">at line 192</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>rotate</strong>(integer $angle, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $background = null)</code>
</h3>
@ -809,7 +809,7 @@ area of rotated image.</p>
</div>
<h3 id="method_save">
<div class="location">at line 203</div>
<div class="location">at line 200</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>save</strong>(string $path = null, array $options = array())</code>
</h3>
@ -862,7 +862,7 @@ area of rotated image.</p>
</div>
<h3 id="method_show">
<div class="location">at line 211</div>
<div class="location">at line 208</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>show</strong>(string $format, array $options = array())</code>
</h3>
@ -915,7 +915,7 @@ area of rotated image.</p>
</div>
<h3 id="method_thumbnail">
<div class="location">at line 219</div>
<div class="location">at line 216</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>thumbnail</strong>(<a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, string $mode = ImageInterface::THUMBNAIL_INSET, string $filter = ImageInterface::FILTER_UNDEFINED)</code>
</h3>
@ -973,7 +973,7 @@ area of rotated image.</p>
</div>
<h3 id="method_add">
<div class="location">at line 232</div>
<div class="location">at line 229</div>
<code> public <a href="../../Imagine/Filter/Transformation.html"><abbr title="Imagine\Filter\Transformation">Transformation</abbr></a>
<strong>add</strong>(<a href="../../Imagine/Filter/FilterInterface.html"><abbr title="Imagine\Filter\FilterInterface">FilterInterface</abbr></a> $filter, int $priority)</code>
</h3>

@ -238,7 +238,7 @@
</div>
<h3 id="method_chord">
<div class="location">at line 81</div>
<div class="location">at line 77</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>chord</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $center, <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, integer $start, integer $end, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color, Boolean $fill = false, integer $thickness = 1)</code>
</h3>
@ -321,7 +321,7 @@
</div>
<h3 id="method_ellipse">
<div class="location">at line 113</div>
<div class="location">at line 106</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>ellipse</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $center, <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color, Boolean $fill = false, integer $thickness = 1)</code>
</h3>
@ -392,7 +392,7 @@
</div>
<h3 id="method_line">
<div class="location">at line 144</div>
<div class="location">at line 135</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>line</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $start, <a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $end, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color, integer $thickness = 1)</code>
</h3>
@ -447,7 +447,7 @@
</div>
<h3 id="method_pieSlice">
<div class="location">at line 170</div>
<div class="location">at line 158</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>pieSlice</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $center, <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, integer $start, integer $end, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color, Boolean $fill = false, integer $thickness = 1)</code>
</h3>
@ -530,7 +530,7 @@
</div>
<h3 id="method_dot">
<div class="location">at line 202</div>
<div class="location">at line 187</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>dot</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $position, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color)</code>
</h3>
@ -583,7 +583,7 @@
</div>
<h3 id="method_polygon">
<div class="location">at line 226</div>
<div class="location">at line 208</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>polygon</strong>(array $coordinates, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color, Boolean $fill = false, integer $thickness = 1)</code>
</h3>
@ -648,7 +648,7 @@ three coordinates</p>
</div>
<h3 id="method_text">
<div class="location">at line 265</div>
<div class="location">at line 245</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>text</strong>(string $string, <a href="../../Imagine/Image/AbstractFont.html"><abbr title="Imagine\Image\AbstractFont">AbstractFont</abbr></a> $font, <a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $position, integer $angle, integer $width = null)</code>
</h3>

@ -309,7 +309,7 @@
</div>
<h3 id="method_sharpen">
<div class="location">at line 88</div>
<div class="location">at line 86</div>
<code> public <a href="../../Imagine/Effects/EffectsInterface.html"><abbr title="Imagine\Effects\EffectsInterface">EffectsInterface</abbr></a>
<strong>sharpen</strong>()</code>
</h3>
@ -345,7 +345,7 @@
</div>
<h3 id="method_blur">
<div class="location">at line 103</div>
<div class="location">at line 101</div>
<code> public <a href="../../Imagine/Effects/EffectsInterface.html"><abbr title="Imagine\Effects\EffectsInterface">EffectsInterface</abbr></a>
<strong>blur</strong>(float|int $sigma = 1)</code>
</h3>

@ -454,7 +454,7 @@
</div>
<h3 id="method___construct">
<div class="location">at line 59</div>
<div class="location">at line 58</div>
<code> public
<strong>__construct</strong>(resource $resource, <a href="../../Imagine/Image/Palette/PaletteInterface.html"><abbr title="Imagine\Image\Palette\PaletteInterface">PaletteInterface</abbr></a> $palette, <a href="../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a> $metadata)</code>
</h3>
@ -493,7 +493,7 @@
</div>
<h3 id="method___destruct">
<div class="location">at line 69</div>
<div class="location">at line 68</div>
<code> public
<strong>__destruct</strong>()</code>
</h3>
@ -509,7 +509,7 @@
</div>
<h3 id="method_getGdResource">
<div class="location">at line 81</div>
<div class="location">at line 80</div>
<code> public resource
<strong>getGdResource</strong>()</code>
</h3>
@ -535,7 +535,7 @@
</div>
<h3 id="method_copy">
<div class="location">at line 89</div>
<div class="location">at line 88</div>
<code>final public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>copy</strong>()</code>
</h3>
@ -571,7 +571,7 @@
</div>
<h3 id="method_crop">
<div class="location">at line 106</div>
<div class="location">at line 103</div>
<code>final public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>crop</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $start, <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size)</code>
</h3>
@ -629,7 +629,7 @@
</div>
<h3 id="method_paste">
<div class="location">at line 136</div>
<div class="location">at line 128</div>
<code>final public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>paste</strong>(<a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a> $image, <a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $start)</code>
</h3>
@ -691,7 +691,7 @@
</div>
<h3 id="method_resize">
<div class="location">at line 170</div>
<div class="location">at line 155</div>
<code>final public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>resize</strong>(<a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, string $filter = ImageInterface::FILTER_UNDEFINED)</code>
</h3>
@ -744,7 +744,7 @@
</div>
<h3 id="method_rotate">
<div class="location">at line 203</div>
<div class="location">at line 186</div>
<code>final public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>rotate</strong>(integer $angle, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $background = null)</code>
</h3>
@ -797,7 +797,7 @@ area of rotated image.</p>
</div>
<h3 id="method_save">
<div class="location">at line 223</div>
<div class="location">at line 204</div>
<code>final public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>save</strong>(string $path = null, array $options = array())</code>
</h3>
@ -850,7 +850,7 @@ area of rotated image.</p>
</div>
<h3 id="method_show">
<div class="location">at line 250</div>
<div class="location">at line 229</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>show</strong>(string $format, array $options = array())</code>
</h3>
@ -903,7 +903,7 @@ area of rotated image.</p>
</div>
<h3 id="method_get">
<div class="location">at line 262</div>
<div class="location">at line 241</div>
<code> public string
<strong>get</strong>(string $format, array $options = array())</code>
</h3>
@ -955,7 +955,7 @@ area of rotated image.</p>
</div>
<h3 id="method___toString">
<div class="location">at line 273</div>
<div class="location">at line 252</div>
<code> public string
<strong>__toString</strong>()</code>
</h3>
@ -990,7 +990,7 @@ area of rotated image.</p>
</div>
<h3 id="method_flipHorizontally">
<div class="location">at line 281</div>
<div class="location">at line 260</div>
<code>final public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>flipHorizontally</strong>()</code>
</h3>
@ -1026,7 +1026,7 @@ area of rotated image.</p>
</div>
<h3 id="method_flipVertically">
<div class="location">at line 305</div>
<div class="location">at line 283</div>
<code>final public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>flipVertically</strong>()</code>
</h3>
@ -1062,7 +1062,7 @@ area of rotated image.</p>
</div>
<h3 id="method_strip">
<div class="location">at line 329</div>
<div class="location">at line 306</div>
<code>final public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>strip</strong>()</code>
</h3>
@ -1098,7 +1098,7 @@ area of rotated image.</p>
</div>
<h3 id="method_draw">
<div class="location">at line 341</div>
<div class="location">at line 315</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>draw</strong>()</code>
</h3>
@ -1124,7 +1124,7 @@ area of rotated image.</p>
</div>
<h3 id="method_effects">
<div class="location">at line 349</div>
<div class="location">at line 323</div>
<code> public <a href="../../Imagine/Effects/EffectsInterface.html"><abbr title="Imagine\Effects\EffectsInterface">EffectsInterface</abbr></a>
<strong>effects</strong>()</code>
</h3>
@ -1151,7 +1151,7 @@ area of rotated image.</p>
</div>
<h3 id="method_getSize">
<div class="location">at line 357</div>
<div class="location">at line 331</div>
<code> public <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a>
<strong>getSize</strong>()</code>
</h3>
@ -1177,7 +1177,7 @@ area of rotated image.</p>
</div>
<h3 id="method_applyMask">
<div class="location">at line 365</div>
<div class="location">at line 339</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>applyMask</strong>(<a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a> $mask)</code>
</h3>
@ -1214,7 +1214,7 @@ area of rotated image.</p>
</div>
<h3 id="method_fill">
<div class="location">at line 406</div>
<div class="location">at line 371</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>fill</strong>(<a href="../../Imagine/Image/Fill/FillInterface.html"><abbr title="Imagine\Image\Fill\FillInterface">FillInterface</abbr></a> $fill)</code>
</h3>
@ -1251,7 +1251,7 @@ area of rotated image.</p>
</div>
<h3 id="method_mask">
<div class="location">at line 428</div>
<div class="location">at line 389</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>mask</strong>()</code>
</h3>
@ -1277,7 +1277,7 @@ area of rotated image.</p>
</div>
<h3 id="method_histogram">
<div class="location">at line 442</div>
<div class="location">at line 403</div>
<code> public array
<strong>histogram</strong>()</code>
</h3>
@ -1303,7 +1303,7 @@ area of rotated image.</p>
</div>
<h3 id="method_getColorAt">
<div class="location">at line 459</div>
<div class="location">at line 420</div>
<code> public <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>getColorAt</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $point)</code>
</h3>
@ -1350,7 +1350,7 @@ area of rotated image.</p>
</div>
<h3 id="method_layers">
<div class="location">at line 482</div>
<div class="location">at line 435</div>
<code> public <a href="../../Imagine/Image/LayersInterface.html"><abbr title="Imagine\Image\LayersInterface">LayersInterface</abbr></a>
<strong>layers</strong>()</code>
</h3>
@ -1389,7 +1389,7 @@ area of rotated image.</p>
</div>
<h3 id="method_interlace">
<div class="location">at line 494</div>
<div class="location">at line 447</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>interlace</strong>(string $scheme)</code>
</h3>
@ -1435,7 +1435,7 @@ area of rotated image.</p>
</div>
<h3 id="method_palette">
<div class="location">at line 515</div>
<div class="location">at line 468</div>
<code> public <a href="../../Imagine/Image/Palette/PaletteInterface.html"><abbr title="Imagine\Image\Palette\PaletteInterface">PaletteInterface</abbr></a>
<strong>palette</strong>()</code>
</h3>
@ -1461,7 +1461,7 @@ area of rotated image.</p>
</div>
<h3 id="method_profile">
<div class="location">at line 523</div>
<div class="location">at line 476</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>profile</strong>(<a href="../../Imagine/Image/ProfileInterface.html"><abbr title="Imagine\Image\ProfileInterface">ProfileInterface</abbr></a> $profile)</code>
</h3>
@ -1508,7 +1508,7 @@ area of rotated image.</p>
</div>
<h3 id="method_usePalette">
<div class="location">at line 531</div>
<div class="location">at line 484</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>usePalette</strong>(<a href="../../Imagine/Image/Palette/PaletteInterface.html"><abbr title="Imagine\Image\Palette\PaletteInterface">PaletteInterface</abbr></a> $palette)</code>
</h3>

@ -218,7 +218,7 @@
</div>
<h3 id="method_create">
<div class="location">at line 62</div>
<div class="location">at line 46</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>create</strong>(<a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color = null)</code>
</h3>
@ -276,7 +276,7 @@
</div>
<h3 id="method_open">
<div class="location">at line 105</div>
<div class="location">at line 84</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>open</strong>(string $path)</code>
</h3>
@ -323,7 +323,7 @@
</div>
<h3 id="method_load">
<div class="location">at line 127</div>
<div class="location">at line 104</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>load</strong>(string $string)</code>
</h3>
@ -370,7 +370,7 @@
</div>
<h3 id="method_read">
<div class="location">at line 141</div>
<div class="location">at line 112</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>read</strong>(resource $resource)</code>
</h3>
@ -417,7 +417,7 @@
</div>
<h3 id="method_font">
<div class="location">at line 159</div>
<div class="location">at line 130</div>
<code> public <a href="../../Imagine/Image/FontInterface.html"><abbr title="Imagine\Image\FontInterface">FontInterface</abbr></a>
<strong>font</strong>(string $file, integer $size, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color)</code>
</h3>

@ -135,7 +135,7 @@
<h2>Details</h2>
<h3 id="method___construct">
<div class="location">at line 36</div>
<div class="location">at line 37</div>
<code> public
<strong>__construct</strong>(<abbr title="Imagine\Gmagick\Gmagick">Gmagick</abbr> $gmagick)</code>
</h3>
@ -163,7 +163,7 @@
</div>
<h3 id="method_arc">
<div class="location">at line 44</div>
<div class="location">at line 45</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>arc</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $center, <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, integer $start, integer $end, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color, integer $thickness = 1)</code>
</h3>
@ -240,7 +240,7 @@
</div>
<h3 id="method_chord">
<div class="location">at line 84</div>
<div class="location">at line 83</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>chord</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $center, <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, integer $start, integer $end, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color, Boolean $fill = false, integer $thickness = 1)</code>
</h3>
@ -323,7 +323,7 @@
</div>
<h3 id="method_ellipse">
<div class="location">at line 130</div>
<div class="location">at line 127</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>ellipse</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $center, <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color, Boolean $fill = false, integer $thickness = 1)</code>
</h3>
@ -394,7 +394,7 @@
</div>
<h3 id="method_line">
<div class="location">at line 173</div>
<div class="location">at line 168</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>line</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $start, <a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $end, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color, integer $thickness = 1)</code>
</h3>
@ -449,7 +449,7 @@
</div>
<h3 id="method_pieSlice">
<div class="location">at line 206</div>
<div class="location">at line 199</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>pieSlice</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $center, <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, integer $start, integer $end, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color, Boolean $fill = false, integer $thickness = 1)</code>
</h3>
@ -532,7 +532,7 @@
</div>
<h3 id="method_dot">
<div class="location">at line 240</div>
<div class="location">at line 233</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>dot</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $position, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color)</code>
</h3>
@ -585,7 +585,7 @@
</div>
<h3 id="method_polygon">
<div class="location">at line 269</div>
<div class="location">at line 259</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>polygon</strong>(array $coordinates, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color, Boolean $fill = false, integer $thickness = 1)</code>
</h3>
@ -650,7 +650,7 @@ three coordinates</p>
</div>
<h3 id="method_text">
<div class="location">at line 312</div>
<div class="location">at line 297</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>text</strong>(string $string, <a href="../../Imagine/Image/AbstractFont.html"><abbr title="Imagine\Image\AbstractFont">AbstractFont</abbr></a> $font, <a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $position, integer $angle, integer $width = null)</code>
</h3>

@ -226,7 +226,7 @@
</div>
<h3 id="method_grayscale">
<div class="location">at line 67</div>
<div class="location">at line 66</div>
<code> public <a href="../../Imagine/Effects/EffectsInterface.html"><abbr title="Imagine\Effects\EffectsInterface">EffectsInterface</abbr></a>
<strong>grayscale</strong>()</code>
</h3>
@ -262,7 +262,7 @@
</div>
<h3 id="method_colorize">
<div class="location">at line 81</div>
<div class="location">at line 80</div>
<code> public <a href="../../Imagine/Effects/EffectsInterface.html"><abbr title="Imagine\Effects\EffectsInterface">EffectsInterface</abbr></a>
<strong>colorize</strong>(<a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color)</code>
</h3>
@ -309,7 +309,7 @@
</div>
<h3 id="method_sharpen">
<div class="location">at line 89</div>
<div class="location">at line 88</div>
<code> public <a href="../../Imagine/Effects/EffectsInterface.html"><abbr title="Imagine\Effects\EffectsInterface">EffectsInterface</abbr></a>
<strong>sharpen</strong>()</code>
</h3>
@ -345,7 +345,7 @@
</div>
<h3 id="method_blur">
<div class="location">at line 97</div>
<div class="location">at line 96</div>
<code> public <a href="../../Imagine/Effects/EffectsInterface.html"><abbr title="Imagine\Effects\EffectsInterface">EffectsInterface</abbr></a>
<strong>blur</strong>(float|int $sigma = 1)</code>
</h3>

@ -639,7 +639,7 @@
</div>
<h3 id="method_flipHorizontally">
<div class="location">at line 129</div>
<div class="location">at line 118</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>flipHorizontally</strong>()</code>
</h3>
@ -675,7 +675,7 @@
</div>
<h3 id="method_flipVertically">
<div class="location">at line 145</div>
<div class="location">at line 132</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>flipVertically</strong>()</code>
</h3>
@ -711,7 +711,7 @@
</div>
<h3 id="method_strip">
<div class="location">at line 161</div>
<div class="location">at line 146</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>strip</strong>()</code>
</h3>
@ -747,7 +747,7 @@
</div>
<h3 id="method_paste">
<div class="location">at line 178</div>
<div class="location">at line 161</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>paste</strong>(<a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a> $image, <a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $start)</code>
</h3>
@ -809,7 +809,7 @@
</div>
<h3 id="method_resize">
<div class="location">at line 213</div>
<div class="location">at line 183</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>resize</strong>(<a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, string $filter = ImageInterface::FILTER_UNDEFINED)</code>
</h3>
@ -862,7 +862,7 @@
</div>
<h3 id="method_rotate">
<div class="location">at line 257</div>
<div class="location">at line 220</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>rotate</strong>(integer $angle, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $background = null)</code>
</h3>
@ -915,7 +915,7 @@ area of rotated image.</p>
</div>
<h3 id="method_save">
<div class="location">at line 344</div>
<div class="location">at line 305</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>save</strong>(string $path = null, array $options = array())</code>
</h3>
@ -968,7 +968,7 @@ area of rotated image.</p>
</div>
<h3 id="method_show">
<div class="location">at line 370</div>
<div class="location">at line 327</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>show</strong>(string $format, array $options = array())</code>
</h3>
@ -1021,7 +1021,7 @@ area of rotated image.</p>
</div>
<h3 id="method_get">
<div class="location">at line 381</div>
<div class="location">at line 338</div>
<code> public string
<strong>get</strong>(string $format, array $options = array())</code>
</h3>
@ -1073,7 +1073,7 @@ area of rotated image.</p>
</div>
<h3 id="method___toString">
<div class="location">at line 429</div>
<div class="location">at line 382</div>
<code> public string
<strong>__toString</strong>()</code>
</h3>
@ -1108,7 +1108,7 @@ area of rotated image.</p>
</div>
<h3 id="method_draw">
<div class="location">at line 437</div>
<div class="location">at line 390</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>draw</strong>()</code>
</h3>
@ -1134,7 +1134,7 @@ area of rotated image.</p>
</div>
<h3 id="method_effects">
<div class="location">at line 445</div>
<div class="location">at line 398</div>
<code> public <a href="../../Imagine/Effects/EffectsInterface.html"><abbr title="Imagine\Effects\EffectsInterface">EffectsInterface</abbr></a>
<strong>effects</strong>()</code>
</h3>
@ -1161,7 +1161,7 @@ area of rotated image.</p>
</div>
<h3 id="method_getSize">
<div class="location">at line 453</div>
<div class="location">at line 406</div>
<code> public <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a>
<strong>getSize</strong>()</code>
</h3>
@ -1187,7 +1187,7 @@ area of rotated image.</p>
</div>
<h3 id="method_applyMask">
<div class="location">at line 470</div>
<div class="location">at line 421</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>applyMask</strong>(<a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a> $mask)</code>
</h3>
@ -1224,7 +1224,7 @@ area of rotated image.</p>
</div>
<h3 id="method_mask">
<div class="location">at line 509</div>
<div class="location">at line 447</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>mask</strong>()</code>
</h3>
@ -1250,7 +1250,7 @@ area of rotated image.</p>
</div>
<h3 id="method_fill">
<div class="location">at line 527</div>
<div class="location">at line 463</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>fill</strong>(<a href="../../Imagine/Image/Fill/FillInterface.html"><abbr title="Imagine\Image\Fill\FillInterface">FillInterface</abbr></a> $fill)</code>
</h3>
@ -1287,7 +1287,7 @@ area of rotated image.</p>
</div>
<h3 id="method_histogram">
<div class="location">at line 559</div>
<div class="location">at line 493</div>
<code> public array
<strong>histogram</strong>()</code>
</h3>
@ -1313,7 +1313,7 @@ area of rotated image.</p>
</div>
<h3 id="method_getColorAt">
<div class="location">at line 582</div>
<div class="location">at line 511</div>
<code> public <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>getColorAt</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $point)</code>
</h3>
@ -1360,7 +1360,7 @@ area of rotated image.</p>
</div>
<h3 id="method_pixelToColor">
<div class="location">at line 617</div>
<div class="location">at line 544</div>
<code> public <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>pixelToColor</strong>(<abbr title="Imagine\Gmagick\GmagickPixel">GmagickPixel</abbr> $pixel)</code>
</h3>
@ -1405,7 +1405,7 @@ area of rotated image.</p>
</div>
<h3 id="method_layers">
<div class="location">at line 656</div>
<div class="location">at line 581</div>
<code> public <a href="../../Imagine/Image/LayersInterface.html"><abbr title="Imagine\Image\LayersInterface">LayersInterface</abbr></a>
<strong>layers</strong>()</code>
</h3>
@ -1444,7 +1444,7 @@ area of rotated image.</p>
</div>
<h3 id="method_interlace">
<div class="location">at line 664</div>
<div class="location">at line 589</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>interlace</strong>(string $scheme)</code>
</h3>
@ -1490,7 +1490,7 @@ area of rotated image.</p>
</div>
<h3 id="method_usePalette">
<div class="location">at line 685</div>
<div class="location">at line 610</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>usePalette</strong>(<a href="../../Imagine/Image/Palette/PaletteInterface.html"><abbr title="Imagine\Image\Palette\PaletteInterface">PaletteInterface</abbr></a> $palette)</code>
</h3>
@ -1536,7 +1536,7 @@ area of rotated image.</p>
</div>
<h3 id="method_palette">
<div class="location">at line 723</div>
<div class="location">at line 645</div>
<code> public <a href="../../Imagine/Image/Palette/PaletteInterface.html"><abbr title="Imagine\Image\Palette\PaletteInterface">PaletteInterface</abbr></a>
<strong>palette</strong>()</code>
</h3>
@ -1562,7 +1562,7 @@ area of rotated image.</p>
</div>
<h3 id="method_profile">
<div class="location">at line 731</div>
<div class="location">at line 653</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>profile</strong>(<a href="../../Imagine/Image/ProfileInterface.html"><abbr title="Imagine\Image\ProfileInterface">ProfileInterface</abbr></a> $profile)</code>
</h3>

@ -191,7 +191,7 @@
</div>
<h3 id="method___construct">
<div class="location">at line 33</div>
<div class="location">at line 34</div>
<code> public
<strong>__construct</strong>()</code>
</h3>
@ -218,7 +218,7 @@
</div>
<h3 id="method_open">
<div class="location">at line 43</div>
<div class="location">at line 44</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>open</strong>(string $path)</code>
</h3>
@ -265,7 +265,7 @@
</div>
<h3 id="method_create">
<div class="location">at line 68</div>
<div class="location">at line 67</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>create</strong>(<a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color = null)</code>
</h3>
@ -323,7 +323,7 @@
</div>
<h3 id="method_load">
<div class="location">at line 117</div>
<div class="location">at line 111</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>load</strong>(string $string)</code>
</h3>
@ -370,7 +370,7 @@
</div>
<h3 id="method_read">
<div class="location">at line 134</div>
<div class="location">at line 119</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>read</strong>(resource $resource)</code>
</h3>
@ -417,7 +417,7 @@
</div>
<h3 id="method_font">
<div class="location">at line 152</div>
<div class="location">at line 137</div>
<code> public <a href="../../Imagine/Image/FontInterface.html"><abbr title="Imagine\Image\FontInterface">FontInterface</abbr></a>
<strong>font</strong>(string $file, integer $size, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color)</code>
</h3>

@ -480,7 +480,7 @@
</div>
<h3 id="method___construct">
<div class="location">at line 46</div>
<div class="location">at line 49</div>
<code> public
<strong>__construct</strong>(<a href="../../Imagine/Gmagick/Image.html"><abbr title="Imagine\Gmagick\Image">Image</abbr></a> $image, <a href="../../Imagine/Image/Palette/PaletteInterface.html"><abbr title="Imagine\Image\Palette\PaletteInterface">PaletteInterface</abbr></a> $palette, <abbr title="Imagine\Gmagick\Gmagick">Gmagick</abbr> $resource)</code>
</h3>
@ -520,7 +520,7 @@
</div>
<h3 id="method_merge">
<div class="location">at line 56</div>
<div class="location">at line 59</div>
<code> public
<strong>merge</strong>()</code>
</h3>
@ -546,7 +546,7 @@
</div>
<h3 id="method_coalesce">
<div class="location">at line 73</div>
<div class="location">at line 74</div>
<code> public
<strong>coalesce</strong>()</code>
</h3>
@ -562,7 +562,7 @@ the sequence.</p>
</div>
<h3 id="method_animate">
<div class="location">at line 81</div>
<div class="location">at line 82</div>
<code> public <a href="../../Imagine/Image/LayersInterface.html"><abbr title="Imagine\Image\LayersInterface">LayersInterface</abbr></a>
<strong>animate</strong>(string $format, integer $delay, integer $loops)</code>
</h3>
@ -621,7 +621,7 @@ the sequence.</p>
</div>
<h3 id="method_current">
<div class="location">at line 116</div>
<div class="location">at line 117</div>
<code> public
<strong>current</strong>()</code>
</h3>
@ -637,7 +637,7 @@ the sequence.</p>
</div>
<h3 id="method_key">
<div class="location">at line 148</div>
<div class="location">at line 146</div>
<code> public
<strong>key</strong>()</code>
</h3>
@ -653,7 +653,7 @@ the sequence.</p>
</div>
<h3 id="method_next">
<div class="location">at line 156</div>
<div class="location">at line 154</div>
<code> public
<strong>next</strong>()</code>
</h3>
@ -669,7 +669,7 @@ the sequence.</p>
</div>
<h3 id="method_rewind">
<div class="location">at line 164</div>
<div class="location">at line 162</div>
<code> public
<strong>rewind</strong>()</code>
</h3>
@ -685,7 +685,7 @@ the sequence.</p>
</div>
<h3 id="method_valid">
<div class="location">at line 172</div>
<div class="location">at line 170</div>
<code> public
<strong>valid</strong>()</code>
</h3>
@ -701,7 +701,7 @@ the sequence.</p>
</div>
<h3 id="method_count">
<div class="location">at line 180</div>
<div class="location">at line 178</div>
<code> public
<strong>count</strong>()</code>
</h3>
@ -717,7 +717,7 @@ the sequence.</p>
</div>
<h3 id="method_offsetExists">
<div class="location">at line 194</div>
<div class="location">at line 190</div>
<code> public
<strong>offsetExists</strong>($offset)</code>
</h3>
@ -744,7 +744,7 @@ the sequence.</p>
</div>
<h3 id="method_offsetGet">
<div class="location">at line 202</div>
<div class="location">at line 198</div>
<code> public
<strong>offsetGet</strong>($offset)</code>
</h3>
@ -771,7 +771,7 @@ the sequence.</p>
</div>
<h3 id="method_offsetSet">
<div class="location">at line 210</div>
<div class="location">at line 206</div>
<code> public
<strong>offsetSet</strong>($offset, $image)</code>
</h3>
@ -804,7 +804,7 @@ the sequence.</p>
</div>
<h3 id="method_offsetUnset">
<div class="location">at line 266</div>
<div class="location">at line 257</div>
<code> public
<strong>offsetUnset</strong>($offset)</code>
</h3>

@ -0,0 +1,177 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="robots" content="index, follow, all" />
<title>Imagine\Image\AbstractImage | </title>
<link rel="stylesheet" type="text/css" href="../../stylesheet.css">
</head>
<body id="class">
<div class="header">
<ul>
<li><a href="../../classes.html">Classes</a></li>
<li><a href="../../namespaces.html">Namespaces</a></li>
<li><a href="../../interfaces.html">Interfaces</a></li>
<li><a href="../../traits.html">Traits</a></li>
<li><a href="../../doc-index.html">Index</a></li>
</ul>
<div id="title"></div>
<div class="type">Class</div>
<h1><a href="../../Imagine/Image.html">Imagine\Image</a>\AbstractImage</h1>
</div>
<div class="content">
<p>abstract class
<strong>AbstractImage</strong> implements
<a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a></p>
<h2>Methods</h2>
<table>
<tr>
<td class="type">
<a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
</td>
<td class="last">
<a href="#method_thumbnail">thumbnail</a>(<a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, string $mode = ImageInterface::THUMBNAIL_INSET, string $filter = ImageInterface::FILTER_UNDEFINED)
<p>Generates a thumbnail from a current image Returns it as a new image, doesn't modify the current image</p>
</td>
<td></td>
</tr>
<tr>
<td class="type">
<abbr title="Imagine\Image\Metadata\MetadataInterface">MetadataInterface</abbr>
</td>
<td class="last">
<a href="#method_metadata">metadata</a>()
<p>Returns the Image's meta data</p>
</td>
<td></td>
</tr>
<tr>
<td class="type">
</td>
<td class="last">
<a href="#method___clone">__clone</a>()
<p>Assures the metadata instance will be cloned, too</p>
</td>
<td></td>
</tr>
</table>
<h2>Details</h2>
<h3 id="method_thumbnail">
<div class="location">at line 27</div>
<code> public <a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a>
<strong>thumbnail</strong>(<a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, string $mode = ImageInterface::THUMBNAIL_INSET, string $filter = ImageInterface::FILTER_UNDEFINED)</code>
</h3>
<div class="details">
<p>Generates a thumbnail from a current image Returns it as a new image, doesn't modify the current image</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td><a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a></td>
<td>$size</td>
<td>
</td>
</tr>
<tr>
<td>string</td>
<td>$mode</td>
<td>
</td>
</tr>
<tr>
<td>string</td>
<td>$filter</td>
<td>The filter to use for resizing, one of ImageInterface::FILTER_*</td>
</tr>
</table>
<h4>Return Value</h4>
<table>
<tr>
<td><a href="../../Imagine/Image/ManipulatorInterface.html"><abbr title="Imagine\Image\ManipulatorInterface">ManipulatorInterface</abbr></a></td>
<td>
</td>
</tr>
</table>
<h4>Exceptions</h4>
<table>
<tr>
<td><a href="http://php.net/RuntimeException"><abbr title="RuntimeException">RuntimeException</abbr></a></td>
<td>
</td>
</tr>
</table>
</div>
</div>
<h3 id="method_metadata">
<div class="location">at line 103</div>
<code> public <abbr title="Imagine\Image\Metadata\MetadataInterface">MetadataInterface</abbr>
<strong>metadata</strong>()</code>
</h3>
<div class="details">
<p>Returns the Image's meta data</p>
<p>
</p>
<div class="tags">
<h4>Return Value</h4>
<table>
<tr>
<td><abbr title="Imagine\Image\Metadata\MetadataInterface">MetadataInterface</abbr></td>
<td>
</td>
</tr>
</table>
</div>
</div>
<h3 id="method___clone">
<div class="location">at line 111</div>
<code> public
<strong>__clone</strong>()</code>
</h3>
<div class="details">
<p>Assures the metadata instance will be cloned, too</p>
<p>
</p>
<div class="tags">
</div>
</div>
</div>
<div id="footer">
Generated by <a href="http://sami.sensiolabs.org/" target="_top">Sami, the API Documentation Generator</a>.
</div>
</body>
</html>

@ -0,0 +1,134 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="robots" content="index, follow, all" />
<title>Imagine\Image\AbstractImagine | </title>
<link rel="stylesheet" type="text/css" href="../../stylesheet.css">
</head>
<body id="class">
<div class="header">
<ul>
<li><a href="../../classes.html">Classes</a></li>
<li><a href="../../namespaces.html">Namespaces</a></li>
<li><a href="../../interfaces.html">Interfaces</a></li>
<li><a href="../../traits.html">Traits</a></li>
<li><a href="../../doc-index.html">Index</a></li>
</ul>
<div id="title"></div>
<div class="type">Class</div>
<h1><a href="../../Imagine/Image.html">Imagine\Image</a>\AbstractImagine</h1>
</div>
<div class="content">
<p>abstract class
<strong>AbstractImagine</strong> implements
<a href="../../Imagine/Image/ImagineInterface.html"><abbr title="Imagine\Image\ImagineInterface">ImagineInterface</abbr></a></p>
<h2>Methods</h2>
<table>
<tr>
<td class="type">
<a href="../../Imagine/Image/ImagineInterface.html"><abbr title="Imagine\Image\ImagineInterface">ImagineInterface</abbr></a>
</td>
<td class="last">
<a href="#method_setMetadataReader">setMetadataReader</a>(<a href="../../Imagine/Image/Metadata/MetadataReaderInterface.html"><abbr title="Imagine\Image\Metadata\MetadataReaderInterface">MetadataReaderInterface</abbr></a> $metadataReader)
<p>
</p>
</td>
<td></td>
</tr>
<tr>
<td class="type">
<a href="../../Imagine/Image/Metadata/MetadataReaderInterface.html"><abbr title="Imagine\Image\Metadata\MetadataReaderInterface">MetadataReaderInterface</abbr></a>
</td>
<td class="last">
<a href="#method_getMetadataReader">getMetadataReader</a>()
<p>
</p>
</td>
<td></td>
</tr>
</table>
<h2>Details</h2>
<h3 id="method_setMetadataReader">
<div class="location">at line 27</div>
<code> public <a href="../../Imagine/Image/ImagineInterface.html"><abbr title="Imagine\Image\ImagineInterface">ImagineInterface</abbr></a>
<strong>setMetadataReader</strong>(<a href="../../Imagine/Image/Metadata/MetadataReaderInterface.html"><abbr title="Imagine\Image\Metadata\MetadataReaderInterface">MetadataReaderInterface</abbr></a> $metadataReader)</code>
</h3>
<div class="details">
<p>
</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td><a href="../../Imagine/Image/Metadata/MetadataReaderInterface.html"><abbr title="Imagine\Image\Metadata\MetadataReaderInterface">MetadataReaderInterface</abbr></a></td>
<td>$metadataReader</td>
<td>
</td>
</tr>
</table>
<h4>Return Value</h4>
<table>
<tr>
<td><a href="../../Imagine/Image/ImagineInterface.html"><abbr title="Imagine\Image\ImagineInterface">ImagineInterface</abbr></a></td>
<td>
</td>
</tr>
</table>
</div>
</div>
<h3 id="method_getMetadataReader">
<div class="location">at line 37</div>
<code> public <a href="../../Imagine/Image/Metadata/MetadataReaderInterface.html"><abbr title="Imagine\Image\Metadata\MetadataReaderInterface">MetadataReaderInterface</abbr></a>
<strong>getMetadataReader</strong>()</code>
</h3>
<div class="details">
<p>
</p>
<p>
</p>
<div class="tags">
<h4>Return Value</h4>
<table>
<tr>
<td><a href="../../Imagine/Image/Metadata/MetadataReaderInterface.html"><abbr title="Imagine\Image\Metadata\MetadataReaderInterface">MetadataReaderInterface</abbr></a></td>
<td>
</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated by <a href="http://sami.sensiolabs.org/" target="_top">Sami, the API Documentation Generator</a>.
</div>
</body>
</html>

@ -187,7 +187,7 @@
</div>
<h3 id="method_getWidth">
<div class="location">at line 55</div>
<div class="location">at line 52</div>
<code> public integer
<strong>getWidth</strong>()</code>
</h3>
@ -213,7 +213,7 @@
</div>
<h3 id="method_getHeight">
<div class="location">at line 63</div>
<div class="location">at line 60</div>
<code> public integer
<strong>getHeight</strong>()</code>
</h3>
@ -239,7 +239,7 @@
</div>
<h3 id="method_scale">
<div class="location">at line 71</div>
<div class="location">at line 68</div>
<code> public <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a>
<strong>scale</strong>(float $ratio)</code>
</h3>
@ -276,7 +276,7 @@
</div>
<h3 id="method_increase">
<div class="location">at line 79</div>
<div class="location">at line 76</div>
<code> public <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a>
<strong>increase</strong>(integer $size)</code>
</h3>
@ -313,7 +313,7 @@
</div>
<h3 id="method_contains">
<div class="location">at line 87</div>
<div class="location">at line 84</div>
<code> public Boolean
<strong>contains</strong>(<a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $box, <a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $start = null)</code>
</h3>
@ -356,7 +356,7 @@
</div>
<h3 id="method_square">
<div class="location">at line 99</div>
<div class="location">at line 94</div>
<code> public integer
<strong>square</strong>()</code>
</h3>
@ -382,7 +382,7 @@
</div>
<h3 id="method___toString">
<div class="location">at line 107</div>
<div class="location">at line 102</div>
<code> public string
<strong>__toString</strong>()</code>
</h3>
@ -408,7 +408,7 @@
</div>
<h3 id="method_widen">
<div class="location">at line 115</div>
<div class="location">at line 110</div>
<code> public <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a>
<strong>widen</strong>(integer $width)</code>
</h3>
@ -445,7 +445,7 @@
</div>
<h3 id="method_heighten">
<div class="location">at line 123</div>
<div class="location">at line 118</div>
<code> public <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a>
<strong>heighten</strong>(integer $height)</code>
</h3>

@ -109,7 +109,7 @@
</div>
<h3 id="method_contains">
<div class="location">at line 55</div>
<div class="location">at line 52</div>
<code> public Boolean
<strong>contains</strong>(integer $value)</code>
</h3>

@ -0,0 +1,60 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="robots" content="index, follow, all" />
<title>Imagine\Image\Metadata | </title>
<link rel="stylesheet" type="text/css" href="../../stylesheet.css">
</head>
<body id="overview">
<div class="header">
<ul>
<li><a href="../../classes.html">Classes</a></li>
<li><a href="../../namespaces.html">Namespaces</a></li>
<li><a href="../../interfaces.html">Interfaces</a></li>
<li><a href="../../traits.html">Traits</a></li>
<li><a href="../../doc-index.html">Index</a></li>
</ul>
<div id="title"></div>
<div class="type">Namespace</div>
<h1>Imagine\Image\Metadata</h1>
</div>
<div class="content">
<table>
<tr>
<td><a href="../../Imagine/Image/Metadata/AbstractMetadataReader.html"><abbr title="Imagine\Image\Metadata\AbstractMetadataReader">AbstractMetadataReader</abbr></a></td>
<td class="last">
</td>
</tr>
<tr>
<td><a href="../../Imagine/Image/Metadata/DefaultMetadataReader.html"><abbr title="Imagine\Image\Metadata\DefaultMetadataReader">DefaultMetadataReader</abbr></a></td>
<td class="last">Default metadata reader</td>
</tr>
<tr>
<td><a href="../../Imagine/Image/Metadata/ExifMetadataReader.html"><abbr title="Imagine\Image\Metadata\ExifMetadataReader">ExifMetadataReader</abbr></a></td>
<td class="last">Metadata driven by Exif information</td>
</tr>
<tr>
<td><a href="../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a></td>
<td class="last">An interface for Image Metadata</td>
</tr>
</table>
<h2>Interfaces</h2>
<table>
<tr>
<td><a href="../../Imagine/Image/Metadata/MetadataReaderInterface.html"><abbr title="Imagine\Image\Metadata\MetadataReaderInterface">MetadataReaderInterface</abbr></a></td>
<td class="last">
</td>
</tr>
</table>
</div>
<div id="footer">
Generated by <a href="http://sami.sensiolabs.org/" target="_top">Sami, the API Documentation Generator</a>.
</div>
</body>
</html>

@ -0,0 +1,203 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="robots" content="index, follow, all" />
<title>Imagine\Image\Metadata\AbstractMetadataReader | </title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css">
</head>
<body id="class">
<div class="header">
<ul>
<li><a href="../../../classes.html">Classes</a></li>
<li><a href="../../../namespaces.html">Namespaces</a></li>
<li><a href="../../../interfaces.html">Interfaces</a></li>
<li><a href="../../../traits.html">Traits</a></li>
<li><a href="../../../doc-index.html">Index</a></li>
</ul>
<div id="title"></div>
<div class="type">Class</div>
<h1><a href="../../../Imagine/Image/Metadata.html">Imagine\Image\Metadata</a>\AbstractMetadataReader</h1>
</div>
<div class="content">
<p>abstract class
<strong>AbstractMetadataReader</strong> implements
<a href="../../../Imagine/Image/Metadata/MetadataReaderInterface.html"><abbr title="Imagine\Image\Metadata\MetadataReaderInterface">MetadataReaderInterface</abbr></a></p>
<h2>Methods</h2>
<table>
<tr>
<td class="type">
<a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
</td>
<td class="last">
<a href="#method_readFile">readFile</a>(<abbr title="Imagine\Image\Metadata\$file">$file</abbr> $file)
<p>Reads metadata from a file.</p>
</td>
<td></td>
</tr>
<tr>
<td class="type">
<a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
</td>
<td class="last">
<a href="#method_readData">readData</a>(<abbr title="Imagine\Image\Metadata\$data">$data</abbr> $data)
<p>Reads metadata from a binary string.</p>
</td>
<td></td>
</tr>
<tr>
<td class="type">
<a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
</td>
<td class="last">
<a href="#method_readStream">readStream</a>(<abbr title="Imagine\Image\Metadata\$resource">$resource</abbr> $resource)
<p>Reads metadata from a stream.</p>
</td>
<td></td>
</tr>
</table>
<h2>Details</h2>
<h3 id="method_readFile">
<div class="location">at line 21</div>
<code> public <a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
<strong>readFile</strong>(<abbr title="Imagine\Image\Metadata\$file">$file</abbr> $file)</code>
</h3>
<div class="details">
<p>Reads metadata from a file.</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td><abbr title="Imagine\Image\Metadata\$file">$file</abbr></td>
<td>$file</td>
<td>The path to the file where to read metadata.</td>
</tr>
</table>
<h4>Return Value</h4>
<table>
<tr>
<td><a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a></td>
<td>
</td>
</tr>
</table>
<h4>Exceptions</h4>
<table>
<tr>
<td><a href="http://php.net/InvalidArgumentException"><abbr title="InvalidArgumentException">InvalidArgumentException</abbr></a></td>
<td>In case the file does not exist.</td>
</tr>
</table>
</div>
</div>
<h3 id="method_readData">
<div class="location">at line 37</div>
<code> public <a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
<strong>readData</strong>(<abbr title="Imagine\Image\Metadata\$data">$data</abbr> $data)</code>
</h3>
<div class="details">
<p>Reads metadata from a binary string.</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td><abbr title="Imagine\Image\Metadata\$data">$data</abbr></td>
<td>$data</td>
<td>The binary string to read.</td>
</tr>
</table>
<h4>Return Value</h4>
<table>
<tr>
<td><a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a></td>
<td>
</td>
</tr>
</table>
</div>
</div>
<h3 id="method_readStream">
<div class="location">at line 45</div>
<code> public <a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
<strong>readStream</strong>(<abbr title="Imagine\Image\Metadata\$resource">$resource</abbr> $resource)</code>
</h3>
<div class="details">
<p>Reads metadata from a stream.</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td><abbr title="Imagine\Image\Metadata\$resource">$resource</abbr></td>
<td>$resource</td>
<td>The stream to read.</td>
</tr>
</table>
<h4>Return Value</h4>
<table>
<tr>
<td><a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a></td>
<td>
</td>
</tr>
</table>
<h4>Exceptions</h4>
<table>
<tr>
<td><a href="http://php.net/InvalidArgumentException"><abbr title="InvalidArgumentException">InvalidArgumentException</abbr></a></td>
<td>In case the resource is not valid.</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated by <a href="http://sami.sensiolabs.org/" target="_top">Sami, the API Documentation Generator</a>.
</div>
</body>
</html>

@ -0,0 +1,207 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="robots" content="index, follow, all" />
<title>Imagine\Image\Metadata\DefaultMetadataReader | </title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css">
</head>
<body id="class">
<div class="header">
<ul>
<li><a href="../../../classes.html">Classes</a></li>
<li><a href="../../../namespaces.html">Namespaces</a></li>
<li><a href="../../../interfaces.html">Interfaces</a></li>
<li><a href="../../../traits.html">Traits</a></li>
<li><a href="../../../doc-index.html">Index</a></li>
</ul>
<div id="title"></div>
<div class="type">Class</div>
<h1><a href="../../../Imagine/Image/Metadata.html">Imagine\Image\Metadata</a>\DefaultMetadataReader</h1>
</div>
<div class="content">
<p> class
<strong>DefaultMetadataReader</strong> extends <a href="../../../Imagine/Image/Metadata/AbstractMetadataReader.html"><abbr title="Imagine\Image\Metadata\AbstractMetadataReader">AbstractMetadataReader</abbr></a></p>
<div class="description">
<p>Default metadata reader</p>
<p>
</p>
</div>
<h2>Methods</h2>
<table>
<tr>
<td class="type">
<a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
</td>
<td class="last">
<a href="#method_readFile">readFile</a>(<abbr title="Imagine\Image\Metadata\$file">$file</abbr> $file)
<p>Reads metadata from a file.</p>
</td>
<td><small>from&nbsp;<a href="../../../Imagine/Image/Metadata/AbstractMetadataReader.html#method_readFile"><abbr title="Imagine\Image\Metadata\AbstractMetadataReader">AbstractMetadataReader</abbr></a></small></td>
</tr>
<tr>
<td class="type">
<a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
</td>
<td class="last">
<a href="#method_readData">readData</a>(<abbr title="Imagine\Image\Metadata\$data">$data</abbr> $data)
<p>Reads metadata from a binary string.</p>
</td>
<td><small>from&nbsp;<a href="../../../Imagine/Image/Metadata/AbstractMetadataReader.html#method_readData"><abbr title="Imagine\Image\Metadata\AbstractMetadataReader">AbstractMetadataReader</abbr></a></small></td>
</tr>
<tr>
<td class="type">
<a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
</td>
<td class="last">
<a href="#method_readStream">readStream</a>(<abbr title="Imagine\Image\Metadata\$resource">$resource</abbr> $resource)
<p>Reads metadata from a stream.</p>
</td>
<td><small>from&nbsp;<a href="../../../Imagine/Image/Metadata/AbstractMetadataReader.html#method_readStream"><abbr title="Imagine\Image\Metadata\AbstractMetadataReader">AbstractMetadataReader</abbr></a></small></td>
</tr>
</table>
<h2>Details</h2>
<h3 id="method_readFile">
<div class="location">in <a href="../../../Imagine/Image/Metadata/AbstractMetadataReader.html#method_readFile"><abbr title="Imagine\Image\Metadata\AbstractMetadataReader">AbstractMetadataReader</abbr></a> at line 21</div>
<code> public <a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
<strong>readFile</strong>(<abbr title="Imagine\Image\Metadata\$file">$file</abbr> $file)</code>
</h3>
<div class="details">
<p>Reads metadata from a file.</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td><abbr title="Imagine\Image\Metadata\$file">$file</abbr></td>
<td>$file</td>
<td>The path to the file where to read metadata.</td>
</tr>
</table>
<h4>Return Value</h4>
<table>
<tr>
<td><a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a></td>
<td>
</td>
</tr>
</table>
<h4>Exceptions</h4>
<table>
<tr>
<td><a href="http://php.net/InvalidArgumentException"><abbr title="InvalidArgumentException">InvalidArgumentException</abbr></a></td>
<td>In case the file does not exist.</td>
</tr>
</table>
</div>
</div>
<h3 id="method_readData">
<div class="location">in <a href="../../../Imagine/Image/Metadata/AbstractMetadataReader.html#method_readData"><abbr title="Imagine\Image\Metadata\AbstractMetadataReader">AbstractMetadataReader</abbr></a> at line 37</div>
<code> public <a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
<strong>readData</strong>(<abbr title="Imagine\Image\Metadata\$data">$data</abbr> $data)</code>
</h3>
<div class="details">
<p>Reads metadata from a binary string.</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td><abbr title="Imagine\Image\Metadata\$data">$data</abbr></td>
<td>$data</td>
<td>The binary string to read.</td>
</tr>
</table>
<h4>Return Value</h4>
<table>
<tr>
<td><a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a></td>
<td>
</td>
</tr>
</table>
</div>
</div>
<h3 id="method_readStream">
<div class="location">in <a href="../../../Imagine/Image/Metadata/AbstractMetadataReader.html#method_readStream"><abbr title="Imagine\Image\Metadata\AbstractMetadataReader">AbstractMetadataReader</abbr></a> at line 45</div>
<code> public <a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
<strong>readStream</strong>(<abbr title="Imagine\Image\Metadata\$resource">$resource</abbr> $resource)</code>
</h3>
<div class="details">
<p>Reads metadata from a stream.</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td><abbr title="Imagine\Image\Metadata\$resource">$resource</abbr></td>
<td>$resource</td>
<td>The stream to read.</td>
</tr>
</table>
<h4>Return Value</h4>
<table>
<tr>
<td><a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a></td>
<td>
</td>
</tr>
</table>
<h4>Exceptions</h4>
<table>
<tr>
<td><a href="http://php.net/InvalidArgumentException"><abbr title="InvalidArgumentException">InvalidArgumentException</abbr></a></td>
<td>In case the resource is not valid.</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated by <a href="http://sami.sensiolabs.org/" target="_top">Sami, the API Documentation Generator</a>.
</div>
</body>
</html>

@ -0,0 +1,235 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="robots" content="index, follow, all" />
<title>Imagine\Image\Metadata\ExifMetadataReader | </title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css">
</head>
<body id="class">
<div class="header">
<ul>
<li><a href="../../../classes.html">Classes</a></li>
<li><a href="../../../namespaces.html">Namespaces</a></li>
<li><a href="../../../interfaces.html">Interfaces</a></li>
<li><a href="../../../traits.html">Traits</a></li>
<li><a href="../../../doc-index.html">Index</a></li>
</ul>
<div id="title"></div>
<div class="type">Class</div>
<h1><a href="../../../Imagine/Image/Metadata.html">Imagine\Image\Metadata</a>\ExifMetadataReader</h1>
</div>
<div class="content">
<p> class
<strong>ExifMetadataReader</strong> extends <a href="../../../Imagine/Image/Metadata/AbstractMetadataReader.html"><abbr title="Imagine\Image\Metadata\AbstractMetadataReader">AbstractMetadataReader</abbr></a></p>
<div class="description">
<p>Metadata driven by Exif information</p>
<p>
</p>
</div>
<h2>Methods</h2>
<table>
<tr>
<td class="type">
<a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
</td>
<td class="last">
<a href="#method_readFile">readFile</a>(<abbr title="Imagine\Image\Metadata\$file">$file</abbr> $file)
<p>Reads metadata from a file.</p>
</td>
<td><small>from&nbsp;<a href="../../../Imagine/Image/Metadata/AbstractMetadataReader.html#method_readFile"><abbr title="Imagine\Image\Metadata\AbstractMetadataReader">AbstractMetadataReader</abbr></a></small></td>
</tr>
<tr>
<td class="type">
<a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
</td>
<td class="last">
<a href="#method_readData">readData</a>(<abbr title="Imagine\Image\Metadata\$data">$data</abbr> $data)
<p>Reads metadata from a binary string.</p>
</td>
<td><small>from&nbsp;<a href="../../../Imagine/Image/Metadata/AbstractMetadataReader.html#method_readData"><abbr title="Imagine\Image\Metadata\AbstractMetadataReader">AbstractMetadataReader</abbr></a></small></td>
</tr>
<tr>
<td class="type">
<a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
</td>
<td class="last">
<a href="#method_readStream">readStream</a>(<abbr title="Imagine\Image\Metadata\$resource">$resource</abbr> $resource)
<p>Reads metadata from a stream.</p>
</td>
<td><small>from&nbsp;<a href="../../../Imagine/Image/Metadata/AbstractMetadataReader.html#method_readStream"><abbr title="Imagine\Image\Metadata\AbstractMetadataReader">AbstractMetadataReader</abbr></a></small></td>
</tr>
<tr>
<td class="type">
</td>
<td class="last">
<a href="#method___construct">__construct</a>()
<p>
</p>
</td>
<td></td>
</tr>
</table>
<h2>Details</h2>
<h3 id="method_readFile">
<div class="location">in <a href="../../../Imagine/Image/Metadata/AbstractMetadataReader.html#method_readFile"><abbr title="Imagine\Image\Metadata\AbstractMetadataReader">AbstractMetadataReader</abbr></a> at line 21</div>
<code> public <a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
<strong>readFile</strong>(<abbr title="Imagine\Image\Metadata\$file">$file</abbr> $file)</code>
</h3>
<div class="details">
<p>Reads metadata from a file.</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td><abbr title="Imagine\Image\Metadata\$file">$file</abbr></td>
<td>$file</td>
<td>The path to the file where to read metadata.</td>
</tr>
</table>
<h4>Return Value</h4>
<table>
<tr>
<td><a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a></td>
<td>
</td>
</tr>
</table>
<h4>Exceptions</h4>
<table>
<tr>
<td><a href="http://php.net/InvalidArgumentException"><abbr title="InvalidArgumentException">InvalidArgumentException</abbr></a></td>
<td>In case the file does not exist.</td>
</tr>
</table>
</div>
</div>
<h3 id="method_readData">
<div class="location">in <a href="../../../Imagine/Image/Metadata/AbstractMetadataReader.html#method_readData"><abbr title="Imagine\Image\Metadata\AbstractMetadataReader">AbstractMetadataReader</abbr></a> at line 37</div>
<code> public <a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
<strong>readData</strong>(<abbr title="Imagine\Image\Metadata\$data">$data</abbr> $data)</code>
</h3>
<div class="details">
<p>Reads metadata from a binary string.</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td><abbr title="Imagine\Image\Metadata\$data">$data</abbr></td>
<td>$data</td>
<td>The binary string to read.</td>
</tr>
</table>
<h4>Return Value</h4>
<table>
<tr>
<td><a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a></td>
<td>
</td>
</tr>
</table>
</div>
</div>
<h3 id="method_readStream">
<div class="location">in <a href="../../../Imagine/Image/Metadata/AbstractMetadataReader.html#method_readStream"><abbr title="Imagine\Image\Metadata\AbstractMetadataReader">AbstractMetadataReader</abbr></a> at line 45</div>
<code> public <a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
<strong>readStream</strong>(<abbr title="Imagine\Image\Metadata\$resource">$resource</abbr> $resource)</code>
</h3>
<div class="details">
<p>Reads metadata from a stream.</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td><abbr title="Imagine\Image\Metadata\$resource">$resource</abbr></td>
<td>$resource</td>
<td>The stream to read.</td>
</tr>
</table>
<h4>Return Value</h4>
<table>
<tr>
<td><a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a></td>
<td>
</td>
</tr>
</table>
<h4>Exceptions</h4>
<table>
<tr>
<td><a href="http://php.net/InvalidArgumentException"><abbr title="InvalidArgumentException">InvalidArgumentException</abbr></a></td>
<td>In case the resource is not valid.</td>
</tr>
</table>
</div>
</div>
<h3 id="method___construct">
<div class="location">at line 22</div>
<code> public
<strong>__construct</strong>()</code>
</h3>
<div class="details">
<p>
</p>
<p>
</p>
<div class="tags">
</div>
</div>
</div>
<div id="footer">
Generated by <a href="http://sami.sensiolabs.org/" target="_top">Sami, the API Documentation Generator</a>.
</div>
</body>
</html>

@ -0,0 +1,306 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="robots" content="index, follow, all" />
<title>Imagine\Image\Metadata\MetadataBag | </title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css">
</head>
<body id="class">
<div class="header">
<ul>
<li><a href="../../../classes.html">Classes</a></li>
<li><a href="../../../namespaces.html">Namespaces</a></li>
<li><a href="../../../interfaces.html">Interfaces</a></li>
<li><a href="../../../traits.html">Traits</a></li>
<li><a href="../../../doc-index.html">Index</a></li>
</ul>
<div id="title"></div>
<div class="type">Class</div>
<h1><a href="../../../Imagine/Image/Metadata.html">Imagine\Image\Metadata</a>\MetadataBag</h1>
</div>
<div class="content">
<p> class
<strong>MetadataBag</strong> implements
<a href="http://php.net/ArrayAccess"><abbr title="ArrayAccess">ArrayAccess</abbr></a>, <a href="http://php.net/IteratorAggregate"><abbr title="IteratorAggregate">IteratorAggregate</abbr></a></p>
<div class="description">
<p>An interface for Image Metadata</p>
<p>
</p>
</div>
<h2>Methods</h2>
<table>
<tr>
<td class="type">
</td>
<td class="last">
<a href="#method___construct">__construct</a>(array $data = array())
<p>
</p>
</td>
<td></td>
</tr>
<tr>
<td class="type">
</td>
<td class="last">
<a href="#method_getIterator">getIterator</a>()
<p>{@inheritdoc}</p>
</td>
<td></td>
</tr>
<tr>
<td class="type">
</td>
<td class="last">
<a href="#method_offsetExists">offsetExists</a>($offset)
<p>{@inheritdoc}</p>
</td>
<td></td>
</tr>
<tr>
<td class="type">
</td>
<td class="last">
<a href="#method_offsetSet">offsetSet</a>($offset, $value)
<p>{@inheritdoc}</p>
</td>
<td></td>
</tr>
<tr>
<td class="type">
</td>
<td class="last">
<a href="#method_offsetUnset">offsetUnset</a>($offset)
<p>{@inheritdoc}</p>
</td>
<td></td>
</tr>
<tr>
<td class="type">
</td>
<td class="last">
<a href="#method_offsetGet">offsetGet</a>($offset)
<p>{@inheritdoc}</p>
</td>
<td></td>
</tr>
<tr>
<td class="type">
array
</td>
<td class="last">
<a href="#method_toArray">toArray</a>()
<p>Returns metadata as an array</p>
</td>
<td></td>
</tr>
</table>
<h2>Details</h2>
<h3 id="method___construct">
<div class="location">at line 22</div>
<code> public
<strong>__construct</strong>(array $data = array())</code>
</h3>
<div class="details">
<p>
</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td>array</td>
<td>$data</td>
<td>
</td>
</tr>
</table>
</div>
</div>
<h3 id="method_getIterator">
<div class="location">at line 30</div>
<code> public
<strong>getIterator</strong>()</code>
</h3>
<div class="details">
<p>{@inheritdoc}</p>
<p>
</p>
<div class="tags">
</div>
</div>
<h3 id="method_offsetExists">
<div class="location">at line 38</div>
<code> public
<strong>offsetExists</strong>($offset)</code>
</h3>
<div class="details">
<p>{@inheritdoc}</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td></td>
<td>$offset</td>
<td>
</td>
</tr>
</table>
</div>
</div>
<h3 id="method_offsetSet">
<div class="location">at line 46</div>
<code> public
<strong>offsetSet</strong>($offset, $value)</code>
</h3>
<div class="details">
<p>{@inheritdoc}</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td></td>
<td>$offset</td>
<td>
</td>
</tr>
<tr>
<td></td>
<td>$value</td>
<td>
</td>
</tr>
</table>
</div>
</div>
<h3 id="method_offsetUnset">
<div class="location">at line 54</div>
<code> public
<strong>offsetUnset</strong>($offset)</code>
</h3>
<div class="details">
<p>{@inheritdoc}</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td></td>
<td>$offset</td>
<td>
</td>
</tr>
</table>
</div>
</div>
<h3 id="method_offsetGet">
<div class="location">at line 62</div>
<code> public
<strong>offsetGet</strong>($offset)</code>
</h3>
<div class="details">
<p>{@inheritdoc}</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td></td>
<td>$offset</td>
<td>
</td>
</tr>
</table>
</div>
</div>
<h3 id="method_toArray">
<div class="location">at line 72</div>
<code> public array
<strong>toArray</strong>()</code>
</h3>
<div class="details">
<p>Returns metadata as an array</p>
<p>
</p>
<div class="tags">
<h4>Return Value</h4>
<table>
<tr>
<td>array</td>
<td>An associative array</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated by <a href="http://sami.sensiolabs.org/" target="_top">Sami, the API Documentation Generator</a>.
</div>
</body>
</html>

@ -0,0 +1,202 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="robots" content="index, follow, all" />
<title>Imagine\Image\Metadata\MetadataReaderInterface | </title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css">
</head>
<body id="class">
<div class="header">
<ul>
<li><a href="../../../classes.html">Classes</a></li>
<li><a href="../../../namespaces.html">Namespaces</a></li>
<li><a href="../../../interfaces.html">Interfaces</a></li>
<li><a href="../../../traits.html">Traits</a></li>
<li><a href="../../../doc-index.html">Index</a></li>
</ul>
<div id="title"></div>
<div class="type">Interface</div>
<h1><a href="../../../Imagine/Image/Metadata.html">Imagine\Image\Metadata</a>\MetadataReaderInterface</h1>
</div>
<div class="content">
<p> interface
<strong>MetadataReaderInterface</strong></p>
<h2>Methods</h2>
<table>
<tr>
<td class="type">
<a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
</td>
<td class="last">
<a href="#method_readFile">readFile</a>(<abbr title="Imagine\Image\Metadata\$file">$file</abbr> $file)
<p>Reads metadata from a file.</p>
</td>
<td></td>
</tr>
<tr>
<td class="type">
<a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
</td>
<td class="last">
<a href="#method_readData">readData</a>(<abbr title="Imagine\Image\Metadata\$data">$data</abbr> $data)
<p>Reads metadata from a binary string.</p>
</td>
<td></td>
</tr>
<tr>
<td class="type">
<a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
</td>
<td class="last">
<a href="#method_readStream">readStream</a>(<abbr title="Imagine\Image\Metadata\$resource">$resource</abbr> $resource)
<p>Reads metadata from a stream.</p>
</td>
<td></td>
</tr>
</table>
<h2>Details</h2>
<h3 id="method_readFile">
<div class="location">at line 27</div>
<code> public <a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
<strong>readFile</strong>(<abbr title="Imagine\Image\Metadata\$file">$file</abbr> $file)</code>
</h3>
<div class="details">
<p>Reads metadata from a file.</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td><abbr title="Imagine\Image\Metadata\$file">$file</abbr></td>
<td>$file</td>
<td>The path to the file where to read metadata.</td>
</tr>
</table>
<h4>Return Value</h4>
<table>
<tr>
<td><a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a></td>
<td>
</td>
</tr>
</table>
<h4>Exceptions</h4>
<table>
<tr>
<td><a href="http://php.net/InvalidArgumentException"><abbr title="InvalidArgumentException">InvalidArgumentException</abbr></a></td>
<td>In case the file does not exist.</td>
</tr>
</table>
</div>
</div>
<h3 id="method_readData">
<div class="location">at line 36</div>
<code> public <a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
<strong>readData</strong>(<abbr title="Imagine\Image\Metadata\$data">$data</abbr> $data)</code>
</h3>
<div class="details">
<p>Reads metadata from a binary string.</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td><abbr title="Imagine\Image\Metadata\$data">$data</abbr></td>
<td>$data</td>
<td>The binary string to read.</td>
</tr>
</table>
<h4>Return Value</h4>
<table>
<tr>
<td><a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a></td>
<td>
</td>
</tr>
</table>
</div>
</div>
<h3 id="method_readStream">
<div class="location">at line 47</div>
<code> public <a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a>
<strong>readStream</strong>(<abbr title="Imagine\Image\Metadata\$resource">$resource</abbr> $resource)</code>
</h3>
<div class="details">
<p>Reads metadata from a stream.</p>
<p>
</p>
<div class="tags">
<h4>Parameters</h4>
<table>
<tr>
<td><abbr title="Imagine\Image\Metadata\$resource">$resource</abbr></td>
<td>$resource</td>
<td>The stream to read.</td>
</tr>
</table>
<h4>Return Value</h4>
<table>
<tr>
<td><a href="../../../Imagine/Image/Metadata/MetadataBag.html"><abbr title="Imagine\Image\Metadata\MetadataBag">MetadataBag</abbr></a></td>
<td>
</td>
</tr>
</table>
<h4>Exceptions</h4>
<table>
<tr>
<td><a href="http://php.net/InvalidArgumentException"><abbr title="InvalidArgumentException">InvalidArgumentException</abbr></a></td>
<td>In case the resource is not valid.</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated by <a href="http://sami.sensiolabs.org/" target="_top">Sami, the API Documentation Generator</a>.
</div>
</body>
</html>

@ -0,0 +1,9 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="robots" content="index, follow, all" />
<title>Imagine\Image\Metadata | </title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css">
</head>
</html>

@ -265,7 +265,7 @@
</div>
<h3 id="method_blend">
<div class="location">at line 85</div>
<div class="location">at line 83</div>
<code> public <a href="../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>blend</strong>(<a href="../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color1, <a href="../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color2, float $amount)</code>
</h3>
@ -313,7 +313,7 @@
</div>
<h3 id="method_useProfile">
<div class="location">at line 102</div>
<div class="location">at line 100</div>
<code> public <a href="../../../Imagine/Image/Palette/PaletteInterface.html"><abbr title="Imagine\Image\Palette\PaletteInterface">PaletteInterface</abbr></a>
<strong>useProfile</strong>(<a href="../../../Imagine/Image/ProfileInterface.html"><abbr title="Imagine\Image\ProfileInterface">ProfileInterface</abbr></a> $profile)</code>
</h3>
@ -349,7 +349,7 @@
</div>
<h3 id="method_profile">
<div class="location">at line 112</div>
<div class="location">at line 110</div>
<code> public <a href="../../../Imagine/Image/ProfileInterface.html"><abbr title="Imagine\Image\ProfileInterface">ProfileInterface</abbr></a>
<strong>profile</strong>()</code>
</h3>

@ -250,7 +250,7 @@
</div>
<h3 id="method_getCyan">
<div class="location">at line 78</div>
<div class="location">at line 76</div>
<code> public integer
<strong>getCyan</strong>()</code>
</h3>
@ -276,7 +276,7 @@
</div>
<h3 id="method_getMagenta">
<div class="location">at line 88</div>
<div class="location">at line 86</div>
<code> public integer
<strong>getMagenta</strong>()</code>
</h3>
@ -302,7 +302,7 @@
</div>
<h3 id="method_getYellow">
<div class="location">at line 98</div>
<div class="location">at line 96</div>
<code> public integer
<strong>getYellow</strong>()</code>
</h3>
@ -328,7 +328,7 @@
</div>
<h3 id="method_getKeyline">
<div class="location">at line 108</div>
<div class="location">at line 106</div>
<code> public integer
<strong>getKeyline</strong>()</code>
</h3>
@ -354,7 +354,7 @@
</div>
<h3 id="method_getPalette">
<div class="location">at line 116</div>
<div class="location">at line 114</div>
<code> public <a href="../../../../Imagine/Image/Palette/PaletteInterface.html"><abbr title="Imagine\Image\Palette\PaletteInterface">PaletteInterface</abbr></a>
<strong>getPalette</strong>()</code>
</h3>
@ -380,7 +380,7 @@
</div>
<h3 id="method_getAlpha">
<div class="location">at line 124</div>
<div class="location">at line 122</div>
<code> public integer
<strong>getAlpha</strong>()</code>
</h3>
@ -406,7 +406,7 @@
</div>
<h3 id="method_dissolve">
<div class="location">at line 132</div>
<div class="location">at line 130</div>
<code> public <a href="../../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>dissolve</strong>(integer $alpha)</code>
</h3>
@ -443,7 +443,7 @@
</div>
<h3 id="method_lighten">
<div class="location">at line 140</div>
<div class="location">at line 138</div>
<code> public <a href="../../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>lighten</strong>(integer $shade)</code>
</h3>
@ -480,7 +480,7 @@
</div>
<h3 id="method_darken">
<div class="location">at line 155</div>
<div class="location">at line 153</div>
<code> public <a href="../../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>darken</strong>(integer $shade)</code>
</h3>
@ -517,7 +517,7 @@
</div>
<h3 id="method_grayscale">
<div class="location">at line 170</div>
<div class="location">at line 168</div>
<code> public <a href="../../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>grayscale</strong>()</code>
</h3>
@ -543,7 +543,7 @@
</div>
<h3 id="method_isOpaque">
<div class="location">at line 186</div>
<div class="location">at line 184</div>
<code> public Boolean
<strong>isOpaque</strong>()</code>
</h3>
@ -569,7 +569,7 @@
</div>
<h3 id="method___toString">
<div class="location">at line 196</div>
<div class="location">at line 194</div>
<code> public string
<strong>__toString</strong>()</code>
</h3>

@ -226,7 +226,7 @@
</div>
<h3 id="method_getGray">
<div class="location">at line 62</div>
<div class="location">at line 60</div>
<code> public integer
<strong>getGray</strong>()</code>
</h3>
@ -252,7 +252,7 @@
</div>
<h3 id="method_getPalette">
<div class="location">at line 70</div>
<div class="location">at line 68</div>
<code> public <a href="../../../../Imagine/Image/Palette/PaletteInterface.html"><abbr title="Imagine\Image\Palette\PaletteInterface">PaletteInterface</abbr></a>
<strong>getPalette</strong>()</code>
</h3>
@ -278,7 +278,7 @@
</div>
<h3 id="method_getAlpha">
<div class="location">at line 78</div>
<div class="location">at line 76</div>
<code> public integer
<strong>getAlpha</strong>()</code>
</h3>
@ -304,7 +304,7 @@
</div>
<h3 id="method_dissolve">
<div class="location">at line 86</div>
<div class="location">at line 84</div>
<code> public <a href="../../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>dissolve</strong>(integer $alpha)</code>
</h3>
@ -341,7 +341,7 @@
</div>
<h3 id="method_lighten">
<div class="location">at line 96</div>
<div class="location">at line 94</div>
<code> public <a href="../../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>lighten</strong>(integer $shade)</code>
</h3>
@ -378,7 +378,7 @@
</div>
<h3 id="method_darken">
<div class="location">at line 108</div>
<div class="location">at line 102</div>
<code> public <a href="../../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>darken</strong>(integer $shade)</code>
</h3>
@ -415,7 +415,7 @@
</div>
<h3 id="method_grayscale">
<div class="location">at line 120</div>
<div class="location">at line 110</div>
<code> public <a href="../../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>grayscale</strong>()</code>
</h3>
@ -441,7 +441,7 @@
</div>
<h3 id="method_isOpaque">
<div class="location">at line 128</div>
<div class="location">at line 118</div>
<code> public Boolean
<strong>isOpaque</strong>()</code>
</h3>
@ -467,7 +467,7 @@
</div>
<h3 id="method___toString">
<div class="location">at line 138</div>
<div class="location">at line 128</div>
<code> public string
<strong>__toString</strong>()</code>
</h3>

@ -246,7 +246,7 @@
</div>
<h3 id="method_getRed">
<div class="location">at line 76</div>
<div class="location">at line 74</div>
<code> public integer
<strong>getRed</strong>()</code>
</h3>
@ -272,7 +272,7 @@
</div>
<h3 id="method_getGreen">
<div class="location">at line 86</div>
<div class="location">at line 84</div>
<code> public integer
<strong>getGreen</strong>()</code>
</h3>
@ -298,7 +298,7 @@
</div>
<h3 id="method_getBlue">
<div class="location">at line 96</div>
<div class="location">at line 94</div>
<code> public integer
<strong>getBlue</strong>()</code>
</h3>
@ -324,7 +324,7 @@
</div>
<h3 id="method_getPalette">
<div class="location">at line 104</div>
<div class="location">at line 102</div>
<code> public <a href="../../../../Imagine/Image/Palette/PaletteInterface.html"><abbr title="Imagine\Image\Palette\PaletteInterface">PaletteInterface</abbr></a>
<strong>getPalette</strong>()</code>
</h3>
@ -350,7 +350,7 @@
</div>
<h3 id="method_getAlpha">
<div class="location">at line 112</div>
<div class="location">at line 110</div>
<code> public integer
<strong>getAlpha</strong>()</code>
</h3>
@ -376,7 +376,7 @@
</div>
<h3 id="method_dissolve">
<div class="location">at line 120</div>
<div class="location">at line 118</div>
<code> public <a href="../../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>dissolve</strong>(integer $alpha)</code>
</h3>
@ -413,7 +413,7 @@
</div>
<h3 id="method_lighten">
<div class="location">at line 130</div>
<div class="location">at line 126</div>
<code> public <a href="../../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>lighten</strong>(integer $shade)</code>
</h3>
@ -450,7 +450,7 @@
</div>
<h3 id="method_darken">
<div class="location">at line 144</div>
<div class="location">at line 140</div>
<code> public <a href="../../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>darken</strong>(integer $shade)</code>
</h3>
@ -487,7 +487,7 @@
</div>
<h3 id="method_grayscale">
<div class="location">at line 158</div>
<div class="location">at line 154</div>
<code> public <a href="../../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>grayscale</strong>()</code>
</h3>
@ -513,7 +513,7 @@
</div>
<h3 id="method_isOpaque">
<div class="location">at line 168</div>
<div class="location">at line 164</div>
<code> public Boolean
<strong>isOpaque</strong>()</code>
</h3>
@ -539,7 +539,7 @@
</div>
<h3 id="method___toString">
<div class="location">at line 178</div>
<div class="location">at line 174</div>
<code> public string
<strong>__toString</strong>()</code>
</h3>

@ -189,7 +189,7 @@
</div>
<h3 id="method_supportsAlpha">
<div class="location">at line 63</div>
<div class="location">at line 61</div>
<code> public Boolean
<strong>supportsAlpha</strong>()</code>
</h3>
@ -215,7 +215,7 @@
</div>
<h3 id="method_useProfile">
<div class="location">at line 71</div>
<div class="location">at line 69</div>
<code> public <a href="../../../Imagine/Image/Palette/PaletteInterface.html"><abbr title="Imagine\Image\Palette\PaletteInterface">PaletteInterface</abbr></a>
<strong>useProfile</strong>(<a href="../../../Imagine/Image/ProfileInterface.html"><abbr title="Imagine\Image\ProfileInterface">ProfileInterface</abbr></a> $profile)</code>
</h3>
@ -251,7 +251,7 @@
</div>
<h3 id="method_profile">
<div class="location">at line 81</div>
<div class="location">at line 79</div>
<code> public <a href="../../../Imagine/Image/ProfileInterface.html"><abbr title="Imagine\Image\ProfileInterface">ProfileInterface</abbr></a>
<strong>profile</strong>()</code>
</h3>
@ -277,7 +277,7 @@
</div>
<h3 id="method_color">
<div class="location">at line 95</div>
<div class="location">at line 91</div>
<code> public <a href="../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>color</strong>(string|array|integer $color, integer|null $alpha = null)</code>
</h3>
@ -327,7 +327,7 @@
</div>
<h3 id="method_blend">
<div class="location">at line 114</div>
<div class="location">at line 110</div>
<code> public <a href="../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>blend</strong>(<a href="../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color1, <a href="../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color2, float $amount)</code>
</h3>

@ -277,7 +277,7 @@
</div>
<h3 id="method_color">
<div class="location">at line 97</div>
<div class="location">at line 95</div>
<code> public <a href="../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>color</strong>(string|array|integer $color, integer|null $alpha = null)</code>
</h3>
@ -327,7 +327,7 @@
</div>
<h3 id="method_blend">
<div class="location">at line 116</div>
<div class="location">at line 114</div>
<code> public <a href="../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a>
<strong>blend</strong>(<a href="../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color1, <a href="../../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color2, float $amount)</code>
</h3>

@ -147,7 +147,7 @@
</div>
<h3 id="method_getX">
<div class="location">at line 54</div>
<div class="location">at line 52</div>
<code> public integer
<strong>getX</strong>()</code>
</h3>
@ -173,7 +173,7 @@
</div>
<h3 id="method_getY">
<div class="location">at line 62</div>
<div class="location">at line 60</div>
<code> public integer
<strong>getY</strong>()</code>
</h3>
@ -199,7 +199,7 @@
</div>
<h3 id="method_in">
<div class="location">at line 70</div>
<div class="location">at line 68</div>
<code> public Boolean
<strong>in</strong>(<a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $box)</code>
</h3>
@ -236,7 +236,7 @@
</div>
<h3 id="method_move">
<div class="location">at line 78</div>
<div class="location">at line 76</div>
<code> public <a href="../../Imagine/Image/ImageInterface.html"><abbr title="Imagine\Image\ImageInterface">ImageInterface</abbr></a>
<strong>move</strong>(integer $amount)</code>
</h3>
@ -273,7 +273,7 @@
</div>
<h3 id="method___toString">
<div class="location">at line 86</div>
<div class="location">at line 84</div>
<code> public string
<strong>__toString</strong>()</code>
</h3>

@ -240,7 +240,7 @@
</div>
<h3 id="method_chord">
<div class="location">at line 79</div>
<div class="location">at line 77</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>chord</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $center, <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, integer $start, integer $end, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color, Boolean $fill = false, integer $thickness = 1)</code>
</h3>
@ -323,7 +323,7 @@
</div>
<h3 id="method_ellipse">
<div class="location">at line 139</div>
<div class="location">at line 129</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>ellipse</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $center, <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color, Boolean $fill = false, integer $thickness = 1)</code>
</h3>
@ -394,7 +394,7 @@
</div>
<h3 id="method_line">
<div class="location">at line 186</div>
<div class="location">at line 174</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>line</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $start, <a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $end, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color, integer $thickness = 1)</code>
</h3>
@ -449,7 +449,7 @@
</div>
<h3 id="method_pieSlice">
<div class="location">at line 221</div>
<div class="location">at line 207</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>pieSlice</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $center, <a href="../../Imagine/Image/BoxInterface.html"><abbr title="Imagine\Image\BoxInterface">BoxInterface</abbr></a> $size, integer $start, integer $end, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color, Boolean $fill = false, integer $thickness = 1)</code>
</h3>
@ -532,7 +532,7 @@
</div>
<h3 id="method_dot">
<div class="location">at line 255</div>
<div class="location">at line 241</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>dot</strong>(<a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $position, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color)</code>
</h3>
@ -585,7 +585,7 @@
</div>
<h3 id="method_polygon">
<div class="location">at line 286</div>
<div class="location">at line 270</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>polygon</strong>(array $coordinates, <a href="../../Imagine/Image/Palette/Color/ColorInterface.html"><abbr title="Imagine\Image\Palette\Color\ColorInterface">ColorInterface</abbr></a> $color, Boolean $fill = false, integer $thickness = 1)</code>
</h3>
@ -650,7 +650,7 @@ three coordinates</p>
</div>
<h3 id="method_text">
<div class="location">at line 336</div>
<div class="location">at line 311</div>
<code> public <a href="../../Imagine/Draw/DrawerInterface.html"><abbr title="Imagine\Draw\DrawerInterface">DrawerInterface</abbr></a>
<strong>text</strong>(string $string, <a href="../../Imagine/Image/AbstractFont.html"><abbr title="Imagine\Image\AbstractFont">AbstractFont</abbr></a> $font, <a href="../../Imagine/Image/PointInterface.html"><abbr title="Imagine\Image\PointInterface">PointInterface</abbr></a> $position, integer $angle, integer $width = null)</code>
</h3>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save