pax_global_header 0000666 0000000 0000000 00000000064 12767570502 0014525 g ustar 00root root 0000000 0000000 52 comment=4bd714916663e3d869a71ea4eb1214ac95211606
zoph-0.9.4/ 0000775 0000000 0000000 00000000000 12767570502 0012517 5 ustar 00root root 0000000 0000000 zoph-0.9.4/CHANGELOG.md 0000664 0000000 0000000 00000042125 12767570502 0014334 0 ustar 00root root 0000000 0000000 # Zoph Changelog #
##Zoph 0.9.4##
###18 Sept 2016###
Zoph 0.9.4 is the new stable release. It is recommended for everyone to upgrade to this release
###Features###
* Geocoding: Zoph now also searches Wikipedia
* [Issue#67](https://github.com/jeroenrnl/zoph/issues/67) Changed the colour scheme definition to use a nice interface to select the colour
* [Issue#23](https://github.com/jeroenrnl/zoph/issues/23) An admin user can now define default prefences for new users
* [Issue#24](https://github.com/jeroenrnl/zoph/issues/24) Added an option to automatically propagate permissions to newly created albums
* [Issue#78](https://github.com/jeroenrnl/zoph/issues/78) Removed Yahoo, Cloudmade mapping as they no longer offer their services to the public
* [Issue#78](https://github.com/jeroenrnl/zoph/issues/78) Removed Openlayers mapping, as Zophs implementation was buggy and did not work anymore.
* [Issue#47](https://github.com/jeroenrnl/zoph/issues/47) Photos can now be deleted from disk (moved to a trash dir)
* [Issue#67](https://github.com/jeroenrnl/zoph/issues/67) Added some new colour schemes
###Bugs###
* Fixed an issue with album pulldown when editing group access rights
* Fixed an issue where the circles page would sometimes report $title not found
* Fixed an issue with changing views on circle page
* Fixed an issue that caused errors in Firefox when using the configuration page
* fixed collapsable details for time and rating
* [Issue#78](https://github.com/jeroenrnl/zoph/issues/78) Fixed a case where an admin user was sometimes not allowed to see a person or a place
###Other improvements###
* [Issue#77](https://github.com/jeroenrnl/zoph/issues/77) Lots of fixes in the German translation by Thomas Weiland (@HonkXL)
* Moved group display to template
* Moved group delete (confirm) into template
* Moved group edit to a template
* [Issue#79](https://github.com/jeroenrnl/zoph/issues/79) Modify recursive creation of directories, so Zoph can function in an open_basedir enverironment.
* [Issue#66](https://github.com/jeroenrnl/zoph/issues/66) Cleanup of CSS
* Some modernization of the looks of Zoph
* [Issue#85](https://github.com/jeroenrnl/zoph/issues/85) Modified import process to show clearer error message
* [Issue#66](https://github.com/jeroenrnl/zoph/issues/66) Added a reset CSS
* [Issue#81](https://github.com/jeroenrnl/zoph/issues/81) Documentation updates
* Some fixes for UnitTests
* Additional tests
* Refactor of group_permissions class into permissions class
* Refactor prefs class
* Moved preferences page to template
* Modified prefs template to use labels instead of definition lists
##Zoph 0.9.3##
###10 jun 2016###
Zoph 0.9.3 is the new stable release. It is recommended for everyone to upgrade to this release
###Features###
* [Issue #72](https://github.com/jeroenrnl/zoph/issues/72) Zoph now has a new logon screen.
The logon screen has background photos. Two of them are already included in Zoph. You can place your own backgrounds in ```templates/default/images/backgrounds```. Or, you can (on the config screen) define an album from which the images will be used as background images. Zoph will display a random image as background.
* [Issue #76](https://github.com/jeroenrnl/zoph/issues/76) The logon screen now gives a message about the username and/or password being wrong instead of just returning to the same screen
* [Issue #75](https://github.com/jeroenrnl/zoph/issues/75) Zoph now uses PHP's password hashing algorithm instead of MySQL's.
This includes a random 'salt' added to each password. This will make it much, much harder to decrypt your passwords, if your database would ever fall into the wrong hands. The old hashes will be updated with the new ones as soon the the user logs in. Zoph will continue to support the old password hashes at least until v0.9.5.
* [Issue #26](https://github.com/jeroenrnl/zoph/issues/26) It is now possible to define the cookie expirement time. In previous versions of Zoph, a user would be logged out when closing the browser. Is now possible to extend the time to 1 hour, 4 hours, 8 hours, 1 day, 1 week or 1 month. This means a user will not need to re-login for that period of time, even when the browser is closed in the mean time. This can be very convenient, but it could mean that a user leaves Zoph logged in on a public PC. Therefore, the default is still 'session', which means a user will be logged out when closing the browser.
* "new" pages now show up in breadcrumbs
* It is now possible to give a user "can see all photos" access rights. This means you can give a user access to all photos, without giving him/her admin rights and without having to update user rights whenever an album is added.
* [Issue #22](https://github.com/jeroenrnl/zoph/issues/22) It is now possible to allow a user to create albums, categories, people, circles and places. The user automatically has access rights to place photos in the albums, categories, people, circles and places he or she has created.
* [Issue #21](https://github.com/jeroenrnl/zoph/issues/21) It is now possible to allow a user to delete photos. The user will have to have "write" access to at least one album a photo is in.
* Remove the rather ugly trailing space on the links on zoph.php
###Bugs###
* [Issue #73](https://github.com/jeroenrnl/zoph/issues/73) Fixed sharing feature
* [Issue #74](https://github.com/jeroenrnl/zoph/issues/74) Fixed Canadian English, Dutch and German translation files
###Other improvements###
* Added a way to disable a setting on the configuration page depending on the state of another configuration item. (This was created because the photo album as a logon background relies on the sharing feature to be enabled).
* Moved user page to template
* Moved form into a separate class
* Some cleanup of the places and categories pages
* Refactor HTML for actionlinks
* Modified createTestData script to only require password once
* Rearranged order of unittests
* Added translations for German, Canadian English and Dutch
##Zoph 0.9.2##
###1 apr 2016###
Zoph 0.9.2 is the new stable release. I have decided to drop the separation between 'stable' and 'unstable' or 'feature' releases. This means that it is recommended for everyone to upgrade to this release.
###Features###
* [Issue #44](https://github.com/jeroenrnl/zoph/issues/44) : Added 'circles': a way to group people in Zoph. This is especially handy if you have a large amount of people in your Zoph, and the 'person' page is becoming confusing or cluttered.
* [Issue #46](https://github.com/jeroenrnl/zoph/issues/46) A circle and it's members can be surpressed in the overview page, so you can, for example, hide people that you added only for a small set of photos.
* [Issue #20](https://github.com/jeroenrnl/zoph/issues/20) Zoph has switched to the PDO classes for database access. This ensures compatibility with PHP in the future, because the old mysql libs will be dropped soon.
* [Issue #32](https://github.com/jeroenrnl/zoph/issues/32) It is now possible to set more properties of a photo, including map zoom from the web import.
* [Issue #60](https://github.com/jeroenrnl/zoph/issues/60) The link text for "next" and "previous" as well as page numbers has been increased in size for better usability esp. on mobile devices
* Added a script for fixing filename case (by Jason Taylor [@JiCit] )
* Access Google maps via https (Jason Taylor [@JiCiT])
* As of this version, the language files are in the php dir, and no longer need to be copied or moved separately
###Bugs###
* [Issue #49](https://github.com/jeroenrnl/zoph/issues/49) Zoph now supports MySQL strict mode
* [Issue #55](https://github.com/jeroenrnl/zoph/issues/55) Autocomplete not working for people
* [Issue #58](https://github.com/jeroenrnl/zoph/issues/58) Sort order for albums and categories can not be changed
* CLI: Fixed an issue where Zoph would try to import to the current directory when double spaces were present in CLI
* Better handling of file not found problems during import
* Fixed two bugs that caused maps not to display
* Fixed an issue where breadcrumbs wouldn't be removed correctly in some cases
* Changed erronous extension of Exception class
* Fixed slow login times for non-admin users
* Improved performance on people page
* Fixed: zoom buttons are missing from Google Maps
* Remove duplicate files from import (if you would specify the same file twice on CLI import, you would get an error, this is now filtered out)
* Fixed an issue where the person pulldown on the add user page appeared to be empty
* Remove a user from a group when a the user is deleted
* Fixed a warning about unknown variable on places page
* Allow apostropes in place names when creating map markers (Jason Taylor [@JiCiT])
###Refactor###
* A complete new query builder has been created
* Many more parts of Zoph can be (and are being) tested automatically now, this should improve overall quality and reduce bugs
* Many parts of Zoph have been cleaned up to modernize code to the current state of PHP - dropping PHP 5.3 and 5.4 compatibility
* Dropped MSIE6/7 compatibility
* Added documentation to many parts of Zoph's source code
* Many changes to readability of source code, such as more consistent use of whitespace
* Added some more debugging possibilities to easier troubleshoot in case of problems
* Changed logging so less logging is displayed when set to log::NONE
* Changed all self:: references into static:: references
* Added function scope to many methods
* Started using namespaces to better organize the classes
* Updated version numbers in REQUIREMENTS readme.
* [Issue #8](https://github.com/jeroenrnl/zoph/issues/8) (partial) Changed several parts of Zoph to use templates
* Added improvements to templating system
* Modified query for photo access rights to a view for performance reasons
* Changed logging so SQL query log to file can be done without displaying
* Performance improvement on place page
* Added a posibility to debug queries including parameters
## Zoph 0.9.1 ##
### 21 Feb 2014 ###
Zoph 0.9.1 is the first feature release for Zoph 0.9, it shows a preview of some of the new features for Zoph 0.10. Most important change is the move of most configuration items from config.inc.php into the Web GUI.
####Features####
* [Issue #28](https://github.com/jeroenrnl/zoph/issues/28) Configuration through webinterface
* Removed display desc under thumbnail feature
* Removed MIXED_THUMBNAILS and THUMB_EXTENSION settings
* removed DEFAULT_SHOW_ALL setting
* Removed LANG_DIR configuration item
* Changed the looks of fields a bit
* Removed alternative password validators
* Removed checks for PHP 5.1
* Adding CLI support for configuration
* [Issue #7](https://github.com/jeroenrnl/zoph/issues/7) Added a favicon
* [Issue #18](https://github.com/jeroenrnl/zoph/issues/18) Added "return" link on bulk edit page
* Added a script to migrate config to new db-based system
* [Issue #8](https://github.com/jeroenrnl/zoph/issues/8) Made template selectible from webinterface
* Removed MAX_CRUMBS
####Bugs####
* Simplified CLI code & fixed bug in --autoadd
* [Issue #34](https://github.com/jeroenrnl/zoph/issues/34) Rows and columns swapped on photos page
* [Issue #36](https://github.com/jeroenrnl/zoph/issues/36) Webimporter does not import description
* [Issue #37](https://github.com/jeroenrnl/zoph/issues/37) Can not add position on map using the mouse
* Fixed a bug that caused EXIF information in some (rare) cases to report the aperture wrong.
* Strict standards warning
* [Issue #45](https://github.com/jeroenrnl/zoph/issues/45) Pagebreak inside HTML tags causes browser to render incorrectly
* [Issue #45](https://github.com/jeroenrnl/zoph/issues/45) Added selectArray cache to zophTable
* [Issue #48](https://github.com/jeroenrnl/zoph/issues/48) Repair photo ratings during import
* [Issue #50](https://github.com/jeroenrnl/zoph/issues/50) Geonames project has changed URL and requires username
* [Issue #51](https://github.com/jeroenrnl/zoph/issues/51) Fixed depth in tree display when autocorrect is off
* [Issue #39](https://github.com/jeroenrnl/zoph/issues/39) Added support for session.upload_progress as APC replacement (PHP 5.4 compatibility)
* [Issue #38](https://github.com/jeroenrnl/zoph/issues/38) CLI tries to lookup previous argument's value when looking up photographer
####Improvements####
I have made quite a few improvements on the "inside" of Zoph. I have refactored many parts of Zoph
to create cleaner, less duplicated and more robust code. I have introduced UnitTests (resulting in
about 20% of Zoph's sourcecode now tested fully automatic for bugs). As a help to that, I am now
using Sonar to automatically run these tests and also analyse Zoph code for other problems.
* [Issue #29](https://github.com/jeroenrnl/zoph/issues/29) First step in creating unittests for Zoph
* Sonar Support
* Refactor of PHP part of Mapping implementation
* Move timezone-related global functions into class
* TimeZone object improvements
* Small change in way template is called on photo page (Full page templates are now "templates" and partial pages are "blocks")
* Refactor of htmlMimeMail.php
* Refactor of Mail_mimePart
* Refactor annotate photo, watermark photo, image.php
* Removed several global variables
* Finished refactor of MIME classes
* Refactor album, category, place, person, photo
* Refactor: getEditArray() + unittests
* Further refactor of photo, album, person, place, category
* Refactor: move ratings out of photo object
* Refactor: moved relations from photo object to new photoRelations object
* Refactor: photo object
* Got rid of adding session_id to URL
* Modified internal database references to static
* Removed brackets from require and include statements
* Replaceed a die() with exception
* Changed self-references in objects to use self::
* Removed unused class smtp
* Made autoload a little more robust
* Changes to autoload so it works in unittests too.
* Removed unused RFC822 class
* Changed line-endings in mailMimePart.inc.php to unix-style
* Removed various unused variables
* Removed duplicate templates
* Removed unused $user from createPulldown() calls.
* [Issue #40](https://github.com/jeroenrnl/zoph/issues/40) Change documentation to Markdown
* Modified some queries to improve performance
## Zoph 0.9.0.1 ##
### 18 oct 2012 ###
Zoph 0.9.0.1 is the first maintenance release for Zoph 0.9. It adds compatibility with MySQL 5.4.4 and later and PHP 5.4 support. Several bugs were fixed.
#### Bugs ####
* [Issue #1](https://github.com/jeroenrnl/zoph/issues/1) Changed TYPE=MyISAM to ENGINE=MyISAM for MySQL > 5.4.4 compatibility
* [Issue #1](https://github.com/jeroenrnl/zoph/issues/1) Fixed: PHP Notice: Array to string conversion
* [Issue #2](https://github.com/jeroenrnl/zoph/issues/2) Changed timestamp(14) into timestamp
* [Issue #3](https://github.com/jeroenrnl/zoph/issues/3) Removed pass-by-reference for PHP 5.4 compatibility
* [Issue #6](https://github.com/jeroenrnl/zoph/issues/6) Missing French translation
* [Issue #30](https://github.com/jeroenrnl/zoph/issues/30) Remove warning about undefined variables
* [Issue #31](https://github.com/jeroenrnl/zoph/issues/31) Fixed several errors in geotagging code
* [Issue #33](https://github.com/jeroenrnl/zoph/issues/33) Fixed: no error message when rotate fails
Fixed a small layout issue on the prefs page
## Zoph 0.9 ##
### 23 jun 2012 ###
Zoph 0.9 is a stable release. It's equal to v0.9pre2, except for an updated Italian translation.
#### Translations ####
Updated Italian translation, by Francesco Ciattaglia
There are no known bugs in this version.
## Zoph 0.9pre2 ##
### 20 Feb 2012 ###
Zoph 0.9pre2 is the second release candidate for Zoph 0.9. Zoph is now completely feature-frozen for the 0.9 release, only bugfixes will be made.
#### Bugs ####
* Bug#3471099: Map not displaying when looking at photo in edit mode
* Bug#3471100: On some pages, title contains PHP warning
## Zoph 0.9pre1 ##
### 26 Nov 2011 ###
Zoph 0.9pre1 is the first release candidate for Zoph 0.9. Zoph is now completely feature-frozen for the 0.9 release, only bugfixes will be made.
#### Bugs ###
* Bug#3420574: When using --autoadd, zoph CLI import sometimes tries to create new locations or photographers even though they already exist in the database.
* Bug#3427517: Share this photo feature does not work
* Bug#3427518: Not possible to remove and album or category from a photo
* Bug#3433687: Not possible to remove album or category from photo (bulk)
* Bug#3431130: Share this photo doesn't show links in photo edit mode
* Bug#3433810: Popup for albums, categories, people and places doesn't always disappear when moving mouse away.
* Removed a warning that in some cases caused images not to be displayed.
#### Translations ####
* Added a few missing strings, reported by Pekka Kutinlahti.
* Updated Italian translation, by Francesco Ciattaglia
* Updated Dutch, German, Canadian English and Finnish
#### Other ####
* Got rid of a lot of PHP warnings
* Got rid of a lot of PHP strict messages
* Cut down on the number of global variables
* Removed support for magic_quotes
* Removed (last traces of) PHP4 support
* Bug#3435181: Variable inside quotes
* Updated wikibooks documentation
Older changes can be found in http://en.wikibooks.org/wiki/Zoph/Changelog/Archive and http://en.wikibooks.org/wiki/Zoph/Changelog/0.8-0.9
zoph-0.9.4/COPYING 0000664 0000000 0000000 00000043133 12767570502 0013556 0 ustar 00root root 0000000 0000000 GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
Copyright (C)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
zoph-0.9.4/FAQ.md 0000664 0000000 0000000 00000010607 12767570502 0013454 0 ustar 00root root 0000000 0000000 # Zoph FAQ #
### 15 - 07 - 2013 ###
## Documentation ##
Up to date documentation can be found on http://en.wikibooks.org/wiki/zoph
## Troubleshooting ##
### MySQL not installed ###
After logging in I get the following error:
Fatal error: Call to undefined function: mysql_pconnect().
What's wrong?
You may need to install the php-mysql module (rpms and debs are
available).
### session.autostart ###
I can log in but when I try to view any other page I get:
Fatal error:
The script tried to execute a method or access a property of an incomplete
object. Please ensure that the class definition user of the object you are
rying to operate on was loaded _before_ the session was started in
/var/www/zoph/auth.inc.php on line 64".
This can happen when a session is automatically started at the
beginning of a request. You can fix this by disabling
session.auto_start in your php.ini or by inserting a call to
session_write_close() before the call to session_start() in
auth.inc.php.
### GD library missing ###
I'm trying to use the importer from the web but I get this error:
Fatal error: Call to undefined function: imagecreatefromjpeg()
To use the importer you need the GD 2 library for image creation
support in PHP. See the REQUIREMENTS doc for more info.
### Moving photos on disk ###
I moved my photos around after I loaded them and now I see broken images.
How can I fix them?
If you move images to a different directory you'll start seeing broken
images in Zoph unless you also update the 'path' field in the
database.
If you edit a photo, at the bottom of the page you'll see a 'show
additional attributes' link. That will let you edit the path for a
photo.
If you're moving a bunch of photos, you may want to just create a list
of their names as you are relocating them and then change all the
paths at once from within MySQL:
mysql> update photos set path = 'new_path' where name in
('photo1.jpg', 'photo2.jpg');
### Cookies ###
Can I use Zoph without having to enable cookies?
Zoph will work without cookies but you have to enable
session.use_trans_sid in your php.ini file so that url rewriting will
work. Starting with PHP 4.2.0 this parameter is disabled by default.
### Missing translations ###
Why do I see some English phrases when I'm using a translation:
[vo] that have been categorized
Some language files are missing a few translations. Many, but not all,
are shown in italics and preceded by [vo]. To fix this simply open the
correct language file in the lang/ directory and add a transltions of
the missing string (the English string should already be present in
the file). Please share your changes, through an issue or fork + pull
request.
### Why do I see a bunch of code when I try to access Zoph? ###
First, check to make sure that you have an AddType line for php files
in your httpd.conf file. This is described in the INSTALL document.
## Customization ##
### Change width of Zoph display ###
Can I get Zoph to take up my whole browser window rather than that little
rectangle?
Try setting *Screen width* in the configuration screen (*admin* -> *configuration*) to "100%".
### Can I customize the name/title used in the interface? ###
Change *Title* in the configuration screen (*admin* -> *configuration*)
This is what appears on the logon page, on the home page, and in the title of every
page.
### Changing text ###
I don't like your welcome screen, your instructions on the import page,
or your use of English in general.
You could edit the templates so that Zoph says just what you want. A
better alternative is perhaps to create your own custom translation.
Create a file in the lang/ directory that maps English to English and
tweak whatever phrases you want. For example:
Welcome %s. %s currently contains=Go away %s. %s isn't for you.
## Miscellaneous ##
### How do you pronounce Zoph? ###
I say Zoph with an O like in photos, some say Zoph like software
("Zophtware"), but you can pronounce it however you like.
### What license is Zoph released under? ###
Zoph used to be licensed under the modified BSD license. As of version 0.4
this has been changed to the GPL license. We have done our best to make sure
all the code in Zoph could be changed to this license. If you feel your
copyright has been violated with this change, please contact us a.s.a.p.
Some included files have their own license because the license doen not
allow us to change it to GPL.
zoph-0.9.4/INSTALL.md 0000664 0000000 0000000 00000013654 12767570502 0014160 0 ustar 00root root 0000000 0000000 #Zoph Installation#
##Requirements##
See the REQUIREMENTS.md document.
##Creating the database##
###Create a database and import the tables###
```
$ mysql -u root -p -e "CREATE DATABASE zoph CHARACTER SET utf8 COLLATE utf8_general_ci"
$ mysql -u root -p zoph < sql/zoph.sql
```
###Create users for zoph###
I created two users: zoph_rw is used by the application and zoph_admin is used when I work directly in mysql so I don't
have to use root.
```
$ mysql -u root -p
mysql> grant select, insert, update, delete on zoph.* to zoph_rw@localhost identified by 'PASSWORD';
mysql> grant all on zoph.* to zoph_admin identified by 'PASSWORD';
```
##Create zoph.ini##
In Zoph 0.8.2 and later, you need to create a zoph.ini file, usually in
/etc. zoph.ini is where you define database settings. A simple example:
```
[zoph]
db_host = "localhost"
db_name = "zoph"
db_user = "zoph_rw"
db_pass = "pass"
db_prefix = "zoph_"
php_location = /var/www/html/zoph
```
An example zoph.ini file, called zoph.ini.example is included in the cli directory.
See the man page for zoph.ini(5) or the Wikibooks documentation http://en.wikibooks.org/wiki/Zoph/Configuration for more details
##Install the templates##
###Pick a location to put Zoph###
Create a zoph/ directory off the doc root of your web server, or create a Virtual Host with a new doc root.
```
$ mkdir /var/www/html/zoph
```
###Copy the templates###
```
$ cp -r php/* /var/www/html/zoph/
```
###Set accessrights###
For better security, you probably want to set accessrights on your Zoph files. (You may want to do this after testing whether Zoph works, in that case you know what caused it when it seizes working after this change)
First, you need to figure out which user Apache is running under. Usually this is apache for both user and group. To determine this, check httpd.conf or use
```
ps -ef | grep httpd
```
You should probably make all files owned by the user apache and the group apache. You can do than with
```
chown -R apache:apache /var/www/html/zoph
```
You can either make them only readable by this user/group (more security): *440*, readable by all users: *444*, or readable and writable by all users: *666*. The last case means that you don't need root access to edit config.inc.php or to make changes to the other php files (such as upgrades to a new version). Keep in mind that giving write access to the .php files effectively gives control over Zoph. If you have other users on your system, you should choose the first option. Also, your mysql password is in `/etc/zoph.ini`, so if you've users on your system that are not allowed to know it, you should protect it against reading as well. The directories should have execute rights: *550* for max security or *777* for access for all users.
To do this, first go to the directory directly above your Zoph directory, in this example /var/www/html
```
cd /var/www/html
chmod [dir] zoph
cd zoph
find -type f | xargs chmod [file]
find -type d | xargs chmod [dir]
```
replace [dir] with the accesspattern you've chosen for directories above and replace [file] with the one for files.
> #:exclamation: Warning :exclamation:
> Double check whether you are using the correct directory and if you have typed it correctly, if you would
> accidently type `/[space]var/www/html/zoph` or something, you would change all files on your entire system to
> apache/apache as owner - not good).
###Access rights for your photos###
In many cases you can simply leave the access rights on you photo directories on default.
However, if you use both the CLI and the webinterface to access your photos, you may want to change to a more advanced way of managing accessrights, using the [setgid](https://en.wikipedia.org/wiki/Setgid#setgid_on_directories]) feature in Linux and most other POSIX Operating Systems.
* Create a new Unix group (in example "photo")
groupadd photo
* Add all users that use the CLI and/or are allowed to modify the photos on disk to this group (in this example, the user is called 'jeroen')
useradd -g photo jeroen
* Additionally, the apache user is added to this group, on my system, this user is called 'apache', but 'www-data' is also often used.
useradd -g photo apache
* Change the ownership of the photo directory to your user and the group photo
chown jeroen:photo /data/images
* Set the permissions on this directory as you wish, for example *775* (full rights for user and group, read rights for other) or *770* (full rights for user and group, no access for others).
chmod 775 /data/images
* Now set 'setgid' on the dir, this causes new files and directories to be created with the group 'photo'.
chmod g+s /data/images
##Configure the PHP templates##
Some configuration options can be set in php/config.inc.php file. Usually you will not have to change anything there. Most configuration can be done from the web interface of Zoph. For more information, see http://en.wikibooks.org/wiki/Zoph/Configuration.
##Install the CLI scripts##
###Check the path to PHP###
The CLI script points to /usr/bin/php. If your PHP installation is in a different place, edit the first line of the script.
###Copy cli/zoph to /bin###
Or some other directory in your PATH.
###Install the man page###
Man pages for zoph and zoph.ini is in the cli/ directory. Copy these to the man1 and man5 directoies in your manpath, /usr/local/man/man1 and /usr/local/man/man5 for example.
##Test it##
Try hitting http://localhost/zoph/logon.php. You should be presented with the logon screen.
You can log in with admin / admin. It is recommended to change this.
If you get a 404 error...
make sure the zoph/ folder and templates can be seen by the web server.
If you see a bunch of code...
make sure Apache is configured to handle PHP (see the REQUIREMENTS file)
If you see a MySQL access denied error...
make sure the db_user you specified in zoph.ini actually has access to the database. If your database is not on localhost, you will need to grant permissions to zoph_rw@hostname for that host.
zoph-0.9.4/README.md 0000664 0000000 0000000 00000004240 12767570502 0013776 0 ustar 00root root 0000000 0000000 # Zoph 0.9.4 Readme #
## Introduction ##
Zoph (*Z*oph *O*rganizes *Ph*otos) is a web based digital image presentation
and management system. In other words, a photo album. It is built with
PHP and MySQL.
Many people store their photos in the digital equivalent of a shoe box:
lots of directories with names like 'Holiday 2008', 'January 2005' or
even 'Photos034'. Like shoe boxes, this is a great way to put your
photos away, but not such a great way to find them back or even look at
them. Zoph can help you to store your photos and keep them organized.
While most photo album projects are primarily targeted at showing your
photos to others, Zoph is primarily targeted at keeping your photos
organized for yourself, giving you granular control over what you'd
like to show to others, on a per-album or even a per-photo basis.
If you just want to generate a gallery of thumbnails from a bunch of
images, you may want to try one of the other numerous photo album
projects. But if you want to also store additional information about
your photos, search them, or control access to them, take a look at Zoph.
## Installation ##
Read the the [Requirements](REQUIREMENTS.md), [Installation guide](INSTALL.md) docs. If you are upgrading
from a previous version, read the [Upgrade Instructions](UPGRADE.md) document.
More documentation can be found in the [Zoph Wikibook](http://en.wikibooks.org/wiki/zoph)
## Copying ##
Zoph is free software. It is released under the GPL license. Please
read the file [license](COPYING) for more details
## Feedback ##
Please report issues via https://github.com/jeroenrnl/zoph/issues
http://www.zoph.org
## Thanks ##
Zoph makes use of the following packages, for which I thank their authors
for making available:
HTML Mime Mail class by Richard Heyes
http://www.phpguru.org/mime.mail.html
PHP Calendar class by David Wilkinson
http://www.cascade.org.uk/software/php/calendar/index.php
Rycks Translation Project by Eric Seigne
(website no longer available)
Mapstraction Mapping abstraction project
http://www.mapstraction.org
For a list of individuals who have contributed fixes, improvements or
translations, click on the 'about' tab within Zoph.
zoph-0.9.4/REQUIREMENTS.md 0000664 0000000 0000000 00000007125 12767570502 0014771 0 ustar 00root root 0000000 0000000 #REQUIREMENTS#
Zoph is being developped on Linux, but it should be able to run on any OS that can run Apache, MySQL and PHP. Users have reported succesful installations on MacOSX, several BSD flavours and even Windows.
Zoph requires the following:
* Apache 2.2 or 2.4
* PHP 5.5 or 5.6
* MySQL 5.6
* ImageMagick 6.9
Other versions may work as well, see below for more details. How to install these applications and get them to work together is depending on your OS and distribution. Check the documentation of the application and/or your distribution for details.
##Apache##
* Current versions of Zoph are developped on Apache 2.4.x
##PHP##
Current versions of Zoph are developped on PHP 5.5 and 5.6
* PHP 5.4 and older are no longer supported
###Required features###
The following features (extensions) to PHP are required for Zoph. Not all distributions automatically install all of them.
* session
* pcre
* gd2
* exif
* xml
* pear (if you want to use the e-mail features)
* FileInfo
##php.ini settings##
Settings you may need to change in php.ini:
###max_input_time###
This is the time Zoph is allowed by PHP to spend waiting for the file to be uploaded. Depending on the size of your files and the speed of your server's connection, 30 seconds (the default) is usually enough to process single images, if you are uploading zip or tar files, you may want to increase this to 60 or 120 seconds.
###max_execution_time###
This is the time Zoph is allowed by PHP to run. Depending on the speed of your webserver, Zoph could spend quite a lot of time resizing an image. 30 seconds may not be enough, especially if you have a camera with a lot of megapixels.
###memory_limit###
This is the amount of memory PHP allows Zoph to use. Especially if you have large images, the default (8 or 16 Megabyte) may not be enough. If you have sufficient memory in your server, setting it to 128M is perfectly safe.
* If you are using the web importer you may need to increase the `max_execution_time`, `upload_max_filesize`, `post_max_size` and `max_input_time` defined in php.ini.
* If you are using the watermarking feature, you probably need to increase the `memory_limit` setting. Please note that enabling this function uses a rather large amount of memory on the webserver. PHP by default allows a script to use a maximum of 8MB memory. You should probably increase this by changing `memory_limit` in php.ini. A rough estimation of how much memory it will use is 6 times the number of megapixels in your camera. For example, if you have a 5 megapixel camera, change the line in php.ini to `memory_limit=30M`
* The e-mail photo feature may require increasing the `memory_limit` setting. Since Zoph needs to convert the photo into Base64 encoding for mail, it requires quite a large amount of memory if you try to send full size images and you may need to adjust `memory_limit` in php.ini, you should give it at least about 4 times the size of your largest image.
##MySQL##
* Current versions are developped with MySQL 5.6
* MySQL 5.0 to 5.5 may still work but are no longer supported.
##ImageMagick##
* Current Zoph versions have been tested against ImageMagick 6.9.x
##Browser##
In order to be able to use Zoph, you will need a browser.
* Zoph is being developped and thoroughly tested with a recent Firefox build
* Zoph should work with all recent browser versions
* Please report a bug if it doesn't.
* Older versions usually work, but layout may not be 100% ok.
* Some features require Javascript support
* Most of Zoph should work when Javascript is turned off in the browser, but this is decreasing, Javascript is required for more and more functions!
zoph-0.9.4/UPGRADE.md 0000664 0000000 0000000 00000004362 12767570502 0014135 0 ustar 00root root 0000000 0000000 Zoph 0.9.3 to 0.9.4
===================
* If you want to upgrade from an older version, first follow the instructions to upgrade to 0.9.3. It is not necessary to install older versions first, you can just install the current version and follow the upgrade instructions below.
Copy files
----------
Copy the contents of the php directory, including all subdirs, into your webroot.
cp -a php/* /var/www/html/zoph
Database changes
----------------
* Execute zoph-update-0.9.4.sql:
mysql -u zoph_admin -p zoph < sql/zoph_update-0.9.4.sql
Changes this script makes:
* Add a field that stores whether or not new subalbums should be automatically granted permission
* Add new colour schemes
Zoph 0.9.2 to 0.9.3
===================
* If you want to upgrade from an older version, first follow the instructions to upgrade to 0.9.2. It is not necessary to install older versions first, you can just install the current version and follow the upgrade instructions below.
Copy files
----------
Copy the contents of the php directory, including all subdirs, into your webroot.
cp -a php/* /var/www/html/zoph
Database changes
----------------
* Execute zoph-update-0.9.3.sql:
mysql -u zoph_admin -p zoph < sql/zoph_update-0.9.3.sql
Changes this script makes:
* Resize the password field to allow store bigger hashes
* Add fields to the user table to allow for new access rights
* Add 'created by' fields to the albums, categories, places, people and circles tables
Zoph 0.9.1 to 0.9.2
===================
* If you want to upgrade from an older version, first follow the instructions to upgrade to 0.9.1. It is not necessary to install older versions first, you can just install the current version and follow the upgrade instructions below.
Copy files
----------
Copy the contents of the php directory, including all subdirs, into your webroot.
cp -a php/* /var/www/html/zoph
Database changes
----------------
* Execute zoph-update-0.9.2.sql:
mysql -u zoph_admin -p zoph < sql/zoph_update-0.9.2.sql
Changes this script makes:
* Add previously missing 'random' sortorder to preferences
* Resize Last IP address field so IPv6 addresses can be stored
* Database changes for 'circles' feature
* Create a VIEW on the database to speed up queries for non-admin users
zoph-0.9.4/cli/ 0000775 0000000 0000000 00000000000 12767570502 0013266 5 ustar 00root root 0000000 0000000 zoph-0.9.4/cli/zoph 0000775 0000000 0000000 00000012456 12767570502 0014204 0 ustar 00root root 0000000 0000000 #!/usr/bin/php
getMessage() . "\n";
exit(EXIT_INSTANCE_NOT_FOUND);
} catch (CliININotFoundException $e) {
echo $e->getMessage() . "\n";
exit (EXIT_INI_NOT_FOUND);
}
require_once("log.inc.php");
require_once("config.inc.php");
require_once("autoload.inc.php");
require_once("settings.inc.php");
settings::parseINI($ini);
try {
require_once("include.inc.php");
} catch (CliUserNotValidException $e) {
echo $e->getMessage() . "\n";
exit (EXIT_CLI_USER_NOT_VALID);
}
try {
$cli=new cli($user, CLI_API, $argv);
$cli->run();
} catch (CliAPINotCompatibleException $e) {
echo $e->getMessage() . "\n";
exit (EXIT_API_NOT_COMPATIBLE);
} catch (CliUserNotAdminException $e) {
echo $e->getMessage() . "\n";
exit (EXIT_CLI_USER_NOT_ADMIN);
} catch (CliNoFilesException $e) {
echo $e->getMessage() . "\n";
exit (EXIT_NO_FILES);
} catch (CliUnknownErrorException $e) {
echo $e->getMessage() . "\n";
exit (EXIT_UNKNOWN_ERROR);
} catch (CliNotInCWDException $e) {
echo $e->getMessage() . "\n";
exit (EXIT_PATH_NOT_IN_CWD);
} catch (CliNotInCWDException $e) {
echo $e->getMessage() . "\n";
exit (EXIT_PATH_NOT_IN_CWD);
} catch (AlbumNotFoundException $e) {
echo $e->getMessage() . "\n";
exit (EXIT_ALBUM_NOT_FOUND);
} catch (CategoryNotFoundException $e) {
echo $e->getMessage() . "\n";
exit (EXIT_CATEGORY_NOT_FOUND);
} catch (PersonNotFoundException $e) {
echo $e->getMessage() . "\n";
exit (EXIT_PERSON_NOT_FOUND);
} catch (PlaceNotFoundException $e) {
echo $e->getMessage() . "\n";
exit (EXIT_PLACE_NOT_FOUND);
} catch (CliNoParentException $e) {
echo $e->getMessage() . "\n";
exit (EXIT_NO_PARENT);
} catch (CliIllegalDirpatternException $e) {
echo $e->getMessage() . "\n";
exit (EXIT_ILLEGAL_DIRPATTERN);
}
}
/**
* See if the user specified an instance on the CLI or just pick the first one
*/
function getInstance() {
global $argv;
if($argv) {
foreach($argv as $arg) {
if($arg == "-i" || $arg == "--instance") {
// we are returning current, not next because foreach has
// already advanced the pointer
return(current($argv));
}
}
}
return null;
}
/**
* Load the right instance from the INI file
* @param string Name of the Zoph instance to be used
*/
function loadINI($instance) {
if(!defined("INI_FILE")) {
define("INI_FILE", "/etc/zoph.ini");
}
if(file_exists(INI_FILE)) {
$ini=parse_ini_file(INI_FILE, true);
if(!empty($instance)) {
if(isset($ini[$instance])) {
$ini=$ini[$instance];
} else {
throw new CliInstanceNotFoundException("Instance " . $instance . " not found in " . INI_FILE);
}
} else {
// No instance given, taking the first
$ini=array_shift($ini);
}
} else {
throw new CliININotFoundException(INI_FILE . " not found.");
}
set_include_path(get_include_path() . PATH_SEPARATOR . $ini["php_location"]);
return $ini;
}
?>
zoph-0.9.4/cli/zoph.1.gz 0000664 0000000 0000000 00000011603 12767570502 0014750 0 ustar 00root root 0000000 0000000 ‹»›EN zoph.1 Í;ûsÛÆ™¿ã¯Øá/&o(Xrâ´Uzȶ3•l%7I㌖âZ Å¢Ù¹?þ¾Ç>)(™¸77í4 ±ï½ßkWùÍk1ù§n719Áž‰·e/žŸÃ×÷²Ó²K
|½3²/õv[4•™dù5l}svy?/®D†PÄû#ñòb!TÓËn]”RôZü&xõõOonÎ~œÐÒìç÷ëÅû£÷Gª1}Ñ”òýúJLÜÇä—0¿mu×ÃlÚªèe2ÔÈ]ò½‘u›ÜËÎ(Ý$cE½¶„—~EHK€«»=Mºñó\¸ß¿D‹[ MÅd:ÓhŠuá~Á¶±ñÄF÷ú¶+Úì¯5Â숟'm
¢þЫ¾Ž×¬•¬+ƒ+póNî‹zˆçÛ¢ßà,þ7ŒþÜè_úͰ]™DT8,?©õƒA£þ)¢zª
Xx0³Q²+ºr£Ê¢>ÔÏJ›T©Û}2°Õ÷¼Â‚‘ŠYT•Èó\ü€µ-n%~ÂDÆ–÷êüúårqu³xûf›_ ¾_/…2¢ßHQ²U‹Z5R°Á¯uG³hÀbJÿ~ÛÝ
pl²«× 13;¹¤= ïV6½0{ÓËmžå«.;kö‚U!L+K¿+±Su-VRm[ã7l— ½eI¨r!p;Y§™gÖø”4sÑJÝÖR ‰¤}#:¹–]ǰ¶ƒéaW'‹jhÚN¤K5ÈPê)V…‘D È#7¢è¤@IWt€N+ÙʦRÍÐØm$ÀéD¢§¥Ø3±îôñ)€2 i@€³[ÒÎL¯‘^
þ_°YöxÎV²Ö;±¸<ûîüëÅR ÆŽ`ob¿Ë¹ûŽŒn‰ðÝxjrKadß&7 ÜËýõ]'A4@=¨ú¢ï;µzˆ$cÙ ¸Aʸ€lͰ¦¯X|eÑ ^eÑ!_Û¡îjŠ•H`b=â·_c•ŠV2#©N€T-6°&û‚m{=Ð2©Hma 4Û10Ø
ìì ”,gHíº.n¶^mtÐÿú~KÁÜ*v\oq¢–ë¥Ð©ÛM?Ge7øŠòpV²Ëùì½¥cw=ÉPÜÿ=yö¥àºèn<-lp”/ë=jzæ{‡7´nËn£@-ÝG}Íñö¡^™Ð¢å¤PÂð,¢VPä
AR!áÀ„0°–Ù¨ö‚Õ[Õ¯ÀÅÍúŒ8XÍÅ‘[ÊòÅUö“ݱ)îe$¹Z^×dòMWƒ±ÎA|Š‘ŸŠ-Éûázr?@Mgd½&3ÁÍ8Xˆu±Uõ^låvʇ¡5SSÍñ§Z(SµyÖ4ÚÍQ®†ÒB