From cc4948f14b185a443c52ddd24e12b76a772f20fd Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Mon, 23 Mar 2015 21:39:38 +0100 Subject: [PATCH] cleanup oldies --- .../util/old}/crem_checker.py | 0 .../util/old}/process-waveform-cgi.py | 0 .../util/old}/telemeta-backup.py | 0 .../util/old}/telemeta-crem-import-alt_ids.py | 0 .../util/old}/telemeta-crem-import-test.py | 0 .../util/old}/telemeta-crem-import.py | 0 .../util/old}/telemeta-media-link.py | 0 .../util}/transcode/create_thumbs.py | 0 .../util}/transcode/remux_fix_media.py | 0 .../util}/transcode/transcode.py | 0 tools/dev/fix_svn_authors.sh | 12 - tools/dev/make_doc.sh | 10 - tools/dev/merge_master_all.sh | 15 - tools/dev/merge_master_to.sh | 6 - tools/dev/push.sh | 25 - tools/dev/pypi.sh | 5 - tools/dev/translate.sh | 7 - tools/eztelemeta/ChangeLog | 4 - tools/eztelemeta/LICENCE | 506 ------ tools/eztelemeta/LICENCE.fr | 512 ------ tools/eztelemeta/Makefile | 72 - tools/eztelemeta/autoloads/eztelemetadata.php | 122 -- .../autoloads/eztemplateautoload.php | 14 - .../eztelemetaitem/eztelemetaitemtype.php | 207 --- .../design/standard/images/play.gif | Bin 1204 -> 0 bytes .../design/standard/images/stop.gif | Bin 1175 -> 0 bytes .../standard/javascript/eztelemeta-player.js | 281 --- .../javascript/soundmanager2-nodebug-jsmin.js | 12 - .../standard/javascript/soundmanager2.js | 1615 ----------------- .../templates/embed/eztelemetaitem.tpl | 8 - .../templates/full/eztelemetaitem.tpl | 14 - .../standard/stylesheets/eztelemeta.css | 86 - .../design/standard/swf/soundmanager2.swf | Bin 2436 -> 0 bytes .../standard/swf/soundmanager2_flash9.swf | Bin 8273 -> 0 bytes .../content/datatype/edit/eztelemetaitem.tpl | 12 - .../content/datatype/view/eztelemetaitem.tpl | 32 - .../standard/templates/eztelemeta_head.tpl | 19 - tools/eztelemeta/doc/Makefile | 23 - tools/eztelemeta/doc/README.fr.in | 371 ---- tools/eztelemeta/doc/doc.css | 9 - tools/eztelemeta/doc/player.png | Bin 16892 -> 0 bytes tools/eztelemeta/settings/content.ini.append | 4 - tools/eztelemeta/settings/design.ini.append | 3 - tools/eztelemeta/settings/override.ini.append | 11 - tools/eztelemeta/settings/site.ini.append | 6 - .../translations/fre-FR/translation.ts | 26 - 46 files changed, 4049 deletions(-) rename {tools/scripts => telemeta/util/old}/crem_checker.py (100%) rename {tools/scripts => telemeta/util/old}/process-waveform-cgi.py (100%) rename {tools/scripts => telemeta/util/old}/telemeta-backup.py (100%) rename {tools/scripts => telemeta/util/old}/telemeta-crem-import-alt_ids.py (100%) rename {tools/scripts => telemeta/util/old}/telemeta-crem-import-test.py (100%) rename {tools/scripts => telemeta/util/old}/telemeta-crem-import.py (100%) rename {tools/scripts => telemeta/util/old}/telemeta-media-link.py (100%) rename {tools/scripts => telemeta/util}/transcode/create_thumbs.py (100%) rename {tools/scripts => telemeta/util}/transcode/remux_fix_media.py (100%) rename {tools/scripts => telemeta/util}/transcode/transcode.py (100%) delete mode 100755 tools/dev/fix_svn_authors.sh delete mode 100755 tools/dev/make_doc.sh delete mode 100755 tools/dev/merge_master_all.sh delete mode 100755 tools/dev/merge_master_to.sh delete mode 100755 tools/dev/push.sh delete mode 100755 tools/dev/pypi.sh delete mode 100755 tools/dev/translate.sh delete mode 100644 tools/eztelemeta/ChangeLog delete mode 100644 tools/eztelemeta/LICENCE delete mode 100644 tools/eztelemeta/LICENCE.fr delete mode 100644 tools/eztelemeta/Makefile delete mode 100644 tools/eztelemeta/autoloads/eztelemetadata.php delete mode 100644 tools/eztelemeta/autoloads/eztemplateautoload.php delete mode 100755 tools/eztelemeta/datatypes/eztelemetaitem/eztelemetaitemtype.php delete mode 100644 tools/eztelemeta/design/standard/images/play.gif delete mode 100644 tools/eztelemeta/design/standard/images/stop.gif delete mode 100644 tools/eztelemeta/design/standard/javascript/eztelemeta-player.js delete mode 100644 tools/eztelemeta/design/standard/javascript/soundmanager2-nodebug-jsmin.js delete mode 100644 tools/eztelemeta/design/standard/javascript/soundmanager2.js delete mode 100755 tools/eztelemeta/design/standard/override/templates/embed/eztelemetaitem.tpl delete mode 100755 tools/eztelemeta/design/standard/override/templates/full/eztelemetaitem.tpl delete mode 100644 tools/eztelemeta/design/standard/stylesheets/eztelemeta.css delete mode 100644 tools/eztelemeta/design/standard/swf/soundmanager2.swf delete mode 100644 tools/eztelemeta/design/standard/swf/soundmanager2_flash9.swf delete mode 100755 tools/eztelemeta/design/standard/templates/content/datatype/edit/eztelemetaitem.tpl delete mode 100755 tools/eztelemeta/design/standard/templates/content/datatype/view/eztelemetaitem.tpl delete mode 100644 tools/eztelemeta/design/standard/templates/eztelemeta_head.tpl delete mode 100644 tools/eztelemeta/doc/Makefile delete mode 100755 tools/eztelemeta/doc/README.fr.in delete mode 100644 tools/eztelemeta/doc/doc.css delete mode 100644 tools/eztelemeta/doc/player.png delete mode 100644 tools/eztelemeta/settings/content.ini.append delete mode 100644 tools/eztelemeta/settings/design.ini.append delete mode 100755 tools/eztelemeta/settings/override.ini.append delete mode 100644 tools/eztelemeta/settings/site.ini.append delete mode 100755 tools/eztelemeta/translations/fre-FR/translation.ts diff --git a/tools/scripts/crem_checker.py b/telemeta/util/old/crem_checker.py similarity index 100% rename from tools/scripts/crem_checker.py rename to telemeta/util/old/crem_checker.py diff --git a/tools/scripts/process-waveform-cgi.py b/telemeta/util/old/process-waveform-cgi.py similarity index 100% rename from tools/scripts/process-waveform-cgi.py rename to telemeta/util/old/process-waveform-cgi.py diff --git a/tools/scripts/telemeta-backup.py b/telemeta/util/old/telemeta-backup.py similarity index 100% rename from tools/scripts/telemeta-backup.py rename to telemeta/util/old/telemeta-backup.py diff --git a/tools/scripts/telemeta-crem-import-alt_ids.py b/telemeta/util/old/telemeta-crem-import-alt_ids.py similarity index 100% rename from tools/scripts/telemeta-crem-import-alt_ids.py rename to telemeta/util/old/telemeta-crem-import-alt_ids.py diff --git a/tools/scripts/telemeta-crem-import-test.py b/telemeta/util/old/telemeta-crem-import-test.py similarity index 100% rename from tools/scripts/telemeta-crem-import-test.py rename to telemeta/util/old/telemeta-crem-import-test.py diff --git a/tools/scripts/telemeta-crem-import.py b/telemeta/util/old/telemeta-crem-import.py similarity index 100% rename from tools/scripts/telemeta-crem-import.py rename to telemeta/util/old/telemeta-crem-import.py diff --git a/tools/scripts/telemeta-media-link.py b/telemeta/util/old/telemeta-media-link.py similarity index 100% rename from tools/scripts/telemeta-media-link.py rename to telemeta/util/old/telemeta-media-link.py diff --git a/tools/scripts/transcode/create_thumbs.py b/telemeta/util/transcode/create_thumbs.py similarity index 100% rename from tools/scripts/transcode/create_thumbs.py rename to telemeta/util/transcode/create_thumbs.py diff --git a/tools/scripts/transcode/remux_fix_media.py b/telemeta/util/transcode/remux_fix_media.py similarity index 100% rename from tools/scripts/transcode/remux_fix_media.py rename to telemeta/util/transcode/remux_fix_media.py diff --git a/tools/scripts/transcode/transcode.py b/telemeta/util/transcode/transcode.py similarity index 100% rename from tools/scripts/transcode/transcode.py rename to telemeta/util/transcode/transcode.py diff --git a/tools/dev/fix_svn_authors.sh b/tools/dev/fix_svn_authors.sh deleted file mode 100755 index 2f47a975..00000000 --- a/tools/dev/fix_svn_authors.sh +++ /dev/null @@ -1,12 +0,0 @@ - -git filter-branch -f --commit-filter ' - if [ "$GIT_COMMITTER_EMAIL" = "<>" ]; - then - GIT_COMMITTER_NAME=""; - GIT_AUTHOR_NAME=""; - GIT_COMMITTER_EMAIL=""; - GIT_AUTHOR_EMAIL=""; - git commit-tree "$@"; - else - git commit-tree "$@"; - fi' HEAD diff --git a/tools/dev/make_doc.sh b/tools/dev/make_doc.sh deleted file mode 100755 index d3435871..00000000 --- a/tools/dev/make_doc.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# needs epydoc - -app="telemeta" -dir=/home/$USER/dev/$app/doc/ -server="git.parisson.com" - -epydoc -n $app -u https://github.com/Parisson/Telemeta -o $dir $app/ -rsync -a $dir $server:/var/www/files/doc/$app/html/ - diff --git a/tools/dev/merge_master_all.sh b/tools/dev/merge_master_all.sh deleted file mode 100755 index b1d52164..00000000 --- a/tools/dev/merge_master_all.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -git branch | tr -d \* | while read line -do - branch=${line/#\ } - - if [[ ! $branch == *master* ]]; then - echo "Merge master to $branch:" - git checkout $branch - git merge master - git checkout master - fi -done - -echo "Done !" diff --git a/tools/dev/merge_master_to.sh b/tools/dev/merge_master_to.sh deleted file mode 100755 index e6e1cf71..00000000 --- a/tools/dev/merge_master_to.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -git checkout $1 -git merge master -git checkout master - diff --git a/tools/dev/push.sh b/tools/dev/push.sh deleted file mode 100755 index 6a3288a5..00000000 --- a/tools/dev/push.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -git branch | tr -d \* | while read line -do - branch=${line/#\ } - - git push origin $branch - git push hub $branch - -done - -git push --tags -git push --tags hub - -ssh vcs.parisson.com "cd /var/git/telemeta.git; git update-server-info" - -#echo "Update jimi.parisson.com:" -echo "Update angus.parisson.com:" -ssh angus.parisson.com "cd /home/telemeta/telemeta-master; git pull origin master; \ - cd /home/telemeta/telemeta-develop; git pull origin dev; \ - cd /home/telemeta/demo/; ./manage.py migrate --delete-ghost-migrations; - cd /home/telemeta/sandbox/; ./manage.py migrate --delete-ghost-migrations; - cd /home/telemeta/parisson/; ./manage.py migrate --delete-ghost-migrations; " - -echo "Done !" diff --git a/tools/dev/pypi.sh b/tools/dev/pypi.sh deleted file mode 100755 index 12be642d..00000000 --- a/tools/dev/pypi.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -python setup.py register -python setup.py sdist upload - diff --git a/tools/dev/translate.sh b/tools/dev/translate.sh deleted file mode 100755 index 295ac6b8..00000000 --- a/tools/dev/translate.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -cd telemeta -django-admin.py makemessages -a -django-admin.py makemessages -d djangojs -a -django-admin.py compilemessages -cd .. diff --git a/tools/eztelemeta/ChangeLog b/tools/eztelemeta/ChangeLog deleted file mode 100644 index 5eb2657b..00000000 --- a/tools/eztelemeta/ChangeLog +++ /dev/null @@ -1,4 +0,0 @@ -eztelemeta (0.1) - * Initial release - - -- Olivier Guilyardi Thu, 16 Apr 2009 16:02:17 +0200 diff --git a/tools/eztelemeta/LICENCE b/tools/eztelemeta/LICENCE deleted file mode 100644 index fcc8df26..00000000 --- a/tools/eztelemeta/LICENCE +++ /dev/null @@ -1,506 +0,0 @@ - -CeCILL FREE SOFTWARE LICENSE AGREEMENT - - - Notice - -This Agreement is a Free Software license agreement that is the result -of discussions between its authors in order to ensure compliance with -the two main principles guiding its drafting: - - * firstly, compliance with the principles governing the distribution - of Free Software: access to source code, broad rights granted to - users, - * secondly, the election of a governing law, French law, with which - it is conformant, both as regards the law of torts and - intellectual property law, and the protection that it offers to - both authors and holders of the economic rights over software. - -The authors of the CeCILL (for Ce[a] C[nrs] I[nria] L[ogiciel] L[ibre]) -license are: - -Commissariat à l'Energie Atomique - CEA, a public scientific, technical -and industrial research establishment, having its principal place of -business at 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris, France. - -Centre National de la Recherche Scientifique - CNRS, a public scientific -and technological establishment, having its principal place of business -at 3 rue Michel-Ange, 75794 Paris cedex 16, France. - -Institut National de Recherche en Informatique et en Automatique - -INRIA, a public scientific and technological establishment, having its -principal place of business at Domaine de Voluceau, Rocquencourt, BP -105, 78153 Le Chesnay cedex, France. - - - Preamble - -The purpose of this Free Software license agreement is to grant users -the right to modify and redistribute the software governed by this -license within the framework of an open source distribution model. - -The exercising of these rights is conditional upon certain obligations -for users so as to preserve this status for all subsequent redistributions. - -In consideration of access to the source code and the rights to copy, -modify and redistribute granted by the license, users are provided only -with a limited warranty and the software's author, the holder of the -economic rights, and the successive licensors only have limited liability. - -In this respect, the risks associated with loading, using, modifying -and/or developing or reproducing the software by the user are brought to -the user's attention, given its Free Software status, which may make it -complicated to use, with the result that its use is reserved for -developers and experienced professionals having in-depth computer -knowledge. Users are therefore encouraged to load and test the -suitability of the software as regards their requirements in conditions -enabling the security of their systems and/or data to be ensured and, -more generally, to use and operate it in the same conditions of -security. This Agreement may be freely reproduced and published, -provided it is not altered, and that no provisions are either added or -removed herefrom. - -This Agreement may apply to any or all software for which the holder of -the economic rights decides to submit the use thereof to its provisions. - - - Article 1 - DEFINITIONS - -For the purpose of this Agreement, when the following expressions -commence with a capital letter, they shall have the following meaning: - -Agreement: means this license agreement, and its possible subsequent -versions and annexes. - -Software: means the software in its Object Code and/or Source Code form -and, where applicable, its documentation, "as is" when the Licensee -accepts the Agreement. - -Initial Software: means the Software in its Source Code and possibly its -Object Code form and, where applicable, its documentation, "as is" when -it is first distributed under the terms and conditions of the Agreement. - -Modified Software: means the Software modified by at least one -Contribution. - -Source Code: means all the Software's instructions and program lines to -which access is required so as to modify the Software. - -Object Code: means the binary files originating from the compilation of -the Source Code. - -Holder: means the holder(s) of the economic rights over the Initial -Software. - -Licensee: means the Software user(s) having accepted the Agreement. - -Contributor: means a Licensee having made at least one Contribution. - -Licensor: means the Holder, or any other individual or legal entity, who -distributes the Software under the Agreement. - -Contribution: means any or all modifications, corrections, translations, -adaptations and/or new functions integrated into the Software by any or -all Contributors, as well as any or all Internal Modules. - -Module: means a set of sources files including their documentation that -enables supplementary functions or services in addition to those offered -by the Software. - -External Module: means any or all Modules, not derived from the -Software, so that this Module and the Software run in separate address -spaces, with one calling the other when they are run. - -Internal Module: means any or all Module, connected to the Software so -that they both execute in the same address space. - -GNU GPL: means the GNU General Public License version 2 or any -subsequent version, as published by the Free Software Foundation Inc. - -Parties: mean both the Licensee and the Licensor. - -These expressions may be used both in singular and plural form. - - - Article 2 - PURPOSE - -The purpose of the Agreement is the grant by the Licensor to the -Licensee of a non-exclusive, transferable and worldwide license for the -Software as set forth in Article 5 hereinafter for the whole term of the -protection granted by the rights over said Software. - - - Article 3 - ACCEPTANCE - -3.1 The Licensee shall be deemed as having accepted the terms and -conditions of this Agreement upon the occurrence of the first of the -following events: - - * (i) loading the Software by any or all means, notably, by - downloading from a remote server, or by loading from a physical - medium; - * (ii) the first time the Licensee exercises any of the rights - granted hereunder. - -3.2 One copy of the Agreement, containing a notice relating to the -characteristics of the Software, to the limited warranty, and to the -fact that its use is restricted to experienced users has been provided -to the Licensee prior to its acceptance as set forth in Article 3.1 -hereinabove, and the Licensee hereby acknowledges that it has read and -understood it. - - - Article 4 - EFFECTIVE DATE AND TERM - - - 4.1 EFFECTIVE DATE - -The Agreement shall become effective on the date when it is accepted by -the Licensee as set forth in Article 3.1. - - - 4.2 TERM - -The Agreement shall remain in force for the entire legal term of -protection of the economic rights over the Software. - - - Article 5 - SCOPE OF RIGHTS GRANTED - -The Licensor hereby grants to the Licensee, who accepts, the following -rights over the Software for any or all use, and for the term of the -Agreement, on the basis of the terms and conditions set forth hereinafter. - -Besides, if the Licensor owns or comes to own one or more patents -protecting all or part of the functions of the Software or of its -components, the Licensor undertakes not to enforce the rights granted by -these patents against successive Licensees using, exploiting or -modifying the Software. If these patents are transferred, the Licensor -undertakes to have the transferees subscribe to the obligations set -forth in this paragraph. - - - 5.1 RIGHT OF USE - -The Licensee is authorized to use the Software, without any limitation -as to its fields of application, with it being hereinafter specified -that this comprises: - - 1. permanent or temporary reproduction of all or part of the Software - by any or all means and in any or all form. - - 2. loading, displaying, running, or storing the Software on any or - all medium. - - 3. entitlement to observe, study or test its operation so as to - determine the ideas and principles behind any or all constituent - elements of said Software. This shall apply when the Licensee - carries out any or all loading, displaying, running, transmission - or storage operation as regards the Software, that it is entitled - to carry out hereunder. - - - 5.2 ENTITLEMENT TO MAKE CONTRIBUTIONS - -The right to make Contributions includes the right to translate, adapt, -arrange, or make any or all modifications to the Software, and the right -to reproduce the resulting software. - -The Licensee is authorized to make any or all Contributions to the -Software provided that it includes an explicit notice that it is the -author of said Contribution and indicates the date of the creation thereof. - - - 5.3 RIGHT OF DISTRIBUTION - -In particular, the right of distribution includes the right to publish, -transmit and communicate the Software to the general public on any or -all medium, and by any or all means, and the right to market, either in -consideration of a fee, or free of charge, one or more copies of the -Software by any means. - -The Licensee is further authorized to distribute copies of the modified -or unmodified Software to third parties according to the terms and -conditions set forth hereinafter. - - - 5.3.1 DISTRIBUTION OF SOFTWARE WITHOUT MODIFICATION - -The Licensee is authorized to distribute true copies of the Software in -Source Code or Object Code form, provided that said distribution -complies with all the provisions of the Agreement and is accompanied by: - - 1. a copy of the Agreement, - - 2. a notice relating to the limitation of both the Licensor's - warranty and liability as set forth in Articles 8 and 9, - -and that, in the event that only the Object Code of the Software is -redistributed, the Licensee allows future Licensees unhindered access to -the full Source Code of the Software by indicating how to access it, it -being understood that the additional cost of acquiring the Source Code -shall not exceed the cost of transferring the data. - - - 5.3.2 DISTRIBUTION OF MODIFIED SOFTWARE - -When the Licensee makes a Contribution to the Software, the terms and -conditions for the distribution of the resulting Modified Software -become subject to all the provisions of this Agreement. - -The Licensee is authorized to distribute the Modified Software, in -source code or object code form, provided that said distribution -complies with all the provisions of the Agreement and is accompanied by: - - 1. a copy of the Agreement, - - 2. a notice relating to the limitation of both the Licensor's - warranty and liability as set forth in Articles 8 and 9, - -and that, in the event that only the object code of the Modified -Software is redistributed, the Licensee allows future Licensees -unhindered access to the full source code of the Modified Software by -indicating how to access it, it being understood that the additional -cost of acquiring the source code shall not exceed the cost of -transferring the data. - - - 5.3.3 DISTRIBUTION OF EXTERNAL MODULES - -When the Licensee has developed an External Module, the terms and -conditions of this Agreement do not apply to said External Module, that -may be distributed under a separate license agreement. - - - 5.3.4 COMPATIBILITY WITH THE GNU GPL - -The Licensee can include a code that is subject to the provisions of one -of the versions of the GNU GPL in the Modified or unmodified Software, -and distribute that entire code under the terms of the same version of -the GNU GPL. - -The Licensee can include the Modified or unmodified Software in a code -that is subject to the provisions of one of the versions of the GNU GPL, -and distribute that entire code under the terms of the same version of -the GNU GPL. - - - Article 6 - INTELLECTUAL PROPERTY - - - 6.1 OVER THE INITIAL SOFTWARE - -The Holder owns the economic rights over the Initial Software. Any or -all use of the Initial Software is subject to compliance with the terms -and conditions under which the Holder has elected to distribute its work -and no one shall be entitled to modify the terms and conditions for the -distribution of said Initial Software. - -The Holder undertakes that the Initial Software will remain ruled at -least by this Agreement, for the duration set forth in Article 4.2. - - - 6.2 OVER THE CONTRIBUTIONS - -The Licensee who develops a Contribution is the owner of the -intellectual property rights over this Contribution as defined by -applicable law. - - - 6.3 OVER THE EXTERNAL MODULES - -The Licensee who develops an External Module is the owner of the -intellectual property rights over this External Module as defined by -applicable law and is free to choose the type of agreement that shall -govern its distribution. - - - 6.4 JOINT PROVISIONS - -The Licensee expressly undertakes: - - 1. not to remove, or modify, in any manner, the intellectual property - notices attached to the Software; - - 2. to reproduce said notices, in an identical manner, in the copies - of the Software modified or not. - -The Licensee undertakes not to directly or indirectly infringe the -intellectual property rights of the Holder and/or Contributors on the -Software and to take, where applicable, vis-à-vis its staff, any and all -measures required to ensure respect of said intellectual property rights -of the Holder and/or Contributors. - - - Article 7 - RELATED SERVICES - -7.1 Under no circumstances shall the Agreement oblige the Licensor to -provide technical assistance or maintenance services for the Software. - -However, the Licensor is entitled to offer this type of services. The -terms and conditions of such technical assistance, and/or such -maintenance, shall be set forth in a separate instrument. Only the -Licensor offering said maintenance and/or technical assistance services -shall incur liability therefor. - -7.2 Similarly, any Licensor is entitled to offer to its licensees, under -its sole responsibility, a warranty, that shall only be binding upon -itself, for the redistribution of the Software and/or the Modified -Software, under terms and conditions that it is free to decide. Said -warranty, and the financial terms and conditions of its application, -shall be subject of a separate instrument executed between the Licensor -and the Licensee. - - - Article 8 - LIABILITY - -8.1 Subject to the provisions of Article 8.2, the Licensee shall be -entitled to claim compensation for any direct loss it may have suffered -from the Software as a result of a fault on the part of the relevant -Licensor, subject to providing evidence thereof. - -8.2 The Licensor's liability is limited to the commitments made under -this Agreement and shall not be incurred as a result of in particular: -(i) loss due the Licensee's total or partial failure to fulfill its -obligations, (ii) direct or consequential loss that is suffered by the -Licensee due to the use or performance of the Software, and (iii) more -generally, any consequential loss. In particular the Parties expressly -agree that any or all pecuniary or business loss (i.e. loss of data, -loss of profits, operating loss, loss of customers or orders, -opportunity cost, any disturbance to business activities) or any or all -legal proceedings instituted against the Licensee by a third party, -shall constitute consequential loss and shall not provide entitlement to -any or all compensation from the Licensor. - - - Article 9 - WARRANTY - -9.1 The Licensee acknowledges that the scientific and technical -state-of-the-art when the Software was distributed did not enable all -possible uses to be tested and verified, nor for the presence of -possible defects to be detected. In this respect, the Licensee's -attention has been drawn to the risks associated with loading, using, -modifying and/or developing and reproducing the Software which are -reserved for experienced users. - -The Licensee shall be responsible for verifying, by any or all means, -the suitability of the product for its requirements, its good working -order, and for ensuring that it shall not cause damage to either persons -or properties. - -9.2 The Licensor hereby represents, in good faith, that it is entitled -to grant all the rights over the Software (including in particular the -rights set forth in Article 5). - -9.3 The Licensee acknowledges that the Software is supplied "as is" by -the Licensor without any other express or tacit warranty, other than -that provided for in Article 9.2 and, in particular, without any warranty -as to its commercial value, its secured, safe, innovative or relevant -nature. - -Specifically, the Licensor does not warrant that the Software is free -from any error, that it will operate without interruption, that it will -be compatible with the Licensee's own equipment and software -configuration, nor that it will meet the Licensee's requirements. - -9.4 The Licensor does not either expressly or tacitly warrant that the -Software does not infringe any third party intellectual property right -relating to a patent, software or any other property right. Therefore, -the Licensor disclaims any and all liability towards the Licensee -arising out of any or all proceedings for infringement that may be -instituted in respect of the use, modification and redistribution of the -Software. Nevertheless, should such proceedings be instituted against -the Licensee, the Licensor shall provide it with technical and legal -assistance for its defense. Such technical and legal assistance shall be -decided on a case-by-case basis between the relevant Licensor and the -Licensee pursuant to a memorandum of understanding. The Licensor -disclaims any and all liability as regards the Licensee's use of the -name of the Software. No warranty is given as regards the existence of -prior rights over the name of the Software or as regards the existence -of a trademark. - - - Article 10 - TERMINATION - -10.1 In the event of a breach by the Licensee of its obligations -hereunder, the Licensor may automatically terminate this Agreement -thirty (30) days after notice has been sent to the Licensee and has -remained ineffective. - -10.2 A Licensee whose Agreement is terminated shall no longer be -authorized to use, modify or distribute the Software. However, any -licenses that it may have granted prior to termination of the Agreement -shall remain valid subject to their having been granted in compliance -with the terms and conditions hereof. - - - Article 11 - MISCELLANEOUS - - - 11.1 EXCUSABLE EVENTS - -Neither Party shall be liable for any or all delay, or failure to -perform the Agreement, that may be attributable to an event of force -majeure, an act of God or an outside cause, such as defective -functioning or interruptions of the electricity or telecommunications -networks, network paralysis following a virus attack, intervention by -government authorities, natural disasters, water damage, earthquakes, -fire, explosions, strikes and labor unrest, war, etc. - -11.2 Any failure by either Party, on one or more occasions, to invoke -one or more of the provisions hereof, shall under no circumstances be -interpreted as being a waiver by the interested Party of its right to -invoke said provision(s) subsequently. - -11.3 The Agreement cancels and replaces any or all previous agreements, -whether written or oral, between the Parties and having the same -purpose, and constitutes the entirety of the agreement between said -Parties concerning said purpose. No supplement or modification to the -terms and conditions hereof shall be effective as between the Parties -unless it is made in writing and signed by their duly authorized -representatives. - -11.4 In the event that one or more of the provisions hereof were to -conflict with a current or future applicable act or legislative text, -said act or legislative text shall prevail, and the Parties shall make -the necessary amendments so as to comply with said act or legislative -text. All other provisions shall remain effective. Similarly, invalidity -of a provision of the Agreement, for any reason whatsoever, shall not -cause the Agreement as a whole to be invalid. - - - 11.5 LANGUAGE - -The Agreement is drafted in both French and English and both versions -are deemed authentic. - - - Article 12 - NEW VERSIONS OF THE AGREEMENT - -12.1 Any person is authorized to duplicate and distribute copies of this -Agreement. - -12.2 So as to ensure coherence, the wording of this Agreement is -protected and may only be modified by the authors of the License, who -reserve the right to periodically publish updates or new versions of the -Agreement, each with a separate number. These subsequent versions may -address new issues encountered by Free Software. - -12.3 Any Software distributed under a given version of the Agreement may -only be subsequently distributed under the same version of the Agreement -or a subsequent version, subject to the provisions of Article 5.3.4. - - - Article 13 - GOVERNING LAW AND JURISDICTION - -13.1 The Agreement is governed by French law. The Parties agree to -endeavor to seek an amicable solution to any disagreements or disputes -that may arise during the performance of the Agreement. - -13.2 Failing an amicable solution within two (2) months as from their -occurrence, and unless emergency proceedings are necessary, the -disagreements or disputes shall be referred to the Paris Courts having -jurisdiction, by the more diligent Party. - - -Version 2.0 dated 2006-09-05. diff --git a/tools/eztelemeta/LICENCE.fr b/tools/eztelemeta/LICENCE.fr deleted file mode 100644 index 1613fca5..00000000 --- a/tools/eztelemeta/LICENCE.fr +++ /dev/null @@ -1,512 +0,0 @@ - -CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL - - - Avertissement - -Ce contrat est une licence de logiciel libre issue d'une concertation -entre ses auteurs afin que le respect de deux grands principes préside à -sa rédaction: - - * d'une part, le respect des principes de diffusion des logiciels - libres: accès au code source, droits étendus conférés aux - utilisateurs, - * d'autre part, la désignation d'un droit applicable, le droit - français, auquel elle est conforme, tant au regard du droit de la - responsabilité civile que du droit de la propriété intellectuelle - et de la protection qu'il offre aux auteurs et titulaires des - droits patrimoniaux sur un logiciel. - -Les auteurs de la licence CeCILL (pour Ce[a] C[nrs] I[nria] L[ogiciel] -L[ibre]) sont: - -Commissariat à l'Energie Atomique - CEA, établissement public de -recherche à caractère scientifique, technique et industriel, dont le -siège est situé 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris. - -Centre National de la Recherche Scientifique - CNRS, établissement -public à caractère scientifique et technologique, dont le siège est -situé 3 rue Michel-Ange, 75794 Paris cedex 16. - -Institut National de Recherche en Informatique et en Automatique - -INRIA, établissement public à caractère scientifique et technologique, -dont le siège est situé Domaine de Voluceau, Rocquencourt, BP 105, 78153 -Le Chesnay cedex. - - - Préambule - -Ce contrat est une licence de logiciel libre dont l'objectif est de -conférer aux utilisateurs la liberté de modification et de -redistribution du logiciel régi par cette licence dans le cadre d'un -modèle de diffusion en logiciel libre. - -L'exercice de ces libertés est assorti de certains devoirs à la charge -des utilisateurs afin de préserver ce statut au cours des -redistributions ultérieures. - -L'accessibilité au code source et les droits de copie, de modification -et de redistribution qui en découlent ont pour contrepartie de n'offrir -aux utilisateurs qu'une garantie limitée et de ne faire peser sur -l'auteur du logiciel, le titulaire des droits patrimoniaux et les -concédants successifs qu'une responsabilité restreinte. - -A cet égard l'attention de l'utilisateur est attirée sur les risques -associés au chargement, à l'utilisation, à la modification et/ou au -développement et à la reproduction du logiciel par l'utilisateur étant -donné sa spécificité de logiciel libre, qui peut le rendre complexe à -manipuler et qui le réserve donc à des développeurs ou des -professionnels avertis possédant des connaissances informatiques -approfondies. Les utilisateurs sont donc invités à charger et tester -l'adéquation du logiciel à leurs besoins dans des conditions permettant -d'assurer la sécurité de leurs systèmes et/ou de leurs données et, plus -généralement, à l'utiliser et l'exploiter dans les mêmes conditions de -sécurité. Ce contrat peut être reproduit et diffusé librement, sous -réserve de le conserver en l'état, sans ajout ni suppression de clauses. - -Ce contrat est susceptible de s'appliquer à tout logiciel dont le -titulaire des droits patrimoniaux décide de soumettre l'exploitation aux -dispositions qu'il contient. - - - Article 1 - DEFINITIONS - -Dans ce contrat, les termes suivants, lorsqu'ils seront écrits avec une -lettre capitale, auront la signification suivante: - -Contrat: désigne le présent contrat de licence, ses éventuelles versions -postérieures et annexes. - -Logiciel: désigne le logiciel sous sa forme de Code Objet et/ou de Code -Source et le cas échéant sa documentation, dans leur état au moment de -l'acceptation du Contrat par le Licencié. - -Logiciel Initial: désigne le Logiciel sous sa forme de Code Source et -éventuellement de Code Objet et le cas échéant sa documentation, dans -leur état au moment de leur première diffusion sous les termes du Contrat. - -Logiciel Modifié: désigne le Logiciel modifié par au moins une -Contribution. - -Code Source: désigne l'ensemble des instructions et des lignes de -programme du Logiciel et auquel l'accès est nécessaire en vue de -modifier le Logiciel. - -Code Objet: désigne les fichiers binaires issus de la compilation du -Code Source. - -Titulaire: désigne le ou les détenteurs des droits patrimoniaux d'auteur -sur le Logiciel Initial. - -Licencié: désigne le ou les utilisateurs du Logiciel ayant accepté le -Contrat. - -Contributeur: désigne le Licencié auteur d'au moins une Contribution. - -Concédant: désigne le Titulaire ou toute personne physique ou morale -distribuant le Logiciel sous le Contrat. - -Contribution: désigne l'ensemble des modifications, corrections, -traductions, adaptations et/ou nouvelles fonctionnalités intégrées dans -le Logiciel par tout Contributeur, ainsi que tout Module Interne. - -Module: désigne un ensemble de fichiers sources y compris leur -documentation qui permet de réaliser des fonctionnalités ou services -supplémentaires à ceux fournis par le Logiciel. - -Module Externe: désigne tout Module, non dérivé du Logiciel, tel que ce -Module et le Logiciel s'exécutent dans des espaces d'adressage -différents, l'un appelant l'autre au moment de leur exécution. - -Module Interne: désigne tout Module lié au Logiciel de telle sorte -qu'ils s'exécutent dans le même espace d'adressage. - -GNU GPL: désigne la GNU General Public License dans sa version 2 ou -toute version ultérieure, telle que publiée par Free Software Foundation -Inc. - -Parties: désigne collectivement le Licencié et le Concédant. - -Ces termes s'entendent au singulier comme au pluriel. - - - Article 2 - OBJET - -Le Contrat a pour objet la concession par le Concédant au Licencié d'une -licence non exclusive, cessible et mondiale du Logiciel telle que -définie ci-après à l'article 5 pour toute la durée de protection des droits -portant sur ce Logiciel. - - - Article 3 - ACCEPTATION - -3.1 L'acceptation par le Licencié des termes du Contrat est réputée -acquise du fait du premier des faits suivants: - - * (i) le chargement du Logiciel par tout moyen notamment par - téléchargement à partir d'un serveur distant ou par chargement à - partir d'un support physique; - * (ii) le premier exercice par le Licencié de l'un quelconque des - droits concédés par le Contrat. - -3.2 Un exemplaire du Contrat, contenant notamment un avertissement -relatif aux spécificités du Logiciel, à la restriction de garantie et à -la limitation à un usage par des utilisateurs expérimentés a été mis à -disposition du Licencié préalablement à son acceptation telle que -définie à l'article 3.1 ci dessus et le Licencié reconnaît en avoir pris -connaissance. - - - Article 4 - ENTREE EN VIGUEUR ET DUREE - - - 4.1 ENTREE EN VIGUEUR - -Le Contrat entre en vigueur à la date de son acceptation par le Licencié -telle que définie en 3.1. - - - 4.2 DUREE - -Le Contrat produira ses effets pendant toute la durée légale de -protection des droits patrimoniaux portant sur le Logiciel. - - - Article 5 - ETENDUE DES DROITS CONCEDES - -Le Concédant concède au Licencié, qui accepte, les droits suivants sur -le Logiciel pour toutes destinations et pour la durée du Contrat dans -les conditions ci-après détaillées. - -Par ailleurs, si le Concédant détient ou venait à détenir un ou -plusieurs brevets d'invention protégeant tout ou partie des -fonctionnalités du Logiciel ou de ses composants, il s'engage à ne pas -opposer les éventuels droits conférés par ces brevets aux Licenciés -successifs qui utiliseraient, exploiteraient ou modifieraient le -Logiciel. En cas de cession de ces brevets, le Concédant s'engage à -faire reprendre les obligations du présent alinéa aux cessionnaires. - - - 5.1 DROIT D'UTILISATION - -Le Licencié est autorisé à utiliser le Logiciel, sans restriction quant -aux domaines d'application, étant ci-après précisé que cela comporte: - - 1. la reproduction permanente ou provisoire du Logiciel en tout ou - partie par tout moyen et sous toute forme. - - 2. le chargement, l'affichage, l'exécution, ou le stockage du - Logiciel sur tout support. - - 3. la possibilité d'en observer, d'en étudier, ou d'en tester le - fonctionnement afin de déterminer les idées et principes qui sont - à la base de n'importe quel élément de ce Logiciel; et ceci, - lorsque le Licencié effectue toute opération de chargement, - d'affichage, d'exécution, de transmission ou de stockage du - Logiciel qu'il est en droit d'effectuer en vertu du Contrat. - - - 5.2 DROIT D'APPORTER DES CONTRIBUTIONS - -Le droit d'apporter des Contributions comporte le droit de traduire, -d'adapter, d'arranger ou d'apporter toute autre modification au Logiciel -et le droit de reproduire le logiciel en résultant. - -Le Licencié est autorisé à apporter toute Contribution au Logiciel sous -réserve de mentionner, de façon explicite, son nom en tant qu'auteur de -cette Contribution et la date de création de celle-ci. - - - 5.3 DROIT DE DISTRIBUTION - -Le droit de distribution comporte notamment le droit de diffuser, de -transmettre et de communiquer le Logiciel au public sur tout support et -par tout moyen ainsi que le droit de mettre sur le marché à titre -onéreux ou gratuit, un ou des exemplaires du Logiciel par tout procédé. - -Le Licencié est autorisé à distribuer des copies du Logiciel, modifié ou -non, à des tiers dans les conditions ci-après détaillées. - - - 5.3.1 DISTRIBUTION DU LOGICIEL SANS MODIFICATION - -Le Licencié est autorisé à distribuer des copies conformes du Logiciel, -sous forme de Code Source ou de Code Objet, à condition que cette -distribution respecte les dispositions du Contrat dans leur totalité et -soit accompagnée: - - 1. d'un exemplaire du Contrat, - - 2. d'un avertissement relatif à la restriction de garantie et de - responsabilité du Concédant telle que prévue aux articles 8 - et 9, - -et que, dans le cas où seul le Code Objet du Logiciel est redistribué, -le Licencié permette aux futurs Licenciés d'accéder facilement au Code -Source complet du Logiciel en indiquant les modalités d'accès, étant -entendu que le coût additionnel d'acquisition du Code Source ne devra -pas excéder le simple coût de transfert des données. - - - 5.3.2 DISTRIBUTION DU LOGICIEL MODIFIE - -Lorsque le Licencié apporte une Contribution au Logiciel, les conditions -de distribution du Logiciel Modifié en résultant sont alors soumises à -l'intégralité des dispositions du Contrat. - -Le Licencié est autorisé à distribuer le Logiciel Modifié, sous forme de -code source ou de code objet, à condition que cette distribution -respecte les dispositions du Contrat dans leur totalité et soit -accompagnée: - - 1. d'un exemplaire du Contrat, - - 2. d'un avertissement relatif à la restriction de garantie et de - responsabilité du Concédant telle que prévue aux articles 8 - et 9, - -et que, dans le cas où seul le code objet du Logiciel Modifié est -redistribué, le Licencié permette aux futurs Licenciés d'accéder -facilement au code source complet du Logiciel Modifié en indiquant les -modalités d'accès, étant entendu que le coût additionnel d'acquisition -du code source ne devra pas excéder le simple coût de transfert des données. - - - 5.3.3 DISTRIBUTION DES MODULES EXTERNES - -Lorsque le Licencié a développé un Module Externe les conditions du -Contrat ne s'appliquent pas à ce Module Externe, qui peut être distribué -sous un contrat de licence différent. - - - 5.3.4 COMPATIBILITE AVEC LA LICENCE GNU GPL - -Le Licencié peut inclure un code soumis aux dispositions d'une des -versions de la licence GNU GPL dans le Logiciel modifié ou non et -distribuer l'ensemble sous les conditions de la même version de la -licence GNU GPL. - -Le Licencié peut inclure le Logiciel modifié ou non dans un code soumis -aux dispositions d'une des versions de la licence GNU GPL et distribuer -l'ensemble sous les conditions de la même version de la licence GNU GPL. - - - Article 6 - PROPRIETE INTELLECTUELLE - - - 6.1 SUR LE LOGICIEL INITIAL - -Le Titulaire est détenteur des droits patrimoniaux sur le Logiciel -Initial. Toute utilisation du Logiciel Initial est soumise au respect -des conditions dans lesquelles le Titulaire a choisi de diffuser son -oeuvre et nul autre n'a la faculté de modifier les conditions de -diffusion de ce Logiciel Initial. - -Le Titulaire s'engage à ce que le Logiciel Initial reste au moins régi -par le Contrat et ce, pour la durée visée à l'article 4.2. - - - 6.2 SUR LES CONTRIBUTIONS - -Le Licencié qui a développé une Contribution est titulaire sur celle-ci -des droits de propriété intellectuelle dans les conditions définies par -la législation applicable. - - - 6.3 SUR LES MODULES EXTERNES - -Le Licencié qui a développé un Module Externe est titulaire sur celui-ci -des droits de propriété intellectuelle dans les conditions définies par -la législation applicable et reste libre du choix du contrat régissant -sa diffusion. - - - 6.4 DISPOSITIONS COMMUNES - -Le Licencié s'engage expressément: - - 1. à ne pas supprimer ou modifier de quelque manière que ce soit les - mentions de propriété intellectuelle apposées sur le Logiciel; - - 2. à reproduire à l'identique lesdites mentions de propriété - intellectuelle sur les copies du Logiciel modifié ou non. - -Le Licencié s'engage à ne pas porter atteinte, directement ou -indirectement, aux droits de propriété intellectuelle du Titulaire et/ou -des Contributeurs sur le Logiciel et à prendre, le cas échéant, à -l'égard de son personnel toutes les mesures nécessaires pour assurer le -respect des dits droits de propriété intellectuelle du Titulaire et/ou -des Contributeurs. - - - Article 7 - SERVICES ASSOCIES - -7.1 Le Contrat n'oblige en aucun cas le Concédant à la réalisation de -prestations d'assistance technique ou de maintenance du Logiciel. - -Cependant le Concédant reste libre de proposer ce type de services. Les -termes et conditions d'une telle assistance technique et/ou d'une telle -maintenance seront alors déterminés dans un acte séparé. Ces actes de -maintenance et/ou assistance technique n'engageront que la seule -responsabilité du Concédant qui les propose. - -7.2 De même, tout Concédant est libre de proposer, sous sa seule -responsabilité, à ses licenciés une garantie, qui n'engagera que lui, -lors de la redistribution du Logiciel et/ou du Logiciel Modifié et ce, -dans les conditions qu'il souhaite. Cette garantie et les modalités -financières de son application feront l'objet d'un acte séparé entre le -Concédant et le Licencié. - - - Article 8 - RESPONSABILITE - -8.1 Sous réserve des dispositions de l'article 8.2, le Licencié a la -faculté, sous réserve de prouver la faute du Concédant concerné, de -solliciter la réparation du préjudice direct qu'il subirait du fait du -Logiciel et dont il apportera la preuve. - -8.2 La responsabilité du Concédant est limitée aux engagements pris en -application du Contrat et ne saurait être engagée en raison notamment: -(i) des dommages dus à l'inexécution, totale ou partielle, de ses -obligations par le Licencié, (ii) des dommages directs ou indirects -découlant de l'utilisation ou des performances du Logiciel subis par le -Licencié et (iii) plus généralement d'un quelconque dommage indirect. En -particulier, les Parties conviennent expressément que tout préjudice -financier ou commercial (par exemple perte de données, perte de -bénéfices, perte d'exploitation, perte de clientèle ou de commandes, -manque à gagner, trouble commercial quelconque) ou toute action dirigée -contre le Licencié par un tiers, constitue un dommage indirect et -n'ouvre pas droit à réparation par le Concédant. - - - Article 9 - GARANTIE - -9.1 Le Licencié reconnaît que l'état actuel des connaissances -scientifiques et techniques au moment de la mise en circulation du -Logiciel ne permet pas d'en tester et d'en vérifier toutes les -utilisations ni de détecter l'existence d'éventuels défauts. L'attention -du Licencié a été attirée sur ce point sur les risques associés au -chargement, à l'utilisation, la modification et/ou au développement et à -la reproduction du Logiciel qui sont réservés à des utilisateurs avertis. - -Il relève de la responsabilité du Licencié de contrôler, par tous -moyens, l'adéquation du produit à ses besoins, son bon fonctionnement et -de s'assurer qu'il ne causera pas de dommages aux personnes et aux biens. - -9.2 Le Concédant déclare de bonne foi être en droit de concéder -l'ensemble des droits attachés au Logiciel (comprenant notamment les -droits visés à l'article 5). - -9.3 Le Licencié reconnaît que le Logiciel est fourni "en l'état" par le -Concédant sans autre garantie, expresse ou tacite, que celle prévue à -l'article 9.2 et notamment sans aucune garantie sur sa valeur commerciale, -son caractère sécurisé, innovant ou pertinent. - -En particulier, le Concédant ne garantit pas que le Logiciel est exempt -d'erreur, qu'il fonctionnera sans interruption, qu'il sera compatible -avec l'équipement du Licencié et sa configuration logicielle ni qu'il -remplira les besoins du Licencié. - -9.4 Le Concédant ne garantit pas, de manière expresse ou tacite, que le -Logiciel ne porte pas atteinte à un quelconque droit de propriété -intellectuelle d'un tiers portant sur un brevet, un logiciel ou sur tout -autre droit de propriété. Ainsi, le Concédant exclut toute garantie au -profit du Licencié contre les actions en contrefaçon qui pourraient être -diligentées au titre de l'utilisation, de la modification, et de la -redistribution du Logiciel. Néanmoins, si de telles actions sont -exercées contre le Licencié, le Concédant lui apportera son aide -technique et juridique pour sa défense. Cette aide technique et -juridique est déterminée au cas par cas entre le Concédant concerné et -le Licencié dans le cadre d'un protocole d'accord. Le Concédant dégage -toute responsabilité quant à l'utilisation de la dénomination du -Logiciel par le Licencié. Aucune garantie n'est apportée quant à -l'existence de droits antérieurs sur le nom du Logiciel et sur -l'existence d'une marque. - - - Article 10 - RESILIATION - -10.1 En cas de manquement par le Licencié aux obligations mises à sa -charge par le Contrat, le Concédant pourra résilier de plein droit le -Contrat trente (30) jours après notification adressée au Licencié et -restée sans effet. - -10.2 Le Licencié dont le Contrat est résilié n'est plus autorisé à -utiliser, modifier ou distribuer le Logiciel. Cependant, toutes les -licences qu'il aura concédées antérieurement à la résiliation du Contrat -resteront valides sous réserve qu'elles aient été effectuées en -conformité avec le Contrat. - - - Article 11 - DISPOSITIONS DIVERSES - - - 11.1 CAUSE EXTERIEURE - -Aucune des Parties ne sera responsable d'un retard ou d'une défaillance -d'exécution du Contrat qui serait dû à un cas de force majeure, un cas -fortuit ou une cause extérieure, telle que, notamment, le mauvais -fonctionnement ou les interruptions du réseau électrique ou de -télécommunication, la paralysie du réseau liée à une attaque -informatique, l'intervention des autorités gouvernementales, les -catastrophes naturelles, les dégâts des eaux, les tremblements de terre, -le feu, les explosions, les grèves et les conflits sociaux, l'état de -guerre... - -11.2 Le fait, par l'une ou l'autre des Parties, d'omettre en une ou -plusieurs occasions de se prévaloir d'une ou plusieurs dispositions du -Contrat, ne pourra en aucun cas impliquer renonciation par la Partie -intéressée à s'en prévaloir ultérieurement. - -11.3 Le Contrat annule et remplace toute convention antérieure, écrite -ou orale, entre les Parties sur le même objet et constitue l'accord -entier entre les Parties sur cet objet. Aucune addition ou modification -aux termes du Contrat n'aura d'effet à l'égard des Parties à moins -d'être faite par écrit et signée par leurs représentants dûment habilités. - -11.4 Dans l'hypothèse où une ou plusieurs des dispositions du Contrat -s'avèrerait contraire à une loi ou à un texte applicable, existants ou -futurs, cette loi ou ce texte prévaudrait, et les Parties feraient les -amendements nécessaires pour se conformer à cette loi ou à ce texte. -Toutes les autres dispositions resteront en vigueur. De même, la -nullité, pour quelque raison que ce soit, d'une des dispositions du -Contrat ne saurait entraîner la nullité de l'ensemble du Contrat. - - - 11.5 LANGUE - -Le Contrat est rédigé en langue française et en langue anglaise, ces -deux versions faisant également foi. - - - Article 12 - NOUVELLES VERSIONS DU CONTRAT - -12.1 Toute personne est autorisée à copier et distribuer des copies de -ce Contrat. - -12.2 Afin d'en préserver la cohérence, le texte du Contrat est protégé -et ne peut être modifié que par les auteurs de la licence, lesquels se -réservent le droit de publier périodiquement des mises à jour ou de -nouvelles versions du Contrat, qui posséderont chacune un numéro -distinct. Ces versions ultérieures seront susceptibles de prendre en -compte de nouvelles problématiques rencontrées par les logiciels libres. - -12.3 Tout Logiciel diffusé sous une version donnée du Contrat ne pourra -faire l'objet d'une diffusion ultérieure que sous la même version du -Contrat ou une version postérieure, sous réserve des dispositions de -l'article 5.3.4. - - - Article 13 - LOI APPLICABLE ET COMPETENCE TERRITORIALE - -13.1 Le Contrat est régi par la loi française. Les Parties conviennent -de tenter de régler à l'amiable les différends ou litiges qui -viendraient à se produire par suite ou à l'occasion du Contrat. - -13.2 A défaut d'accord amiable dans un délai de deux (2) mois à compter -de leur survenance et sauf situation relevant d'une procédure d'urgence, -les différends ou litiges seront portés par la Partie la plus diligente -devant les Tribunaux compétents de Paris. - - -Version 2.0 du 2006-09-05. diff --git a/tools/eztelemeta/Makefile b/tools/eztelemeta/Makefile deleted file mode 100644 index c9b9f5c0..00000000 --- a/tools/eztelemeta/Makefile +++ /dev/null @@ -1,72 +0,0 @@ -PACKAGE = eztelemeta -VERSION = 0.1 - -DOCS = VERSION ChangeLog doc/README.fr doc/README.fr.html doc/doc.css doc/README.fr.latex \ - doc/README.fr.pdf doc/player.png LICENCE LICENCE.fr - -SETTINGS = \ - settings/content.ini.append \ - settings/design.ini.append \ - settings/site.ini.append \ - settings/override.ini.append - -TEMPLATES = \ - design/standard/templates/content/datatype/view/eztelemetaitem.tpl \ - design/standard/templates/content/datatype/edit/eztelemetaitem.tpl \ - design/standard/templates/eztelemeta_head.tpl \ - design/standard/override/templates/embed/eztelemetaitem.tpl \ - design/standard/override/templates/full/eztelemetaitem.tpl - -HTDOCS = \ - design/standard/stylesheets/eztelemeta.css \ - design/standard/javascript/soundmanager2.js \ - design/standard/javascript/soundmanager2-nodebug-jsmin.js \ - design/standard/javascript/eztelemeta-player.js \ - design/standard/swf/soundmanager2_flash9.swf \ - design/standard/swf/soundmanager2.swf \ - design/standard/images/play.gif \ - design/standard/images/stop.gif - -PHP = datatypes/eztelemetaitem/eztelemetaitemtype.php \ - autoloads/eztelemetadata.php \ - autoloads/eztemplateautoload.php - -I18N = translations/fre-FR/translation.ts - -DISTFILES = $(DOCS) $(SETTINGS) $(TEMPLATES) $(HTDOCS) $(PHP) $(I18N) - -DISTPKG = $(PACKAGE)-$(VERSION).tar.gz - -dist: $(DISTPKG) - -$(DISTPKG): doc $(DISTFILES) - tar -czf $@ --transform 's|^|eztelemeta/|' $(DISTFILES) - -.PHONY: doc -doc: VERSION - $(MAKE) -C doc - -.PHONY: clean -clean: - $(MAKE) -C doc clean - rm VERSION - -VERSION: - echo $(VERSION) > $@ - -.PHONY: list -list: doc $(DISTFILES) - @echo "------------------" - @echo "Distributed files:" - @echo "------------------" - @echo $(DISTFILES) | tr ' ' '\n' > cmp.tmp - @cat cmp.tmp - @echo - @echo "--------------------" - @echo "Undistributed files:" - @echo "--------------------" - @find -type f | grep -v svn | grep -v 'swp$$' | sed 's/^\.\///' >> cmp.tmp - @cat cmp.tmp | sort | uniq -u | grep -v 'cmp.tmp' - @rm cmp.tmp - -# vim: set noexpandtab: ts=2: sw=2: diff --git a/tools/eztelemeta/autoloads/eztelemetadata.php b/tools/eztelemeta/autoloads/eztelemetadata.php deleted file mode 100644 index 36a7116e..00000000 --- a/tools/eztelemeta/autoloads/eztelemetadata.php +++ /dev/null @@ -1,122 +0,0 @@ - - * License: CeCILL Free Software License Agreement - */ - -/* - Template operator to speed up page settings and style init time - Gets its parameters directly from template. - module_result.path | content_info | persistant_variable | menu.ini ++ - are all used to generate page data, what menues to show - and so on. - -*/ - -class eZTelemetaData -{ - function eZTelemetaData() - { - } - - function operatorList() - { - return array( 'eztelemetadata_set', 'eztelemetadata_append' ); - } - - function namedParameterPerOperator() - { - return true; - } - - function namedParameterList() - { - return array( 'eztelemetadata_set' => array( - 'key' => array( 'type' => 'string', - 'required' => true, - 'default' => false ), - 'value' => array( 'type' => 'mixed', - 'required' => true, - 'default' => false ) ), - 'eztelemetadata_append' => array( - 'key' => array( 'type' => 'string', - 'required' => true, - 'default' => false ), - 'value' => array( 'type' => 'mixed', - 'required' => true, - 'default' => false ) ) ); - } - - function modify( $tpl, $operatorName, $operatorParameters, $rootNamespace, $currentNamespace, &$operatorValue, $namedParameters ) - { - switch ( $operatorName ) - { - // note: these functions are not cache-block safe - // as in: if called inside a cache-block then they will not be called when cache is used. - case 'eztelemetadata_set': - case 'eztelemetadata_append': - { - self::setPersistentVariable( $namedParameters['key'], $namedParameters['value'], $tpl, $operatorName === 'eztelemetadata_append' ); - }break; - } - } - - // reusable function for setting persistent_variable - static public function setPersistentVariable( $key, $value, $tpl, $append = false ) - { - $persistentVariable = array(); - if ( $tpl->hasVariable('persistent_variable') && is_array( $tpl->variable('persistent_variable') ) ) - { - $persistentVariable = $tpl->variable('persistent_variable'); - } - else if ( self::$persistentVariable !== null && is_array( self::$persistentVariable ) ) - { - $persistentVariable = self::$persistentVariable; - } - - if ( $append ) - { - if ( isset( $persistentVariable[ $key ] ) && is_array( $persistentVariable[ $key ] ) ) - { - $persistentVariable[ $key ][] = $value; - } - else - { - $persistentVariable[ $key ] = array( $value ); - } - } - else - { - $persistentVariable[ $key ] = $value; - } - - // set the finnished array in the template - $tpl->setVariable('persistent_variable', $persistentVariable); - - // storing the value internally as well in case this is not a view that supports persistent_variable (eztelemetadata will look for it) - self::$persistentVariable = $persistentVariable; - } - - // reusable function for getting persistent_variable - static public function getPersistentVariable( $key = null ) - { - if ( $key !== null ) - { - if ( isset( self::$persistentVariable[ $key ] ) ) - return self::$persistentVariable[ $key ]; - return null; - } - return self::$persistentVariable; - } - - // Internal version of the $persistent_variable used on view that don't support it - static protected $persistentVariable = null; - -} - -?> diff --git a/tools/eztelemeta/autoloads/eztemplateautoload.php b/tools/eztelemeta/autoloads/eztemplateautoload.php deleted file mode 100644 index ca7aa004..00000000 --- a/tools/eztelemeta/autoloads/eztemplateautoload.php +++ /dev/null @@ -1,14 +0,0 @@ - - * License: CeCILL Free Software License Agreement - */ - -$eZTemplateOperatorArray = array(); -$eZTemplateOperatorArray[] = array( 'script' => 'extension/eztelemeta/autoloads/eztelemetadata.php', - 'class' => 'eZTelemetaData', - 'operator_names' => array( 'eztelemetadata_set', 'eztelemetadata_append' ) ); -?> diff --git a/tools/eztelemeta/datatypes/eztelemetaitem/eztelemetaitemtype.php b/tools/eztelemeta/datatypes/eztelemetaitem/eztelemetaitemtype.php deleted file mode 100755 index e2fbb823..00000000 --- a/tools/eztelemeta/datatypes/eztelemetaitem/eztelemetaitemtype.php +++ /dev/null @@ -1,207 +0,0 @@ - - * @copyright 2009 Samalyse - * @license CeCILL Free Software License Agreement - */ - -/** - * Class definining the Telemeta Item datatype - * - * @package eztelemeta - * @author Olivier Guilyardi - * @copyright 2009 Samalyse - * @license CeCILL Free Software License Agreement - */ -class eZTelemetaItemType extends eZDataType -{ - const DATA_TYPE_STRING = 'eztelemetaitem'; - - public function __construct() - { - parent::__construct(self::DATA_TYPE_STRING, 'Telemeta Item'); - } - - function validateObjectAttributeHTTPInput($http, $base, $attribute) - { - $idvar = "{$base}_itemid_" . $attribute->attribute('id'); - $urlvar = "{$base}_url_" . $attribute->attribute('id'); - if ($http->hasPostVariable($idvar)) { - $itemId = trim($http->postVariable($idvar)); - $url = trim($http->postVariable($urlvar)); - $classAttribute = $attribute->contentClassAttribute(); - if ($classAttribute->attribute("is_required")) { - if (!$itemId) { - $attribute->setValidationError(ezi18n('content/datatypes', - "A valid Telemeta Item identifier is required", - __CLASS__)); - return eZInputValidator::STATE_INVALID; - } - if (!$url) { - $attribute->setValidationError(ezi18n('content/datatypes', - "A valid Telemeta URL is required", - __CLASS__)); - return eZInputValidator::STATE_INVALID; - } - } - $item = $this->initItem($url, $itemId); - try { - $this->fetchItem($item); - } catch (eZTelemetaError $e) { - $attribute->setValidationError(ezi18n('content/datatypes', $e->getMessage(), __CLASS__)); - return eZInputValidator::STATE_INVALID; - } - } - return eZInputValidator::STATE_ACCEPTED; - } - - function initItem($url, $itemId) - { - return array( - 'id' => $itemId, - 'url' => $url, - 'title' => '', - 'creator' => '', - 'description' => '', - 'rights' => '', - 'mp3' => '', - 'duration' => 0, - 'duration_str' => '' - ); - } - - function fetchItem($item) - { - $url = $item['url']; - if (!ereg('^http://', $url)) { - $url = "http://$url"; - } - $url = ereg_replace('/*$', '', $url); - $encodedId = urlencode($item['id']); - $request = "$url/oai/?verb=GetRecord&identifier=item:$encodedId&metadataPrefix=oai_dc"; - - $doc = new DOMDocument(); - if (!@$doc->load($request)) { - throw new eZTelemetaError("The Telemeta server couldn't be reached or returned malformed XML (request: $request)"); - } - - $root = $doc->getElementsByTagName('OAI-PMH'); - if (!$root->length) - throw new eZTelemetaError("Retrieved XML document isn't a valid OAI-PMH response"); - - $root = $root->item(0); - $error = $root->getElementsByTagName('error'); - if ($error->length) { - $msg = $error->item(0)->firstChild->nodeValue; - throw new eZTelemetaError("Telemeta OAI-PMH error: $msg"); - } - - $record = $root->getElementsByTagName('GetRecord'); - if (!$record->length) { - throw new eZTelemetaError("Retrieved XML document isn't a valid OAI-PMH response (missing GetRecord tag)"); - } - - $dc = $record->item(0)->getElementsByTagNameNS('*', 'dc')->item(0); - $result = $this->initItem($item['url'], $item['id']); - foreach ($dc->childNodes as $element) { - if ($element->nodeType == XML_ELEMENT_NODE) { - $tag = str_replace('dc:', '', $element->tagName); - $value = $element->childNodes->length ? trim($element->firstChild->nodeValue) : ''; - if ($tag == 'format' and ereg('^([0-9]{2}):([0-9]{2}):([0-9]{2})$', $value, $regs)) { - $tag = 'duration'; - $value = $regs[1] * 3600 + $regs[2] * 60 + $regs[3]; - } - if (array_key_exists($tag, $result) and empty($result[$tag])) { - $result[$tag] = $value; - } - } - } - - if (!$result['title']) { - throw new eZTelemetaError("The retrieved item has no title"); - } - - if ($result['duration']) { - $d = $result['duration']; - $result['duration_str'] = sprintf("%02d:%02d:%02d", $d / 3600, $d % 3600 / 60, $d % 3600 % 60); - } else { - throw new eZTelemetaError("The retrieved item has no duration (no sound file?)"); - } - - $result['mp3'] = "$url/items/download/$encodedId.mp3"; - - return array_merge($item, $result); - } - - function fetchObjectAttributeHTTPInput($http, $base, $attribute) - { - $idvar = "{$base}_itemid_" . $attribute->attribute('id'); - $urlvar = "{$base}_url_" . $attribute->attribute('id'); - if ($http->hasPostVariable($idvar)) { - $itemId = trim($http->postVariable($idvar)); - $url = trim($http->postVariable($urlvar)); - $item = $this->initItem($url, $itemId); - try { - $item = $this->fetchItem($item); - } catch (eZTelemetaError $e) { - } - $attribute->setAttribute("data_text", serialize($item)); - } - return true; - } - - function objectAttributeContent($attribute) - { - $item = unserialize($attribute->attribute("data_text")); - try { - $filled = $this->fetchItem($item); - return $filled; - } catch (eZTelemetaError $e) { - return $item; - } - } - - function metaData($attribute) - { - $data = unserialize($attribute->attribute("data_text")); - $words = array(); - $src = $data['title'] . ' ' . $data['description']; - $cut = split('[ =+()[{}_,.:;\\/"\'*#%!?&-]+', $src); - foreach ($cut as $w) { - if (strlen($w) >= 3) { - $words[] = $w; - } - } - $words = join(" ", $words); - file_put_contents("/tmp/c{$data['id']}", $words); - return $words; - } - - function title($attribute, $name = null) - { - $item = $this->objectAttributeContent($attribute); - if (!$item['title']) - return 'untitled'; - return $item['title']; - } - - function isIndexable() - { - return true; - } - -} - -class eZTelemetaError extends ezcBaseException -{ - public function __construct($msg) - { - parent::__construct($msg); - } - -} - -eZDataType::register(eZTelemetaItemType::DATA_TYPE_STRING, "eztelemetaitemtype"); diff --git a/tools/eztelemeta/design/standard/images/play.gif b/tools/eztelemeta/design/standard/images/play.gif deleted file mode 100644 index 9d7a3ac128ac3f730ca0e4a93f789addcf869ac0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1204 zcmdVZi!<8?0KoBtp3zg~ZXWA;MyDRFyKUxHudYduM6U?zROhv*j@29%ES@0}loUy6 zy=j%AdUZ_MSg%o9Hm`()gplAT4CEmcfQ)vf-I5SmrV;i;Ku&BeUjFzcJu=9t_Wi;RWAhD+BNx zG=44!KZnLMujCwf=YZF9n5bM1Dt9#`cRnbO8=SZ3U7!ulXZa9xz66~gK^t7a_ANAo z64+q`reBfaD$(#=;R1|gfRl6xk`_)fAV_+Dk~WgaM34+f(jkIu@F(j6$l74?PB3{F zS)vUrF+`G=qR5NrGHp zm@4Vrs@0^bWo)%Dh6=_|<&iW^JXIV^1Mg8eaWoK1lg8GlQfk%{9?5^LWhFlrrPK*= z^@8kr7Oqi<(oh#lL+ z&J*I|P7%3tv$$JU(k(9U7ToU!%6kAx&j#fMP|_=_=oM0Wg_SRX2QNj`S0dW0?V5hc z!vSgips-<3*!UV~9NKLj61I)(wvULPzmfFNcLwOZp>baC`@`Xh_0h?-*MIK~Pw)LP zEgPHW(PuVCX7?v%c=S2(n|b*=hUDD>ILqFeT#`>M$!ECW99K5GqL^RVWAF|bJSB5Y zxxBv1;vca1O140`bYkPgA$J4hY$~~1hiiah6A%Lcu(qw_i&UEu&DM?@*wt)HHBzZm zw5O5mAIZQ25Cmn4BZWc%Dv#yLW0gv!R;!PWb;l=Z^*WtSuh$#?4>@X1K~F;r5O>H) z|2+XQ)k6$s=Uvlo^XUy3B0}e)39z_;|LH$^WHRh9a zteL|E^>Q4Y2yL&OqCl)0?AT*Q@KCp?A<^nNp9AZs7A^r+HO4>Ax<+6gGO!)jtzUfK zWp3s5by|&)%Ojs`$)else%FK#SzJ$NsB;nC-jwFqz2`KLC=DsUi7sv+j8yZ{zjvi! zM-y$`xVVd^Cib1-MSX~}d53>UmaQFko(0@LYjKI(&JS_exV6> zwrKJUjd1a&M~xRDpZiU_dL)!te)?s^4!=1*z!?2!Wpo$(FOxIp8e;Zi9sLpJAqEM} zP9$g_t+FkP>6@gsqs|(~#_Nv9`R{8ksd0@nMnFNW+m(;sPQre1cpGSUhh$Z9`!w+@ zBr)2djqGkb!z7s{4?n?rq$a76rO9=WQy0zYPXkP1_5~lx-Q|oxlWWnmu**r2eZ_Y9 vS`hVF{4T%H#_1;~OXqw080bgmF_y))6pX7Ayz{0U{dslTg*bmG6yp0YF;Ml$ diff --git a/tools/eztelemeta/design/standard/images/stop.gif b/tools/eztelemeta/design/standard/images/stop.gif deleted file mode 100644 index 34c7ca050628fe4319c8c89598467c165ae74843..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1175 zcmdthi!<8?0KoAuOj@jKG0}Fb+RUxJwOBWb^YgeQ+%jRU>vd*{n_Jh-VG>P4g*?3C zm5dwp+&ns_*KM@ybgrSbob!l~NJ0qllV3>0Py9s4WA<7~2{0V(8j1DKz#khPqE`RB>d{KOXf>1CYR%jtSkX&b2!x`2HhJ{cl z4KK1MGNefiaYV5_l4<|EXbxc8Z!yI&Y&({{AIq^4I9mjc?iOd^3(h>g%o1N_Nh=kn zmCg~l2T9!hWG<4zH6&LeUsuU8s^zz9;BTrIzO2z_)GXbpk&$aP={#*3AHK_zf5nH% ze0^G-DZLKPtXuh^Uh>^fP-cTBw{i7;qa?RUliLhYnjw1gBBce&Y&GSzXsE554_X%s zTbCGZih}kvcIOJc%gF57V0ItVvbrHox0=;ssOVWO?*S`%!OGsX%HP0}K0{@nrus2h z^%&wkf%s20>i*pPv0vZ#RP*qurs)~jG^lGC)U*%lI)=5qf~|gma`2_HZ+w5~)yi|> z^0SHUp~>yPCJm#LO2L$RczWm6lu|IG9TDw}h<3+jH^=7SY3aIfVRuRa&nOJji$>An z_N;PmR*8t05!s4PqS}+F5a}wiaBS_^zG4lQs}aTe{xWD(gIW*-mp2d!PrB_1$YR_)i;DKbK-~?r8q?{tKhkmvXiX z%zuzy@Nk&KAT+Tv@lnd}q`!UZ1Gy-#3Lk#DBiX$xxtn?78i-CTJ;QV5I}owr?nlIs z3`M7wf8O!7OF}ZxN%RjQja6h02ospGj&l*UXYjQ?soCmLFP1CuynCvxXZKD2nztjf zz;UmRIJAdb$OmLc9^0cOtk_w7n$;Os{)UHZ^h1?Xm2W7|*}o_C;!B69CKg^095Apn z5lAcxeen - * License: CeCILL Free Software License Agreement - */ - -function TelemetaPlayer(cfg) -{ - var that = this; - var soundManager = null; - var sound = null; - var currentLink = null; - - this.init = function() { - var sounds = this.byClass(document, 'dd', 'telemeta-sound'); - var i; - for (i in sounds) { - if (typeof(sounds[i].getElementsByTagName) != 'undefined') { - link = sounds[i].getElementsByTagName('a')[0]; - link.onclick = this.togglePlayback; - } - } - } - - this.findContainer = function(link) { - var e = link; - while (e) { - e = e.parentNode; - if (this.hasClass(e, 'telemeta-item')) - break; - if (e == document) - e = null; - } - return e; - } - - this.setStateStyle = function(link, state) { - var container = this.findContainer(link); - if (state == 'stopped') { - if (this.hasClass(container, 'telemeta-playing')) - container.className = container.className.replace('telemeta-playing', ''); - } - - if (state == 'stopped' || state == 'playing') { - if (this.hasClass(container, 'telemeta-loading')) - container.className = container.className.replace('telemeta-loading', ''); - } - - if (state == 'playing' || state == 'loading') { - if (!this.hasClass(container, 'telemeta-playing')) - container.className += ' telemeta-playing'; - if (state == 'loading') { - if (!this.hasClass(container, 'telemeta-loading')) - container.className += ' telemeta-loading'; - } - } - } - - this.togglePlayback = function() { - var link = this; - if (that.soundManager) { - if (that.sound) - that.sound.stop(); - if (that.currentLink) { - that.setStateStyle(that.currentLink, 'stopped'); - that.updatePosition(0); - } - if (!that.currentLink || that.currentLink != link) { - that.sound = that.soundManager.createSound({ - id: 'telemeta_sound', - url: link.href, - whileplaying: function() { that.update(); }, - onbufferchange: function() { that.update(); } - }); - that.currentLink = link; - that.sound.play(); - that.setStateStyle(link, 'loading'); - that.updatePosition(0); - } else { - that.currentLink = null; - } - } - return false; - } - - this.updatePosition = function(position) - { - var container = that.findContainer(that.currentLink) - var positionContainer = that.byClass(container, 'span', 'telemeta-position')[0]; - - function format(i) { i = '' + parseInt(i); return i.length < 2 ? '0' + i : i; } - - var hours = format(position / 3600); - var mins = format(position % 3600 / 60); - var secs = format(position % 3600 % 60); - positionContainer.firstChild.nodeValue = hours + ':' + mins + ':' + secs; - } - - this.update = function() - { - that.updatePosition(that.sound.position / 1000); - if (that.sound.isBuffering) { - that.setStateStyle(that.currentLink, 'loading'); - } else { - that.setStateStyle(that.currentLink, 'playing'); - } - } - - this.hasClass = function(element, className) { - if (typeof(element.className) != 'undefined') - return new RegExp('(^|\\s)' + className + '(\\s|$)').test(element.className); - - return false; - } - - this.byClass = function(root, tag, className) { - var result = []; - var nodes = root.getElementsByTagName(tag); - var i; - for (i = 0; i < nodes.length; i++) { - if (this.hasClass(nodes[i], className)) - result.push(nodes[i]); - } - return result; - } - - this.setSoundManager = function(soundManager) { - this.soundManager = soundManager; - } - - TelemetaDom.ready(function() { that.init(cfg); }); -} - -(function(){ - - var DomReady = window.TelemetaDom = {}; - - // Everything that has to do with properly supporting our document ready event. Brought over from the most awesome jQuery. - - var userAgent = navigator.userAgent.toLowerCase(); - - // Figure out what browser is being used - var browser = { - version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1], - safari: /webkit/.test(userAgent), - opera: /opera/.test(userAgent), - msie: (/msie/.test(userAgent)) && (!/opera/.test( userAgent )), - mozilla: (/mozilla/.test(userAgent)) && (!/(compatible|webkit)/.test(userAgent)) - }; - - var readyBound = false; - var isReady = false; - var readyList = []; - - // Handle when the DOM is ready - function domReady() { - // Make sure that the DOM is not already loaded - if(!isReady) { - // Remember that the DOM is ready - isReady = true; - - if(readyList) { - for(var fn = 0; fn < readyList.length; fn++) { - readyList[fn].call(window, []); - } - - readyList = []; - } - } - }; - - // From Simon Willison. A safe way to fire onload w/o screwing up everyone else. - function addLoadEvent(func) { - var oldonload = window.onload; - if (typeof window.onload != 'function') { - window.onload = func; - } else { - window.onload = function() { - if (oldonload) { - oldonload(); - } - func(); - } - } - }; - - // does the heavy work of working through the browsers idiosyncracies (let's call them that) to hook onload. - function bindReady() { - if(readyBound) { - return; - } - - readyBound = true; - - // Mozilla, Opera (see further below for it) and webkit nightlies currently support this event - if (document.addEventListener && !browser.opera) { - // Use the handy event callback - document.addEventListener("DOMContentLoaded", domReady, false); - } - - // If IE is used and is not in a frame - // Continually check to see if the document is ready - if (browser.msie && window == top) (function(){ - if (isReady) return; - try { - // If IE is used, use the trick by Diego Perini - // http://javascript.nwbox.com/IEContentLoaded/ - document.documentElement.doScroll("left"); - } catch(error) { - setTimeout(arguments.callee, 0); - return; - } - // and execute any waiting functions - domReady(); - })(); - - if(browser.opera) { - document.addEventListener( "DOMContentLoaded", function () { - if (isReady) return; - for (var i = 0; i < document.styleSheets.length; i++) - if (document.styleSheets[i].disabled) { - setTimeout( arguments.callee, 0 ); - return; - } - // and execute any waiting functions - domReady(); - }, false); - } - - if(browser.safari) { - var numStyles; - (function(){ - if (isReady) return; - if (document.readyState != "loaded" && document.readyState != "complete") { - setTimeout( arguments.callee, 0 ); - return; - } - if (numStyles === undefined) { - var links = document.getElementsByTagName("link"); - for (var i=0; i < links.length; i++) { - if(links[i].getAttribute('rel') == 'stylesheet') { - numStyles++; - } - } - var styles = document.getElementsByTagName("style"); - numStyles += styles.length; - } - if (document.styleSheets.length != numStyles) { - setTimeout( arguments.callee, 0 ); - return; - } - - // and execute any waiting functions - domReady(); - })(); - } - - // A fallback to window.onload, that will always work - addLoadEvent(domReady); - }; - - // This is the public function that people can use to hook up ready. - DomReady.ready = function(fn, args) { - // Attach the listeners - bindReady(); - - // If the DOM is already ready - if (isReady) { - // Execute the function immediately - fn.call(window, []); - } else { - // Add the function to the wait list - readyList.push( function() { return fn.call(window, []); } ); - } - }; - - bindReady(); - -})(); diff --git a/tools/eztelemeta/design/standard/javascript/soundmanager2-nodebug-jsmin.js b/tools/eztelemeta/design/standard/javascript/soundmanager2-nodebug-jsmin.js deleted file mode 100644 index 50b0d0a7..00000000 --- a/tools/eztelemeta/design/standard/javascript/soundmanager2-nodebug-jsmin.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - SoundManager 2: Javascript Sound for the Web - -------------------------------------------- - http://schillmania.com/projects/soundmanager2/ - - Copyright (c) 2008, Scott Schiller. All rights reserved. - Code licensed under the BSD License: - http://schillmania.com/projects/soundmanager2/license.txt - - V2.94a.20090206 -*/ -var soundManager=null;function SoundManager(b,a){this.flashVersion=8;this.debugMode=true;this.useConsole=true;this.consoleOnly=false;this.waitForWindowLoad=false;this.nullURL="null.mp3";this.allowPolling=true;this.useMovieStar=false;this.bgColor="#ffffff";this.useHighPerformance=false;this.flashLoadTimeout=750;this.defaultOptions={autoLoad:false,stream:true,autoPlay:false,onid3:null,onload:null,whileloading:null,onplay:null,onpause:null,onresume:null,whileplaying:null,onstop:null,onfinish:null,onbeforefinish:null,onbeforefinishtime:5000,onbeforefinishcomplete:null,onjustbeforefinish:null,onjustbeforefinishtime:200,multiShot:true,position:null,pan:0,volume:100};this.flash9Options={onbufferchange:null,isMovieStar:null,usePeakData:false,useWaveformData:false,useEQData:false};this.movieStarOptions={onmetadata:null,useVideo:false};var f=null;var e=this;this.version=null;this.versionNumber="V2.94a.20090206";this.movieURL=null;this.url=null;this.altURL=null;this.swfLoaded=false;this.enabled=false;this.o=null;this.id=(a||"sm2movie");this.oMC=null;this.sounds={};this.soundIDs=[];this.muted=false;this.wmode=null;this.isIE=(navigator.userAgent.match(/MSIE/i));this.isSafari=(navigator.userAgent.match(/safari/i));this.isGecko=(navigator.userAgent.match(/gecko/i));this.debugID="soundmanager-debug";this._debugOpen=true;this._didAppend=false;this._appendSuccess=false;this._didInit=false;this._disabled=false;this._windowLoaded=false;this._hasConsole=(typeof console!="undefined"&&typeof console.log!="undefined");this._debugLevels=["log","info","warn","error"];this._defaultFlashVersion=8;this._oRemoved=null;this._oRemovedHTML=null;var g=function(h){return document.getElementById(h)};this.filePatterns={flash8:/\.mp3(\?.*)?$/i,flash9:/\.mp3(\?.*)?$/i};this.netStreamTypes=["aac","flv","mov","mp4","m4v","f4v","m4a","mp4v","3gp","3g2"];this.netStreamPattern=new RegExp("\\.("+this.netStreamTypes.join("|")+")(\\?.*)?$","i");this.filePattern=null;this.features={buffering:false,peakData:false,waveformData:false,eqData:false,movieStar:false};this.sandbox={type:null,types:{remote:"remote (domain-based) rules",localWithFile:"local with file access (no internet access)",localWithNetwork:"local with network (internet access only, no local access)",localTrusted:"local, trusted (local + internet access)"},description:null,noRemote:null,noLocal:null};this._setVersionInfo=function(){if(e.flashVersion!=8&&e.flashVersion!=9){alert('soundManager.flashVersion must be 8 or 9. "'+e.flashVersion+'" is invalid. Reverting to '+e._defaultFlashVersion+".");e.flashVersion=e._defaultFlashVersion}e.version=e.versionNumber+(e.flashVersion==9?" (AS3/Flash 9)":" (AS2/Flash 8)");if(e.flashVersion>8){e.defaultOptions=e._mergeObjects(e.defaultOptions,e.flash9Options);e.features.buffering=true}if(e.flashVersion>8&&e.useMovieStar){e.defaultOptions=e._mergeObjects(e.defaultOptions,e.movieStarOptions);e.filePatterns.flash9=new RegExp("\\.(mp3|"+e.netStreamTypes.join("|")+")(\\?.*)?$","i");e.features.movieStar=true}else{e.useMovieStar=false;e.features.movieStar=false}e.filePattern=e.filePatterns[(e.flashVersion!=8?"flash9":"flash8")];e.movieURL=(e.flashVersion==8?"soundmanager2.swf":"soundmanager2_flash9.swf");e.features.peakData=e.features.waveformData=e.features.eqData=(e.flashVersion==9)};this._overHTTP=(document.location?document.location.protocol.match(/http/i):null);this._waitingforEI=false;this._initPending=false;this._tryInitOnFocus=(this.isSafari&&typeof document.hasFocus=="undefined");this._isFocused=(typeof document.hasFocus!="undefined"?document.hasFocus():null);this._okToDisable=!this._tryInitOnFocus;this.useAltURL=!this._overHTTP;var d="http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html";this.supported=function(){return(e._didInit&&!e._disabled)};this.getMovie=function(h){return e.isIE?window[h]:(e.isSafari?g(h)||document[h]:g(h))};this.loadFromXML=function(h){try{e.o._loadFromXML(h)}catch(i){e._failSafely();return true}};this.createSound=function(i){if(!e._didInit){throw new Error("soundManager.createSound(): Not loaded yet - wait for soundManager.onload() before calling sound-related methods")}if(arguments.length==2){i={id:arguments[0],url:arguments[1]}}var j=e._mergeObjects(i);var h=j;if(e._idCheck(h.id,true)){return e.sounds[h.id]}if(e.flashVersion>8&&e.useMovieStar){if(h.isMovieStar===null){h.isMovieStar=(h.url.match(e.netStreamPattern)?true:false)}if(h.isMovieStar&&(h.usePeakData||h.useWaveformData||h.useEQData)){h.usePeakData=false;h.useWaveformData=false;h.useEQData=false}}e.sounds[h.id]=new f(h);e.soundIDs[e.soundIDs.length]=h.id;if(e.flashVersion==8){e.o._createSound(h.id,h.onjustbeforefinishtime)}else{e.o._createSound(h.id,h.url,h.onjustbeforefinishtime,h.usePeakData,h.useWaveformData,h.useEQData,h.isMovieStar,(h.isMovieStar?h.useVideo:false))}if(h.autoLoad||h.autoPlay){if(e.sounds[h.id]){e.sounds[h.id].load(h)}}if(h.autoPlay){e.sounds[h.id].play()}return e.sounds[h.id]};this.createVideo=function(h){if(arguments.length==2){h={id:arguments[0],url:arguments[1]}}if(e.flashVersion>=9){h.isMovieStar=true;h.useVideo=true}else{return false}return e.createSound(h)};this.destroySound=function(j,h){if(!e._idCheck(j)){return false}for(var k=0;kWarning: soundManager.onload() is undefined.",2)};this.onerror=function(){};this._idCheck=this.getSoundById;var c=function(){return false};c._protected=true;this._disableObject=function(i){for(var h in i){if(typeof i[h]=="function"&&typeof i[h]._protected=="undefined"){i[h]=c}}h=null};this._failSafely=function(h){if(typeof h=="undefined"){h=false}if(!e._disabled||h){e.disable(h)}};this._normalizeMovieURL=function(h){var i=null;if(h){if(h.match(/\.swf(\?.*)?$/i)){i=h.substr(h.toLowerCase().lastIndexOf(".swf?")+4);if(i){return h}}else{if(h.lastIndexOf("/")!=h.length-1){h=h+"/"}}}return(h&&h.lastIndexOf("/")!=-1?h.substr(0,h.lastIndexOf("/")+1):"./")+e.movieURL};this._getDocument=function(){return(document.body?document.body:(document.documentElement?document.documentElement:document.getElementsByTagName("div")[0]))};this._getDocument._protected=true;this._createMovie=function(n,l){if(e._didAppend&&e._appendSuccess){return false}if(window.location.href.indexOf("debug=1")+1){e.debugMode=true}e._didAppend=true;e._setVersionInfo();var u=(l?l:e.url);var k=(e.altURL?e.altURL:u);e.url=e._normalizeMovieURL(e._overHTTP?u:k);l=e.url;var m=null;if(e.useHighPerformance&&e.useMovieStar){m="Note: disabling highPerformance, not applicable with movieStar mode on";e.useHighPerformance=false}e.wmode=(e.useHighPerformance&&!e.useMovieStar?"transparent":"");var t={name:n,id:n,src:l,width:"100%",height:"100%",quality:"high",allowScriptAccess:"always",bgcolor:e.bgColor,pluginspage:"http://www.macromedia.com/go/getflashplayer",type:"application/x-shockwave-flash",wmode:e.wmode};var w={id:n,data:l,type:"application/x-shockwave-flash",width:"100%",height:"100%",wmode:e.wmode};var o={movie:l,AllowScriptAccess:"always",quality:"high",bgcolor:e.bgColor,wmode:e.wmode};var j=null;var r=null;if(e.isIE){j=document.createElement("div");var h=''+(e.useHighPerformance&&!e.useMovieStar?' ':"")+''}else{j=document.createElement("embed");for(r in t){if(t.hasOwnProperty(r)){j.setAttribute(r,t[r])}}}var q="soundManager._createMovie(): appendChild/innerHTML set failed. May be app/xhtml+xml DOM-related.";var i=e._getDocument();if(i){e.oMC=g("sm2-container")?g("sm2-container"):document.createElement("div");if(!e.oMC.id){e.oMC.id="sm2-container";e.oMC.className="movieContainer";var z=null;var p=null;if(e.useHighPerformance){z={position:"fixed",width:"8px",height:"8px",bottom:"0px",left:"0px"}}else{z={position:"absolute",width:"1px",height:"1px",top:"-999px",left:"-999px"}}var y=null;for(y in z){if(z.hasOwnProperty(y)){e.oMC.style[y]=z[y]}}try{if(!e.isIE){e.oMC.appendChild(j)}i.appendChild(e.oMC);if(e.isIE){p=e.oMC.appendChild(document.createElement("div"));p.className="sm2-object-box";p.innerHTML=h}e._appendSuccess=true}catch(v){throw new Error(q)}}else{e.oMC.appendChild(j);if(e.isIE){p=e.oMC.appendChild(document.createElement("div"));p.className="sm2-object-box";p.innerHTML=h}e._appendSuccess=true}}};this._writeDebug=function(h,j,i){};this._writeDebug._protected=true;this._wdCount=0;this._wdCount._protected=true;this._wD=this._writeDebug;this._toggleDebug=function(){};this._toggleDebug._protected=true;this._debug=function(){};this._debugTS=function(j,h,i){};this._debugTS._protected=true;this._mergeObjects=function(j,h){var m={};for(var k in j){if(j.hasOwnProperty(k)){m[k]=j[k]}}var l=(typeof h=="undefined"?e.defaultOptions:h);for(var n in l){if(l.hasOwnProperty(n)&&typeof m[n]=="undefined"){m[n]=l[n]}}return m};this.createMovie=function(h){if(h){e.url=h}e._initMovie()};this.go=this.createMovie;this._initMovie=function(){if(e.o){return false}e.o=e.getMovie(e.id);if(!e.o){if(!e.oRemoved){e._createMovie(e.id,e.url)}else{if(!e.isIE){e.oMC.appendChild(e.oRemoved)}else{e.oMC.innerHTML=e.oRemovedHTML}e.oRemoved=null;e._didAppend=true}e.o=e.getMovie(e.id)}};this.waitForExternalInterface=function(){if(e._waitingForEI){return false}e._waitingForEI=true;if(e._tryInitOnFocus&&!e._isFocused){return false}if(e.flashLoadTimeout>0){setTimeout(function(){if(!e._didInit&&e._okToDisable){e._failSafely(true)}},e.flashLoadTimeout)}};this.handleFocus=function(){if(e._isFocused||!e._tryInitOnFocus){return true}e._okToDisable=true;e._isFocused=true;if(e._tryInitOnFocus){window.removeEventListener("mousemove",e.handleFocus,false)}e._waitingForEI=false;setTimeout(e.waitForExternalInterface,500);if(window.removeEventListener){window.removeEventListener("focus",e.handleFocus,false)}else{if(window.detachEvent){window.detachEvent("onfocus",e.handleFocus)}}};this.initComplete=function(h){if(e._didInit){return false}e._didInit=true;if(e._disabled||h){e.onerror.apply(window);return false}else{}if(e.waitForWindowLoad&&!e._windowLoaded){if(window.addEventListener){window.addEventListener("load",e.initUserOnload,false)}else{if(window.attachEvent){window.attachEvent("onload",e.initUserOnload)}}return false}else{e.initUserOnload()}};this.initUserOnload=function(){e.onload.apply(window)};this.init=function(){e._initMovie();if(e._didInit){return false}if(window.removeEventListener){window.removeEventListener("load",e.beginDelayedInit,false)}else{if(window.detachEvent){window.detachEvent("onload",e.beginDelayedInit)}}try{e.o._externalInterfaceTest(false);e.setPolling(true);if(!e.debugMode){e.o._disableDebug()}e.enabled=true}catch(h){e._failSafely(true);e.initComplete();return false}e.initComplete()};this.beginDelayedInit=function(){e._windowLoaded=true;setTimeout(e.waitForExternalInterface,500);setTimeout(e.beginInit,20)};this.beginInit=function(){if(e._initPending){return false}e.createMovie();e._initMovie();e._initPending=true;return true};this.domContentLoaded=function(){if(document.removeEventListener){document.removeEventListener("DOMContentLoaded",e.domContentLoaded,false)}e.go()};this._externalInterfaceOK=function(){if(e.swfLoaded){return false}e.swfLoaded=true;e._tryInitOnFocus=false;if(e.isIE){setTimeout(e.init,100)}else{e.init()}};this._setSandboxType=function(h){var i=e.sandbox;i.type=h;i.description=i.types[(typeof i.types[h]!="undefined"?h:"unknown")];if(i.type=="localWithFile"){i.noRemote=true;i.noLocal=false}else{if(i.type=="localWithNetwork"){i.noRemote=false;i.noLocal=true}else{if(i.type=="localTrusted"){i.noRemote=false;i.noLocal=false}}}};this.reboot=function(){if(e.soundIDs.length){}for(var h=e.soundIDs.length;h--;){e.sounds[e.soundIDs[h]].destruct()}try{if(e.isIE){e.oRemovedHTML=e.o.innerHTML}e.oRemoved=e.o.parentNode.removeChild(e.o)}catch(j){}e.enabled=false;e._didInit=false;e._waitingForEI=false;e._initPending=false;e._didInit=false;e._didAppend=false;e._appendSuccess=false;e._didInit=false;e._disabled=false;e._waitingforEI=true;e.swfLoaded=false;e.soundIDs={};e.sounds=[];e.o=null;window.setTimeout(function(){soundManager.beginDelayedInit()},20)};this.destruct=function(){e.disable(true)};f=function(h){var i=this;this.sID=h.id;this.url=h.url;this.options=e._mergeObjects(h);this.instanceOptions=this.options;this._iO=this.instanceOptions;this.pan=this.options.pan;this.volume=this.options.volume;this._debug=function(){if(e.debugMode){var l=null;var n=[];var k=null;var m=null;var j=64;for(l in i.options){if(i.options[l]!==null){if(i.options[l] instanceof Function){k=i.options[l].toString();k=k.replace(/\s\s+/g," ");m=k.indexOf("{");n[n.length]=" "+l+": {"+k.substr(m+1,(Math.min(Math.max(k.indexOf("\n")-1,j),j))).replace(/\n/g,"")+"... }"}else{n[n.length]=" "+l+": "+i.options[l]}}}}};this._debug();this.id3={};this.resetProperties=function(j){i.bytesLoaded=null;i.bytesTotal=null;i.position=null;i.duration=null;i.durationEstimate=null;i.loaded=false;i.playState=0;i.paused=false;i.readyState=0;i.muted=false;i.didBeforeFinish=false;i.didJustBeforeFinish=false;i.isBuffering=false;i.instanceOptions={};i.instanceCount=0;i.peakData={left:0,right:0};i.waveformData=[];i.eqData=[]};i.resetProperties();this.load=function(j){if(typeof j!="undefined"){i._iO=e._mergeObjects(j);i.instanceOptions=i._iO}else{j=i.options;i._iO=j;i.instanceOptions=i._iO}if(typeof i._iO.url=="undefined"){i._iO.url=i.url}if(i._iO.url==i.url&&i.readyState!==0&&i.readyState!=2){return false}i.loaded=false;i.readyState=1;i.playState=0;try{if(e.flashVersion==8){e.o._load(i.sID,i._iO.url,i._iO.stream,i._iO.autoPlay,(i._iO.whileloading?1:0))}else{e.o._load(i.sID,i._iO.url,i._iO.stream?true:false,i._iO.autoPlay?true:false);if(i._iO.isMovieStar&&i._iO.autoLoad&&!i._iO.autoPlay){i.pause()}}}catch(k){e.onerror();e.disable()}};this.unload=function(){if(i.readyState!==0){if(i.readyState!=2){i.setPosition(0,true)}e.o._unload(i.sID,e.nullURL);i.resetProperties()}};this.destruct=function(){e.o._destroySound(i.sID);e.destroySound(i.sID,true)};this.play=function(k){if(!k){k={}}i._iO=e._mergeObjects(k,i._iO);i._iO=e._mergeObjects(i._iO,i.options);i.instanceOptions=i._iO;if(i.playState==1){var j=i._iO.multiShot;if(!j){return false}}if(!i.loaded){if(i.readyState===0){i._iO.stream=true;i._iO.autoPlay=true;i.load(i._iO)}else{if(i.readyState==2){return false}}}if(i.paused){i.resume()}else{i.playState=1;if(!i.instanceCount||e.flashVersion==9){i.instanceCount++}i.position=(typeof i._iO.position!="undefined"&&!isNaN(i._iO.position)?i._iO.position:0);if(i._iO.onplay){i._iO.onplay.apply(i)}i.setVolume(i._iO.volume,true);i.setPan(i._iO.pan,true);e.o._start(i.sID,i._iO.loop||1,(e.flashVersion==9?i.position:i.position/1000))}};this.start=this.play;this.stop=function(j){if(i.playState==1){i.playState=0;i.paused=false;if(i._iO.onstop){i._iO.onstop.apply(i)}e.o._stop(i.sID,j);i.instanceCount=0;i._iO={}}};this.setPosition=function(k,j){if(typeof k=="undefined"){k=0}var l=Math.min(i.duration,Math.max(k,0));i._iO.position=l;e.o._setPosition(i.sID,(e.flashVersion==9?i._iO.position:i._iO.position/1000),(i.paused||!i.playState))};this.pause=function(){if(i.paused||i.playState===0){return false}i.paused=true;e.o._pause(i.sID);if(i._iO.onpause){i._iO.onpause.apply(i)}};this.resume=function(){if(!i.paused||i.playState===0){return false}i.paused=false;e.o._pause(i.sID);if(i._iO.onresume){i._iO.onresume.apply(i)}};this.togglePause=function(){if(!i.playState){i.play({position:(e.flashVersion==9?i.position:i.position/1000)});return false}if(i.paused){i.resume()}else{i.pause()}};this.setPan=function(k,j){if(typeof k=="undefined"){k=0}if(typeof j=="undefined"){j=false}e.o._setPan(i.sID,k);i._iO.pan=k;if(!j){i.pan=k}};this.setVolume=function(j,k){if(typeof j=="undefined"){j=100}if(typeof k=="undefined"){k=false}e.o._setVolume(i.sID,(e.muted&&!i.muted)||i.muted?0:j);i._iO.volume=j;if(!k){i.volume=j}};this.mute=function(){i.muted=true;e.o._setVolume(i.sID,0)};this.unmute=function(){i.muted=false;var j=typeof i._iO.volume!="undefined";e.o._setVolume(i.sID,j?i._iO.volume:i.options.volume)};this._whileloading=function(j,k,l){if(!i._iO.isMovieStar){i.bytesLoaded=j;i.bytesTotal=k;i.duration=Math.floor(l);i.durationEstimate=parseInt((i.bytesTotal/i.bytesLoaded)*i.duration,10);if(i.readyState!=3&&i._iO.whileloading){i._iO.whileloading.apply(i)}}else{i.bytesLoaded=j;i.bytesTotal=k;i.duration=Math.floor(l);i.durationEstimate=i.duration;if(i.readyState!=3&&i._iO.whileloading){i._iO.whileloading.apply(i)}}};this._onid3=function(n,k){var o=[];for(var m=0,l=n.length;m 8) { - _s.defaultOptions = _s._mergeObjects(_s.defaultOptions,_s.flash9Options); - _s.features.buffering = true; - } - if (_s.flashVersion > 8 && _s.useMovieStar) { - // flash 9+ support for movieStar formats as well as MP3 - _s.defaultOptions = _s._mergeObjects(_s.defaultOptions,_s.movieStarOptions); - _s.filePatterns.flash9 = new RegExp('\\.(mp3|'+_s.netStreamTypes.join('|')+')(\\?.*)?$','i'); - _s.features.movieStar = true; - } else { - _s.useMovieStar = false; - _s.features.movieStar = false; - } - _s.filePattern = _s.filePatterns[(_s.flashVersion!=8?'flash9':'flash8')]; - _s.movieURL = (_s.flashVersion==8?'soundmanager2.swf':'soundmanager2_flash9.swf'); - _s.features.peakData = _s.features.waveformData = _s.features.eqData = (_s.flashVersion==9); - }; - - this._overHTTP = (document.location?document.location.protocol.match(/http/i):null); - this._waitingforEI = false; - this._initPending = false; - this._tryInitOnFocus = (this.isSafari && typeof document.hasFocus == 'undefined'); - this._isFocused = (typeof document.hasFocus != 'undefined'?document.hasFocus():null); - this._okToDisable = !this._tryInitOnFocus; - - this.useAltURL = !this._overHTTP; // use altURL if not "online" - - var flashCPLink = 'http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html'; - - // --- public methods --- - - this.supported = function() { - return (_s._didInit && !_s._disabled); - }; - - this.getMovie = function(smID) { - return _s.isIE?window[smID]:(_s.isSafari?_$(smID)||document[smID]:_$(smID)); - }; - - this.loadFromXML = function(sXmlUrl) { - try { - _s.o._loadFromXML(sXmlUrl); - } catch(e) { - _s._failSafely(); - return true; - } - }; - - this.createSound = function(oOptions) { - if (!_s._didInit) { - throw new Error('soundManager.createSound(): Not loaded yet - wait for soundManager.onload() before calling sound-related methods'); - } - if (arguments.length == 2) { - // function overloading in JS! :) ..assume simple createSound(id,url) use case - oOptions = {'id':arguments[0],'url':arguments[1]}; - } - var thisOptions = _s._mergeObjects(oOptions); // inherit SM2 defaults - var _tO = thisOptions; // alias - _s._wD('soundManager.createSound(): '+_tO.id+' ('+_tO.url+')',1); - if (_s._idCheck(_tO.id,true)) { - _s._wD('soundManager.createSound(): '+_tO.id+' exists',1); - return _s.sounds[_tO.id]; - } - if (_s.flashVersion > 8 && _s.useMovieStar) { - if (_tO.isMovieStar === null) { - _tO.isMovieStar = (_tO.url.match(_s.netStreamPattern)?true:false); - } - if (_tO.isMovieStar) { - _s._wD('soundManager.createSound(): using MovieStar handling'); - } - if (_tO.isMovieStar && (_tO.usePeakData || _tO.useWaveformData || _tO.useEQData)) { - _s._wD('Warning: peak/waveform/eqData features unsupported for non-MP3 formats'); - _tO.usePeakData = false; - _tO.useWaveformData = false; - _tO.useEQData = false; - } - } - _s.sounds[_tO.id] = new SMSound(_tO); - _s.soundIDs[_s.soundIDs.length] = _tO.id; - // AS2: - if (_s.flashVersion == 8) { - _s.o._createSound(_tO.id,_tO.onjustbeforefinishtime); - } else { - _s.o._createSound(_tO.id,_tO.url,_tO.onjustbeforefinishtime,_tO.usePeakData,_tO.useWaveformData,_tO.useEQData,_tO.isMovieStar,(_tO.isMovieStar?_tO.useVideo:false)); - } - if (_tO.autoLoad || _tO.autoPlay) { - // TODO: does removing timeout here cause problems? - if (_s.sounds[_tO.id]) { - _s.sounds[_tO.id].load(_tO); - } - } - if (_tO.autoPlay) { - _s.sounds[_tO.id].play(); - } - return _s.sounds[_tO.id]; - }; - - this.createVideo = function(oOptions) { - if (arguments.length==2) { - oOptions = {'id':arguments[0],'url':arguments[1]}; - } - if (_s.flashVersion >= 9) { - oOptions.isMovieStar = true; - oOptions.useVideo = true; - } else { - _s._wD('soundManager.createVideo(): flash 9 required for video. Exiting.',2); - return false; - } - if (!_s.useMovieStar) { - _s._wD('soundManager.createVideo(): MovieStar mode not enabled. Exiting.',2); - } - return _s.createSound(oOptions); - }; - - this.destroySound = function(sID,bFromSound) { - // explicitly destroy a sound before normal page unload, etc. - if (!_s._idCheck(sID)) { - return false; - } - for (var i=0; i<_s.soundIDs.length; i++) { - if (_s.soundIDs[i] == sID) { - _s.soundIDs.splice(i,1); - continue; - } - } - // conservative option: avoid crash with ze flash 8 - // calling destroySound() within a sound onload() might crash firefox, certain flavours of winXP + flash 8?? - // if (_s.flashVersion != 8) { - _s.sounds[sID].unload(); - // } - if (!bFromSound) { - // ignore if being called from SMSound instance - _s.sounds[sID].destruct(); - } - delete _s.sounds[sID]; - }; - - this.destroyVideo = this.destroySound; - - this.load = function(sID,oOptions) { - if (!_s._idCheck(sID)) { - return false; - } - _s.sounds[sID].load(oOptions); - }; - - this.unload = function(sID) { - if (!_s._idCheck(sID)) { - return false; - } - _s.sounds[sID].unload(); - }; - - this.play = function(sID,oOptions) { - if (!_s._idCheck(sID)) { - if (typeof oOptions != 'Object') { - oOptions = {url:oOptions}; // overloading use case: play('mySound','/path/to/some.mp3'); - } - if (oOptions && oOptions.url) { - // overloading use case, creation + playing of sound: .play('someID',{url:'/path/to.mp3'}); - _s._wD('soundController.play(): attempting to create "'+sID+'"',1); - oOptions.id = sID; - _s.createSound(oOptions); - } else { - return false; - } - } - _s.sounds[sID].play(oOptions); - }; - - this.start = this.play; // just for convenience - - this.setPosition = function(sID,nMsecOffset) { - if (!_s._idCheck(sID)) { - return false; - } - _s.sounds[sID].setPosition(nMsecOffset); - }; - - this.stop = function(sID) { - if (!_s._idCheck(sID)) { - return false; - } - _s._wD('soundManager.stop('+sID+')',1); - _s.sounds[sID].stop(); - }; - - this.stopAll = function() { - _s._wD('soundManager.stopAll()',1); - for (var oSound in _s.sounds) { - if (_s.sounds[oSound] instanceof SMSound) { - _s.sounds[oSound].stop(); // apply only to sound objects - } - } - }; - - this.pause = function(sID) { - if (!_s._idCheck(sID)) { - return false; - } - _s.sounds[sID].pause(); - }; - - this.pauseAll = function() { - for (var i=_s.soundIDs.length; i--;) { - _s.sounds[_s.soundIDs[i]].pause(); - } - }; - - this.resume = function(sID) { - if (!_s._idCheck(sID)) { - return false; - } - _s.sounds[sID].resume(); - }; - - this.resumeAll = function() { - for (var i=_s.soundIDs.length; i--;) { - _s.sounds[_s.soundIDs[i]].resume(); - } - }; - - this.togglePause = function(sID) { - if (!_s._idCheck(sID)) { - return false; - } - _s.sounds[sID].togglePause(); - }; - - this.setPan = function(sID,nPan) { - if (!_s._idCheck(sID)) { - return false; - } - _s.sounds[sID].setPan(nPan); - }; - - this.setVolume = function(sID,nVol) { - if (!_s._idCheck(sID)) { - return false; - } - _s.sounds[sID].setVolume(nVol); - }; - - this.mute = function(sID) { - if (typeof sID != 'string') { - sID = null; - } - if (!sID) { - _s._wD('soundManager.mute(): Muting all sounds'); - for (var i=_s.soundIDs.length; i--;) { - _s.sounds[_s.soundIDs[i]].mute(); - } - _s.muted = true; - } else { - if (!_s._idCheck(sID)) { - return false; - } - _s._wD('soundManager.mute(): Muting "'+sID+'"'); - _s.sounds[sID].mute(); - } - }; - - this.muteAll = function() { - _s.mute(); - }; - - this.unmute = function(sID) { - if (typeof sID != 'string') { - sID = null; - } - if (!sID) { - _s._wD('soundManager.unmute(): Unmuting all sounds'); - for (var i=_s.soundIDs.length; i--;) { - _s.sounds[_s.soundIDs[i]].unmute(); - } - _s.muted = false; - } else { - if (!_s._idCheck(sID)) { - return false; - } - _s._wD('soundManager.unmute(): Unmuting "'+sID+'"'); - _s.sounds[sID].unmute(); - } - }; - - this.unmuteAll = function() { - _s.unmute(); - }; - - this.getMemoryUse = function() { - if (_s.flashVersion == 8) { - // not supported in Flash 8 - return 0; - } - if (_s.o) { - return parseInt(_s.o._getMemoryUse(),10); - } - }; - - this.setPolling = function(bPolling) { - if (!_s.o || !_s.allowPolling) { - return false; - } - _s.o._setPolling(bPolling); - }; - - this.disable = function(bNoDisable) { - // destroy all functions - if (typeof bNoDisable == 'undefined') { - bNoDisable = false; - } - if (_s._disabled) { - return false; - } - _s._disabled = true; - _s._wD('soundManager.disable(): Shutting down',1); - for (var i=_s.soundIDs.length; i--;) { - _s._disableObject(_s.sounds[_s.soundIDs[i]]); - } - _s.initComplete(bNoDisable); // fire "complete", despite fail - // _s._disableObject(_s); // taken out to allow reboot() - }; - - this.canPlayURL = function(sURL) { - return (sURL?(sURL.match(_s.filePattern)?true:false):null); - }; - - this.getSoundById = function(sID,suppressDebug) { - if (!sID) { - throw new Error('SoundManager.getSoundById(): sID is null/undefined'); - } - var result = _s.sounds[sID]; - if (!result && !suppressDebug) { - _s._wD('"'+sID+'" is an invalid sound ID.',2); - // soundManager._wD('trace: '+arguments.callee.caller); - } - return result; - }; - - this.onload = function() { - // window.onload() equivalent for SM2, ready to create sounds etc. - // this is a stub - you can override this in your own external script, eg. soundManager.onload = function() {} - soundManager._wD('Warning: soundManager.onload() is undefined.',2); - }; - - this.onerror = function() { - // stub for user handler, called when SM2 fails to load/init - }; - - // --- "private" methods --- - - this._idCheck = this.getSoundById; - - var _doNothing = function() { - return false; - }; - _doNothing._protected = true; - - this._disableObject = function(o) { - for (var oProp in o) { - if (typeof o[oProp] == 'function' && typeof o[oProp]._protected == 'undefined') { - o[oProp] = _doNothing; - } - } - oProp = null; - }; - - this._failSafely = function(bNoDisable) { - // general failure exception handler - if (typeof bNoDisable == 'undefined') { - bNoDisable = false; - } - if (!_s._disabled || bNoDisable) { - _s._wD('soundManager: Failed to initialise.',2); - _s.disable(bNoDisable); - } - }; - - this._normalizeMovieURL = function(smURL) { - var urlParams = null; - if (smURL) { - if (smURL.match(/\.swf(\?.*)?$/i)) { - urlParams = smURL.substr(smURL.toLowerCase().lastIndexOf('.swf?')+4); - if (urlParams) { - return smURL; // assume user knows what they're doing - } - } else if (smURL.lastIndexOf('/') != smURL.length-1) { - smURL = smURL+'/'; - } - } - return(smURL && smURL.lastIndexOf('/')!=-1?smURL.substr(0,smURL.lastIndexOf('/')+1):'./')+_s.movieURL; - }; - - this._getDocument = function() { - return (document.body?document.body:(document.documentElement?document.documentElement:document.getElementsByTagName('div')[0])); - }; - - this._getDocument._protected = true; - - this._createMovie = function(smID,smURL) { - if (_s._didAppend && _s._appendSuccess) { - return false; // ignore if already succeeded - } - if (window.location.href.indexOf('debug=1')+1) { - _s.debugMode = true; // allow force of debug mode via URL - } - _s._didAppend = true; - - // safety check for legacy (change to Flash 9 URL) - _s._setVersionInfo(); - var remoteURL = (smURL?smURL:_s.url); - var localURL = (_s.altURL?_s.altURL:remoteURL); - _s.url = _s._normalizeMovieURL(_s._overHTTP?remoteURL:localURL); - smURL = _s.url; - - var specialCase = null; - - if (_s.useHighPerformance && _s.useMovieStar) { - specialCase = 'Note: disabling highPerformance, not applicable with movieStar mode on'; - _s.useHighPerformance = false; - } - - _s.wmode = (_s.useHighPerformance && !_s.useMovieStar?'transparent':''); // wmode=opaque seems to break firefox/windows. - - var oEmbed = { - name: smID, - id: smID, - src: smURL, - width: '100%', - height: '100%', - quality: 'high', - allowScriptAccess: 'always', - bgcolor: _s.bgColor, - pluginspage: 'http://www.macromedia.com/go/getflashplayer', - type: 'application/x-shockwave-flash', - wmode: _s.wmode - }; - - var oObject = { - id: smID, - data: smURL, - type: 'application/x-shockwave-flash', - width: '100%', - height: '100%', - wmode: _s.wmode - }; - - var oObjectParams = { - movie: smURL, - AllowScriptAccess: 'always', - quality: 'high', - bgcolor: _s.bgColor, - wmode: _s.wmode - }; - - var oMovie = null; - var tmp = null; - - if (_s.isIE) { - // IE is "special". - oMovie = document.createElement('div'); - var movieHTML = ''+(_s.useHighPerformance && !_s.useMovieStar?' ':'')+''; - } else { - oMovie = document.createElement('embed'); - for (tmp in oEmbed) { - if (oEmbed.hasOwnProperty(tmp)) { - oMovie.setAttribute(tmp,oEmbed[tmp]); - } - } - } - - var oD = document.createElement('div'); - oD.id = _s.debugID+'-toggle'; - var oToggle = { - position: 'fixed', - bottom: '0px', - right: '0px', - width: '1.2em', - height: '1.2em', - lineHeight: '1.2em', - margin: '2px', - textAlign: 'center', - border: '1px solid #999', - cursor: 'pointer', - background: '#fff', - color: '#333', - zIndex: 10001 - }; - - oD.appendChild(document.createTextNode('-')); - oD.onclick = _s._toggleDebug; - oD.title = 'Toggle SM2 debug console'; - - if (navigator.userAgent.match(/msie 6/i)) { - oD.style.position = 'absolute'; - oD.style.cursor = 'hand'; - } - - for (tmp in oToggle) { - if (oToggle.hasOwnProperty(tmp)) { - oD.style[tmp] = oToggle[tmp]; - } - } - - var appXHTML = 'soundManager._createMovie(): appendChild/innerHTML set failed. May be app/xhtml+xml DOM-related.'; - - var oTarget = _s._getDocument(); - - if (oTarget) { - - _s.oMC = _$('sm2-container')?_$('sm2-container'):document.createElement('div'); - - if (!_s.oMC.id) { - _s.oMC.id = 'sm2-container'; - _s.oMC.className = 'movieContainer'; - // "hide" flash movie - var s = null; - var oEl = null; - if (_s.useHighPerformance) { - s = { - position: 'fixed', - width: '8px', - height: '8px', // must be at least 6px for flash to run fast. odd? yes. - bottom: '0px', - left: '0px' - // zIndex:-1 // sit behind everything else - potentially dangerous/buggy? - }; - } else { - s = { - position: 'absolute', - width: '1px', - height: '1px', - top: '-999px', - left: '-999px' - }; - } - var x = null; - for (x in s) { - if (s.hasOwnProperty(x)) { - _s.oMC.style[x] = s[x]; - } - } - try { - if (!_s.isIE) { - _s.oMC.appendChild(oMovie); - } - oTarget.appendChild(_s.oMC); - if (_s.isIE) { - oEl = _s.oMC.appendChild(document.createElement('div')); - oEl.className = 'sm2-object-box'; - oEl.innerHTML = movieHTML; - } - _s._appendSuccess = true; - } catch(e) { - throw new Error(appXHTML); - } - } else { - // it's already in the document. - _s.oMC.appendChild(oMovie); - if (_s.isIE) { - oEl = _s.oMC.appendChild(document.createElement('div')); - oEl.className = 'sm2-object-box'; - oEl.innerHTML = movieHTML; - } - _s._appendSuccess = true; - } - - if (!_$(_s.debugID) && ((!_s._hasConsole||!_s.useConsole)||(_s.useConsole && _s._hasConsole && !_s.consoleOnly))) { - var oDebug = document.createElement('div'); - oDebug.id = _s.debugID; - oDebug.style.display = (_s.debugMode?'block':'none'); - if (_s.debugMode && !_$(oD.id)) { - try { - oTarget.appendChild(oD); - } catch(e2) { - throw new Error(appXHTML); - } - oTarget.appendChild(oDebug); - } - } - oTarget = null; - } - - if (specialCase) { - _s._wD(specialCase); - } - - _s._wD('-- SoundManager 2 '+_s.version+(_s.useMovieStar?', MovieStar mode':'')+(_s.useHighPerformance?', high performance mode':'')+' --',1); - _s._wD('soundManager._createMovie(): Trying to load '+smURL+(!_s._overHTTP && _s.altURL?'(alternate URL)':''),1); - }; - - // aliased to this._wD() - this._writeDebug = function(sText,sType,bTimestamp) { - if (!_s.debugMode) { - return false; - } - if (typeof bTimestamp != 'undefined' && bTimestamp) { - sText = sText + ' | '+new Date().getTime(); - } - if (_s._hasConsole && _s.useConsole) { - var sMethod = _s._debugLevels[sType]; - if (typeof console[sMethod] != 'undefined') { - console[sMethod](sText); - } else { - console.log(sText); - } - if (_s.useConsoleOnly) { - return true; - } - } - var sDID = 'soundmanager-debug'; - try { - var o = _$(sDID); - if (!o) { - return false; - } - var oItem = document.createElement('div'); - if (++_s._wdCount%2===0) { - oItem.className = 'sm2-alt'; - } - // sText = sText.replace(/\n/g,'
'); - if (typeof sType == 'undefined') { - sType = 0; - } else { - sType = parseInt(sType,10); - } - oItem.appendChild(document.createTextNode(sText)); - if (sType) { - if (sType >= 2) { - oItem.style.fontWeight = 'bold'; - } - if (sType == 3) { - oItem.style.color = '#ff3333'; - } - } - // o.appendChild(oItem); // top-to-bottom - o.insertBefore(oItem,o.firstChild); // bottom-to-top - } catch(e) { - // oh well - } - o = null; - }; - this._writeDebug._protected = true; - this._wdCount = 0; - this._wdCount._protected = true; - this._wD = this._writeDebug; - - this._wDAlert = function(sText) { alert(sText); }; - - if (window.location.href.indexOf('debug=alert')+1 && _s.debugMode) { - _s._wD = _s._wDAlert; - } - - this._toggleDebug = function() { - var o = _$(_s.debugID); - var oT = _$(_s.debugID+'-toggle'); - if (!o) { - return false; - } - if (_s._debugOpen) { - // minimize - oT.innerHTML = '+'; - o.style.display = 'none'; - } else { - oT.innerHTML = '-'; - o.style.display = 'block'; - } - _s._debugOpen = !_s._debugOpen; - }; - - this._toggleDebug._protected = true; - - this._debug = function() { - _s._wD('--- soundManager._debug(): Current sound objects ---',1); - for (var i=0,j=_s.soundIDs.length; i0) { - _s._wD('soundManager._initMovie(): Waiting for ExternalInterface call from Flash..'); - } - } - }; - - this.waitForExternalInterface = function() { - if (_s._waitingForEI) { - return false; - } - _s._waitingForEI = true; - if (_s._tryInitOnFocus && !_s._isFocused) { - _s._wD('soundManager: Special case: Waiting for focus-related event..'); - return false; - } - if (_s.flashLoadTimeout>0) { - if (!_s._didInit) { - _s._wD('soundManager: Getting impatient, still waiting for Flash.. ;)'); - } - setTimeout(function() { - if (!_s._didInit) { - _s._wD('soundManager: No Flash response within reasonable time after document load.\nPossible causes: Flash version under 8, no support, or Flash security denying JS-Flash communication.',2); - if (!_s._overHTTP) { - _s._wD('soundManager: Loading this page from local/network file system (not over HTTP?) Flash security likely restricting JS-Flash access. Consider adding current URL to "trusted locations" in the Flash player security settings manager at '+flashCPLink+', or simply serve this content over HTTP.',2); - } - _s._debugTS('flashtojs',false,': Timed out'+(_s._overHTTP)?' (Check flash security)':' (No plugin/missing SWF?)'); - } - // if still not initialized and no other options, give up - if (!_s._didInit && _s._okToDisable) { - _s._failSafely(true); // don't disable, for reboot() - } - },_s.flashLoadTimeout); - } else if (!_s.didInit) { - _s._wD('soundManager: Waiting indefinitely for Flash...'); - } - }; - - this.handleFocus = function() { - if (_s._isFocused || !_s._tryInitOnFocus) { - return true; - } - _s._okToDisable = true; - _s._isFocused = true; - _s._wD('soundManager.handleFocus()'); - if (_s._tryInitOnFocus) { - // giant Safari 3.1 hack - assume window in focus if mouse is moving, since document.hasFocus() not currently implemented. - window.removeEventListener('mousemove',_s.handleFocus,false); - } - // allow init to restart - _s._waitingForEI = false; - setTimeout(_s.waitForExternalInterface,500); - // detach event - if (window.removeEventListener) { - window.removeEventListener('focus',_s.handleFocus,false); - } else if (window.detachEvent) { - window.detachEvent('onfocus',_s.handleFocus); - } - }; - - this.initComplete = function(bNoDisable) { - if (_s._didInit) { - return false; - } - _s._didInit = true; - _s._wD('-- SoundManager 2 '+(_s._disabled?'failed to load':'loaded')+' ('+(_s._disabled?'security/load error':'OK')+') --',1); - if (_s._disabled || bNoDisable) { - _s._wD('soundManager.initComplete(): calling soundManager.onerror()',1); - _s._debugTS('onload',false); - _s.onerror.apply(window); - return false; - } else { - _s._debugTS('onload',true); - } - if (_s.waitForWindowLoad && !_s._windowLoaded) { - _s._wD('soundManager: Waiting for window.onload()'); - if (window.addEventListener) { - window.addEventListener('load',_s.initUserOnload,false); - } else if (window.attachEvent) { - window.attachEvent('onload',_s.initUserOnload); - } - return false; - } else { - if (_s.waitForWindowLoad && _s._windowLoaded) { - _s._wD('soundManager: Document already loaded'); - } - _s.initUserOnload(); - } - }; - - this.initUserOnload = function() { - _s._wD('soundManager.initComplete(): calling soundManager.onload()',1); - // call user-defined "onload", scoped to window - _s.onload.apply(window); - _s._wD('soundManager.onload() complete',1); - }; - - this.init = function() { - _s._wD('-- soundManager.init() --'); - // called after onload() - _s._initMovie(); - if (_s._didInit) { - _s._wD('soundManager.init(): Already called?'); - return false; - } - // event cleanup - if (window.removeEventListener) { - window.removeEventListener('load',_s.beginDelayedInit,false); - } else if (window.detachEvent) { - window.detachEvent('onload',_s.beginDelayedInit); - } - try { - _s._wD('Attempting to call Flash from JS..'); - _s.o._externalInterfaceTest(false); // attempt to talk to Flash - // _s._wD('Flash ExternalInterface call (JS-Flash) OK',1); - if (!_s.allowPolling) { - _s._wD('Polling (whileloading/whileplaying support) is disabled.',1); - } - _s.setPolling(true); - if (!_s.debugMode) { - _s.o._disableDebug(); - } - _s.enabled = true; - _s._debugTS('jstoflash',true); - } catch(e) { - _s._debugTS('jstoflash',false); - _s._failSafely(true); // don't disable, for reboot() - _s.initComplete(); - return false; - } - _s.initComplete(); - }; - - this.beginDelayedInit = function() { - _s._wD('soundManager.beginDelayedInit()'); - _s._windowLoaded = true; - setTimeout(_s.waitForExternalInterface,500); - setTimeout(_s.beginInit,20); - }; - - this.beginInit = function() { - if (_s._initPending) { - return false; - } - _s.createMovie(); // ensure creation if not already done - _s._initMovie(); - _s._initPending = true; - return true; - }; - - this.domContentLoaded = function() { - _s._wD('soundManager.domContentLoaded()'); - if (document.removeEventListener) { - document.removeEventListener('DOMContentLoaded',_s.domContentLoaded,false); - } - _s.go(); - }; - - this._externalInterfaceOK = function() { - // callback from flash for confirming that movie loaded, EI is working etc. - if (_s.swfLoaded) { - return false; - } - _s._wD('soundManager._externalInterfaceOK()'); - _s._debugTS('swf',true); - _s._debugTS('flashtojs',true); - _s.swfLoaded = true; - _s._tryInitOnFocus = false; - if (_s.isIE) { - // IE needs a timeout OR delay until window.onload - may need TODO: investigating - setTimeout(_s.init,100); - } else { - _s.init(); - } - }; - - this._setSandboxType = function(sandboxType) { - var sb = _s.sandbox; - sb.type = sandboxType; - sb.description = sb.types[(typeof sb.types[sandboxType] != 'undefined'?sandboxType:'unknown')]; - _s._wD('Flash security sandbox type: '+sb.type); - if (sb.type == 'localWithFile') { - sb.noRemote = true; - sb.noLocal = false; - _s._wD('Flash security note: Network/internet URLs will not load due to security restrictions. Access can be configured via Flash Player Global Security Settings Page: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html',2); - } else if (sb.type == 'localWithNetwork') { - sb.noRemote = false; - sb.noLocal = true; - } else if (sb.type == 'localTrusted') { - sb.noRemote = false; - sb.noLocal = false; - } - }; - - this.reboot = function() { - // attempt to reset and init SM2 - _s._wD('soundManager.reboot()'); - if (_s.soundIDs.length) { - _s._wD('Destroying '+_s.soundIDs.length+' SMSound objects...'); - } - for (var i=_s.soundIDs.length; i--;) { - _s.sounds[_s.soundIDs[i]].destruct(); - } - // trash ze flash - try { - if (_s.isIE) { - _s.oRemovedHTML = _s.o.innerHTML; - } - _s.oRemoved = _s.o.parentNode.removeChild(_s.o); - _s._wD('Flash movie removed.'); - } catch(e) { - // uh-oh. - _s._wD('Warning: Failed to remove flash movie.',2); - } - _s.enabled = false; - _s._didInit = false; - _s._waitingForEI = false; - _s._initPending = false; - _s._didInit = false; - _s._didAppend = false; - _s._appendSuccess = false; - _s._didInit = false; - _s._disabled = false; - _s._waitingforEI = true; - _s.swfLoaded = false; - _s.soundIDs = {}; - _s.sounds = []; - _s.o = null; - _s._wD('soundManager: Rebooting...'); - window.setTimeout(function() { - soundManager.beginDelayedInit(); - },20); - }; - - this.destruct = function() { - _s._wD('soundManager.destruct()'); - _s.disable(true); - }; - - // SMSound (sound object) - - SMSound = function(oOptions) { - var _t = this; - this.sID = oOptions.id; - this.url = oOptions.url; - this.options = _s._mergeObjects(oOptions); - this.instanceOptions = this.options; // per-play-instance-specific options - this._iO = this.instanceOptions; // short alias - - // assign property defaults (volume, pan etc.) - this.pan = this.options.pan; - this.volume = this.options.volume; - - this._debug = function() { - if (_s.debugMode) { - var stuff = null; - var msg = []; - var sF = null; - var sfBracket = null; - var maxLength = 64; // # of characters of function code to show before truncating - for (stuff in _t.options) { - if (_t.options[stuff] !== null) { - if (_t.options[stuff] instanceof Function) { - // handle functions specially - sF = _t.options[stuff].toString(); - sF = sF.replace(/\s\s+/g,' '); // normalize spaces - sfBracket = sF.indexOf('{'); - msg[msg.length] = ' '+stuff+': {'+sF.substr(sfBracket+1,(Math.min(Math.max(sF.indexOf('\n')-1,maxLength),maxLength))).replace(/\n/g,'')+'... }'; - } else { - msg[msg.length] = ' '+stuff+': '+_t.options[stuff]; - } - } - } - _s._wD('SMSound() merged options: {\n'+msg.join(', \n')+'\n}'); - } - }; - - this._debug(); - - this.id3 = { - /* - Name/value pairs set via Flash when available - see reference for names: - http://livedocs.macromedia.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001567.html - (eg., this.id3.songname or this.id3['songname']) - */ - }; - - this.resetProperties = function(bLoaded) { - _t.bytesLoaded = null; - _t.bytesTotal = null; - _t.position = null; - _t.duration = null; - _t.durationEstimate = null; - _t.loaded = false; - _t.playState = 0; - _t.paused = false; - _t.readyState = 0; // 0 = uninitialised, 1 = loading, 2 = failed/error, 3 = loaded/success - _t.muted = false; - _t.didBeforeFinish = false; - _t.didJustBeforeFinish = false; - _t.isBuffering = false; - _t.instanceOptions = {}; - _t.instanceCount = 0; - _t.peakData = { - left: 0, - right: 0 - }; - _t.waveformData = []; - _t.eqData = []; - }; - - _t.resetProperties(); - - // --- public methods --- - - this.load = function(oOptions) { - if (typeof oOptions != 'undefined') { - _t._iO = _s._mergeObjects(oOptions); - _t.instanceOptions = _t._iO; - } else { - oOptions = _t.options; - _t._iO = oOptions; - _t.instanceOptions = _t._iO; - } - if (typeof _t._iO.url == 'undefined') { - _t._iO.url = _t.url; - } - _s._wD('soundManager.load(): '+_t._iO.url,1); - if (_t._iO.url == _t.url && _t.readyState !== 0 && _t.readyState != 2) { - _s._wD('soundManager.load(): current URL already assigned.',1); - return false; - } - _t.loaded = false; - _t.readyState = 1; - _t.playState = 0; // (oOptions.autoPlay?1:0); // if autoPlay, assume "playing" is true (no way to detect when it actually starts in Flash unless onPlay is watched?) - try { - if (_s.flashVersion==8) { - _s.o._load(_t.sID,_t._iO.url,_t._iO.stream,_t._iO.autoPlay,(_t._iO.whileloading?1:0)); - } else { - _s.o._load(_t.sID,_t._iO.url,_t._iO.stream?true:false,_t._iO.autoPlay?true:false); // ,(_tO.whileloading?true:false) - if (_t._iO.isMovieStar && _t._iO.autoLoad && !_t._iO.autoPlay) { - // special case: MPEG4 content must start playing to load, then pause to prevent playing. - _t.pause(); - } - } - } catch(e) { - _s._wD('SMSound.load(): Exception: JS-Flash communication failed, or JS error.',2); - _s._debugTS('onload',false); - _s.onerror(); - _s.disable(); - } - - }; - - this.unload = function() { - // Flash 8/AS2 can't "close" a stream - fake it by loading an empty MP3 - // Flash 9/AS3: Close stream, preventing further load - if (_t.readyState !== 0) { - _s._wD('SMSound.unload(): "'+_t.sID+'"'); - if (_t.readyState != 2) { // reset if not error - _t.setPosition(0,true); // reset current sound positioning - } - _s.o._unload(_t.sID,_s.nullURL); - // reset load/status flags - _t.resetProperties(); - } - }; - - this.destruct = function() { - // kill sound within Flash - _s._wD('SMSound.destruct(): "'+_t.sID+'"'); - _s.o._destroySound(_t.sID); - _s.destroySound(_t.sID,true); // ensure deletion from controller - }; - - this.play = function(oOptions) { - if (!oOptions) { - oOptions = {}; - } - _t._iO = _s._mergeObjects(oOptions,_t._iO); - _t._iO = _s._mergeObjects(_t._iO,_t.options); - _t.instanceOptions = _t._iO; - if (_t.playState == 1) { - var allowMulti = _t._iO.multiShot; - if (!allowMulti) { - _s._wD('SMSound.play(): "'+_t.sID+'" already playing (one-shot)',1); - return false; - } else { - _s._wD('SMSound.play(): "'+_t.sID+'" already playing (multi-shot)',1); - } - } - if (!_t.loaded) { - if (_t.readyState === 0) { - _s._wD('SMSound.play(): Attempting to load "'+_t.sID+'"',1); - // try to get this sound playing ASAP - _t._iO.stream = true; - _t._iO.autoPlay = true; - // TODO: need to investigate when false, double-playing - // if (typeof oOptions.autoPlay=='undefined') _tO.autoPlay = true; // only set autoPlay if unspecified here - _t.load(_t._iO); // try to get this sound playing ASAP - } else if (_t.readyState == 2) { - _s._wD('SMSound.play(): Could not load "'+_t.sID+'" - exiting',2); - return false; - } else { - _s._wD('SMSound.play(): "'+_t.sID+'" is loading - attempting to play..',1); - } - } else { - _s._wD('SMSound.play(): "'+_t.sID+'"'); - } - if (_t.paused) { - _t.resume(); - } else { - _t.playState = 1; - if (!_t.instanceCount || _s.flashVersion == 9) { - _t.instanceCount++; - } - _t.position = (typeof _t._iO.position != 'undefined' && !isNaN(_t._iO.position)?_t._iO.position:0); - if (_t._iO.onplay) { - _t._iO.onplay.apply(_t); - } - _t.setVolume(_t._iO.volume,true); // restrict volume to instance options only - _t.setPan(_t._iO.pan,true); - _s.o._start(_t.sID,_t._iO.loop||1,(_s.flashVersion==9?_t.position:_t.position/1000)); - } - }; - - this.start = this.play; // just for convenience - - this.stop = function(bAll) { - if (_t.playState == 1) { - _t.playState = 0; - _t.paused = false; - // if (_s.defaultOptions.onstop) _s.defaultOptions.onstop.apply(_s); - if (_t._iO.onstop) { - _t._iO.onstop.apply(_t); - } - _s.o._stop(_t.sID,bAll); - _t.instanceCount = 0; - _t._iO = {}; - // _t.instanceOptions = _t._iO; - } - }; - - this.setPosition = function(nMsecOffset,bNoDebug) { - if (typeof nMsecOffset == 'undefined') { - nMsecOffset = 0; - } - var offset = Math.min(_t.duration,Math.max(nMsecOffset,0)); // position >= 0 and <= current available (loaded) duration - _t._iO.position = offset; - if (!bNoDebug) { - _s._wD('SMSound.setPosition('+nMsecOffset+')'+(nMsecOffset != offset?', corrected value: '+offset:'')); - } - _s.o._setPosition(_t.sID,(_s.flashVersion==9?_t._iO.position:_t._iO.position/1000),(_t.paused||!_t.playState)); // if paused or not playing, will not resume (by playing) - }; - - this.pause = function() { - if (_t.paused || _t.playState === 0) { - return false; - } - _s._wD('SMSound.pause()'); - _t.paused = true; - _s.o._pause(_t.sID); - if (_t._iO.onpause) { - _t._iO.onpause.apply(_t); - } - }; - - this.resume = function() { - if (!_t.paused || _t.playState === 0) { - return false; - } - _s._wD('SMSound.resume()'); - _t.paused = false; - _s.o._pause(_t.sID); // flash method is toggle-based (pause/resume) - if (_t._iO.onresume) { - _t._iO.onresume.apply(_t); - } - }; - - this.togglePause = function() { - _s._wD('SMSound.togglePause()'); - if (!_t.playState) { - _t.play({position:(_s.flashVersion==9?_t.position:_t.position/1000)}); - return false; - } - if (_t.paused) { - _t.resume(); - } else { - _t.pause(); - } - }; - - this.setPan = function(nPan,bInstanceOnly) { - if (typeof nPan == 'undefined') { - nPan = 0; - } - if (typeof bInstanceOnly == 'undefined') { - bInstanceOnly = false; - } - _s.o._setPan(_t.sID,nPan); - _t._iO.pan = nPan; - if (!bInstanceOnly) { - _t.pan = nPan; - } - }; - - this.setVolume = function(nVol,bInstanceOnly) { - if (typeof nVol == 'undefined') { - nVol = 100; - } - if (typeof bInstanceOnly == 'undefined') { - bInstanceOnly = false; - } - _s.o._setVolume(_t.sID,(_s.muted&&!_t.muted)||_t.muted?0:nVol); - _t._iO.volume = nVol; - if (!bInstanceOnly) { - _t.volume = nVol; - } - }; - - this.mute = function() { - _t.muted = true; - _s.o._setVolume(_t.sID,0); - }; - - this.unmute = function() { - _t.muted = false; - var hasIO = typeof _t._iO.volume != 'undefined'; - _s.o._setVolume(_t.sID,hasIO?_t._iO.volume:_t.options.volume); - }; - - // --- "private" methods called by Flash --- - - this._whileloading = function(nBytesLoaded,nBytesTotal,nDuration) { - if (!_t._iO.isMovieStar) { - _t.bytesLoaded = nBytesLoaded; - _t.bytesTotal = nBytesTotal; - _t.duration = Math.floor(nDuration); - _t.durationEstimate = parseInt((_t.bytesTotal/_t.bytesLoaded)*_t.duration,10); // estimate total time (will only be accurate with CBR MP3s.) - if (_t.readyState != 3 && _t._iO.whileloading) { - _t._iO.whileloading.apply(_t); - } - } else { - _t.bytesLoaded = nBytesLoaded; - _t.bytesTotal = nBytesTotal; - _t.duration = Math.floor(nDuration); - _t.durationEstimate = _t.duration; - if (_t.readyState != 3 && _t._iO.whileloading) { - _t._iO.whileloading.apply(_t); - } - } - }; - - this._onid3 = function(oID3PropNames,oID3Data) { - // oID3PropNames: string array (names) - // ID3Data: string array (data) - _s._wD('SMSound._onid3(): "'+this.sID+'" ID3 data received.'); - var oData = []; - for (var i=0,j=oID3PropNames.length; i Flash either. - _s._debugTS('onload',false); - soundManager.onerror(); - soundManager.disable(); - } - - if (document.addEventListener) { - document.addEventListener('DOMContentLoaded',_s.domContentLoaded,false); - } - -} // SoundManager() - -soundManager = new SoundManager(); \ No newline at end of file diff --git a/tools/eztelemeta/design/standard/override/templates/embed/eztelemetaitem.tpl b/tools/eztelemeta/design/standard/override/templates/embed/eztelemetaitem.tpl deleted file mode 100755 index 231c33cb..00000000 --- a/tools/eztelemeta/design/standard/override/templates/embed/eztelemetaitem.tpl +++ /dev/null @@ -1,8 +0,0 @@ -{eztelemetadata_set('eztelemeta_player', true)} -
-
- {include uri="design:content/datatype/view/eztelemetaitem.tpl" - attribute=$object.data_map.item} -
-
- diff --git a/tools/eztelemeta/design/standard/override/templates/full/eztelemetaitem.tpl b/tools/eztelemeta/design/standard/override/templates/full/eztelemetaitem.tpl deleted file mode 100755 index 530d101a..00000000 --- a/tools/eztelemeta/design/standard/override/templates/full/eztelemetaitem.tpl +++ /dev/null @@ -1,14 +0,0 @@ -{* Telemeta Item - Full view *} - -
-
- -

