Changeset 590
- Timestamp:
- 02/18/09 14:09:39 (18 months ago)
- Location:
- trunk
- Files:
-
- 22 added
- 6 deleted
- 84 edited
- 1 moved
-
LICENSE.txt (modified) (1 diff)
-
gallery.php (modified) (1 diff)
-
index.php (modified) (1 diff)
-
plog-admin/_install.php (modified) (4 diffs)
-
plog-admin/_upgrade.php (modified) (9 diffs)
-
plog-admin/css/admin.css (modified) (24 diffs)
-
plog-admin/css/lightbox.css (modified) (1 diff)
-
plog-admin/css/login.css (modified) (4 diffs)
-
plog-admin/css/tabs.css (deleted)
-
plog-admin/images/blue-button-bg.gif (added)
-
plog-admin/images/button-bg.gif (deleted)
-
plog-admin/images/close.gif (deleted)
-
plog-admin/images/green-button-bg.gif (added)
-
plog-admin/images/info.gif (added)
-
plog-admin/images/plogger-box-add-green.png (deleted)
-
plog-admin/images/plogger-box-add.png (deleted)
-
plog-admin/images/success.gif (added)
-
plog-admin/includes/install-form-setup-complete.php (deleted)
-
plog-admin/includes/install-form-setup.php (modified) (5 diffs)
-
plog-admin/includes/install-functions.php (modified) (61 diffs)
-
plog-admin/index.php (modified) (8 diffs)
-
plog-admin/js/plogger.js (modified) (3 diffs)
-
plog-admin/plog-admin-functions.php (modified) (80 diffs)
-
plog-admin/plog-admin.php (modified) (13 diffs)
-
plog-admin/plog-feedback.php (modified) (11 diffs)
-
plog-admin/plog-import.php (modified) (20 diffs)
-
plog-admin/plog-manage.php (modified) (20 diffs)
-
plog-admin/plog-options.php (modified) (5 diffs)
-
plog-admin/plog-plugins.php (added)
-
plog-admin/plog-rpc.php (modified) (7 diffs)
-
plog-admin/plog-themes.php (modified) (3 diffs)
-
plog-admin/plog-thumb.php (modified) (1 diff)
-
plog-admin/plog-thumbpopup.php (modified) (2 diffs)
-
plog-admin/plog-upload.php (modified) (5 diffs)
-
plog-comment.php (moved) (moved from trunk/plog-includes/plog-comment.php) (1 diff)
-
plog-config-sample.php (modified) (1 diff)
-
plog-content/plugins (added)
-
plog-content/plugins/index.php (added)
-
plog-content/plugins/latest-comments (added)
-
plog-content/plugins/latest-comments/latest-comments.php (added)
-
plog-content/plugins/latest-comments/meta.php (added)
-
plog-content/plugins/latest-comments/readme.txt (added)
-
plog-content/plugins/latest-images (added)
-
plog-content/plugins/latest-images/latest-images.php (added)
-
plog-content/plugins/latest-images/meta.php (added)
-
plog-content/plugins/latest-images/readme.txt (added)
-
plog-content/plugins/random-images (added)
-
plog-content/plugins/random-images/meta.php (added)
-
plog-content/plugins/random-images/random-images.php (added)
-
plog-content/plugins/random-images/readme.txt (added)
-
plog-content/themes/air/album.php (modified) (1 diff)
-
plog-content/themes/air/collection.php (modified) (1 diff)
-
plog-content/themes/air/collections.php (modified) (1 diff)
-
plog-content/themes/air/comments.php (modified) (4 diffs)
-
plog-content/themes/air/dynamics.js (modified) (4 diffs)
-
plog-content/themes/air/footer.php (modified) (2 diffs)
-
plog-content/themes/air/gallery.css (modified) (5 diffs)
-
plog-content/themes/air/head.php (modified) (1 diff)
-
plog-content/themes/air/header.php (modified) (1 diff)
-
plog-content/themes/air/meta.php (modified) (1 diff)
-
plog-content/themes/air/picture.php (modified) (5 diffs)
-
plog-content/themes/air/search.php (modified) (1 diff)
-
plog-content/themes/air/slideshow.php (modified) (2 diffs)
-
plog-content/themes/air/theme_functions.php (modified) (1 diff)
-
plog-content/themes/default/album.php (modified) (1 diff)
-
plog-content/themes/default/collection.php (modified) (1 diff)
-
plog-content/themes/default/collections.php (modified) (1 diff)
-
plog-content/themes/default/comments.php (modified) (3 diffs)
-
plog-content/themes/default/dynamics.js (modified) (4 diffs)
-
plog-content/themes/default/footer.php (modified) (2 diffs)
-
plog-content/themes/default/gallery.css (modified) (10 diffs)
-
plog-content/themes/default/images/blue-button-bg.gif (added)
-
plog-content/themes/default/meta.php (modified) (1 diff)
-
plog-content/themes/default/picture.php (modified) (4 diffs)
-
plog-content/themes/default/search.php (modified) (1 diff)
-
plog-content/themes/default/slideshow.php (modified) (3 diffs)
-
plog-content/themes/default/theme_functions.php (modified) (1 diff)
-
plog-content/themes/lucid/album.php (modified) (1 diff)
-
plog-content/themes/lucid/collection.php (modified) (1 diff)
-
plog-content/themes/lucid/collections.php (modified) (1 diff)
-
plog-content/themes/lucid/comments.php (modified) (2 diffs)
-
plog-content/themes/lucid/dynamics.js (modified) (4 diffs)
-
plog-content/themes/lucid/footer.php (modified) (1 diff)
-
plog-content/themes/lucid/gallery.css (modified) (3 diffs)
-
plog-content/themes/lucid/head.php (modified) (1 diff)
-
plog-content/themes/lucid/meta.php (modified) (1 diff)
-
plog-content/themes/lucid/picture.php (modified) (2 diffs)
-
plog-content/themes/lucid/search.php (modified) (1 diff)
-
plog-content/themes/lucid/slideshow.php (modified) (2 diffs)
-
plog-content/themes/lucid/theme_functions.php (modified) (1 diff)
-
plog-download.php (modified) (10 diffs)
-
plog-globals.php (modified) (3 diffs)
-
plog-includes/lib/exifer1_7/exif.php (modified) (29 diffs)
-
plog-includes/lib/exifer1_7/makers/canon.php (modified) (28 diffs)
-
plog-includes/lib/exifer1_7/makers/fujifilm.php (modified) (4 diffs)
-
plog-includes/lib/exifer1_7/makers/gps.php (modified) (8 diffs)
-
plog-includes/lib/exifer1_7/makers/nikon.php (modified) (6 diffs)
-
plog-includes/lib/exifer1_7/makers/olympus.php (modified) (3 diffs)
-
plog-includes/lib/exifer1_7/makers/panasonic.php (modified) (4 diffs)
-
plog-includes/lib/exifer1_7/makers/sanyo.php (modified) (4 diffs)
-
plog-includes/lib/phpthumb/fonts/index.php (added)
-
plog-includes/lib/phpthumb/phpThumb.config.php (modified) (1 diff)
-
plog-includes/plog-captcha.php (modified) (10 diffs)
-
plog-includes/plog-functions.php (modified) (134 diffs)
-
plog-load-config.php (modified) (10 diffs)
-
plog-print.php (modified) (2 diffs)
-
plog-remote.php (modified) (3 diffs)
-
plog-rss.php (modified) (12 diffs)
-
plog-thumb.php (modified) (3 diffs)
-
plog-xml.php (modified) (27 diffs)
-
plogger.php (modified) (9 diffs)
-
readme.html (added)
-
readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LICENSE.txt
r124 r590 1 GNU GENERAL PUBLIC LICENSE 2 Version 2, June 1991 3 4 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 5 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 6 Everyone is permitted to copy and distribute verbatim copies 7 of this license document, but changing it is not allowed. 8 9 Preamble 10 11 The licenses for most software are designed to take away your 12 freedom to share and change it. By contrast, the GNU General Public 13 License is intended to guarantee your freedom to share and change free 14 software--to make sure the software is free for all its users. This 15 General Public License applies to most of the Free Software 16 Foundation's software and to any other program whose authors commit to 17 using it. (Some other Free Software Foundation software is covered by 18 the GNU Library General Public License instead.) You can apply it to 19 your programs, too. 20 21 When we speak of free software, we are referring to freedom, not 22 price. Our General Public Licenses are designed to make sure that you 23 have the freedom to distribute copies of free software (and charge for 24 this service if you wish), that you receive source code or can get it 25 if you want it, that you can change the software or use pieces of it 26 in new free programs; and that you know you can do these things. 27 28 To protect your rights, we need to make restrictions that forbid 29 anyone to deny you these rights or to ask you to surrender the rights. 30 These restrictions translate to certain responsibilities for you if you 1 GNU GENERAL PUBLIC LICENSE 2 Version 2, June 1991 3 4 Copyright (C) 1989, 1991 5 Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 6 7 Everyone is permitted to copy and distribute verbatim copies of this license document, but 8 changing it is not allowed. 9 10 Preamble 11 12 The licenses for most software are designed to take away your freedom to share and change it. 13 By contrast, the GNU General Public License is intended to guarantee your freedom to share and 14 change free software--to make sure the software is free for all its users. This General Public License 15 applies to most of the Free Software Foundation's software and to any other program whose authors 16 commit to using it. (Some other Free Software Foundation software is covered by the GNU Library 17 General Public License instead.) You can apply it to your programs, too. 18 19 When we speak of free software, we are referring to freedom, not price. Our General Public Licenses 20 are designed to make sure that you have the freedom to distribute copies of free software (and charge 21 for this service if you wish), that you receive source code or can get it if you want it, that you can 22 change the software or use pieces of it in new free programs; and that you know you can do these 23 things. 24 25 To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to 26 ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you 31 27 distribute copies of the software, or if you modify it. 32 28 33 For example, if you distribute copies of such a program, whether 34 gratis or for a fee, you must give the recipients all the rights that 35 you have. You must make sure that they, too, receive or can get the 36 source code. And you must show them these terms so they know their 37 rights. 38 39 We protect your rights with two steps: (1) copyright the software, and 40 (2) offer you this license which gives you legal permission to copy, 41 distribute and/or modify the software. 42 43 Also, for each author's protection and ours, we want to make certain 44 that everyone understands that there is no warranty for this free 45 software. If the software is modified by someone else and passed on, we 46 want its recipients to know that what they have is not the original, so 47 that any problems introduced by others will not reflect on the original 48 authors' reputations. 49 50 Finally, any free program is threatened constantly by software 51 patents. We wish to avoid the danger that redistributors of a free 52 program will individually obtain patent licenses, in effect making the 53 program proprietary. To prevent this, we have made it clear that any 54 patent must be licensed for everyone's free use or not licensed at all. 55 56 The precise terms and conditions for copying, distribution and 57 modification follow. 29 For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the 30 recipients all the rights that you have. You must make sure that they, too, receive or can get the 31 source code. And you must show them these terms so they know their rights. 32 33 We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which 34 gives you legal permission to copy, distribute and/or modify the software. 35 36 Also, for each author's protection and ours, we want to make certain that everyone understands that 37 there is no warranty for this free software. If the software is modified by someone else and passed on, 38 we want its recipients to know that what they have is not the original, so that any problems introduced 39 by others will not reflect on the original authors' reputations. 40 41 Finally, any free program is threatened constantly by software patents. We wish to avoid the danger 42 that redistributors of a free program will individually obtain patent licenses, in effect making the program 43 proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free 44 use or not licensed at all. 45 46 The precise terms and conditions for copying, distribution and modification follow. 47 48 GNU GENERAL PUBLIC LICENSE 49 50 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 51 52 0. This License applies to any program or other work which contains a notice placed by the copyright 53 holder saying it may be distributed under the terms of this General Public License. The "Program", below, 54 refers to any such program or work, and a "work based on the Program" means either the Program or 55 any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, 56 either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is 57 included without limitation in the term "modification".) Each licensee is addressed as "you". 58 59 Activities other than copying, distribution and modification are not covered by this License; they are 60 outside its scope. The act of running the Program is not restricted, and the output from the Program 61 is covered only if its contents constitute a work based on the Program (independent of having been 62 made by running the Program). Whether that is true depends on what the Program does. 63 64 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any 65 medium, provided that you conspicuously and appropriately publish on each copy an appropriate copy- 66 right notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the 67 absence of any warranty; and give any other recipients of the Program a copy of this License along with 68 the Program. 58 69 59 GNU GENERAL PUBLIC LICENSE 60 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 61 62 0. This License applies to any program or other work which contains 63 a notice placed by the copyright holder saying it may be distributed 64 under the terms of this General Public License. The "Program", below, 65 refers to any such program or work, and a "work based on the Program" 66 means either the Program or any derivative work under copyright law: 67 that is to say, a work containing the Program or a portion of it, 68 either verbatim or with modifications and/or translated into another 69 language. (Hereinafter, translation is included without limitation in 70 the term "modification".) Each licensee is addressed as "you". 71 72 Activities other than copying, distribution and modification are not 73 covered by this License; they are outside its scope. The act of 74 running the Program is not restricted, and the output from the Program 75 is covered only if its contents constitute a work based on the 76 Program (independent of having been made by running the Program). 77 Whether that is true depends on what the Program does. 78 79 1. You may copy and distribute verbatim copies of the Program's 80 source code as you receive it, in any medium, provided that you 81 conspicuously and appropriately publish on each copy an appropriate 82 copyright notice and disclaimer of warranty; keep intact all the 83 notices that refer to this License and to the absence of any warranty; 84 and give any other recipients of the Program a copy of this License 85 along with the Program. 86 87 You may charge a fee for the physical act of transferring a copy, and 88 you may at your option offer warranty protection in exchange for a fee. 89 90 2. You may modify your copy or copies of the Program or any portion 91 of it, thus forming a work based on the Program, and copy and 92 distribute such modifications or work under the terms of Section 1 93 above, provided that you also meet all of these conditions: 94 95 a) You must cause the modified files to carry prominent notices 96 stating that you changed the files and the date of any change. 97 98 b) You must cause any work that you distribute or publish, that in 99 whole or in part contains or is derived from the Program or any 100 part thereof, to be licensed as a whole at no charge to all third 101 parties under the terms of this License. 102 103 c) If the modified program normally reads commands interactively 104 when run, you must cause it, when started running for such 105 interactive use in the most ordinary way, to print or display an 106 announcement including an appropriate copyright notice and a 107 notice that there is no warranty (or else, saying that you provide 108 a warranty) and that users may redistribute the program under 109 these conditions, and telling the user how to view a copy of this 110 License. (Exception: if the Program itself is interactive but 111 does not normally print such an announcement, your work based on 112 the Program is not required to print an announcement.) 70 You may charge a fee for the physical act of transferring a copy, and you may at your option offer 71 warranty protection in exchange for a fee. 72 73 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based 74 on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, 75 provided that you also meet all of these conditions: 76 77 a) You must cause the modified files to carry prominent notices stating that you changed the files 78 and the date of any change. 79 80 b) You must cause any work that you distribute or publish, that in whole or in part contains or is 81 derived from the Program or any part thereof, to be licensed as a whole at no charge to all third 82 parties under the terms of this License. 83 84 c) If the modified program normally reads commands interactively when run, you must cause it, 85 when running for such interactive use in the most ordinary way, to print or display an announcement 86 including an appropriate copyright notice and a notice that there is no warranty (or else, saying that 87 you provide a warranty) and that users may redistribute the program under these conditions, and telling 88 the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not 89 normally print such an announcement, your work based on the Program is not required to print an 90 announcement.) 91 92 These requirements apply to the modified work as a whole. If identifiable sections of that work are not 93 derived from the Program, and can be reasonably considered independent and separate works in themselves, 94 then this License, and its terms, do not apply to those sections when you distribute them as separate works. 95 But when you distribute the same sections as part of a whole which is a work based on the Program, the 96 distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to 97 the entire whole, and thus to each and every part regardless of who wrote it. 98 99 Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; 100 rather, the intent is to exercise the right to control the distribution of derivative or collective works based on 101 the Program. 102 103 In addition, mere aggregation of another work not based on the Program with the Program (or with a work 104 based on the Program) on a volume of a storage or distribution medium does not bring the other work under 105 the scope of this License. 106 107 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or 108 executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: 109 110 a) Accompany it with the complete corresponding machine-readable source code, which must be 111 distributed under the terms of Sections 1 and 2 above on a medium customarily used for software 112 interchange; or, 113 114 b) Accompany it with a written offer, valid for at least three years, to give any third party, for a 115 charge no more than your cost of physically performing source distribution, a complete machine-readable 116 copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on 117 a medium customarily used for software interchange; or, 118 119 c) Accompany it with the information you received as to the offer to distribute corresponding source code. 120 (This alternative is allowed only for noncommercial distribution and only if you received the program in 121 object code or executable form with such an offer, in accord with Subsection b above.) 122 123 The source code for a work means the preferred form of the work for making modifications to it. For an execu- 124 table work, complete source code means all the source code for all modules it contains, plus any associated 125 interface definition files, plus the scripts used to control compilation and installation of the executable. However, 126 as a special exception, the source code distributed need not include anything that is normally distributed (in 127 either source or binary form) with the major components (compiler, kernel, and so on) of the operating system 128 on which the executable runs, unless that component itself accompanies the executable. 129 130 If distribution of executable or object code is made by offering access to copy from a designated place, then 131 offering equivalent access to copy the source code from the same place counts as distribution of the source 132 code, even though third parties are not compelled to copy the source along with the object code. 133 134 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this 135 License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will auto- 136 matically terminate your rights under this License. However, parties who have received copies, or rights, from 137 you under this License will not have their licenses terminated so long as such parties remain in full compliance. 113 138 114 These requirements apply to the modified work as a whole. If 115 identifiable sections of that work are not derived from the Program, 116 and can be reasonably considered independent and separate works in 117 themselves, then this License, and its terms, do not apply to those 118 sections when you distribute them as separate works. But when you 119 distribute the same sections as part of a whole which is a work based 120 on the Program, the distribution of the whole must be on the terms of 121 this License, whose permissions for other licensees extend to the 122 entire whole, and thus to each and every part regardless of who wrote it. 123 124 Thus, it is not the intent of this section to claim rights or contest 125 your rights to work written entirely by you; rather, the intent is to 126 exercise the right to control the distribution of derivative or 127 collective works based on the Program. 128 129 In addition, mere aggregation of another work not based on the Program 130 with the Program (or with a work based on the Program) on a volume of 131 a storage or distribution medium does not bring the other work under 132 the scope of this License. 133 134 3. You may copy and distribute the Program (or a work based on it, 135 under Section 2) in object code or executable form under the terms of 136 Sections 1 and 2 above provided that you also do one of the following: 137 138 a) Accompany it with the complete corresponding machine-readable 139 source code, which must be distributed under the terms of Sections 140 1 and 2 above on a medium customarily used for software interchange; or, 141 142 b) Accompany it with a written offer, valid for at least three 143 years, to give any third party, for a charge no more than your 144 cost of physically performing source distribution, a complete 145 machine-readable copy of the corresponding source code, to be 146 distributed under the terms of Sections 1 and 2 above on a medium 147 customarily used for software interchange; or, 148 149 c) Accompany it with the information you received as to the offer 150 to distribute corresponding source code. (This alternative is 151 allowed only for noncommercial distribution and only if you 152 received the program in object code or executable form with such 153 an offer, in accord with Subsection b above.) 154 155 The source code for a work means the preferred form of the work for 156 making modifications to it. For an executable work, complete source 157 code means all the source code for all modules it contains, plus any 158 associated interface definition files, plus the scripts used to 159 control compilation and installation of the executable. However, as a 160 special exception, the source code distributed need not include 161 anything that is normally distributed (in either source or binary 162 form) with the major components (compiler, kernel, and so on) of the 163 operating system on which the executable runs, unless that component 164 itself accompanies the executable. 165 166 If distribution of executable or object code is made by offering 167 access to copy from a designated place, then offering equivalent 168 access to copy the source code from the same place counts as 169 distribution of the source code, even though third parties are not 170 compelled to copy the source along with the object code. 139 5. You are not required to accept this License, since you have not signed it. However, nothing else grants 140 you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law 141 if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on 142 the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for 143 copying, distributing or modifying the Program or works based on it. 144 145 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically 146 receives a license from the original licensor to copy, distribute or modify the Program subject to these terms 147 and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted 148 herein. You are not responsible for enforcing compliance by third parties to this License. 149 150 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not 151 limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that 152 contradict the conditions of this License, they do not excuse you from the conditions of this License. If you 153 cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent 154 obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license 155 would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly 156 through you, then the only way you could satisfy both it and this License would be to refrain entirely from 157 distribution of the Program. 158 159 If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance 160 of the section is intended to apply and the section as a whole is intended to apply in other circumstances. 161 162 It is not the purpose of this section to induce you to infringe any patents or other property right claims or to 163 contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free 164 software distribution system, which is implemented by public license practices. Many people have made generous 165 contributions to the wide range of software distributed through that system in reliance on consistent application 166 of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any 167 other system and a licensee cannot impose that choice. 168 169 This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this 170 License. 171 172 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by 173 copyrighted interfaces, the original copyright holder who places the Program under this License may add an 174 explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or 175 among countries not thus excluded. In such case, this License incorporates the limitation as if written in the 176 body of this License. 177 178 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from 179 time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address 180 new problems or concerns. 181 182 Each version is given a distinguishing version number. If the Program specifies a version number of this License 183 which applies to it and "any later version", you have the option of following the terms and conditions either of 184 that version or of any later version published by the Free Software Foundation. If the Program does not specify 185 a version number of this License, you may choose any version ever published by the Free Software Foundation. 186 187 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are 188 different, write to the author to ask for permission. For software which is copyrighted by the Free Software 189 Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will 190 be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting 191 the sharing and reuse of software generally. 192 193 NO WARRANTY 194 195 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO 196 THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 197 HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER 198 EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 199 AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE 200 PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY 201 SERVICING, REPAIR OR CORRECTION. 171 202 172 4. You may not copy, modify, sublicense, or distribute the Program 173 except as expressly provided under this License. Any attempt 174 otherwise to copy, modify, sublicense or distribute the Program is 175 void, and will automatically terminate your rights under this License. 176 However, parties who have received copies, or rights, from you under 177 this License will not have their licenses terminated so long as such 178 parties remain in full compliance. 179 180 5. You are not required to accept this License, since you have not 181 signed it. However, nothing else grants you permission to modify or 182 distribute the Program or its derivative works. These actions are 183 prohibited by law if you do not accept this License. Therefore, by 184 modifying or distributing the Program (or any work based on the 185 Program), you indicate your acceptance of this License to do so, and 186 all its terms and conditions for copying, distributing or modifying 187 the Program or works based on it. 188 189 6. Each time you redistribute the Program (or any work based on the 190 Program), the recipient automatically receives a license from the 191 original licensor to copy, distribute or modify the Program subject to 192 these terms and conditions. You may not impose any further 193 restrictions on the recipients' exercise of the rights granted herein. 194 You are not responsible for enforcing compliance by third parties to 195 this License. 196 197 7. If, as a consequence of a court judgment or allegation of patent 198 infringement or for any other reason (not limited to patent issues), 199 conditions are imposed on you (whether by court order, agreement or 200 otherwise) that contradict the conditions of this License, they do not 201 excuse you from the conditions of this License. If you cannot 202 distribute so as to satisfy simultaneously your obligations under this 203 License and any other pertinent obligations, then as a consequence you 204 may not distribute the Program at all. For example, if a patent 205 license would not permit royalty-free redistribution of the Program by 206 all those who receive copies directly or indirectly through you, then 207 the only way you could satisfy both it and this License would be to 208 refrain entirely from distribution of the Program. 209 210 If any portion of this section is held invalid or unenforceable under 211 any particular circumstance, the balance of the section is intended to 212 apply and the section as a whole is intended to apply in other 213 circumstances. 214 215 It is not the purpose of this section to induce you to infringe any 216 patents or other property right claims or to contest validity of any 217 such claims; this section has the sole purpose of protecting the 218 integrity of the free software distribution system, which is 219 implemented by public license practices. Many people have made 220 generous contributions to the wide range of software distributed 221 through that system in reliance on consistent application of that 222 system; it is up to the author/donor to decide if he or she is willing 223 to distribute software through any other system and a licensee cannot 224 impose that choice. 225 226 This section is intended to make thoroughly clear what is believed to 227 be a consequence of the rest of this License. 228 229 8. If the distribution and/or use of the Program is restricted in 230 certain countries either by patents or by copyrighted interfaces, the 231 original copyright holder who places the Program under this License 232 may add an explicit geographical distribution limitation excluding 233 those countries, so that distribution is permitted only in or among 234 countries not thus excluded. In such case, this License incorporates 235 the limitation as if written in the body of this License. 236 237 9. The Free Software Foundation may publish revised and/or new versions 238 of the General Public License from time to time. Such new versions will 239 be similar in spirit to the present version, but may differ in detail to 240 address new problems or concerns. 241 242 Each version is given a distinguishing version number. If the Program 243 specifies a version number of this License which applies to it and "any 244 later version", you have the option of following the terms and conditions 245 either of that version or of any later version published by the Free 246 Software Foundation. If the Program does not specify a version number of 247 this License, you may choose any version ever published by the Free Software 248 Foundation. 249 250 10. If you wish to incorporate parts of the Program into other free 251 programs whose distribution conditions are different, write to the author 252 to ask for permission. For software which is copyrighted by the Free 253 Software Foundation, write to the Free Software Foundation; we sometimes 254 make exceptions for this. Our decision will be guided by the two goals 255 of preserving the free status of all derivatives of our free software and 256 of promoting the sharing and reuse of software generally. 257 258 NO WARRANTY 259 260 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 261 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 262 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 263 PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 264 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 265 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 266 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 267 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 268 REPAIR OR CORRECTION. 269 270 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 271 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 272 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 273 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 274 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 275 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 276 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 277 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 278 POSSIBILITY OF SUCH DAMAGES. 279 280 END OF TERMS AND CONDITIONS 281 282 How to Apply These Terms to Your New Programs 283 284 If you develop a new program, and you want it to be of the greatest 285 possible use to the public, the best way to achieve this is to make it 286 free software which everyone can redistribute and change under these terms. 287 288 To do so, attach the following notices to the program. It is safest 289 to attach them to the start of each source file to most effectively 290 convey the exclusion of warranty; and each file should have at least 291 the "copyright" line and a pointer to where the full notice is found. 292 293 <one line to give the program's name and a brief idea of what it does.> 294 Copyright (C) <year> <name of author> 295 296 This program is free software; you can redistribute it and/or modify 297 it under the terms of the GNU General Public License as published by 298 the Free Software Foundation; either version 2 of the License, or 299 (at your option) any later version. 300 301 This program is distributed in the hope that it will be useful, 302 but WITHOUT ANY WARRANTY; without even the implied warranty of 303 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 304 GNU General Public License for more details. 305 306 You should have received a copy of the GNU General Public License 307 along with this program; if not, write to the Free Software 308 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 309 310 311 Also add information on how to contact you by electronic and paper mail. 312 313 If the program is interactive, make it output a short notice like this 314 when it starts in an interactive mode: 315 316 Gnomovision version 69, Copyright (C) year name of author 317 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 318 This is free software, and you are welcome to redistribute it 319 under certain conditions; type `show c' for details. 320 321 The hypothetical commands `show w' and `show c' should show the appropriate 322 parts of the General Public License. Of course, the commands you use may 323 be called something other than `show w' and `show c'; they could even be 324 mouse-clicks or menu items--whatever suits your program. 325 326 You should also get your employer (if you work as a programmer) or your 327 school, if any, to sign a "copyright disclaimer" for the program, if 328 necessary. Here is a sample; alter the names: 329 330 Yoyodyne, Inc., hereby disclaims all copyright interest in the program 331 `Gnomovision' (which makes passes at compilers) written by James Hacker. 332 333 <signature of Ty Coon>, 1 April 1989 334 Ty Coon, President of Vice 335 336 This General Public License does not permit incorporating your program into 337 proprietary programs. If your program is a subroutine library, you may 338 consider it more useful to permit linking proprietary applications with the 339 library. If this is what you want to do, use the GNU Library General 340 Public License instead of this License. 203 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT 204 HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, 205 BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES 206 ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA 207 OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE 208 PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN 209 ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 210 211 END OF TERMS AND CONDITIONS -
trunk/gallery.php
r588 r590 1 1 <?php 2 2 /* This is a backwords compatible file to make old installations work correctly */ 3 include_once(dirname(__FILE__). "/plogger.php");3 include_once(dirname(__FILE__).'/plogger.php'); 4 4 5 5 function the_gallery_head() { -
trunk/index.php
r573 r590 19 19 */ 20 20 ?> 21 <?php require( "plogger.php"); ?>21 <?php require('plogger.php'); ?> 22 22 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 23 23 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -
trunk/plog-admin/_install.php
r588 r590 1 1 <?php 2 if (is_file(dirname(dirname(__FILE__)).'/plog-config.php')) { 3 require_once(dirname(dirname(__FILE__)).'/plog-config.php'); 4 } 2 5 include_once(dirname(dirname(__FILE__)).'/plog-globals.php'); 3 @include_once(PLOGGER_DIR.'plog-config.php');4 6 include_once(PLOGGER_DIR.'plog-includes/plog-functions.php'); 5 7 include_once(PLOGGER_DIR.'plog-admin/includes/install-functions.php'); … … 13 15 header('Content-type: application/octet-stream'); 14 16 header('Content-Disposition: attachment; filename="plog-config.php"'); 15 print$_SESSION['plogger_config'];17 echo $_SESSION['plogger_config']; 16 18 exit(); 17 }18 19 // Create the SQL tables and try to proceed to the admin interface.20 // Only proceeds if the configuration is set.21 if (!empty($_POST['proceed']) && defined('PLOGGER_DB_HOST')) {22 $mysql = check_mysql(PLOGGER_DB_HOST, PLOGGER_DB_USER, PLOGGER_DB_PW, PLOGGER_DB_NAME);23 if (empty($mysql)) {24 create_tables();25 configure_plogger($_SESSION['install_values']); // undefined index install_values26 include_once(PLOGGER_DIR.'plog-load-config.php');27 $col = add_collection(plog_tr("Plogger test collection"), plog_tr("Feel free to delete it"));28 // only attempt to create an album if the collection was created - sloppy fix for multiple installs29 if (!empty($col['id'])) {30 $alb = add_album(plog_tr("Plogger test album"), plog_tr("feel free to delete it"), $col['id']);31 }32 unset($_SESSION['plogger_config']);33 unset($_SESSION['install_values']);34 // send to login, redirecting to the Admin -> Options page first35 header("Location: index.php?r=plog-options.php");36 exit;37 } else {38 echo "There was an error with the MySQL connection!";39 }40 19 } 41 20 ?> … … 44 23 <html xmlns="http://www.w3.org/1999/xhtml"> 45 24 <head> 46 <title> Install Plogger</title>25 <title>Plogger <?php echo plog_tr('Gallery | Install') ?></title> 47 26 <meta http-equiv="Content-Type" content="txt/html; charset=utf-8" /> 48 27 <link rel="stylesheet" type="text/css" href="css/admin.css" /> … … 60 39 // if not installed, do the installation 61 40 if (!$installed) { 41 // if not told to proceed, do the configuration setup 62 42 if (empty($_POST['proceed'])) { 63 do_install($_POST); 64 } else { 65 require(PLOGGER_DIR.'plog-admin/includes/install-form-setup-complete.php'); 43 $configured = do_install($_POST); 44 } 45 // if setup configuration done, do the install 46 if (isset($_POST['proceed']) || $configured) { 47 // if not DB information not defined, prompt the user to download the plog-config.php file 48 if (!defined('PLOGGER_DB_HOST')) { 49 echo "\n\n\t" . '<h1>'.plog_tr('Plogger Configuration Complete').'</h1>'; 50 echo "\n\n\t" . '<form action="_install.php" method="post">'; 51 echo "\n\n\t\t" . '<p>'.plog_tr('Configuration setup is now complete.').'</p>'; 52 echo "\n\n\t\t" . '<p>'.plog_tr('Click <strong>Install</strong> to complete the installation.').'</p>'; 53 if (!empty($_SESSION['plogger_config'])) { 54 echo "\n\n\t\t" . '<p>'.sprintf(plog_tr('Before you can proceed, please %s to download configuration file for your gallery, then upload it to your webhost (into the same directory where you installed Plogger itself).'), '<input type="submit" class="submit-inline" name="dlconfig" value="'.plog_tr('click here').'" />').'</p>'; 55 } 56 echo "\n\n\t" . '<p><input type="submit" class="submit" name="proceed" id="proceed" value="'.plog_tr('Install').'" /></p>'; 57 // otherwise, do the install 58 } else { 59 $errors = array(); 60 $mysql = check_mysql(PLOGGER_DB_HOST, PLOGGER_DB_USER, PLOGGER_DB_PW, PLOGGER_DB_NAME); 61 if (empty($mysql)) { 62 create_tables(); 63 configure_plogger($_SESSION['install_values']); // undefined index install_values 64 include_once(PLOGGER_DIR.'plog-load-config.php'); 65 // if open permissions, have plogger fix them 66 if (isset($_SESSION['plogger_close_perms'])) { 67 fix_open_perms($_SESSION['plogger_close_perms'], 'delete'); 68 } 69 $col = add_collection(plog_tr('Plogger Test Collection'), plog_tr('Feel free to delete it')); 70 // only attempt to create an album if the collection was created - sloppy fix for multiple installs 71 if (!empty($col['id'])) { 72 $alb = add_album(plog_tr('Plogger Test Album'), plog_tr('Feel free to delete it'), $col['id']); 73 } 74 } else { 75 echo plog_tr('There was an error with the MySQL connection').'!'; 76 } 77 // if no errors, tell the user their login and password and link them to the login 78 if (empty($errors)) { 79 echo "\n\n\t" . '<h1>'.plog_tr('Plogger Install Complete').'</h1>'; 80 echo "\n\n\t" . '<p class="info">'.plog_tr('You have successfully installed Plogger!').'<br /><br />'; 81 echo "\n\n\t" . sprintf(plog_tr('Your username is %s and your password is %s'), '<strong>'.$_SESSION['install_values']['admin_username'].'</strong>', '<strong>'.$_SESSION['install_values']['admin_password'].'</strong>'); 82 echo "\n\n\t" . '</p>'; 83 if (is_open_perms(PLOGGER_DIR.'plog-content/')) { 84 echo "\n\n\t" . '<p class="actions">'.sprintf(plog_tr('You can now CHMOD the %s directory back to 0755'), '<strong>plog-content/</strong>').'.</p>'; 85 } 86 echo "\n\n\t" . '<form action="index.php?r=plog-options.php" method="post">'; 87 echo "\n\t\t" . '<p><input class="submit" type="submit" name="login" value="'.plog_tr('Log In').'" /></p>'; 88 echo "\n\t" . '</form>'. "\n"; 89 unset($_SESSION['plogger_config']); 90 unset($_SESSION['install_values']); 91 } else { 92 // else display the errors 93 } 94 } 66 95 } 67 96 } else { 68 echo $installed; 97 // otherwise it's installed 98 echo '<p>'.plog_tr('Plogger is already installed').'</p>'; 69 99 } 100 close_db(); 101 close_ftp(); 70 102 ?> 71 103 -
trunk/plog-admin/_upgrade.php
r588 r590 1 1 <?php 2 if (is_file(dirname(dirname(__FILE__)).'/plog-config.php')) { 3 require_once(dirname(dirname(__FILE__)).'/plog-config.php'); 4 } 2 5 include(dirname(dirname(__FILE__)).'/plog-globals.php'); 3 @include(PLOGGER_DIR.'plog-config.php');4 include(PLOGGER_DIR.'plog-admin/plog-admin-functions.php');5 6 include(PLOGGER_DIR.'plog-admin/includes/install-functions.php'); 6 7 error_reporting(E_ALL); … … 28 29 // if we are upgrading from 1.0beta1, we do not yet have a valid plog-config.php file 29 30 if (!$beta1) { 30 // now we can include the functions 31 // now we can include the functions - conflict with run_query function in beta 1's plog-connect.php file 31 32 include(PLOGGER_DIR.'plog-includes/plog-functions.php'); 32 33 // make sure Plogger is installed first 33 34 if (!is_plogger_installed()) { 34 35 // if Plogger does not seem to be installed, redirect to _install.php 35 header( "Location: _install.php");36 header('Location: _install.php'); 36 37 } else { 37 38 // if installed, check for safe_mode and if enabled, check for FTP workaround 38 if (i ni_get('safe_mode') && function_exists('ftp_connect')) {39 if (is_safe_mode()) { 39 40 //set up the FTP workaround information if prompted 40 41 if (isset($_POST['ftp_host'])) { … … 90 91 $errors = check_requirements(); 91 92 if (sizeof($errors) > 0) { 92 echo "\n\t" .'<p class="errors">'.plog_tr('Plogger cannot be upgraded until the following problems are resolved').':</p>';93 echo "\n\n\t\t" .'<ul class="info">';93 echo "\n\t" . '<p class="errors">'.plog_tr('Plogger cannot be upgraded until the following problems are resolved').':</p>'; 94 echo "\n\n\t\t" . '<ul class="info">'; 94 95 foreach($errors as $error) { 95 echo "\n\t\t\t" .'<li>' . $error .'</li>';96 echo "\n\t\t\t" . '<li class="margin-5">'.$error.'</li>'; 96 97 } 97 echo "\n\t\t" .'</ul>';98 echo "\n\n\t\t" .'<form method="get" action="'.$_SERVER['REQUEST_URI'].'">98 echo "\n\t\t" . '</ul>'; 99 echo "\n\n\t\t" . '<form method="get" action="'.$_SERVER['REQUEST_URI'].'"> 99 100 <p><input class="submit" type="submit" value="'.plog_tr('Try again').'" /></p> 100 </form>' ."\n";101 </form>' . "\n"; 101 102 } else { // end of requirement check 102 103 $errors = ""; 103 104 104 echo "\n" .'<h1>'.plog_tr('Upgrading Plogger').'</h1>';105 echo "\n" . '<h1>'.plog_tr('Upgrading Plogger').'</h1>'; 105 106 106 107 switch ($step) { … … 109 110 if ($beta1) { 110 111 // include the old sql database info and create a new plog-config.php file with it 111 include (PLOGGER_DIR.'plog-connect.php');112 include_once(PLOGGER_DIR.'plog-connect.php'); 112 113 $conf = create_config_file($DB_HOST, $DB_USER, $DB_PW, $DB_NAME); 113 114 // serve the config file and ask user to upload it to webhost 114 115 $_SESSION['plogger_config'] = $conf; 115 echo "\n\n\t" .'<h2 class="upgrade">'.plog_tr('Updating Configuration').'</h2>';116 echo "\n\n\t\t" .'<p>'.plog_tr('It appears you are updating from Plogger 1.0beta1. Your configuration file needs to be updated.').'</p>';117 echo "\n\n\t\t" .'<form action="_upgrade.php" method="post">';118 echo "\n\n\t\t\t" .'<p>'.sprintf( plog_tr('Before you can proceed, please %s to download the configuration file for your gallery, then upload it to your webhost (into the same directory where you installed Plogger itself).'), '<input class="submit-inline" type="submit" name="dlconfig" value="'.plog_tr('click here').'" />').'</p>';119 echo "\n\n\t\t\t" .'<p><input class="submit" type="submit" name="continue" id="continue" value="'.plog_tr('Continue').'..." /></p>';120 echo "\n\n\t\t" .'</form>'."\n";116 echo "\n\n\t" . '<h2 class="upgrade">'.plog_tr('Updating Configuration').'</h2>'; 117 echo "\n\n\t\t" . '<p>'.plog_tr('It appears you are updating from Plogger 1.0beta1. Your configuration file needs to be updated.').'</p>'; 118 echo "\n\n\t\t" . '<form action="_upgrade.php" method="post">'; 119 echo "\n\n\t\t\t" . '<p>'.sprintf(plog_tr('Before you can proceed, please %s to download the configuration file for your gallery, then upload it to your webhost (into the same directory where you installed Plogger itself).'), '<input class="submit-inline" type="submit" name="dlconfig" value=" '.plog_tr('click here').'" />') . '</p>'; 120 echo "\n\n\t\t\t" . '<p><input class="submit" type="submit" name="continue" id="continue" value=" '.plog_tr('Continue').'..." /></p>'; 121 echo "\n\n\t\t" . '</form>' . "\n"; 121 122 break; 122 123 } else if ($needs_ftp) { … … 124 125 // handle errors and include the information form 125 126 if (!empty($ftp_errors)) { 126 echo "\n\n\t\t" .'<ul class="errors" style="background-image: none;">';127 echo "\n\n\t\t" . '<ul class="errors" style="background-image: none;">'; 127 128 foreach ($ftp_errors as $value) { 128 echo "\n\t\t\t" .'<li>'.$value.'</li>';129 } 130 echo "\n\t\t" .'</ul>';129 echo "\n\t\t\t" . '<li class="margin-5">'.$value.'</li>'; 130 } 131 echo "\n\t\t" . '</ul>'; 131 132 } 132 133 include(PLOGGER_DIR.'plog-admin/includes/install-form-setup.php'); … … 138 139 $return = upgrade_database(); 139 140 if (!empty($return)) { 140 echo "\n\n\t" .'<h2 class="upgrade">'.plog_tr('Updating Database').'</h2>';141 echo "\n\n\t\t" .'<ul class="info">';141 echo "\n\n\t" . '<h2 class="upgrade">'.plog_tr('Updating Database').'</h2>'; 142 echo "\n\n\t\t" . '<ul class="info">'; 142 143 foreach ($return as $value) { 143 echo "\n\t\t\t" .'<li>'.$value.'</li>';144 } 145 echo "\n\t\t" .'</ul>';146 echo "\n\n\t" .'<h2 class="upgrade">'.plog_tr('Done with database upgrade!').'</h2>';147 echo "\n\n\t" .'<form action="_upgrade.php?step=2" method="post">';148 echo "\n\t\t" .'<p><input class="submit" type="submit" name="next" value="'.plog_tr('Next Step').' »" /></p>';149 echo "\n\t" .'</form>'."\n";150 break; 151 } 152 153 // step 2 - move images and uploads to new locations144 echo "\n\t\t\t" . '<li class="margin-5">'.$value.'</li>'; 145 } 146 echo "\n\t\t" . '</ul>'; 147 echo "\n\n\t" . '<h2 class="upgrade">'.plog_tr('Done with database upgrade!').'</h2>'; 148 echo "\n\n\t" . '<form action="_upgrade.php?step=2" method="post">'; 149 echo "\n\t\t" . '<p><input class="submit" type="submit" name="next" value="'.plog_tr('Next Step').' »" /></p>'; 150 echo "\n\t" . '</form>' . "\n"; 151 break; 152 } 153 154 // step 2 - move images, albums, collections, and uploads to new locations 154 155 case 2: 155 156 // load the config file 156 157 include_once(PLOGGER_DIR.'plog-load-config.php'); 158 // check if we need to rename the directories due to permissions to force the re-creation of images/ and thumbs/ 159 if (isset($_SESSION['plogger_close_perms'])) { 160 fix_open_perms($_SESSION['plogger_close_perms']); 161 } 157 162 $upgrade_images = upgrade_image_list(); 158 163 if ($upgrade_images['total'] > 0 || isset($_POST['upgrade-images'])) { 159 164 $selects = array('5' => 5, '10' => 10, '25' => 25, '50' => 50, '75' => 75, '100' => 100, '0' => plog_tr('All at once')); 160 echo "\n\n\t" .'<h2 class="upgrade">'.plog_tr('Updating Images').'</h2>';165 echo "\n\n\t" . '<h2 class="upgrade">'.plog_tr('Updating Images').'</h2>'; 161 166 if (!isset($_POST['upgrade-images'])) { 162 echo "\n\n\t" .'<p class="actions">'.sprintf( plog_tr('Plogger needs to restructure %s images'), '<strong>'.$upgrade_images['total'].'</strong>').'</p>';163 echo "\n\n\t" .'<form action="_upgrade.php?step=2" method="post">';167 echo "\n\n\t" . '<p class="actions">'.sprintf(plog_tr('Plogger needs to restructure %s items'), '<strong>'.$upgrade_images['total'].'</strong>') . '</p>'; 168 echo "\n\n\t" . '<form action="_upgrade.php?step=2" method="post">'; 164 169 echo "\n\n\t<p>".plog_tr('Number of images to update per cycle').': '; 165 echo "\n\t\t" .'<select name="num-images">';170 echo "\n\t\t" . '<select name="num-images">'; 166 171 foreach ($selects as $key => $value) { 167 172 $selected = ($key == 0) ? ' selected="selected"' : ''; 168 echo "\n\t\t\t" .'<option value="'.$key.'"'.$selected.'>'.$value.'</option>';169 } 170 echo "\n\t\t" .'</select>';171 echo "\n\t" .'</p>';172 echo "\n\n\t\t<p>* ".sprintf( plog_tr('change this if you have a lot of imagesor if you run into issues with bandwidth or server timeout issues. (i.e. %s which is currently set to %s)'), '<a target="_blank" href="http://www.php.net/manual/en/ref.info.php#ini.max-execution-time">max_execution_time</a>', '<strong>'.ini_get('max_execution_time').' s</strong>').'</p>';173 echo "\n\n\t\t" .'<p><input type="hidden" id="upgrade-images" name="upgrade-images" value="1" />';174 echo "\n\t\t" .'<input class="submit" type="submit" name="continue" value="'.plog_tr('Continue').'..." /></p>';175 echo "\n\n\t" .'</form>'."\n";173 echo "\n\t\t\t" . '<option value="'.$key.'"'.$selected.'>'.$value.'</option>'; 174 } 175 echo "\n\t\t" . '</select>'; 176 echo "\n\t" . '</p>'; 177 echo "\n\n\t\t<p>* ".sprintf(plog_tr('change this if you have a lot of images, or if you run into issues with bandwidth or server timeout issues. (i.e. %s which is currently set to %s)'), '<a target="_blank" href="http://www.php.net/manual/en/ref.info.php#ini.max-execution-time">max_execution_time</a>', '<strong>'.ini_get('max_execution_time').' s</strong>').'</p>'; 178 echo "\n\n\t\t" . '<p><input type="hidden" id="upgrade-images" name="upgrade-images" value="1" />'; 179 echo "\n\t\t" . '<input class="submit" type="submit" name="continue" value="'.plog_tr('Continue').'..." /></p>'; 180 echo "\n\n\t" . '</form>' . "\n"; 176 181 } else { 177 182 $num_images = (isset($_POST['num-images']) && $_POST['num-images'] > 0) ? $_POST['num-images'] : $upgrade_images['total']; 178 183 $return = upgrade_images($num_images, $upgrade_images); 179 184 if (!empty($return['errors'])) { 180 echo "\n\n\t" .'<p class="errors">'.plog_tr('Plogger was unable to move the following images. Please check your permissions.').'</p>';181 echo "\n\n\t\t" .'<ul class="info">';185 echo "\n\n\t" . '<p class="errors">'.plog_tr('Plogger was unable to move the following images. Please check your permissions.').'</p>'; 186 echo "\n\n\t\t" . '<ul class="info">'; 182 187 foreach ($return['errors'] as $value) { 183 echo "\n\t\t\t" .'<li>'.$value.'</li>';184 } 185 echo "\n\t\t" .'</ul>';188 echo "\n\t\t\t" . '<li class="margin-5">'.$value.'</li>'; 189 } 190 echo "\n\t\t" . '</ul>'; 186 191 } 187 192 if (!empty($return['output'])) { 188 echo "\n\n\t" .'<p class="actions">'.plog_tr('Plogger was able to move the following images').':</p>';189 echo "\n\n\t\t" .'<ul class="info">';193 echo "\n\n\t" . '<p class="actions">'.plog_tr('Plogger was able to move the following images').':</p>'; 194 echo "\n\n\t\t" . '<ul class="info">'; 190 195 foreach ($return['output'] as $value) { 191 echo "\n\t\t\t" .'<li>'.$value.'</li>';192 } 193 echo "\n\t\t" .'</ul>';196 echo "\n\t\t\t" . '<li class="margin-5">'.$value.'</li>'; 197 } 198 echo "\n\t\t" . '</ul>'; 194 199 } 195 200 if ($return['count'] == $upgrade_images['total']) { 196 echo "\n\n\t".'<h2 class="upgrade">'.plog_tr('Done with image restructure!').'</h2>'; 197 echo "\n\n\t".'<form action="_upgrade.php?step=3" method="post">'; 198 echo "\n\t\t".'<p><input class="submit" type="submit" name="next" value="'.plog_tr('Next Step').' »" /></p>'; 199 echo "\n\t".'</form>'."\n"; 201 echo "\n\n\t" . '<h2 class="upgrade">'.plog_tr('Done with image restructure').'!</h2>'; 202 echo "\n\n\t" . '<form action="_upgrade.php?step=3" method="post">'; 203 echo "\n\t\t" . '<p><input class="submit" type="submit" name="next" value="'.plog_tr('Next Step').' »" /></p>'; 204 echo "\n\t" . '</form>' . "\n"; 205 if (isset($_SESSION['plogger_close_perms'])) { 206 unset($_SESSION['plogger_close_perms']); 207 } 200 208 } else { 201 echo "\n\n\t" .'<p class="actions">'.sprintf(plog_tr('Plogger needs to restructure %s more images'), '<strong>'.( $upgrade_images['total'] - $return['count'] ).'</strong>').'</p>';202 echo "\n\n\t" .'<form action="_upgrade.php?step=2" method="post">';209 echo "\n\n\t" . '<p class="actions">'.sprintf(plog_tr('Plogger needs to restructure %s more images'), '<strong>'.( $upgrade_images['total'] - $return['count'] ).'</strong>').'</p>'; 210 echo "\n\n\t" . '<form action="_upgrade.php?step=2" method="post">'; 203 211 echo "\n\n\t<p>".plog_tr('Number of images to update per cycle').':'; 204 echo "\n\t\t" .'<select name="num-images">';212 echo "\n\t\t" . '<select name="num-images">'; 205 213 foreach ($selects as $key => $value) { 206 214 $selected = ($num_images == $key) ? ' selected="selected"' : ''; 207 echo "\n\t\t\t" .'<option value="'.$key.'"'.$selected.'>'.$value.'</option>';208 } 209 echo "\n\t\t" .'</select>';210 echo "\n\t" .'</p>';211 echo "\n\n\t" .'<p><input type="hidden" id="upgrade-images" name="upgrade-images" value="1" />';212 echo "\n\t" .'<input class="submit" type="submit" name="continue" value="'.plog_tr('Continue').'..." /></p>';213 echo "\n\n\t" .'</form>'."\n";215 echo "\n\t\t\t" . '<option value="'.$key.'"'.$selected.'>'.$value.'</option>'; 216 } 217 echo "\n\t\t" . '</select>'; 218 echo "\n\t" . '</p>'; 219 echo "\n\n\t" . '<p><input type="hidden" id="upgrade-images" name="upgrade-images" value="1" />'; 220 echo "\n\t" . '<input class="submit" type="submit" name="continue" value="'.plog_tr('Continue').'..." /></p>'; 221 echo "\n\n\t" . '</form>' . "\n"; 214 222 } 215 223 } … … 222 230 if (!empty($check_list['themes']) || !empty($check_list['translations'])) { 223 231 if (!empty($check_list['themes'])) { 224 echo "\n\n\t" .'<p class="actions">'.sprintf(plog_tr('Plogger has found old %s files'), plog_tr('theme') ).'. '.sprintf( plog_tr('If you have customized a theme listed below, please verify that you have a copy located in %s before moving on to the next step'), '<strong>plog-content/themes/</strong>' ).':</p>';225 echo "\n\n\t\t" .'<ul class="info">';232 echo "\n\n\t" . '<p class="actions">'.sprintf(plog_tr('Plogger has found old %s files'), plog_tr('theme') ).'. '.sprintf( plog_tr('If you have customized a theme listed below, please verify that you have a copy located in %s before moving on to the next step'), '<strong>plog-content/themes/</strong>' ).':</p>'; 233 echo "\n\n\t\t" . '<ul class="info">'; 226 234 foreach ($check_list['themes'] as $value) { 227 echo "\n\t\t\t" .'<li>'.$value.'</li>';228 } 229 echo "\n\t\t" .'</ul>';235 echo "\n\t\t\t" . '<li class="margin-5">'.$value.'</li>'; 236 } 237 echo "\n\t\t" . '</ul>'; 230 238 } 231 239 if (!empty($check_list['translations'])) { 232 echo "\n\n\t" .'<p class="actions">'.sprintf( plog_tr('Plogger has found old %s files'), plog_tr('translation') ).'. '.sprintf(plog_tr('Please verify that you have a copy located in %s before moving on to the next step'), '<strong>plog-content/translations/</strong>' ).':</p>';233 echo "\n\n\t\t" .'<ul class="info">';240 echo "\n\n\t" . '<p class="actions">'.sprintf(plog_tr('Plogger has found old %s files'), plog_tr('translation') ).'. '.sprintf(plog_tr('Please verify that you have a copy located in %s before moving on to the next step'), '<strong>plog-content/translations/</strong>' ).':</p>'; 241 echo "\n\n\t\t" . '<ul class="info">'; 234 242 foreach ($check_list['translations'] as $value) { 235 echo "\n\t\t\t" .'<li>'.$value.'</li>';236 } 237 echo "\n\t\t" .'</ul>';238 } 239 echo "\n\n\t" .'<form action="_upgrade.php?step=4" method="post">';240 echo "\n\t\t" .'<p><input class="submit" type="submit" name="next" value="'.plog_tr('Next Step').' »" /></p>';241 echo "\n\t" .'</form>'."\n";243 echo "\n\t\t\t" . '<li class="margin-5">'.$value.'</li>'; 244 } 245 echo "\n\t\t" . '</ul>'; 246 } 247 echo "\n\n\t" . '<form action="_upgrade.php?step=4" method="post">'; 248 echo "\n\t\t" . '<p><input class="submit" type="submit" name="next" value="'.plog_tr('Next Step').' »" /></p>'; 249 echo "\n\t" . '</form>' . "\n"; 242 250 break; 243 251 } … … 249 257 $cleanup_list = cleanup_list(); 250 258 if (!empty($cleanup_list['files']) || !empty($cleanup_list['folders']) || isset($_POST['do-cleanup'])) { 251 echo "\n\n\t" .'<h2 class="upgrade">'.plog_tr('Cleaning Up Files').'</h2>';259 echo "\n\n\t" . '<h2 class="upgrade">'.plog_tr('Cleaning Up Files').'</h2>'; 252 260 if (!isset($_POST['do-cleanup'])) { 253 echo "\n\n\t" .'<form action="_upgrade.php?step=4" method="post">';254 echo "\n\n\t" .'<p class="actions">'.plog_tr('Plogger has found the following files/folders that are no longer needed').':</p>';255 echo "\n\n\t\t" .'<ul class="info">';261 echo "\n\n\t" . '<form action="_upgrade.php?step=4" method="post">'; 262 echo "\n\n\t" . '<p class="actions">'.plog_tr('Plogger has found the following files/folders that are no longer needed').':</p>'; 263 echo "\n\n\t\t" . '<ul class="info">'; 256 264 foreach ($cleanup_list['files'] as $value) { 257 echo "\n\t\t\t" .'<li>'.$value.'</li>';265 echo "\n\t\t\t" . '<li class="margin-5">'.$value.'</li>'; 258 266 } 259 267 foreach ($cleanup_list['folders'] as $value) { 260 echo "\n\t\t\t" .'<li>'.$value.'</li>';261 } 262 echo "\n\t\t" .'</ul>';263 echo "\n\n\t" .'<p>'.sprintf(plog_tr('You can have Plogger attempt to %s for you, or you can delete them manually via FTP and go to the next step.'), '<input class="submit-inline" type="submit" name="delete" value="'.plog_tr('delete the files').'..." />').'';264 echo "\n\t" .'<input type="hidden" id="do-cleanup" name="do-cleanup" value="1" /></p>';265 echo "\n\n\t" .'</form>';268 echo "\n\t\t\t" . '<li class="margin-5">'.$value.'</li>'; 269 } 270 echo "\n\t\t" . '</ul>'; 271 echo "\n\n\t" . '<p>'.sprintf(plog_tr('You can have Plogger attempt to %s for you, or you can delete them manually via FTP and go to the next step.'), '<input class="submit-inline" type="submit" name="delete" value="'.plog_tr('delete the files').'..." />').''; 272 echo "\n\t" . '<input type="hidden" id="do-cleanup" name="do-cleanup" value="1" /></p>'; 273 echo "\n\n\t" . '</form>'; 266 274 } else { 267 275 $return = cleanup_files($cleanup_list['files'], $cleanup_list['folders']); 268 276 if (!empty($return['errors'])) { 269 echo "\n\n\t" .'<p class="errors">'.plog_tr('Plogger could not delete the following files/folders. Please check your permissions or delete them manually.').'</p>';270 echo "\n\n\t\t" .'<ul class="info">';277 echo "\n\n\t" . '<p class="errors">'.plog_tr('Plogger could not delete the following files/folders. Please check your permissions or delete them manually.').'</p>'; 278 echo "\n\n\t\t" . '<ul class="info">'; 271 279 foreach ($return['errors'] as $value) { 272 echo "\n\t\t\t" .'<li>'.$value.'</li>';273 } 274 echo "\n\t\t" .'</ul>';280 echo "\n\t\t\t" . '<li class="margin-5">'.$value.'</li>'; 281 } 282 echo "\n\t\t" . '</ul>'; 275 283 } 276 284 if (!empty($return['output'])) { 277 echo "\n\n\t" .'<p class="actions">'.plog_tr('Plogger was able to delete the following files/folders').':</p>';278 echo "\n\n\t\t" .'<ul class="info">';285 echo "\n\n\t" . '<p class="actions">'.plog_tr('Plogger was able to delete the following files/folders').':</p>'; 286 echo "\n\n\t\t" . '<ul class="info">'; 279 287 foreach ($return['output'] as $value) { 280 echo "\n\t\t\t" .'<li>'.$value.'</li>';281 } 282 echo "\n\t\t" .'</ul>';288 echo "\n\t\t\t" . '<li class="margin-5">'.$value.'</li>'; 289 } 290 echo "\n\t\t" . '</ul>'; 283 291 } 284 292 if (!empty($return['errors'])) { 285 echo "\n\t" .'<form action="_upgrade.php?step=4" method="post">';286 echo "\n\t\t" .'<p style="float: left;"><input type="hidden" id="do-cleanup" name="do-cleanup" value="1" />';287 echo "\n\t\t" .'<input class="submit" type="submit" name="try again" value="'.plog_tr('Try Again').'" /></p>';288 echo "\n\t" .'</form>'. "\n";293 echo "\n\t" . '<form action="_upgrade.php?step=4" method="post">'; 294 echo "\n\t\t" . '<p style="float: left;"><input type="hidden" id="do-cleanup" name="do-cleanup" value="1" />'; 295 echo "\n\t\t" . '<input class="submit" type="submit" name="try again" value="'.plog_tr('Try Again').'" /></p>'; 296 echo "\n\t" . '</form>'. "\n"; 289 297 } else { 290 echo "\n\n\t" .'<h2 class="upgrade">'.plog_tr('Done with cleanup!').'</h2>';291 } 292 } 293 echo "\n\n\t" .'<form action="_upgrade.php?step=5" method="post">';294 echo "\n\t\t" .'<p style="float: left;"><input class="submit" type="submit" name="next" value="'.plog_tr('Next Step').' »" /></p>';295 echo "\n\t" .'</form>'. "\n";296 echo "\n\t" .'<p> </p>'. "\n";298 echo "\n\n\t" . '<h2 class="upgrade">'.plog_tr('Done with cleanup!').'</h2>'; 299 } 300 } 301 echo "\n\n\t" . '<form action="_upgrade.php?step=5" method="post">'; 302 echo "\n\t\t" . '<p style="float: left;"><input class="submit" type="submit" name="next" value="'.plog_tr('Next Step').' »" /></p>'; 303 echo "\n\t" . '</form>'. "\n"; 304 echo "\n\t" . '<p> </p>'. "\n"; 297 305 break; 298 306 } … … 300 308 // Finished! 301 309 case 5: 302 echo "\n\n\t".'<h2 class="upgrade">'.plog_tr('Upgrade complete!').'</h2>'; 303 echo "\n\n\t".'<p class="actions">'.plog_tr('You have successfully upgraded Plogger!').'</p>'; 304 echo "\n\n\t".'<form action="index.php" method="post">'; 305 echo "\n\t\t".'<p><input class="submit" type="submit" name="next" value="'.plog_tr('Log In').'" /></p>'; 306 echo "\n\t".'</form>'. "\n"; 310 echo "\n\n\t" . '<h2 class="upgrade">'.plog_tr('Upgrade complete!').'</h2>'; 311 echo "\n\n\t" . '<p class="info">'.plog_tr('You have successfully upgraded Plogger!').'</p>'; 312 if (is_open_perms(PLOGGER_DIR.'plog-content/')) { 313 echo "\n\n\t" . '<p class="actions">'.sprintf(plog_tr('You can now CHMOD the %s directory back to 0755'), '<strong>plog-content/</strong>').'.</p>'; 314 } 315 echo "\n\n\t" . '<form action="index.php" method="post">'; 316 echo "\n\t\t" . '<p><input class="submit" type="submit" name="next" value="'.plog_tr('Log In').'" /></p>'; 317 echo "\n\t" . '</form>'. "\n"; 307 318 break; 308 319 } 309 320 } 321 if (!$beta1) { 322 close_db(); 323 close_ftp(); 324 } 310 325 ?> 311 326 -
trunk/plog-admin/css/admin.css
r587 r590 1 /* Plogger adminstylesheet */1 /* Plogger gallery admin UI stylesheet */ 2 2 3 3 /* Body and general styles */ 4 4 5 5 html { 6 padding: 15px;7 border-bottom: 10px solid #369;8 border-top: 10px solid #36 9;6 margin: 0; 7 padding: 0 15px 15px 15px; 8 border-top: 10px solid #365d95; 9 9 } 10 10 … … 12 12 font-family: tahoma, verdana, arial, sans-serif; 13 13 font-size: 14px; 14 color: #333; 14 15 } 15 16 16 17 a:link, a:visited, a:active { 17 color: maroon;18 color: #24496c; 18 19 text-decoration: none; 19 20 } 20 21 21 22 a:hover { 22 color: navy;23 color: #800; 23 24 text-decoration: underline; 24 25 } … … 26 27 a:focus { 27 28 outline: none; 28 -moz-outline:none; 29 -moz-outline: none; 30 } 31 32 acronym, abbr { 33 cursor: help; 29 34 } 30 35 31 36 h1 { 32 37 font-family: verdana, arial, sans-serif; 33 font-size: 1. 4em;34 margin-top: 2 5px;38 font-size: 1.3em; 39 margin-top: 20px; 35 40 margin-bottom: 15px; 36 41 font-weight: bold; … … 40 45 h2 { 41 46 font-family: verdana, arial, sans-serif; 42 font-size: 1. 2em;47 font-size: 1.1em; 43 48 margin-top: 20px; 44 49 margin-bottom: 15px; … … 64 69 font-size: 13px; 65 70 letter-spacing: normal; 66 } 67 68 input.submit { 69 border: 3px double #999; 70 border-top-color: #ccc; 71 border-left-color: #ccc; 72 background-color: #fff; 73 background-image: url("../images/button-bg.gif"); 71 color: #333; 72 } 73 74 input.submit, input.submit-create, input.submit-delete, input.submit-cancel { 75 border: none; 76 -moz-border-radius: 8px; 77 -khtml-border-radius: 8px; 78 -webkit-border-radius: 8px; 79 border-radius: 8px; 80 -moz-box-sizing: content-box; 81 -webkit-box-sizing: content-box; 82 -khtml-box-sizing: content-box; 83 box-sizing: content-box; 84 color: #fff; 85 font-family: verdana, arial, sans-serif; 86 font-size: 13px !important; 87 font-weight: bold; 88 padding: 2px 5px; 89 cursor: pointer; 90 width: 140px; 91 } 92 93 input.submit, input.submit-delete, input.submit-cancel { 94 background-color: #369; 95 background-image: url("../images/blue-button-bg.gif"); 74 96 background-repeat: repeat-x; 75 color: #333;76 font-size: 90%;77 font-weight: normal;78 padding: 0.25em;79 97 margin-left: 0; 98 } 99 100 input.submit[type="submit"]:hover { 101 color: #a0cca0; 102 } 103 104 input.submit-delete[type="submit"]:hover, input.submit-cancel[type="submit"]:hover { 105 color: #f00; 106 } 107 108 input.submit-create { 109 background-color: #65bc85; 110 background-image: url("../images/green-button-bg.gif"); 111 background-repeat: repeat-x; 112 margin: 0; 113 } 114 115 input.submit-create[type="button"]:hover { 116 color: #24496c; 80 117 } 81 118 … … 88 125 margin: 0; 89 126 padding: 0; 127 border: 0 none; 90 128 cursor: pointer; 91 129 } … … 104 142 } 105 143 144 ul { 145 margin-bottom: 5px; 146 } 147 106 148 /* Header elements */ 107 149 150 #logo { 151 float: left; 152 margin-top: -3px; 153 padding: 0; 154 } 155 156 #logo img { 157 border: 0 none; 158 } 159 108 160 #plogger-version { 161 float: right; 162 width: 375px; 109 163 font-family: verdana, arial, sans-serif; 110 float: right; 111 color: #54a154; 112 font-weight: 500; 113 font-variant: small-caps; 114 letter-spacing: 1px; 164 font-size: 11px; 165 color: #777; 166 margin: 0; 167 padding: 0; 168 } 169 170 #server-info { 171 margin: 5px 0 0 0; 172 padding: 5px 5px 5px 10px; 173 background-color: #f9f9f9; 174 border: 1px solid #d9d9d9; 175 -moz-border-radius: 5px; 176 -khtml-border-radius: 5px; 177 -webkit-border-radius: 5px; 178 border-radius: 5px; 179 white-space: wrap; 180 } 181 182 /* Navigation elements (tabs) */ 183 184 #tab-nav { 185 clear: both; 186 float: left; 187 width: 100%; 188 background: transparent url("../images/bg.gif") repeat-x bottom; 189 font-family: "Lucida Sans Unicode", verdana, arial, sans-serif; 190 font-size: 13px; 191 letter-spacing: normal; 192 line-height: normal; 193 margin-bottom: 15px; 194 border-bottom: 1px solid #369; 195 } 196 197 #tab-nav ul { 198 margin: 0; 199 padding: 10px 0 0 3px; 200 list-style: none; 201 } 202 203 #tab-nav li { 204 float: left; 205 background: url("../images/left.gif") no-repeat left top; 206 margin: 0; 207 padding: 0 0 0 9px; 208 } 209 210 #tab-nav a { 211 float: left; 212 display: block; 213 background: url("../images/right.gif") no-repeat right top; 214 padding: 5px 13px 4px 4px; 215 text-decoration: none; 216 font-weight: normal; 217 color: #765; 218 } 219 220 /* Commented Backslash Hack hides rule from IE5-Mac \*/ 221 #tab-nav a { 222 float: none; 223 } 224 /* End IE5-Mac hack */ 225 226 #tab-nav a:hover { 227 color: green; 228 } 229 230 #tab-nav a:focus { 231 outline: none; 232 -moz-outline: none; 233 } 234 235 #tab-nav #current { 236 background-image: url("../images/left_on.gif"); 237 border-bottom: 1px solid #369; 238 } 239 240 #tab-nav #current a { 241 background-image: url("../images/right_on.gif"); 242 color: #fff; 243 padding-bottom: 4px; 244 font-weight: bold; 245 } 246 247 #tab-nav #current a:focus { 248 outline: none; 249 -moz-outline: none; 250 } 251 252 #tab-nav a em { 253 text-decoration: underline; 254 font-style: normal; 255 } 256 257 #tab-subnav { 258 background: #369; 259 padding: 8px; 260 clear: both; 115 261 } 116 262 117 263 /* Upload page elements */ 264 265 #uploadForm form { 266 margin: 0; 267 padding: 0; 268 } 118 269 119 270 #uploadForm label { … … 128 279 background-repeat: no-repeat; 129 280 background-position: left 1px; 130 padding-left: 2 0px;281 padding-left: 25px; 131 282 } 132 283 … … 140 291 } 141 292 293 .import { 294 margin-bottom: 15px; 295 padding: 8px; 296 margin: 5px; 297 margin-left: 0; 298 background-color: #f9f9f9; 299 border: 1px solid #d9d9d9; 300 -moz-border-radius: 8px; 301 -khtml-border-radius: 8px; 302 -webkit-border-radius: 8px; 303 border-radius: 8px; 304 width: 350px; 305 clear: both; 306 } 307 142 308 /* Manage and Feedback page elements */ 143 309 … … 153 319 font-size: 0.9em; 154 320 margin-right: 5px; 155 padding: 3px;156 font-weight: bold;321 padding: 10px 3px 0 3px; 322 font-weight: normal; 157 323 text-align: right; 158 324 } 159 325 160 #contentList label, select, option { 326 #contentList .pagination span.page-link, #contentList .pagination a.page-link { 327 border: 1px solid #bbb; 328 -moz-border-radius: 3px; 329 -khtml-border-radius: 3px; 330 -webkit-border-radius: 3px; 331 border-radius: 3px; 332 padding: 1px 5px; 333 margin: 0 3px; 334 color: #bbb; 335 text-decoration: none; 336 } 337 338 #contentList .pagination .page-link:hover, #contentList .pagination .page-link a:hover { 339 color: #777; 340 border: 1px solid #777; 341 background-color: #f9f9f9; 342 } 343 344 #contentList .pagination .page-link a:focus { 345 outline: none; 346 -moz-outline: none; 347 } 348 349 #contentList .pagination a.pagPrev, #contentList .pagination a.pagNext { 350 color: #bbb; 351 text-decoration: none; 352 margin: 0 2px; 353 } 354 355 #contentList .pagination a.pagPrev:hover, #contentList .pagination a.pagNext:hover { 356 color: #777; 357 text-decoration: none; 358 } 359 360 #contentList .pagination span.page-link-current { 361 border: 1px solid #369; 362 -moz-border-radius: 3px; 363 -khtml-border-radius: 3px; 364 -webkit-border-radius: 3px; 365 border-radius: 3px; 366 padding: 1px 5px; 367 margin: 0 3px; 368 background-color: #369; 369 color: #fff; 370 } 371 372 #contentList label, #contentList select, #contentList option { 161 373 font-weight: normal; 162 374 } … … 166 378 } 167 379 168 #contentList .entries-page label, select {380 #contentList .entries-page label, #contentList .entries-page select { 169 381 display: block inline; 170 382 margin-bottom: auto; 171 383 } 172 384 173 #contentList .move-del-manage input, select { 385 #contentList .entries-page select { 386 width: 60px; 387 } 388 389 #contentList .move-del-manage input, #contentList .move-del-manage select { 174 390 display: block inline; 175 391 margin-bottom: auto; … … 177 393 font-size: 13px; 178 394 letter-spacing: normal; 395 clear: both; 179 396 } 180 397 … … 200 417 margin: 15px; 201 418 margin-left: 0; 202 border: 2px solid #cc6; 203 background-color: #ffffe0; 419 background-color: #f9f9f9; 420 border: 1px solid #d9d9d9; 421 -moz-border-radius: 5px; 422 -khtml-border-radius: 5px; 423 -webkit-border-radius: 5px; 424 border-radius: 5px; 204 425 width: auto; 205 426 clear: both; … … 207 428 208 429 .edit img { 209 border: 1px solid #000; 430 border: 1px solid #d9d9d9; 431 -moz-border-radius: 5px; 432 -khtml-border-radius: 5px; 433 -webkit-border-radius: 5px; 434 border-radius: 5px; 210 435 padding: 3px; 211 436 background-color: #fff; … … 218 443 border: 1px solid #efefef; 219 444 display: block; 220 } 221 222 .highlight { 223 padding: 8px; 224 background: #ffffe0; 225 border-top: 1px solid #ccc; 226 border-bottom: 1px solid #ccc; 227 width: 98%; 228 } 229 230 .highlight-row { 231 background: #ffffe0; 445 cursor: pointer; 446 } 447 448 .stats, .stats-info { 449 background: #f9f9f9; 450 background-image: url("../images/info.gif"); 451 background-repeat: no-repeat; 452 background-position: 5px 8px; 453 margin-right: 5px; 454 margin-bottom: 15px; 455 border: 1px solid #d9d9d9; 456 -moz-border-radius: 5px; 457 -khtml-border-radius: 5px; 458 -webkit-border-radius: 5px; 459 border-radius: 5px; 460 padding: 8px 5px 8px 28px; 461 clear: both; 462 width: auto; 232 463 } 233 464 234 465 /* Options page elements */ 235 466 236 #options _section label {467 #options-section label { 237 468 font-weight: bold; 238 469 } … … 258 489 } 259 490 260 tr.alt td { 261 background: #fafafa; 262 border-bottom: 1px solid #efefef; 263 } 264 265 /* Themes page elements */ 266 267 #theme-table td { 491 tr.alt td.left { 492 background: #f7f7f7; 493 border-bottom: 1px solid #f3f3f3; 494 -moz-border-radius: 8px 0 0 8px; 495 -webkit-border-top-left-radius: 8px; 496 -webkit-border-bottom-left-radius: 8px; 497 -khtml-border-top-left-radius: 8px; 498 -khtml-border-bottom-left-radius: 8px; 499 border-top-left-radius: 8px; 500 border-bottom-left-radius: 8px; 501 } 502 503 tr.alt td.right { 504 background: #f7f7f7; 505 border-bottom: 1px solid #f3f3f3; 506 -moz-border-radius: 0 8px 8px 0; 507 -webkit-border-top-right-radius: 8px; 508 -khtml-border-top-right-radius: 8px; 509 -webkit-border-bottom-right-radius: 8px; 510 -khtml-border-bottom-right-radius: 8px; 511 border-top-right-radius: 8px; 512 border-bottom-right-radius: 8px; 513 } 514 515 /* Themes and Plugins page elements */ 516 517 #theme-table td, #plugin-table td { 268 518 padding: 8px; 269 } 270 271 #theme-table tr.header th { 519 vertical-align: top; 520 } 521 522 #theme-table tr.header th, #plugin-table tr.header th { 272 523 padding: 8px; 273 524 } 274 525 275 tr.activated td { 276 background: #bedebe; 277 border-bottom: 1px solid #519e51; 526 tr.activated td, tr.enabled td { 527 background: #bed6d7; 528 } 529 530 td.active, td.on { 531 color: #000; 532 font-weight: bold; 278 533 } 279 534 280 535 /* Upload and Manage page elements */ 281 536 282 .cssbox, .cssbox_body, .cssbox_head, .cssbox_head h2 { /* set the image to use and establish the lower-right position */ 283 background: transparent url("../images/plogger-box-add.png") no-repeat bottom right; 284 margin: 0; 285 padding: 0; 286 } 287 288 .cssbox label, .cssbox-green label { 537 /* Blue/green boxes on Upload page */ 538 539 table.cssbox-upload { 540 width: 750px; 541 margin: 0; 289 542 padding: 0; 290 margin: 0; 291 font-weight: bold; 543 } 544 545 td.cssbox-upload-blue, td.cssbox-upload-green { 546 width: 375px !important; 547 margin: 2px 0 0 0; 548 padding: 10px; 549 vertical-align: top; 550 } 551 552 th.cssbox-upload-head-blue h2, th.cssbox-upload-head-green h2 { 553 color: #fff; 554 font-weight: bold; 555 font-size: 14px; 556 text-align: center; 557 vertical-align: top; 558 text-decoration: none; 559 margin: 0; 560 border: 0; 561 padding: 4px 18px; 562 height: 17px; 563 width: auto; 564 -moz-border-radius: 12px 12px 0 0; 565 -webkit-border-top-right-radius: 12px; 566 -webkit-border-top-left-radius: 12px; 567 -khtml-border-top-right-radius: 12px; 568 -khtml-border-top-left-radius: 12px; 569 border-top-right-radius: 12px; 570 border-top-left-radius: 12px; 571 } 572 573 th.cssbox-upload-head-blue h2 { 574 background: transparent url("../images/blue-button-bg.gif") repeat-x top left; 575 } 576 577 th.cssbox-upload-head-green h2 { 578 background: transparent url("../images/green-button-bg.gif") repeat-x top left; 579 } 580 581 td.cssbox-upload-body { 582 margin: 0; 583 padding: 15px 10px 15px 15px; 584 vertical-align: top; 585 width: 350px; 586 background-color: #f9f9f9; 587 border-right: 1px solid #d9d9d9; 588 border-bottom: 1px solid #d9d9d9; 589 border-left: 1px solid #d9d9d9; 590 -moz-border-radius: 0 0 12px 12px; 591 -webkit-border-bottom-right-radius: 12px; 592 -webkit-border-bottom-left-radius: 12px; 593 -khtml-border-bottom-right-radius: 12px; 594 -khtml-border-bottom-left-radius: 12px; 595 border-bottom-right-radius: 12px; 596 border-bottom-left-radius: 12px; 597 } 598 599 .cssbox-upload-body label { 600 font-family: tahoma, verdana, arial, sans-serif; 601 font-size: 14px; 292 602 display: inline; 293 } 294 295 .cssbox-green, .cssbox_body-green, .cssbox_head-green, .cssbox_head-green h2 { 296 background: transparent url("../images/plogger-box-add-green.png") no-repeat bottom right; 297 margin: 0; 298 padding: 0; 299 } 603 font-weight: bold; 604 } 605 606 /* Green box on Manage page */ 300 607 301 608 .cssbox-green { 302 width: 370px !important; /* intended total box width - padding-right(next) */ 303 width: 350px; /* IE Win = width - padding */ 304 padding-right: 15px; /* the gap on the right edge of the image (not content padding) */ 305 margin: 2px 0 20px 0; /* use to position the box */ 609 width: 385px !important; 610 margin: 10px 0 2px 0; 611 padding: 0; 306 612 } 307 613 … … 311 617 } 312 618 313 .cssbox { 314 width: 370px !important; /* intended total box width - padding-right(next) */ 315 width: 355px; /* IE Win = width - padding */ 316 padding-right: 15px; /* the gap on the right edge of the image (not content padding) */ 317 margin: 2px 0 20px 0; /* use to position the box */ 318 } 319 320 .cssbox_head, .cssbox_head-green { /* set the top-right image */ 321 background-position: top right; 322 margin-right: -15px; /* pull the right image over on top of border */ 323 padding-right: 40px; /* right-image-gap + right-inside padding */ 324 } 325 326 .cssbox_head h2, .cssbox_head-green h2 { /* set the top-left image */ 327 background-position: top left; 328 margin: 0; /* reset */ 329 border: 0; /* reset */ 330 padding: 7px 0 15px 20px; /* padding-left = image gap + interior padding ... no padding-right */ 331 height: auto !important; 332 height: 1%; /* IE Holly Hack */ 333 } 334 335 .cssbox_body, .cssbox_body-green { /* set the lower-left corner image */ 336 background-position: bottom left; 337 margin-right: 25px; /* interior-padding right */ 338 padding: 15px 0 15px 20px; /* mirror .cssbox_head right/left */ 339 } 340 341 .cssbox_head h2, .cssbox_head-green h2 { /* Misc Text formatting */ 619 .cssbox-head-green h2 { 342 620 color: #fff; 343 621 font-weight: bold; 344 font-size: 15px; /* this is tricky if box width is in ems */ 345 text-align: center; 346 text-shadow: rgb(0,0,0) 0 2px 5px; /* Safari-only, but I'm doing it just 'cause I can */ 622 font-size: 13px; 623 text-align: left; 347 624 text-decoration: none; 348 } 349 350 .cssbox_body p, .cssbox_body-green p { 625 width: auto; 626 background: transparent url("../images/green-button-bg.gif") repeat-x top left; 627 margin: 0; 628 border: 0; 629 padding: 3px 15px 3px 15px; 630 height: 17px; 631 -moz-border-radius: 8px 8px 0 0; 632 -webkit-border-top-right-radius: 8px; 633 -webkit-border-top-left-radius: 8px; 634 -khtml-border-top-right-radius: 8px; 635 -khtml-border-top-left-radius: 8px; 636 border-top-right-radius: 8px; 637 border-top-left-radius: 8px; 638 } 639 640 .cssbox-head-green h2:hover { 641 color: #24496c; 642 } 643 644 .cssbox-head-green h2.manage { 645 cursor: pointer; 646 } 647 648 .cssbox-body-green { 649 margin: 0; 650 padding: 15px 10px 15px 15px; 651 width: auto; 652 background-color: #f9f9f9; 653 border-right: 1px solid #d9d9d9; 654 border-bottom: 1px solid #d9d9d9; 655 border-left: 1px solid #d9d9d9; 656 -moz-border-radius: 0 0 8px 8px; 657 -webkit-border-bottom-right-radius: 8px; 658 -webkit-border-bottom-left-radius: 8px; 659 -khtml-border-bottom-right-radius: 8px; 660 -khtml-border-bottom-left-radius: 8px; 661 border-bottom-right-radius: 8px; 662 border-bottom-left-radius: 8px; 663 } 664 665 .cssbox-body-green label { 666 font-family: tahoma, verdana, arial, sans-serif; 667 font-size: 14px; 668 display: inline; 669 font-weight: bold; 670 } 671 672 .cssbox-body-green p { 351 673 margin: 0 0 20px; 352 674 } 353 675 354 .cssbox_body a, .css_body a:hover {355 margin: 0 !important;356 padding: 0 !important;357 border: 0 !important;358 text-decoration: underline;359 }360 361 676 /* Action/Error messages */ 362 677 363 .actions { 364 background-image: url("../images/alert.gif"); 678 .success, .actions, .errors, .info, .plugins { 365 679 background-repeat: no-repeat; 366 680 background-position: 5px 8px; 367 681 margin-right: 5px; 368 682 margin-bottom: 15px; 369 border-top: 2px solid #bb0; 370 border-bottom: 2px solid #bb0; 683 -moz-border-radius: 5px; 684 -khtml-border-radius: 5px; 685 -webkit-border-radius: 5px; 686 border-radius: 5px; 371 687 padding: 8px 8px 8px 28px; 688 clear: both; 689 } 690 691 .success { 692 background-image: url("../images/success.gif"); 693 border: 1px solid #8fc25c; 694 background-color: #d4edc9; 695 } 696 697 .actions { 698 background-image: url("../images/alert.gif"); 699 border: 1px solid #bb0; 372 700 background-color: #ffffe0; 373 clear: both;374 701 } 375 702 376 703 .errors { 377 704 background-image: url("../images/x.gif"); 378 background-repeat: no-repeat; 379 background-position: 5px 8px; 380 margin-right: 5px; 381 margin-bottom: 15px; 382 border-top: 2px solid maroon; 383 border-bottom: 2px solid maroon; 384 padding: 8px 8px 8px 28px; 705 border: 1px solid maroon; 385 706 background-color: #fcc; 386 clear: both;387 707 } 388 708 389 709 .info { 390 margin-right: 5px; 391 margin-bottom: 15px; 392 border-top: 2px solid #d9d9d9; 393 border-bottom: 2px solid #d9d9d9; 394 padding: 8px 8px 8px 28px; 710 border: 1px solid #d9d9d9; 395 711 background-color: #f9f9f9; 396 clear: both; 712 } 713 714 .plugins { 715 border: 1px solid #d9d9d9; 716 background-color: #fff; 397 717 } 398 718 399 719 /* Miscellaneous - used throughout admin panel */ 720 721 .align-left { 722 text-align: left; 723 } 724 725 .align-center { 726 text-align: center; 727 } 728 729 .align-right { 730 text-align: right; 731 } 400 732 401 733 .breadcrumb-header { … … 406 738 } 407 739 408 .box-heading {409 font-family: "Georgia", "Lucida Sans", "Verdana", arial, sans-serif;410 font-size: 15px;411 font-weight: bold;412 color: #333;413 margin:0;414 padding: 0;415 vertical-align: middle;416 position: relative;417 top: 10px;418 }419 420 .box-1 {421 margin: 15px;422 margin-top: 5px;423 margin-left: 0;424 border: 1px solid #264b71;425 padding: 10px;426 padding-top: 0;427 padding-left: 20px;428 background-color: #c4dadb;429 width: 470px;430 }431 432 .box-2 {433 margin: 15px;434 margin-top: 5px;435 margin-left: 0;436 border: 1px solid #cc6;437 padding: 10px;438 padding-top: 0;439 padding-left: 20px;440 background-color: #ffffe0;441 width: 470px;442 }443 444 .box-3 {445 margin: 15px;446 margin-top: 5px;447 margin-bottom: 10px;448 margin-left: 0;449 border: 1px solid #488f62;450 padding: 10px;451 padding-top: 0;452 padding-left: 20px;453 padding-bottom: 18px;454 background-color: #bedebe;455 width: 470px;456 }457 458 740 .img-shadow { 459 float: left;741 float: left; 460 742 background: url("../images/shadowAlpha.png") no-repeat bottom right !important; 461 743 background: url("../images/shadow.gif") no-repeat bottom right; … … 473 755 } 474 756 475 .invert-selection a, .invert-selection a:link, .invert-selection a:visited, .invert-selection a:active, .invert-selection a:hover { 476 font-size: 0.9em; 757 .margin-5 { 758 margin: 5px; 759 } 760 761 .no-margin-top { 762 margin-top: 0; 763 } 764 765 .no-margin-bottom { 766 margin-bottom: 0; 767 } 768 769 .strong { 770 font-weight: bold; 477 771 } 478 772 … … 490 784 491 785 tr.color-1 { 492 background-color: #ccc; 786 background-color: #eaeaea; 787 text-align: left; 493 788 } 494 789 495 790 tr.color-2 { 496 background-color: #efefef; 791 background-color: #f9f9f9; 792 text-align: left; 497 793 } 498 794 … … 513 809 } 514 810 811 tr.footer, tr.footer td { 812 -moz-border-radius: 0 0 8px 8px; 813 -webkit-border-bottom-right-radius: 8px; 814 -webkit-border-bottom-left-radius: 8px; 815 -khtml-border-bottom-right-radius: 8px; 816 -khtml-border-bottom-left-radius: 8px; 817 border-bottom-right-radius: 8px; 818 border-bottom-left-radius: 8px; 819 } 820 515 821 tr.footer { 516 822 background-color: #264e75; … … 518 824 519 825 tr.footer td { 520 padding: 6px; 826 padding: 5px; 827 } 828 829 tr.footer td.invert-selection a, tr.footer td.invert-selection a:link, tr.footer td.invert-selection a:visited, tr.footer td.invert-selection a:active { 830 font-size: 0.9em; 831 font-weight: normal; 832 color: #fff; 833 text-decoration: none; 834 margin-left: 10px; 835 } 836 837 tr.footer td.invert-selection a:hover { 838 color: #ddd; 521 839 } 522 840 523 841 .thumbselect { 524 height: 80px;525 padding-left: 90px;842 height: 100px; 843 padding-left: 100px; 526 844 background-repeat: no-repeat; 527 845 background-position: center left; … … 529 847 530 848 .thumboption { 531 padding-left: 90px;532 height: 40px;849 height: 50px; 850 padding-left: 100px; 533 851 margin-bottom: 2px; 534 background-position: center left; 852 background-repeat: no-repeat; 853 background-position: top left; 535 854 } 536 855 … … 539 858 text-decoration: none; 540 859 } 860 861 .vertical-top { 862 vertical-align: top; 863 } 864 865 .width-15 { 866 width: 15px; 867 } 868 869 .width-50 { 870 width: 50px; 871 } 872 873 .width-75 { 874 width: 75px; 875 } 876 877 .width-100 { 878 width: 100px; 879 } 880 881 .width-125 { 882 width: 125px; 883 } 884 885 .width-150 { 886 width: 150px; 887 } 888 889 .width-175 { 890 width: 175px; 891 } 892 893 .width-200 { 894 width: 200px; 895 } 896 897 .width-275 { 898 width: 275px; 899 } 900 901 .width-400 { 902 width: 400px; 903 } 904 905 .width-450 { 906 width: 450px; 907 } 908 909 .width-500 { 910 width: 500px; 911 } 912 913 .width-600 { 914 width: 600px; 915 } 916 917 .width-700 { 918 width: 700px; 919 } 920 921 .width-750 { 922 width: 750px; 923 } 924 925 td.width-15, td.width-50, td.width-75, td.width-100, td.width-125, td.width-150, td.width-175, td.width-200, td.width-275, td.width-400, td.width-450 { 926 vertical-align: top; 927 } -
trunk/plog-admin/css/lightbox.css
r550 r590 1 1 #lightbox { 2 background-color: #eee;2 background-color: #eee; 3 3 padding: 10px; 4 border-right: 2px solid #666; 4 5 border-bottom: 2px solid #666; 5 border-right: 2px solid #666;6 6 } 7 7 -
trunk/plog-admin/css/login.css
r586 r590 31 31 32 32 input.submit { 33 border: 3px double #999; 34 border-top-color: #ccc; 35 border-left-color: #ccc; 36 background-color: #fff; 37 background-image: url("../images/button-bg.gif"); 33 border: none; 34 background-color: #369; 35 background-image: url("../images/blue-button-bg.gif"); 38 36 background-repeat: repeat-x; 39 color: #333; 40 font-family: "Lucida Sans Unicode", verdana, arial, sans-serif; 41 font-size: 13px; 42 font-weight: normal; 43 padding: 0.25em; 37 -moz-border-radius: 5px; 38 -khtml-border-radius: 5px; 39 -webkit-border-radius: 5px; 40 border-radius: 5px; 41 -moz-box-sizing: content-box; 42 -webkit-box-sizing: content-box; 43 -khtml-box-sizing: content-box; 44 box-sizing: content-box; 45 color: #fff; 46 font-family: verdana, arial, sans-serif; 47 font-size: 12px !important; 48 font-weight: bold; 49 padding: 3px 8px; 50 cursor: pointer; 44 51 margin-left: 0; 45 52 width: auto; 53 } 54 55 input.submit:hover { 56 color: #a0cca0; 46 57 } 47 58 … … 64 75 background-color: #f9f9f9; 65 76 border: 1px solid #d9d9d9; 77 -moz-border-radius: 5px; 78 -khtml-border-radius: 5px; 79 -webkit-border-radius: 5px; 80 border-radius: 5px; 66 81 padding: 20px 15px 5px; 67 82 margin: 10px auto; … … 74 89 margin: 15px auto; 75 90 border: 1px solid maroon; 91 -moz-border-radius: 5px; 92 -khtml-border-radius: 5px; 93 -webkit-border-radius: 5px; 94 border-radius: 5px; 76 95 padding: 10px 15px; 77 96 background-color: #fcc; … … 84 103 margin: 15px auto; 85 104 border: 1px solid #bb0; 105 -moz-border-radius: 5px; 106 -khtml-border-radius: 5px; 107 -webkit-border-radius: 5px; 108 border-radius: 5px; 86 109 padding: 10px 15px; 87 110 background-color: #ffffe0; -
trunk/plog-admin/includes/install-form-setup.php
r587 r590 17 17 } 18 18 19 $init_vars = array('db_user', 'db_pass','db_name','gallery_name','admin_email','ftp_user','ftp_pass','ftp_path');19 $init_vars = array('db_user', 'db_pass', 'db_name', 'gallery_name', 'admin_username', 'admin_password', 'admin_email', 'ftp_user', 'ftp_pass', 'ftp_path'); 20 20 foreach($init_vars as $var) { 21 21 if (empty($form[$var])) { 22 $form[$var] = "";22 $form[$var] = ''; 23 23 } 24 24 } … … 26 26 <h1><?php echo plog_tr('Plogger Configuration Setup') ?></h1> 27 27 28 <p><?php echo plog_tr('To install, simply fill out the following form. If there are any problems, you will be notified and asked to fix them before the installation will continue. After the installation has finished, you will be redirected to the Plogger admin page.') ?></p>28 <p><?php echo plog_tr('To install, simply fill out the following form. If there are any problems, you will be notified and asked to fix them before the installation will continue. After the installation is complete, you will be redirected to the Plogger Gallery Admin page.') ?></p> 29 29 30 30 <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> … … 54 54 } // end Database Setup 55 55 56 if (!isset($config['gallery_name']) || !isset($config['admin_email'])) { 56 if ( 57 !isset($config['gallery_name']) || 58 !isset($config['admin_email']) || 59 !isset($config['admin_username']) || 60 !isset($config['admin_password']) 61 ) { 57 62 ?> 58 63 <tr> … … 66 71 <?php 67 72 } 68 if (!isset($config['admin_email'])) { ?> 73 if (!isset($config['admin_email'])) { 74 ?> 69 75 <tr> 70 <td class="form_label"><label for="admin_email"><?php echo plog_tr('Your e-mail') ?>:</label></td>76 <td class="form_label"><label for="admin_email"><?php echo plog_tr('Your Email') ?>:</label></td> 71 77 <td class="form_input"><input type="text" name="admin_email" id="admin_email" value="<?php echo $form['admin_email']; ?>" /></td> 78 </tr> 79 <?php 80 } 81 if (!isset($config['admin_username'])) { 82 ?> 83 <tr> 84 <td class="form_label"><label for="admin_username"><?php echo plog_tr('Username') ?>:</label></td> 85 <td class="form_input"><input type="text" name="admin_username" id="admin_username" value="<?php echo $form['admin_username']; ?>" /></td> 86 </tr> 87 <?php 88 } 89 if (!isset($config['admin_password'])) { 90 ?> 91 <tr> 92 <td class="form_label"><label for="admin_password"><?php echo plog_tr('Password') ?>:</label></td> 93 <td class="form_input"><input type="text" name="admin_password" id="admin_password" value="<?php echo $form['admin_password']; ?>" /></td> 72 94 </tr> 73 95 <?php … … 108 130 <td colspan="2"> 109 131 <h2><?php echo plog_tr('Safe_mode Detected') ?></h2> 110 <p><?php echo plog_tr("Safe mode has been detected on your server and your server is missing PHP's FTP commands. Plogger cannot function correctly with safe_mode enabled and without FTP access.") ?></p>132 <p><?php echo plog_tr("Safe_mode has been detected on your server and your server is missing PHP's FTP commands. Plogger cannot function correctly with safe_mode enabled and without FTP access.") ?></p> 111 133 </td> 112 134 </tr> 113 135 <?php 114 136 } 115 } //end Safe_mode FTP Workaround ?> 137 } //end Safe_mode FTP Workaround 138 ?> 116 139 <tr> 117 140 <td class="submitButtonRow" colspan="2"><input type="submit" class="submit" name="submit" id="submit" value="<?php echo plog_tr('Proceed') ?>" /></td> -
trunk/plog-admin/includes/install-functions.php
r588 r590 9 9 /**** Common Functions ****/ 10 10 11 function maybe_add_column($table, $column,$add_sql) {11 function maybe_add_column($table, $column, $add_sql) { 12 12 $sql = "DESCRIBE $table"; 13 13 $res = mysql_query($sql); 14 14 $found = false; 15 while($row = mysql_fetch_array($res, MYSQL_NUM)) {15 while($row = mysql_fetch_array($res, MYSQL_NUM)) { 16 16 if ($row[0] == $column) $found = true; 17 17 } 18 18 if (!$found) { 19 mysql_query("ALTER TABLE $table ADD `$column` ". $add_sql);19 mysql_query("ALTER TABLE $table ADD `$column` ".$add_sql); 20 20 return plog_tr('Added new field to database').': '.$column; 21 21 } else { 22 22 if (defined('PLOGGER_DEBUG')) { 23 return 'Field `'.$column.'` already exists, ignoring.'; 24 } 25 } 26 } 27 28 function maybe_drop_column($table,$column) { 23 // return plog_tr('Field').' <strong>'.$column.'</strong> .'plog_tr('already exists, ignoring.').''; 24 return 'Field <strong>'.$column.'</strong> already exists, ignoring.'; 25 } 26 } 27 } 28 29 function maybe_drop_column($table, $column) { 29 30 $sql = "DESCRIBE $table"; 30 31 $res = mysql_query($sql); 31 32 $found = false; 32 while($row = mysql_fetch_array($res, MYSQL_NUM)) {33 while($row = mysql_fetch_array($res, MYSQL_NUM)) { 33 34 if ($row[0] == $column) $found = true; 34 35 } … … 39 40 } else { 40 41 if (defined('PLOGGER_DEBUG')) { 42 // return $column.' '.plog_tr('does not exist').''; 41 43 return $column.' does not exist'; 42 44 } … … 44 46 } 45 47 46 function maybe_add_table($table, $add_sql,$options = "") {48 function maybe_add_table($table, $add_sql, $options = '') { 47 49 $sql = "DESCRIBE $table"; 48 50 $res = mysql_query($sql); … … 57 59 } else { 58 60 if (defined('PLOGGER_DEBUG')) { 59 return 'Table `'.$table.'` already exists, ignoring.'; 61 // return plog_tr('Table').' <strong>'.$table.'</strong> .'plog_tr('already exists, ignoring.').''; 62 return 'Table <strong>'.$table.'</strong> already exists, ignoring.'; 60 63 } 61 64 } … … 71 74 $errors = array(); 72 75 73 // check that session.save_path is set (not set by default on PHP5) 74 $save_path = ini_get('session.save_path'); 75 if (empty($save_path)) { 76 $errors[] = sprintf( plog_tr('The PHP %s variable is not set in your php.ini file. Please contact your webhost on how to set this system variable.'), '<strong>session.save_path</strong>'); 77 } else if (!isset($_SESSION['plogger_session'])) { 78 // check that the session variable can be read 79 $errors[] = plog_tr('PHP session cookies are not being set. Please check that session cookies are enabled on your browser.'); 76 // check that the session variable can be read 77 if (!isset($_SESSION['plogger_session'])) { 78 $save_path = ini_get('session.save_path'); 79 // check that session.save_path is set (not set by default on PHP5) 80 if (empty($save_path)) { 81 if (!defined('SESSION_SAVE_PATH')) { 82 $sample_text = ' ('.sprintf(plog_tr('see %s if your %s does not contain this variable'), 'plog-config-sample.php', 'plog-config.php').')'; 83 } else { 84 $sample_text = ''; 85 } 86 $errors[] = sprintf( plog_tr('The PHP %s variable is not set in your php.ini file.'), '<strong>session.save_path</strong>').' '.sprintf(plog_tr('You can attempt to set this by adding a writable directory path to the %s variable in %s or contact your webhost on how to set this system variable.'), '<strong>SESSION_SAVE_PATH</strong>', 'plog-config.php'.$sample_text); 87 } else { 88 $errors[] = sprintf(plog_tr('PHP session cookies are not being set. Please check that session cookies are enabled on your browser or verify that your %s variable is set up correctly.'), '<strong>session.save_path</strong>').' '.sprintf(plog_tr('You can attempt to set this by adding a writable directory path to the %s variable in %s or contact your webhost on how to set this system variable.'), '<strong>SESSION_SAVE_PATH</strong>', 'plog-config.php'.$sample_text); 89 } 80 90 } 81 91 … … 90 100 } 91 101 92 // make sure we have permission to read these folders / files 93 $files_to_read = array("./","./plog-admin","./plog-admin/css","./plog-admin/images","./plog-content/images","./plog-content/thumbs","./plog-content/uploads","./plog-includes","./plog-includes/lib"); 94 foreach($files_to_read as $file){ 95 if (!is_readable(PLOGGER_DIR . $file)){ 96 $errors[] = sprintf( plog_tr("The path %s is not readable by the web server."), '<strong>'.realpath(PLOGGER_DIR . $file).'</strong>'); 97 } 98 } 99 100 // make sure we have permission to write to these folders 101 $files_to_write = array("./plog-content/images","./plog-content/thumbs", "./plog-content/uploads"); 102 foreach($files_to_write as $file){ 103 if (!is_writable(PLOGGER_DIR . $file)){ 104 $errors[] = sprintf( plog_tr("The path %s is not writable by the web server."), '<strong>'.realpath(PLOGGER_DIR . $file).'</strong>'); 102 // make sure we have permission to read these folders/files 103 $files_to_read = array('./plog-admin', './plog-admin/css', './plog-admin/images', './plog-content/images', './plog-content/thumbs', './plog-content/uploads', './plog-includes', './plog-includes/lib'); 104 foreach($files_to_read as $file) { 105 if (!is_readable(PLOGGER_DIR.$file)) { 106 $errors[] = sprintf(plog_tr('The path %s is not readable by the web server.'), '<strong>'.realpath(PLOGGER_DIR.$file).'</strong>'); 107 } 108 } 109 110 // workaround for upgrading from beta1 since there are conflicting function in plog-functions.php and beta1 plog-connect.php 111 if (function_exists('is_safe_mode')) { 112 // if safe mode enabled, we will use the FTP workarounds to deal with folder permissions 113 if (!is_safe_mode()) { 114 // make sure we have permission to write to these folders 115 $files_to_write = array('./plog-content/images', './plog-content/thumbs'); 116 $i = 0; 117 foreach($files_to_write as $file) { 118 if (!is_writable(PLOGGER_DIR.$file)) { 119 $errors[] = sprintf(plog_tr('The path %s is not writable by the web server.'), '<strong>'.realpath(PLOGGER_DIR.$file).'</strong>'); 120 } else if (is_open_perms(realpath(PLOGGER_DIR.$file))) { 121 $_SESSION['plogger_close_perms'][basename($file)] = realpath(PLOGGER_DIR.$file); 122 } 123 } 124 if (isset($_SESSION['plogger_close_perms'])) { 125 if (!is_writable(PLOGGER_D