{$node.data_map.item.content.title|wash}

- -
- {include uri="design:content/datatype/view/eztelemetaitem.tpl" - attribute=$node.data_map.item} -
- -
-
diff --git a/tools/eztelemeta/design/standard/stylesheets/eztelemeta.css b/tools/eztelemeta/design/standard/stylesheets/eztelemeta.css deleted file mode 100644 index 8d7eb7f9..00000000 --- a/tools/eztelemeta/design/standard/stylesheets/eztelemeta.css +++ /dev/null @@ -1,86 +0,0 @@ -/* - * eZTelemeta default CSS rules - * - * Copyright (c) 2009 Samalyse - * Author: Olivier Guilyardi - * License: CeCILL Free Software License Agreement - */ - -/* Core styles - * - * These style rules are quite neutral in regard to visual appearance, and - * are meant to provide basic ergonomic enhancements such as: - * - play/pause icons - * - sound load blinking - * - position hiding when stopped - */ - -.telemeta-item { text-align: left; } - -.telemeta-item .telemeta-sound a { - display: block; - background: url('../images/play.gif') no-repeat left top; - padding-left: 29px; - height: 22px; - padding-top: 0.5ex; -} -.telemeta-item .telemeta-position, .telemeta-item .telemeta-separator { display: none; } -.telemeta-playing .telemeta-sound a { background-image: url('../images/stop.gif'); } -.telemeta-playing .telemeta-position, .telemeta-playing .telemeta-separator { display: inline; } -.telemeta-loading .telemeta-position { text-decoration: blink; } - -/* Compact box styles - * - * While remaining quite visually neutral, these rules are meant to make telemeta - * items more appealing and compact, and may not fit with all designs. - */ - -.telemeta-item { - position: relative; - background: #EEEEEE; - padding: 0.3ex 1.3ex 1.3ex 1.3ex; - border: solid 1px #DDDDDD; -} - -.telemeta-item dd { margin-left: 0; } - -.telemeta-item dt.telemeta-sound, .telemeta-item dt.telemeta-duration, -.telemeta-item dt.telemeta-description { display: none; } - -.telemeta-item .telemeta-sound { padding-right: 8.3em; } - -.telemeta-item .telemeta-sound a { - text-decoration: none; - font-weight: bold; - color: #000066; - outline: none; - padding-bottom: 0.6ex; -} - -.telemeta-item dd.telemeta-duration { - position: absolute; - right: 0.7ex; - top: 1.4ex; - font-size: 80%; - color: #000066; - padding: 0.4ex 0.7ex 0.3ex 0.7ex; - border-bottom: solid 1px #E0E0E0; - border-top: solid 1px #DDDDDD; - font-weight: bold; -} - -.telemeta-item .telemeta-sound a:hover, .telemeta-playing dd.telemeta-duration { color: #0000AA; } -.telemeta-playing .telemeta-position { color: #AA0000; } -.telemeta-item dd.telemeta-description { font-style: italic; margin-left: 0.2em; } -.telemeta-item .telemeta-creator, .telemeta-item .telemeta-rights { font-size: 90%; margin-bottom: 1px; } - -.telemeta-item dt.telemeta-creator, .telemeta-item dt.telemeta-rights { - float: left; - padding-right: 1ex; - position: relative; - margin-left: 0.2em; -} - -.telemeta-item .telemeta-clear { clear: both; } -.telemeta-item .telemeta-position, .telemeta-item .telemeta-separator { display: inline; } - diff --git a/tools/eztelemeta/design/standard/swf/soundmanager2.swf b/tools/eztelemeta/design/standard/swf/soundmanager2.swf deleted file mode 100644 index 8a9711c6a6f3382e8e10a6449f67934533f0cfb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2436 zcmV-~348WKS5pY;761Tv+KgCBbKA%fZh}J+vTSWEdCg=^dA0IOTH9L3juSs5TM}hG zED5AVzc!A|fFwx4h5!}-?pl}Jwz8KnH&*$ON-9;kFybT zpw=>12XG$Wbbr&YnbBK-836bLz}XZOwFCSc$>IQ%Q~0?*Hi=(sm8;dVS$|`;tYEI< zb==0b>0-yf4hLharwRV;--QE%Q`MH^)l3I!W?((66g@ZeJ;$+p2of+gTdKXb>LJYW zQ~=2zITb)??;)JO8*XU%U!mwW3bftU1J|rMRs$MVtrK^?_U+JGp%Iu_b>Sw z?F^E^RiXDq)A#nKq$EUF_Jh#cgTShHkmf!FrrW4_Zy)csEtDTvVI?t8ZP)?rRc>;i zH!}OS^D+0<5Z?$Z+ zreAW4-d@|WLJJpgh{k;hR`SWb1R6CMHweDMHXvsnO zML|zJr?Y24+w26m(P{&I?tA-cy6xB)T2(35_q>qWq^Qbx$;5O){Z#w%Bu5T<;6TU5 zl*$5v$CQq9Mcc1=i6J*wEZ9~qQe?shM{lQI^^d%4HzEMM)N|)msz}y zzJOi&;BG8)59X44f4k?D*d*&1qm<_;eoA>dYECsxo05}_xr(7r6q218m?bdSEf+oi zY!`DCmO{*lc1WASWMeT1!E9#xn~g>hleC8Q2`u0Dd@#R4C6o#j7NHkXuI!n%3ue0w zOO*tw{^8Ub^Kc#+5%hLkxXWs0o+>5gR8ADP;T&6CwXGqzCD2pnR{bJK=o zN>1A%g;T(tGrd%&`LcWgb-<=>4M2#Sd)m021nK< zc8>Uvb3|r^Ix`#NN!^)P_q5Xe-vQmzB2%J%=KXqShXnFY zJ(Cu+Rq%a^7olkcT6H0w=KSiP=6W~5iK-7CjC5<|iPDkqa;``K>Yclt+ zzWgH=zdVq9%W;UO^dB2fum_ZI8_4J$Szf;`fJI#|(B6p>)`}ZD@e(;_#FH9L;uijP zAcH>re)>OQ`sojaG9|29Vo;sFrj?k<&F%?u9o8Mb-n@Z+a$hX)`k%&?X?xJ6SrYeo z21)~F<%Rt7vmrHA61depho=o>={P_FX}4n4)on=FL0R4+UiWDUP1Og^FwD3tXB_5Y zDIP-X?PP^v-;biL*~N&tBhy<@PK-euhZ+5@^7VZ8680e%u?n8-Y=Nj%?v0aYGF2}7acybIL zHl^NKnmDJQmujcw&uv!0X;dsFOes&s8!9r2GGU_K{dK^Uq$mT?DVvt(*5KVHdEmvz ztSH9^pomXmK5g$p|C|*D%i}0J3uG8+6IrB(=teto_MHM zZ602QPpP9=kA+e1DoZO3T)6c@e5Ob#WsEw0cF6njqwW}y*O9zOkE#Fg zg-6qOl8&qx0~h0>jHP~JW)<$S5nqXO{anqKV@OuyI7z>O!~&7!Wswq$j3=1XPdG-N zvUZw&X2@iJjwd)ye2L93IRw&uMjXxZCGqni7ZhYyJ75dE=pK*U=e>bD{m0K|Y|dZw z&52={bdYbaj&{3zecIT ztvUTgfwDla)AHoP(Wu@cs)3;x-#T7szttgg73rxP+oNCv%z$;T|;Eac&SdJ~)9 zUO*|^kC!UN>h{ux0pYG49Qw~P|1*c>5{bO}w@s8svQ{8XJfi{r4*&rF{{sMKHbl2| C7__4R diff --git a/tools/eztelemeta/design/standard/swf/soundmanager2_flash9.swf b/tools/eztelemeta/design/standard/swf/soundmanager2_flash9.swf deleted file mode 100644 index 75366d007b13d9cd92ab223aa0215b202d21fd41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8273 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 P{$EWu - - - - -
- - -
diff --git a/tools/eztelemeta/design/standard/templates/content/datatype/view/eztelemetaitem.tpl b/tools/eztelemeta/design/standard/templates/content/datatype/view/eztelemetaitem.tpl deleted file mode 100755 index 45706f2f..00000000 --- a/tools/eztelemeta/design/standard/templates/content/datatype/view/eztelemetaitem.tpl +++ /dev/null @@ -1,32 +0,0 @@ -{eztelemetadata_set('eztelemeta_player', true)} -{def $item=$attribute.content} -
-
-
{'Sound'|i18n('eztelemeta')} :
-
{$item.title|wash}
- -
{'Duration'|i18n('eztelemeta')} :
-
- 00:00:00 - / - {$item.duration_str} -
- - {if $item.description } -
{'Description'|i18n('eztelemeta')} :
-
{$item.description|wash}
- {/if} - - {if $item.creator } -
{'Creator'|i18n('eztelemeta')} :
-
{$item.creator|wash}
- {/if} - - {if $item.rights } -
{'Legal rights'|i18n('eztelemeta')} :
-
{$item.rights|wash}
- {/if} -
-
-
-{undef} diff --git a/tools/eztelemeta/design/standard/templates/eztelemeta_head.tpl b/tools/eztelemeta/design/standard/templates/eztelemeta_head.tpl deleted file mode 100644 index 7430a75f..00000000 --- a/tools/eztelemeta/design/standard/templates/eztelemeta_head.tpl +++ /dev/null @@ -1,19 +0,0 @@ -{if is_set( $module_result.content_info.persistent_variable.eztelemeta_player )} - - - - -{/if} diff --git a/tools/eztelemeta/doc/Makefile b/tools/eztelemeta/doc/Makefile deleted file mode 100644 index 3477aaa8..00000000 --- a/tools/eztelemeta/doc/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -VERSION := $(shell cat ../VERSION) -DOCS=README.fr.html README.fr.pdf README.fr README.fr.latex - -doc: $(DOCS) - -README.fr.html: README.fr doc.css player.png - cat README.fr | sed 's/:scale: .*/:scale: 100/' | \ - rst2html -lfr --stylesheet=doc.css --link-stylesheet - $@ - -README.fr.pdf: README.fr.latex - pdflatex $^ - pdflatex $^ # Double run is sometimes needed - -README.fr.latex: README.fr player.png - rst2latex -lfr README.fr $@ - -README.fr: README.fr.in ../VERSION - cat README.fr.in | sed "s/EZTVERSION/$(VERSION)/g" > $@ - -clean: - rm -f $(DOCS) README.fr.aux README.fr.out README.fr.log - -# vim: set noexpandtab: ts=2: sw=2: diff --git a/tools/eztelemeta/doc/README.fr.in b/tools/eztelemeta/doc/README.fr.in deleted file mode 100755 index 57f3495c..00000000 --- a/tools/eztelemeta/doc/README.fr.in +++ /dev/null @@ -1,371 +0,0 @@ -============================================= -eZTelemeta |version| - Mise en place et usage -============================================= - -:Auteur: Olivier Guilyardi -:Date: |today| - -.. contents:: **Table des matières** -.. sectnum:: - ----- - -Introduction -~~~~~~~~~~~~ - -Le présent document décrit les procédures de mise en place et d'usage -de l'extension eZPublish eZTelemeta |version|. Cette extension a pour but -de permettre l'intégration dynamique d'éléments sonores en provenance -du logiciel Telemeta. - -Pré-requis -~~~~~~~~~~ - -- Système Linux ou FreeBSD: -- PHP version 5.2 ou supérieur -- Apache version 1.3 ou supérieur -- eZPublish 4.1.0 -- l'accès distant à une installation Telemeta - -Mise en place -~~~~~~~~~~~~~ - -Installation de l'extension ---------------------------- - -eZTelemeta |version| est distribuée sous la forme d'une archive .tar.gz, -contenant le répertoire ``eztelemeta``, à placer dans le répertoire -``extension`` de l'installation eZPublish. - -Puis activer l'extension dans l'administration, onglet Setup/Extensions, -et régénerer les données de chargement automatique (``Regenerate -autoload arrays for extensions``) - -Création de la classe principale --------------------------------- - -eZTelemeta définit un nouveau type de données, appelé ``Telemeta -Item``. Les utilisateur avancés de eZPublish peuvent envisager -différents scénarios d'utilisation de ce type de données. La procédure -décrite ici consiste à créer une classe qui ne contiendra qu'un -seul attribut, de type ``Telemeta Item``. Il est fortement recommandé -de procéder ainsi lors d'une première mise en place, notamment pour -intégrer facilement le lecteur audio aux pages publiques. - -Dans l'administration, dans Setup/Classes, dans le groupe Media, créer -une classe avec les paramètres suivants:: - - - Name: Telemeta Audio Item - - Identifier: telemetaitem - - Object name pattern: - -Ajouter un attribut de type ``Telemeta Item``, avec pour paramètres (*respecter -la casse*):: - - - Name: Item - - Identifier: item - - Required: activé - - Searchable: activé - -Cliquer sur OK pour enregistrer la nouvelle classe. - -Réglage des permissions ------------------------ - -Pour pouvoir afficher les items sur les pages publiques, il faut autoriser -leur accès aux utilisateurs *anonymes*. - -Dans l'espace d'administration, onglet Setup, dans Roles and policies: - -1. Éditer le rôle ``Anonymous`` -2. Cliquer sur ``New policy`` -3. Choisir le module ``content`` puis cliquer sur ``Grant access to one function`` -4. Choisir la fonction ``read`` puis cliquer sur ``Grant limited access`` -5. Choisir la classe ``Telemeta Audio Item`` puis cliquer en bas de page sur OK -6. De retour sur le role, cliquer à nouveau sur OK - -Création d'un objet de contenu ------------------------------- - -Il est maintenant possible de créer un objet de contenu (une instance) -à partir de cette classe, par exemple dans l'onglet Media Library, -dossier Multimedia, créer un objet de type Telemeta Audio Item avec -pour paramètres:: - - - Telemeta URL: L'url de l'installation Telemeta distante. - (exemple: http://mucem.telemeta.org) - - - Item Identifier: La cote de l'item. Celle-ci peut être trouvée - en accédant à l'interface web de Telemeta, sur - la page de l'item choisi. - -Puis enregistrer les modifications (``Send for publishing``). - -**Remarque**: au moment de l'enregistrement, eZTelemeta établit -une connexion avec l'installation Telemeta distante, en utilisant le -protocole OAI-PMH via HTTP. Si la cote de l'item est invalide, ou -si la connexion HTTP ne peut-être établi à cause d'un mauvais URL, -l'item ne sera pas enregistré, et une erreur s'affichera. Dans ce cas -vérifiez bien votre saisie. - -Intégration de l'objet de contenu dans un article -------------------------------------------------- - -Maintenant que nous disposons d'un objet de contenu Telemeta, il est facile -de l'intégrer à un article. Pour ce faire, lors de l'édition d'un article: - -1. Cliquer sur l'icône représentant un *trombone* (``Insérer/modifier un objet``) -2. Une fenêtre DHTML doit s'ouvrir, cliquer sur Parcourir, Media puis sur Multimedia -3. Sélectionner l'item Telemeta à insérer, un aperçu (lien, titre, etc...) doit s'afficher -4. Cliquer sur OK - -L'item doit maintenant être intégré au corps de l'article, sous la -forme d'une liste de définition HTML (``
...
``), affichant le -titre de l'item sous la forme d'un lien vers le fichier son hébergé -sur le serveur Telemeta, la durée (HH:MM:SS) de l'item, et suivant les -informations qui sont disponibles, un ou plusieurs éléments parmi les -suivants: Auteur/Collecteur, Description, Droits d'usage. - -L'intégration sous la forme d'une liste de définition HTML a plusieurs avantages: - -- en terme de contenu, c'est la construction HTML la plus adaptée à une liste de méta-données -- la présentation est facilement personnalisable avec des feuilles de styles CSS. -- elle est accessible, facilitant par exemple la consultation à l'aide de périphériques de type lecteur - d'écran destinés aux mal-voyants - -Intégration du lecteur audio -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remarques générales sur le lecteur ----------------------------------- - -eZTelemeta inclut un lecteur audio web employant javascript et flash de -façon dîte *dégradable*: si flash ou javascript sont absents, le lien -HTML vers le fichier son (mp3) est laissé intacte, et la lecture reste -donc possible à l'aide d'un module externe au navigateur (Windows Media -Player, iTunes, VLC, etc...). - -Cependant, la plupart des utilisateurs pourront profiter du lecteur audio -permettant la lecture interactive du son sans quitter la page en cours, -à la condition que le lecteur Adobe Flash 8 soit installé, et javascript -activé, sous: - -- Internet Explorer 6 et 7 -- Firefox 2 et 3 -- Safari 3 -- Opera 9 - -Voici un aperçu du lecteur : - -.. image:: player.png - :scale: 75 - -Dans le respect des règles de l'art du web actuel, les routines -javascript sont séparées de façon stricte du contenu HTML. L'affichage -interactif du lecteur est entièrement personnalisable via CSS et/ou -modification des templates eZPublish. Flash est utilisé de façon -invisible, via la librairie SoundManager2, offrant une API javascript -dédiée au son. - -Plusieurs items peuvent être placés arbitrairement dans la page, -s'intégrant bien au flot du contenu HTML. Lorsqu'on clique sur -l'un deux, si la lecture d'un autre item est déjà en cours, elle -s'interrompt, de façon à éviter la lecture accidentelle simultanée -de plusieurs sons. - -**Remarque :** Pour simplifier la mise en place du lecteur, il est -recommandé d'utiliser une classe de contenu eZPublish dont l'identifiant -est ``telemetaitem`` comme indiqué à la section `Création de la classe -principale`_. - -Chargement des dépendances --------------------------- - -Le lecteur possède des dépendances CSS et Javascript qui doivent êtres -chargées dans la section ```` des pages du site. Pour ce faire -eZTelemeta contient un template qui doit être inclut dans cette section, -en personnalisant le template ``pagelayout.tpl``, qui est utilisé -par eZPublish pour construire toutes les pages. - -Pour ce faire, se rendre dans l'onglet Design de l'espace -d'administration eZPublish, et (si ce n'est déjà fait) y créer -un ``override`` du template ``pagelayout.tpl`` pour le ou les sites -concernés. Il est également recommandé de créer un tel ``override`` -pour le template ``pagelayout.tpl`` de la partie administrative. - -Puis, dans chacun des templates ``pagelayout.tpl`` concernés, inclure -le template d'initialisation en plaçant l'expression suivante dans la section -````:: - -{include uri="design:eztelemeta_head.tpl"} - -Enfin, vider le cache eZPublish. Le lecteur audio doit maintenant être actif -à la fois sur les pages publiques intégrant un item Telemeta, et lors de la -pré-visualisation d'un article dans l'espace administratif. - -**Remarque**: le fait d'inclure le template ``eztelemeta_head.tpl`` dans toutes -les pages du site via la personnalisation de ``pagelayout.tpl``, n'alourdit pas -inutilement le chargement des pages. Les dépendances CSS, JS et Flash ne sont -chargées que si la page en cours contient effectivement un item Telemeta. - -Personnalisation à l'aide de feuilles de style ----------------------------------------------- - -Comme indiqué à la section `Remarques générales sur le lecteur`_ -l'apparence du lecteur audio repose intégralement sur HTML et CSS, -contrairement à un lecteur possédant une interface utilisateur flash, -et peut donc facilement être personnalisée. - -Dans la majorité des cas, la personnalisation peut être effectuée à l'aide règles -de style CSS. - -Par défaut, l'affichage d'un item par défaut a la structure suivante:: - -
-
-
Son :
-
...
- -
Durée :
-
- ... - / - ... -
- -
Description :
-
...
- -
Auteur / Collecteur :
-
...
- -
Droits d'usage :
-
...
-
-
-
- -Lorsque la lecture est en cours, la classe ``telemeta-playing`` est -ajoutée automatiquement (par la classe javascript ``TelemetaPlayer``) -à l'élément ``div``:: - -
- ... -
- -Si la lecture est activée, mais que le son ne peut-être joué car il est -en cours de chargement (mise en tampon), la classe ``telemeta-loading`` -est ajoutée à l'élément ``div``:: - -
- ... -
- -La feuille de style par défaut est quant à elle localisée dans:: - - eztelemeta/design/standard/stylesheets/eztelemeta.css - -Cette feuille de style contient deux sections: - - - Core styles: ces règles laisse la liste de définition HTML ``
`` - quasiment intacte, ajoutant simplement l'icône play/pause au lien, - et un effet de clignotement en cours de chargement. - - Compact box styles: ces règles, légèrement plus intrusives, donne son - apparence plus compacte au lecteur, avec couleur de fond, etc... - -Personnalisation des Templates ------------------------------- - -Pour une personnalisation plus poussée de l'apparence du lecteur il est possible -de modifier les templates HTML. Pour ce faire, comme ailleurs dans eZPublish, il -est recommandé de créer des ``override`` de template, et non de modifier -directement les templates. Se reporter à la documentation de eZPublish pour plus -de détails. - -Le code HTML du lecteur réside essentiellement dans le template de vue du type -de donnée ``Telemeta Item``:: - - eztelemeta/design/standard/templates/content/datatype/view/eztelemetaitem.tpl - -Cependant, d'autres templates sont nécessaires suivant le contexte d'affichage. -Mais, pour éviter la redondance ils *incluent* le template ci-dessus. De cette -façon, la modification de ce template se répercutent automatiquement dans les -différents contextes. Néanmoins, dans certains cas, il peut-être utile d'éviter -ce mécanisme d'inclusion pour une personnalisation plus poussée, ce qui reste -possible via le système de surcharge (``override``) de eZPublish. - -Ces templates annexes, qui incluent le template principal sont:: - - - template d'imbrication (dans un article, etc...) : - eztelemeta/design/standard/override/templates/embed/eztelemetaitem.tpl - - - template de vue autonome (résultat de recherche, etc...) : - eztelemeta/design/standard/override/templates/full/eztelemetaitem.tpl - -Par ailleurs, le chargement des dépendances et l'initialisation du -lecteur sont réalisés dans:: - - eztelemeta/design/standard/templates/eztelemeta_head.tpl - - -Mise à jour dynamique et gestion du cache -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Contenu dynamique ------------------ - -Contrairement à la grande majorité des contenus gérés dans eZPublish, -les items sont susceptibles de changer depuis l'extérieur, c'est à -dire dans le contexte de Telemeta lui-même. - -L'une des raisons d'être de eZTelemeta est la répercussion automatique -de ces changements (titre, son, auteur, etc...), sans qu'il soit -nécessaire d'intervenir dans l'espace d'administration de eZPublish. - -Cette fonctionnalité est rendue possible grâce au lien OAI-PMH établi -avec Telemeta, et la gestion du cache eZPublish. - -Gestion du cache ----------------- - -L'établissement d'une connexion avec le serveur distant Telemeta ne peut -bien évidemment pas être effectuée à chaque affichage d'un item, -ce serait trop lourd. - -Cependant, eZTelemeta n'inclut pas de système de gestion de cache spécifique. -C'est le cache standard de eZPublish qui est utilisé. - -Ainsi, il convient que l'administrateur vérifie les réglages du cache, -de façon à ce qu'il soit vidé périodiquement, pour recharger les -méta-données des items Telemeta. - -Cette opération peut notamment être réalisée via un cronjob appelant régulièrement -le script eZPublish suivant:: - - php bin/php/ezcache.php --clear-tag=content - -Cette opération entraînera effectivement le rafraîchissement de l'ensemble des -méta-données des items, affichées dans le lecteur audio. - -Cependant, le nom des objets de contenu n'est pas mis à jour par la -purge du cache. C'est une limitation de eZPublish, qui est légèrement -problématique dans le contexte de la gestion d'objets distants comme -les items Telemeta. - -Les noms d'objets contiennent le titre d'item et apparaissent: - -- dans le titre HTML de la page lors de la vue autonome d'un item Telemeta -- dans la liste des résultats de recherche -- dans la liste d'objets de contenu dans l'espace d'administration - -Aucune opération de purge de cache ne met à jour ces noms d'objets, il faut soit -modifier l'item, soit avoir recours au script eZPublish suivant, via un cronjob -par exemple (il est recommandé de faire une sauvegarde avant le premier lancement -de ce script):: - - php update/common/scripts/updatecontentobjectname.php - - -.. |version| replace:: EZTVERSION -.. |today| date:: -.. vim: set ft=rst: diff --git a/tools/eztelemeta/doc/doc.css b/tools/eztelemeta/doc/doc.css deleted file mode 100644 index ce131d38..00000000 --- a/tools/eztelemeta/doc/doc.css +++ /dev/null @@ -1,9 +0,0 @@ -body { font-size: 90%; } -h1 a, h2 a { text-decoration: none; color: black; } -h1 a { border-bottom: solid 2px #BBBBBB; } -h1 a:hover, h2 a:hover { border-bottom: solid 2px #990000; } -h1 { font-size: 150%; } -h2 { font-size: 110%; } -h1.title { border-bottom: solid 2px #990000; font-size: 170%; } -tt.literal, pre.literal-block { background: #EEEEEE; } -.contents a { color: #880000; } diff --git a/tools/eztelemeta/doc/player.png b/tools/eztelemeta/doc/player.png deleted file mode 100644 index b3ceac18259e170441afc8336e8dbb4d3ff7d698..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16892 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 PGazK86{YeYJoEWK!NR(q diff --git a/tools/eztelemeta/settings/content.ini.append b/tools/eztelemeta/settings/content.ini.append deleted file mode 100644 index e40635db..00000000 --- a/tools/eztelemeta/settings/content.ini.append +++ /dev/null @@ -1,4 +0,0 @@ -[DataTypeSettings] -ExtensionDirectories[]=eztelemeta -AvailableDataTypes[]=eztelemetaitem - diff --git a/tools/eztelemeta/settings/design.ini.append b/tools/eztelemeta/settings/design.ini.append deleted file mode 100644 index 9243943a..00000000 --- a/tools/eztelemeta/settings/design.ini.append +++ /dev/null @@ -1,3 +0,0 @@ -[ExtensionSettings] -DesignExtensions[]=eztelemeta - diff --git a/tools/eztelemeta/settings/override.ini.append b/tools/eztelemeta/settings/override.ini.append deleted file mode 100755 index 1f28baf2..00000000 --- a/tools/eztelemeta/settings/override.ini.append +++ /dev/null @@ -1,11 +0,0 @@ -[telemetaitem_full] -Source=node/view/full.tpl -MatchFile=full/eztelemetaitem.tpl -Subdir=templates -Match[class_identifier]=telemetaitem - -[embed_telemetaitem] -Source=content/view/embed.tpl -MatchFile=embed/eztelemetaitem.tpl -Subdir=templates -Match[class_identifier]=telemetaitem diff --git a/tools/eztelemeta/settings/site.ini.append b/tools/eztelemeta/settings/site.ini.append deleted file mode 100644 index 8fd270e9..00000000 --- a/tools/eztelemeta/settings/site.ini.append +++ /dev/null @@ -1,6 +0,0 @@ -[TemplateSettings] -ExtensionAutoloadPath[]=eztelemeta - -[RegionalSettings] -TranslationExtensions[]=eztelemeta - diff --git a/tools/eztelemeta/translations/fre-FR/translation.ts b/tools/eztelemeta/translations/fre-FR/translation.ts deleted file mode 100755 index 2de5d28f..00000000 --- a/tools/eztelemeta/translations/fre-FR/translation.ts +++ /dev/null @@ -1,26 +0,0 @@ - - - - eztelemeta - - Sound - Son - - - Duration - Durée - - - Description - Description - - - Creator - Auteur / Collecteur - - - Legal rights - Droits d'usage - - - -- 2.39.5