Compare commits

..

78 Commits

Author SHA1 Message Date
Christian Weiske
7379805565 Merge branch 'master' into quickform
Conflicts:
	data/templates/bookmarks.tpl.php
	data/templates/sidebar.block.search.php
	data/templates/top.inc.php
	doc/developers/TODO
	src/SemanticScuttle/header.php
2011-04-06 19:13:19 +02:00
Christian Weiske
1e3cd8bf6e add quickform files 2011-02-14 17:54:48 +01:00
Christian Weiske
ae8cd8ffc3 clear captcha session after successful registration 2010-07-09 22:00:16 +02:00
Christian Weiske
e0ece297a3 invalidate captcha solution when the password has been sent 2010-07-09 21:58:51 +02:00
Christian Weiske
bf9b3f98a7 do not show password forgotten form when we sent the mail 2010-07-09 21:55:37 +02:00
Christian Weiske
cecf6d349a Merge branch 'quickform' of github.com:cweiske/SemanticScuttle into quickform 2010-07-09 15:00:01 +02:00
Christian Weiske
badc3b87ee test new method SemanticScuttle_Service_User::userEmailCombinationValid() used in password forgotten page 2010-07-09 14:59:13 +02:00
Christian Weiske
2aa12b2534 convert password forgotten page to quickform and add captcha 2010-07-09 14:43:21 +02:00
Christian Weiske
4b3c308cc4 update dev TODO 2010-07-09 14:43:21 +02:00
Christian Weiske
122d8679c9 reset content type to normal html, since application/xhtml+xml gives quite some javascript problems 2010-07-09 14:43:21 +02:00
Christian Weiske
78697d4438 set content type to application/xhtml+xml to find problems earlier 2010-07-09 14:43:21 +02:00
Christian Weiske
69233c462d registration page xml bug 2010-07-09 14:43:21 +02:00
Christian Weiske
f3461fcada make home page xml-valid 2010-07-09 14:43:21 +02:00
Christian Weiske
645c0a4396 make html more valid when using special chars in title 2010-07-09 14:43:21 +02:00
Christian Weiske
7331bf395e CS 2010-07-09 14:43:20 +02:00
Christian Weiske
012d48ff45 better error message 2010-07-09 14:43:20 +02:00
Christian Weiske
8ec3147507 copyright was not in original file 2010-07-09 14:43:20 +02:00
Christian Weiske
3c280ae9ab make login form use quickform 2010-07-09 14:43:20 +02:00
Christian Weiske
1ba18be35d fix include 2010-07-09 14:43:20 +02:00
Christian Weiske
b38edbc353 docblock 2010-07-09 14:43:20 +02:00
Christian Weiske
d5e22f7ac5 use new file docblock for register.php 2010-07-09 14:43:20 +02:00
Christian Weiske
cb7b2f5433 we do not need backgroundtext anymore 2010-07-09 14:43:20 +02:00
Christian Weiske
830d417db4 fix label for registration submit button 2010-07-09 14:43:20 +02:00
Christian Weiske
4a734d2012 remove unneeded comment 2010-07-09 14:43:19 +02:00
Christian Weiske
745550b2cd get rid of manually specified IDs 2010-07-09 14:43:19 +02:00
Christian Weiske
40850b4da2 remove old form validation code 2010-07-09 14:43:19 +02:00
Christian Weiske
7a7d5f5a6f replace antispam question and answer with numeral captcha 2010-07-09 14:43:19 +02:00
Christian Weiske
79d9a0b88c use quickform rule "notcallback" now instead of our own 2010-07-09 14:43:19 +02:00
Christian Weiske
4e324ccc14 backgroundtext is an own package now 2010-07-09 14:43:19 +02:00
Christian Weiske
67122981b4 remove icallback since QF2 has notcallback now 2010-07-09 14:43:19 +02:00
Christian Weiske
4d874f7528 move backgroundtext element class to html folder 2010-07-09 14:43:19 +02:00
Christian Weiske
df1701253b some more explanation 2010-07-09 14:43:19 +02:00
Christian Weiske
bcf3737f8e make it possible to set class attribute after setting background class 2010-07-09 14:43:19 +02:00
Christian Weiske
1376dfb7c5 use special class when default text is set 2010-07-09 14:43:19 +02:00
Christian Weiske
ecd30ace99 set background text class initially before rendering 2010-07-09 14:43:18 +02:00
Christian Weiske
1d4e5d8011 first step in converting registration to quickform 2010-07-09 14:43:18 +02:00
Christian Weiske
02dac679f7 docblock fix 2010-07-09 14:43:18 +02:00
Christian Weiske
087189a503 first work on quickform2 registration form 2010-07-09 14:43:18 +02:00
Christian Weiske
52a4fb1f79 Merge branch 'master' into quickform 2010-07-09 12:06:14 +02:00
Christian Weiske
5f99b64744 convert password forgotten page to quickform and add captcha 2010-07-09 11:47:05 +02:00
Christian Weiske
4f1daa96df update dev TODO 2010-07-09 11:46:13 +02:00
Christian Weiske
0ebb87bdb1 Merge branch 'master' into quickform 2010-06-10 08:22:53 +02:00
Christian Weiske
66c1044d41 reset content type to normal html, since application/xhtml+xml gives quite some javascript problems 2010-06-07 08:00:07 +02:00
Christian Weiske
041d1c0b38 set content type to application/xhtml+xml to find problems earlier 2010-06-02 19:02:05 +02:00
Christian Weiske
a9bf6a587b registration page xml bug 2010-06-02 19:01:33 +02:00
Christian Weiske
2d6e303bff make home page xml-valid 2010-06-02 18:59:59 +02:00
Christian Weiske
95dbed3784 make html more valid when using special chars in title 2010-06-02 18:50:03 +02:00
Christian Weiske
a48692960b CS 2010-06-02 07:56:19 +02:00
Christian Weiske
89caa4a598 better error message 2010-06-02 07:55:13 +02:00
Christian Weiske
429bddee63 copyright was not in original file 2010-06-02 07:53:06 +02:00
Christian Weiske
23fe0c49fc make login form use quickform 2010-06-02 07:52:36 +02:00
Christian Weiske
f5bf96f1fa fix include 2010-06-02 07:52:21 +02:00
Christian Weiske
1cfaae161d docblock 2010-06-02 07:52:09 +02:00
Christian Weiske
a697e846ca Merge branch 'master' into quickform
Conflicts:
	data/locales/ru_RU/LC_MESSAGES/messages.po
2010-06-01 16:42:01 +02:00
Christian Weiske
b0b9b2fafb put sergey's name in the russian translation file 2010-05-27 08:48:38 +02:00
Christian Weiske
f32ac6ed48 use new file docblock for register.php 2010-05-27 08:43:22 +02:00
Christian Weiske
79db270b90 we do not need backgroundtext anymore 2010-05-27 08:37:15 +02:00
Christian Weiske
9d45600fce fix label for registration submit button 2010-05-27 08:36:27 +02:00
Christian Weiske
1276ad4ffb remove unneeded comment 2010-05-27 08:32:02 +02:00
Christian Weiske
3a0ff7a803 get rid of manually specified IDs 2010-05-26 19:18:12 +02:00
Christian Weiske
94afd94fd6 remove old form validation code 2010-05-26 19:15:27 +02:00
Christian Weiske
362d159437 replace antispam question and answer with numeral captcha 2010-05-26 19:14:53 +02:00
Christian Weiske
f4c51ccb4e use quickform rule "notcallback" now instead of our own 2010-05-26 19:03:36 +02:00
Christian Weiske
71e665fd9b backgroundtext is an own package now 2010-05-26 19:01:07 +02:00
Christian Weiske
3cacd46d82 remove icallback since QF2 has notcallback now 2010-05-26 19:00:15 +02:00
Christian Weiske
7f10ac6aa3 move backgroundtext element class to html folder 2010-05-07 07:39:30 +02:00
Christian Weiske
ec49e80dea some more explanation 2010-05-06 20:39:46 +02:00
Christian Weiske
f310b12374 make it possible to set class attribute after setting background class 2010-05-06 17:15:45 +02:00
Christian Weiske
4e5c6ad1f9 use special class when default text is set 2010-05-06 17:12:42 +02:00
Christian Weiske
680822f0f4 set background text class initially before rendering 2010-05-06 17:12:24 +02:00
Christian Weiske
4285799c3f first step in converting registration to quickform 2010-05-06 14:21:13 +02:00
Christian Weiske
26052021a2 docblock fix 2010-05-04 19:18:45 +02:00
Christian Weiske
883bf951c7 first work on quickform2 registration form 2010-05-03 22:55:53 +02:00
Christian Weiske
e20fbd226b update changelog 2010-05-03 08:01:46 +02:00
Christian Weiske
251d2a868a add compiled russian translation 2010-05-03 07:58:12 +02:00
Christian Weiske
a4d637f1ca Revert "Vietnamese translation" - was accidentially put into fr_FR
This reverts commit d8dc6eb9e0.
2010-05-03 07:56:29 +02:00
Christian Weiske
28a0739ec0 typo 2010-05-03 07:48:35 +02:00
Christian Weiske
cb81fc48cb add russian translation, thanks to Serge 2010-05-03 07:48:17 +02:00
269 changed files with 13991 additions and 29420 deletions

4
.gitignore vendored
View File

@ -1,8 +1,4 @@
doc/*.html
dist/
build.properties
package.xml
semanticscuttle-dump.sql
data/config.php
data/config.testing.php
data/config.testing-tmp.php

View File

@ -1,15 +0,0 @@
language: php
phps:
- 5.3
script: cd tests && phpunit .
notifications:
irc: "irc.freenode.org#semanticscuttle"
before_script:
- mysql -e 'create database semanticscuttle_test;'
- mysql semanticscuttle_test < data/tables.sql
- cat data/config.php.dist | sed "s/'username'/'root'/" | sed "s/'password'/''/" | sed "s/'scuttle'/'semanticscuttle_test'/" | sed "s/'mysql4'/'mysqli'/" > data/config.php
- pyrus install pear/HTTP_Request2
- pyrus install pear/PEAR
- pyrus install pear/Stream_Var
- phpenv rehash

View File

@ -1,12 +0,0 @@
Patched SemanticScuttle (social bookmarking tool).
================================================
### New :
* Better import for XML bookmark file.
* Support for adding multiple bookmarks at once with my modified Firefox's Scuttle plugin.
* Block everything if global private mode enabled and user not logged on.
* Shoulder surfing protection.
* Batch tagging.
* Search will now look in bookmarks addresses too.

244
build.xml
View File

@ -9,16 +9,18 @@
<property file="build.properties" />
<property file="html.properties" />
<property name="version-m" value="0.98" />
<property name="version" value="0.98.5" />
<property name="version-m" value="0.97" />
<property name="version" value="0.97.0" />
<property name="stability" value="beta" />
<property name="releasenotes" value="
- Fix bug #109: preserve privacy setting from Delicious export files
(Thanks to David Glenck)
- Fix bug #110: Document solution for &quot;searching slashes&quot;
- Fix bug #111: Comments in config.php mention *.inc.php files
(José María Mateos [rinze])
- Fix bug: Do not use eregi functions anymore
<property name="releasenotes" value="- Many SQL optimizations
- SemanticScuttle shows bookmarks 4 times faster now
- New config option to skip 'SET NAMES UTF8' call: $dbneedssetnames
- Do not highlight admin bookmarks when $enableAdminColors is disabled
- Add russian translation
- Make HTML export follow the specifications a bit better
- Fix bug #2953732: faulty error message for duplicate bookmarks
- Fix bug #2960663: do not send content-type headers twice for ajax/api scripts
- Fix bug #2976593: fr_FR locale is vietnamese
" />
<property name="zipfile" value="${phing.project.name}-${version}.zip" />
<property name="pkgfile" value="${phing.project.name}-${version}.tgz" />
@ -28,36 +30,7 @@
<property name="sffilepath" value="s/se/semanticscuttle/" />
<property name="svnpath" value="https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/" />
<fileset id="fs.zip" dir=".">
<include name="data/**"/>
<include name="doc/**"/>
<include name="src/**"/>
<include name="www/**"/>
<include name="scripts/avahi-export.php"/>
<include name="scripts/fix-unfiled-tags.php"/>
<exclude name="**/.gitignore/"/>
<exclude name="**/.svn/"/>
<exclude name="data/config.php"/>
<exclude name="data/config.testing.php"/>
<exclude name="data/config.testing-tmp.php"/>
<exclude name="data/locales/messages.po"/>
<exclude name="data/locales/*/LC_MESSAGES/messages.po"/>
<exclude name="src/php-gettext/examples/" />
<exclude name="src/php-gettext/tests/"/>
</fileset>
<fileset id="fs.doc" dir="doc">
<include name="ChangeLog"/>
<include name="**.txt"/>
<include name="**.rst"/>
<include name="**/*.rst"/>
<exclude name="LICENSE.txt"/>
<exclude name="developers/TODO.rst"/>
<exclude name="allinone.rst"/>
</fileset>
<taskdef name="rST" classname="phing.tasks.ext.rSTTask" />
<taskdef name="d51pearpkg2" classname="phing.tasks.ext.d51PearPkg2Task" />
<taskdef classname="phing.tasks.ext.d51PearPkg2Task" name="d51pearpkg2" />
<target name="zip" depends="check"
description="Create zip file for release"
@ -68,10 +41,24 @@
Test your zip with: unzip -l SemanticScuttle-0.95.0.zip
-->
<mkdir dir="dist" />
<echo msg="Creating distribution zip for SemanticScuttle ${version}"/>
<delete file="${distfile}" failonerror="false"/>
<zip destfile="${distfile}" prefix="${phing.project.name}-${version}/">
<fileset refid="fs.zip"/>
<fileset dir=".">
<include name="data/**"/>
<include name="doc/**"/>
<include name="src/**"/>
<include name="www/**"/>
<exclude name="**/.gitignore/"/>
<exclude name="**/.svn/"/>
<exclude name="data/config.php"/>
<exclude name="data/locales/messages.po"/>
<exclude name="data/locales/*/LC_MESSAGES/messages.po"/>
<exclude name="doc/developers/"/>
<exclude name="src/php-gettext/examples/" />
<exclude name="src/php-gettext/bin/"/>
</fileset>
</zip>
</target>
@ -80,6 +67,7 @@
<target name="package" depends="check"
description="Creates the pear package"
>
<!-- fixme: create package.xml with d51pearpkg2 -->
<d51pearpkg2 dir="." baseinstalldir="/">
<name>SemanticScuttle</name>
<summary>A social bookmarking tool</summary>
@ -105,15 +93,6 @@
channel="pear.php.net"
minimum_version="0.4.0"
/>
<!-- unit tests: -->
<package name="HTML_Request2"
channel="pear.php.net"
minimum_version="2.0.0"
/>
<package name="Stream_Var"
channel="pear.php.net"
minimum_version="1.1.0"
/>
</dependencies>
@ -121,7 +100,6 @@
<dirroles key="www">www</dirroles>
<dirroles key="data">data</dirroles>
<dirroles key="doc">doc</dirroles>
<dirroles key="scripts">doc</dirroles>
<dirroles key="src">php</dirroles>
<dirroles key="tests">test</dirroles>
@ -131,109 +109,33 @@
<ignore>**/.svn</ignore>
<ignore>build*</ignore>
<ignore>data/config.php</ignore>
<ignore>data/config.testing.php</ignore>
<ignore>data/config.testing-tmp.php</ignore>
<ignore>data/locales/messages.po</ignore>
<ignore>data/locales/*/LC_MESSAGES/messages.po</ignore>
<ignore>dist/**</ignore>
<ignore>doc/developers/**</ignore>
<ignore>scripts/**</ignore>
<ignore>src/php-gettext/examples/**</ignore>
<ignore>src/php-gettext/tests/**</ignore>
<ignore>*.properties</ignore>
<ignore>semanticscuttle-dump.sql</ignore>
<ignore>src/php-gettext/bin/**</ignore>
<ignore>*.tgz</ignore>
<ignore>*.properties</ignore>
<replacement path="src/SemanticScuttle/header.php"
type="pear-config" from="@data_dir@" to="data_dir"
<replacement
path="src/SemanticScuttle/header.php"
type="pear-config"
from="@data_dir@" to="data_dir"
/>
<replacement path="src/SemanticScuttle/header.php"
type="pear-config" from="@www_dir@" to="www_dir"
<replacement
path="www/www-header.php"
type="pear-config"
from="@data_dir@" to="data_dir"
/>
<replacement path="src/SemanticScuttle/Config.php"
type="pear-config" from="@data_dir@" to="data_dir"
/>
<replacement path="src/SemanticScuttle/Config.php"
type="pear-config" from="@www_dir@" to="www_dir"
/>
<replacement path="www/www-header.php"
type="pear-config" from="@data_dir@" to="data_dir"
/>
<replacement path="tests/prepare.php"
type="pear-config" from="@data_dir@" to="data_dir"
<replacement
path="tests/prepare.php"
type="pear-config"
from="@data_dir@" to="data_dir"
/>
<changelog version="0.98.5" date="2013-03-20" license="GPL">
- Fix bug #109: preserve privacy setting from Delicious export files
(Thanks to David Glenck)
- Fix bug #110: Document solution for "searching slashes"
- Fix bug #111: Comments in config.php mention *.inc.php files
(José María Mateos [rinze])
- Fix bug: Do not use eregi functions anymore
</changelog>
<changelog version="0.98.4" date="2012-01-21" license="GPL">
- Fix bug #3439729: URLs were escaped too often in bookmark list
- Fix bug: Subtitle was not escaped
- Fix bug #3388219: Incorrect URL when cancelling tag2tag-actions
- Fix bug #3393951: Logo images missing on bookmark page
- Fix bug #3399815: PHP error in opensearch API in 0.98.3
- Fix bug #3407728: Can't delete users from admin page
- Fix bug #3431742: open_basedir problems with /etc/ config files
- Fix bug #3436624: Wrong URL for Delicious API when importing
- Fix bug #3463481: RSS feed show warnings in feedvalidator.org
- Fix bug #3384416: Use URL with protocol in bookmarklet
- Fix bug: Invalid HTML when website thumbnails are activated
- Fix bug #3413459: Thumbnails not in one line
- Fix bug #3468293: Delicious import does not preserve private links
- Fix bug #3396727: Title of http://lesscss.org/ not loaded
- Fix bug #3111254: getIdFromUser() always returns an integer now (part 2)
- Implement request #3403609: fr_CA translation update
- Implement patch #3476011: PostgreSQL tables can not be initialized
(Frédéric Fauberteau [triaxx])
</changelog>
<!-- 0.98.3 was not needed -->
<changelog version="0.98.2" date="2011-08-08" license="GPL">
- Fix bug #3385724: Rename tag ends with XML Parsing Error
- Fix bug #3386178: "system:unfiled" secret tag does not work
- Fix bug #3384416: Update documentation to explain HTTP/HTTPS root problem
- Fix bug #3382126: Linked tags does not work for tags with spaces
- Fix delicious API help page link
</changelog>
<changelog version="0.98.1" date="2011-08-01" license="GPL">
- Fix bug #3375635: XML parsing problem in top.inc.php
- Fix bug #3375428: Forgot to remove some old dojo files
- Fix bug #3160512: Make SemanticScuttle work with FastCGI
- Fix bug #3376618: Broken tag completion for private bookmarks
</changelog>
<changelog version="0.98.0" date="2011-07-21" license="GPL">
- Switch to jQuery and drop dojo
- Implement request #2928950: Private keys for RSS feeds (Mark Pemberton)
- Implement request #3164348: Configurable default privacy (Brett Dee)
- Implement request #1989987: Theming support
- Implement request #3054906: Show user's full name instead of nickname
- Implement patch #3059829: update ``FR_CA`` translation
- Fix bug #3187177: Wrong URL / Export XML Bookmarks
- Fix bug #3097187: Using opensearch with two tags does not work in Firefox
- Fix bug #3251877: French translation JavaScript Bug when editing bookmarks
- Fix bug #3168521: Title of tag-filtered RSS Feed is broken
- Fix bug #2853627: Javascript warning
- Fix bug in ``getTagsForBookmarks()`` that fetched all tags
- Fix privacy issue when fetching tags of several users
- Fix Google custom search XML
- Show error message on mysqli connection errors
- Update php-gettext library to 1.0.10
- ``api/posts/add`` respects the 'replace' parameter now
- Only URLs with an allowed protocol may be added to the database
- Support HTTPS connections when ``$root`` is not configured
- SQL schema version table to ease future database upgrades
- Documentation is written with rST (reStructuredText) now
- Support per-host configuration files
</changelog>
<changelog version="0.97.0" date="2010-06-09" license="GPL">
<changelog version="0.97" date="2010-06-09" license="GPL">
- Many SQL optimizations - SemanticScuttle shows bookmarks 4 times faster now
- New config option to skip "SET NAMES UTF8" call: $dbneedssetnames
- Do not highlight admin bookmarks when $enableAdminColors is disabled
@ -305,26 +207,6 @@
</target>
<target name="build-docs" description="render documentation">
<rST format="html" uptodate="true"
toolparam="--stylesheet=res/docs/style.css"
>
<fileset refid="fs.doc"/>
<mapper type="regexp" from="^doc/(.+?)(.rst|.txt)?$" to="dist/docs/\1.html"/>
<!--
<filterchain>
<replacetokenswithfile dir="res/docs">
<
</replacetokenswithfile>
</filterchain>
-->
</rST>
</target>
<target name="clean-docs" description="delete rendered documentation files">
<delete dir="dist/docs" includeemptydirs="yes"/>
</target>
<target name="release" depends="check,zip,package,deploy-sf"
description="Release the version on sourceforge"
@ -360,7 +242,7 @@
<target name="deploy-sf-pear" depends="check,package"
description="Update PEAR channel + website on sourceforge"
description="Update PEAR channel on sourceforge"
>
<available file="${websitedir}"
type="dir" property="available.websitedir"
@ -425,38 +307,6 @@
</target>
<target name="deploy-docs" depends="build-docs"
description="sync docs to sourceforge website"
>
<copy todir="${websitedir}/docs">
<fileset dir="dist/docs">
<include name="**"/>
</fileset>
</copy>
<exec
command="rsync -avP -e ssh . ${sfuser},${sfproject}@web.sourceforge.net:htdocs/docs"
dir="${websitedir}/docs"
escape="false" checkreturn="false"
passthru="true"
/>
</target>
<target name="deploy-demo"
description="sync demo to sourceforge website"
>
<exec
command="rsync -avP -e ssh . ${sfuser},${sfproject}@web.sourceforge.net:htdocs/demo"
dir="${websitedir}/demo"
escape="false" checkreturn="false"
passthru="true"
/>
</target>
<target name="check"
description="Check variables"
>
@ -464,8 +314,6 @@
<fail unless="sfuser" message="Sourceforge username not defined!" />
<fail unless="sfproject" message="Sourceforge project name not defined!" />
<fail unless="sffilepath" message="Sourceforge project file path not defined!" />
<mkdir dir="dist" />
</target>
</project>

1
data/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
config.php

View File

@ -14,13 +14,6 @@
* @link http://sourceforge.net/projects/semanticscuttle/
*/
/**
* Array for defaults.
*
* @var array
*/
$defaults = array();
/***************************************************
* HTML output configuration
@ -63,15 +56,6 @@ $sidebarTopMessage = '';
*/
$sidebarBottomMessage = '';
/**
* The HTML theme to use. With themes, you can give your semanticscuttle
* installation a new look.
*
* Themes are the folders in data/templates/
*
* @var string
*/
$theme = 'default';
/***************************************************
@ -81,15 +65,13 @@ $theme = 'default';
/**
* SemanticScuttle root directory.
*
* Set to NULL to autodetect the root url of the website.
*
* If your installation is in a subdirectory like
* "http://www.example.com/semanticscuttle/" then
* replace NULL by your address (between "" and with trailing '/')
*
* The autodetection works for both HTTP and HTTPS urls.
* If you offer HTTP *only*, then set your root url here.
*
* @var string
*/
$root = null;
@ -253,35 +235,7 @@ $adminsAreAdvisedTagsFromOtherAdmins = false;
*
* @var array
*/
$reservedusers = array('all', 'watchlist');
/**
* If global private mode is enabled (everything will be blocked for unlogged users).
* @var boolean
*/
$privatemode = false;
/***************************************************
* Anti SPAM measures
*/
/**
* A question to avoid spam.
* Shown on user registration page.
*
* @var string
* @see $antispamAnswer
*/
$antispamQuestion = 'name of this application';
/**
* The answer to the antispam question
* Users have to write exactly this string.
*
* @var string
* @see $antispamQuestion
*/
$antispamAnswer = 'semanticscuttle';
$reservedusers = array('all', 'watchlist');
/**
* Enable or disable user registration
@ -483,21 +437,6 @@ $filetypes = array(
'video' => array('avi', 'mov', 'mp4', 'mpeg', 'mpg', 'wmv')
);
/**
* Link protocols that are allowed for newly added bookmarks.
* This prevents i.e. adding javascript: links.
*
* @link http://en.wikipedia.org/wiki/URI_scheme
*
* @var array
*/
$allowedProtocols = array(
'ftp', 'ftps',
'http', 'https',
'mailto', 'nntp',
'xmpp'
);
/**
* Enable the "common bookmark description" functionality
*
@ -529,43 +468,41 @@ $votingMode = 2;
*/
$hideBelowVoting = null;
/**
* Default privacy setting for bookmarks:
* 0 - Public
* 1 - Shared with Watchlist
* 2 - Private
*
* @var integer
*/
$defaults['privacy'] = 0;
/****************************
* Website Thumbnails
*/
/**
* Which thumbnail service type to use.
* Enable bookmark website thumbnails.
*
* Currently supported:
* - null (no screenshots)
* - 'phancap', see http://cweiske.de/phancap.htm
* According to artviper.net license, buy a license if you
* gain profit with your pages.
*
* @var boolean
* @link http://www.websitethumbnail.de/
*/
$enableWebsiteThumbnails = false;
/**
* User ID from websitethumbnail.de
*
* You need to register on
* http://www.artviper.net/registerAPI.php
* in order to use thumbnails on your domain
*
* @var string
* @link http://www.artviper.net/registerAPI.php
*/
$thumbnailsUserId = null;
/**
* API key.
* Sent to you by artviper.net after registration.
*
* @var string
*/
$thumbnailsType = null;
/**
* Configuration for thumbnail service.
*
* Phancap requires an array with the following keys:
* - url: URL to phancap's get.php file
* - token: user name (if access protected)
* - secret: password for the user (if access protected)
*
* @var array
*/
$thumbnailsConfig = array();
$thumbnailsKey = null;
@ -615,13 +552,6 @@ $menu2Tags = array(
'menu2', 'tags', 'configurable', 'in', 'data/config.php'
);
/**
* Tag protected from shoulder surfing.
* This tag, his children and the associated bookmarks won't appear anywhere unless enabled in the UI.
*
* @var string
*/
$shoulderSurfingProtectedTag = 's_hidden';
/****************************

View File

@ -2,12 +2,11 @@
/**
* Configuration for SemanticScuttle.
*
* Copy this file to config.php and adjust it.
* Copy this file to config.inc.php and adjust it.
*
* See config.default.php for more options.
* See config.default.inc.php for more options.
*/
/**
* The name of this site.
*
@ -117,21 +116,6 @@ $adminemail = 'admin@example.org';
$admin_users = array();
/***************************************************
* Bookmarks
*/
/**
* Default privacy setting for bookmarks.
* 0 - Public
* 1 - Shared with Watchlist
* 2 - Private
*
* @var integer
*/
$defaults['privacy'] = 0;
/**
* You have completed the basic configuration!
* More options can be found in config.default.php.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,20 +0,0 @@
RENAME TABLE `sc_tags` TO `sc_bookmarks2tags` ;
CREATE TABLE `sc_searchhistory` (
`shId` int(11) NOT NULL auto_increment,
`shTerms` varchar(255) NOT NULL default '',
`shRange` varchar(32) NOT NULL default '',
`shDatetime` datetime NOT NULL default '0000-00-00 00:00:00',
`shNbResults` int(6) NOT NULL default '0',
`uId` int(11) NOT NULL default '0',
PRIMARY KEY (`shId`)
);
CREATE TABLE `sc_tags` (
`tId` int(11) NOT NULL auto_increment,
`tag` varchar(32) NOT NULL default '',
`uId` int(11) NOT NULL default '0',
`tDescription` varchar(255) default NULL,
PRIMARY KEY (`tId`),
UNIQUE KEY `sc_tags_tag_uId` (`tag`, `uId`)
);

View File

@ -1,10 +0,0 @@
ALTER TABLE `sc_bookmarks` CHANGE `bDescription` `bDescription` VARCHAR( 1500 )
CREATE TABLE `sc_tagscache` (
`tcId` int(11) NOT NULL auto_increment,
`tag1` varchar(100) NOT NULL default '',
`tag2` varchar(100) NOT NULL default '',
`relationType` varchar(32) NOT NULL default '',
`uId` int(11) NOT NULL default '0',
PRIMARY KEY (`tcId`),
UNIQUE KEY `sc_tagscache_tag1_tag2_type_uId` (`tag1`,`tag2`,`relationType`,`uId`)
);

View File

@ -1,85 +0,0 @@
/* modify and add fields */
ALTER TABLE `sc_bookmarks` MODIFY `bAddress` varchar(1500) NOT NULL;
ALTER TABLE `sc_bookmarks` MODIFY `bDescription` TEXT default NULL;
ALTER TABLE `sc_bookmarks` ADD `bPrivateNote` TEXT NULL AFTER `bDescription` ;
ALTER TABLE `sc_tags` MODIFY `tDescription` TEXT default NULL;
ALTER TABLE `sc_commondescription` MODIFY `cdDescription` TEXT default NULL;
/* convert to UTF-8 if your table is ISO-something (through BLOB: tips provided by MYSQL documentation)*/
/* first need to remove index keys because of BLOB constraints*/
ALTER TABLE `sc_tags` DROP INDEX `sc_tags_tag_uId`;
ALTER TABLE `sc_bookmarks2tags` DROP INDEX `sc_bookmarks2tags_tag_bId`;
ALTER TABLE `sc_bookmarks2tags` DROP INDEX `sc_bookmarks2tags_bId`;
ALTER TABLE `sc_tags2tags` DROP INDEX `sc_tags2tags_tag1_tag2_uId`;
ALTER TABLE `sc_commondescription` DROP INDEX `sc_commondescription_tag_datetime`;
ALTER TABLE `sc_tagscache` DROP INDEX `sc_tagscache_tag1_tag2_type_uId`;
ALTER TABLE `sc_tagsstats` DROP INDEX `sc_tagsstats_tag1_type_uId`;
/* secondly convert through BLOB type */
ALTER TABLE `sc_bookmarks` CHANGE `bTitle` `bTitle` BLOB;
ALTER TABLE `sc_bookmarks` CHANGE `bTitle` `bTitle` varchar(255) CHARACTER SET utf8;
ALTER TABLE `sc_bookmarks` CHANGE `bAddress` `bAddress` BLOB;
ALTER TABLE `sc_bookmarks` CHANGE `bAddress` `bAddress` varchar(1500) CHARACTER SET utf8;
ALTER TABLE `sc_bookmarks` CHANGE `bDescription` `bDescription` BLOB;
ALTER TABLE `sc_bookmarks` CHANGE `bDescription` `bDescription` text CHARACTER SET utf8;
ALTER TABLE `sc_bookmarks` CHANGE `bPrivateNote` `bPrivateNote` BLOB;
ALTER TABLE `sc_bookmarks` CHANGE `bPrivateNote` `bPrivateNote` text CHARACTER SET utf8;
ALTER TABLE `sc_tags` CHANGE `tag` `tag` BLOB;
ALTER TABLE `sc_tags` CHANGE `tag` `tag` varchar(100) CHARACTER SET utf8;
ALTER TABLE `sc_tags` CHANGE `tDescription` `tDescription` BLOB;
ALTER TABLE `sc_tags` CHANGE `tDescription` `tDescription` text CHARACTER SET utf8;
ALTER TABLE `sc_bookmarks2tags` CHANGE `tag` `tag` BLOB;
ALTER TABLE `sc_bookmarks2tags` CHANGE `tag` `tag` varchar(100) CHARACTER SET utf8;
ALTER TABLE `sc_users` CHANGE `name` `name` BLOB;
ALTER TABLE `sc_users` CHANGE `name` `name` varchar(50) CHARACTER SET utf8;
ALTER TABLE `sc_users` CHANGE `uContent` `uContent` BLOB;
ALTER TABLE `sc_users` CHANGE `uContent` `uContent` text CHARACTER SET utf8;
ALTER TABLE `sc_tags2tags` CHANGE `tag1` `tag1` BLOB;
ALTER TABLE `sc_tags2tags` CHANGE `tag1` `tag1` varchar(100) CHARACTER SET utf8;
ALTER TABLE `sc_tags2tags` CHANGE `tag2` `tag2` BLOB;
ALTER TABLE `sc_tags2tags` CHANGE `tag2` `tag2` varchar(100) CHARACTER SET utf8;
ALTER TABLE `sc_tagsstats` CHANGE `tag1` `tag1` BLOB;
ALTER TABLE `sc_tagsstats` CHANGE `tag1` `tag1` varchar(100) CHARACTER SET utf8;
ALTER TABLE `sc_tagscache` CHANGE `tag1` `tag1` BLOB;
ALTER TABLE `sc_tagscache` CHANGE `tag1` `tag1` varchar(100) CHARACTER SET utf8;
ALTER TABLE `sc_tagscache` CHANGE `tag2` `tag2` BLOB;
ALTER TABLE `sc_tagscache` CHANGE `tag2` `tag2` varchar(100) CHARACTER SET utf8;
ALTER TABLE `sc_commondescription` CHANGE `tag` `tag` BLOB;
ALTER TABLE `sc_commondescription` CHANGE `tag` `tag` varchar(100) CHARACTER SET utf8;
ALTER TABLE `sc_commondescription` CHANGE `cdTitle` `cdTitle` BLOB;
ALTER TABLE `sc_commondescription` CHANGE `cdTitle` `cdTitle` varchar(255) CHARACTER SET utf8;
ALTER TABLE `sc_commondescription` CHANGE `cdDescription` `cdDescription` BLOB;
ALTER TABLE `sc_commondescription` CHANGE `cdDescription` `cdDescription` text CHARACTER SET utf8;
ALTER TABLE `sc_searchhistory` CHANGE `shTerms` `shTerms` BLOB;
ALTER TABLE `sc_searchhistory` CHANGE `shTerms` `shTerms` varchar(255) CHARACTER SET utf8;
ALTER TABLE `sc_searchhistory` CHANGE `shRange` `shRange` BLOB;
ALTER TABLE `sc_searchhistory` CHANGE `shRange` `shRange` varchar(32) CHARACTER SET utf8;
/* Thirdly re-add index keys */
ALTER TABLE `sc_tags` ADD UNIQUE KEY `sc_tags_tag_uId` (`tag`, `uId`);
ALTER TABLE `sc_bookmarks2tags` ADD UNIQUE KEY `sc_bookmarks2tags_tag_bId` (`tag`,`bId`);
ALTER TABLE `sc_bookmarks2tags` ADD KEY `sc_bookmarks2tags_bId` (`bId`);
ALTER TABLE `sc_tags2tags` ADD UNIQUE KEY `sc_tags2tags_tag1_tag2_uId` (`tag1`,`tag2`,`relationType`,`uId`);
ALTER TABLE `sc_commondescription` ADD UNIQUE KEY `sc_commondescription_tag_datetime` (`tag`,`cdDatetime`);
ALTER TABLE `sc_tagscache` ADD UNIQUE KEY `sc_tagscache_tag1_tag2_type_uId` (`tag1`,`tag2`,`relationType`,`uId`);
ALTER TABLE `sc_tagsstats` ADD UNIQUE KEY `sc_tagsstats_tag1_type_uId` (`tag1`,`relationType`,`uId`);
/* Change tables to utf-8 charset */
ALTER TABLE `sc_bookmarks` CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `sc_tags` CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `sc_bookmarks2tags` CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `sc_users` CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `sc_watched` CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `sc_tags2tags` CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `sc_tagsstats` CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `sc_tagscache` CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `sc_commondescription` CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `sc_searchhistory` CHARACTER SET utf8 COLLATE utf8_general_ci;

View File

@ -1,11 +0,0 @@
ALTER TABLE `sc_bookmarks` ADD `bVoting` INT NOT NULL;
ALTER TABLE `sc_bookmarks` ADD `bVotes` INT NOT NULL;
CREATE TABLE `sc_votes` (
`bId` INT NOT NULL ,
`uId` INT NOT NULL ,
`vote` INT( 2 ) NOT NULL ,
UNIQUE KEY `bid_2` (`bId`,`uId`),
KEY `bid` (`bId`),
KEY `uid` (`uId`)
) CHARACTER SET utf8 COLLATE utf8_general_ci ;

View File

@ -1 +0,0 @@
ALTER TABLE `sc_bookmarks` ADD `bShort` VARCHAR(16) NULL DEFAULT NULL;

View File

@ -1,19 +0,0 @@
CREATE TABLE `sc_version` (
`schema_version` int(11) NOT NULL
) DEFAULT CHARSET=utf8;
INSERT INTO `sc_version` (`schema_version`) VALUES ('6');
CREATE TABLE `sc_users_sslclientcerts` (
`id` INT NOT NULL AUTO_INCREMENT ,
`uId` INT NOT NULL ,
`sslSerial` VARCHAR( 32 ) NOT NULL ,
`sslClientIssuerDn` VARCHAR( 1024 ) NOT NULL ,
`sslName` VARCHAR( 64 ) NOT NULL ,
`sslEmail` VARCHAR( 64 ) NOT NULL ,
PRIMARY KEY ( `id` ) ,
UNIQUE (`id`)
) CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `sc_users` ADD `privateKey` VARCHAR(33) NULL;
CREATE UNIQUE INDEX `privateKey` ON `sc_users` (`privateKey`);

View File

@ -1,259 +0,0 @@
-- Semantic Scuttle - Tables creation SQL script
-- ! Dont forget to change table names according to $tableprefix defined in config.php !
--
-- Table structure for table "sc_bookmarks"
--
CREATE SEQUENCE bIds
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
CREATE TABLE sc_bookmarks (
bId integer DEFAULT nextval('bIds'::text) PRIMARY KEY,
uId integer NOT NULL,
bIp varchar(40) DEFAULT NULL,
bStatus smallint NOT NULL,
bDatetime timestamp with time zone DEFAULT now() NOT NULL,
bModified timestamp with time zone DEFAULT now() NOT NULL,
bTitle varchar(255) DEFAULT '' NOT NULL,
bAddress varchar(1500) DEFAULT '' NOT NULL,
bDescription text,
bPrivateNote text,
bHash varchar(32) DEFAULT '' NOT NULL,
bVotes integer NOT NULL,
bVoting integer NOT NULL,
bShort varchar(16) DEFAULT NULL
);
CREATE INDEX sc_bookmarks_usd ON sc_bookmarks (uId, bStatus, bDatetime);
CREATE INDEX sc_bookmarks_hui ON sc_bookmarks (bHash, uId, bId);
CREATE INDEX sc_bookmarks_du ON sc_bookmarks (bDatetime, uId);
--
-- Table structure for table "sc_bookmarks2tags"
--
CREATE SEQUENCE b2tIds
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
CREATE TABLE sc_bookmarks2tags (
id integer DEFAULT nextval('b2tIds'::text) PRIMARY KEY,
bId integer NOT NULL,
tag varchar(100) DEFAULT '' NOT NULL
);
CREATE UNIQUE INDEX sc_bookmarks2tags_tag_bId on sc_bookmarks2tags (tag, bId);
CREATE INDEX sc_bookmarks2tags_bId on sc_bookmarks2tags (bId);
--
-- Table structure for table "sc_commondescription"
--
CREATE SEQUENCE cdIds
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
CREATE TABLE sc_commondescription (
cdId integer DEFAULT nextval('cdIds'::text) PRIMARY KEY,
uId integer NOT NULL,
tag varchar(100) DEFAULT '' NOT NULL,
bHash varchar(32) DEFAULT '' NOT NULL,
cdTitle varchar(255) DEFAULT '' NOT NULL,
cdDescription text,
cdDatetime timestamp with time zone DEFAULT now() NOT NULL
);
CREATE UNIQUE INDEX sc_commondescription_tag_timestamp on sc_commondescription (tag, cdDatetime);
CREATE UNIQUE INDEX sc_commondescription_bookmark_timestamp on sc_commondescription (bHash, cdDatetime);
--
-- Table structure for table "sc_searchhistory"
--
CREATE SEQUENCE shIds
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
CREATE TABLE sc_searchhistory (
shId integer DEFAULT nextval('shIds'::text) PRIMARY KEY,
shTerms varchar(255) NOT NULL DEFAULT '',
shRange varchar(32) NOT NULL DEFAULT '',
shDatetime timestamp with time zone DEFAULT now() NOT NULL,
shNbResults integer NOT NULL,
uId integer NOT NULL
);
--
-- Table structure for table "sc_tags"
--
CREATE SEQUENCE tIds
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
CREATE TABLE sc_tags (
tId integer DEFAULT nextval('tIds'::text) PRIMARY KEY,
tag varchar(100) NOT NULL DEFAULT '',
uId integer NOT NULL,
tDescription text
);
CREATE UNIQUE INDEX sc_tags_tag_uId on sc_tags (tag, uId);
--
-- Table structure for table "sc_tags2tags"
--
CREATE SEQUENCE ttIds
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
CREATE TABLE sc_tags2tags (
ttId integer DEFAULT nextval('ttIds'::text) PRIMARY KEY,
tag1 varchar(100) NOT NULL DEFAULT '',
tag2 varchar(100) NOT NULL DEFAULT '',
relationType varchar(32) NOT NULL DEFAULT '',
uId integer NOT NULL
);
CREATE UNIQUE INDEX sc_tags2tags_tag1_tag2_uId on sc_tags2tags (tag1, tag2, relationType, uId);
--
-- Table structure for table "sc_tagscache"
--
CREATE SEQUENCE tcIds
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
CREATE TABLE sc_tagscache (
tcId integer DEFAULT nextval('tcIds'::text) PRIMARY KEY,
tag1 varchar(100) NOT NULL DEFAULT '',
tag2 varchar(100) NOT NULL DEFAULT '',
relationType varchar(32) NOT NULL DEFAULT '',
uId integer NOT NULL DEFAULT '0'
);
CREATE UNIQUE INDEX sc_tagscache_tag1_tag2_type_uId on sc_tagscache (tag1, tag2, relationType, uId);
--
-- Table structure for table "sc_tagsstats"
--
CREATE SEQUENCE tstIds
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
CREATE TABLE sc_tagsstats (
tstId integer DEFAULT nextval('tstIds'::text) PRIMARY KEY,
tag1 varchar(100) NOT NULL DEFAULT '',
relationType varchar(32) NOT NULL DEFAULT '',
uId integer NOT NULL,
nb integer NOT NULL,
depth integer NOT NULL,
nbupdate integer NOT NULL
);
CREATE UNIQUE INDEX sc_tagsstats_tag1_type_uId on sc_tagsstats (tag1, relationType, uId);
--
-- Table structure for table "sc_users"
--
CREATE SEQUENCE uIds
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
CREATE TABLE sc_users (
uId integer DEFAULT nextval('uIds'::text) PRIMARY KEY,
username varchar(25) NOT NULL DEFAULT '',
password varchar(40) NOT NULL DEFAULT '',
uDatetime timestamp with time zone DEFAULT now() NOT NULL,
uModified timestamp with time zone DEFAULT now() NOT NULL,
name varchar(50) DEFAULT NULL,
email varchar(50) NOT NULL DEFAULT '',
homepage varchar(255) DEFAULT NULL,
uContent text,
privateKey varchar(33) DEFAULT NULL
);
CREATE UNIQUE INDEX privateKey on sc_users (privateKey);
--
-- Table structure for table "sc_users_sslclientcerts"
--
CREATE SEQUENCE ids
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
CREATE TABLE sc_users_sslclientcerts (
id integer DEFAULT nextval('ids'::text) PRIMARY KEY,
uId integer NOT NULL,
sslSerial varchar(32) DEFAULT '' NOT NULL,
sslClientIssuerDn varchar(1024) DEFAULT '' NOT NULL,
sslName varchar(64) DEFAULT '' NOT NULL,
sslEmail varchar(64) DEFAULT '' NOT NULL
);
--
-- Table structure for table "sc_version"
--
CREATE TABLE sc_version (
schema_version integer NOT NULL
);
--
-- Table structure for table "sc_votes"
--
CREATE TABLE sc_votes (
bId integer NOT NULL,
uId integer NOT NULL,
vote integer NOT NULL
);
CREATE UNIQUE INDEX bid_2 on sc_votes (bId, uId);
CREATE INDEX bid on sc_votes (bId);
CREATE INDEX uid on sc_votes (uId);
--
-- Table structure for table "sc_watched"
--
CREATE SEQUENCE wIds
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
CREATE TABLE sc_watched (
wId integer DEFAULT nextval('wIds'::text) PRIMARY KEY,
uId integer NOT NULL,
watched integer NOT NULL
);
CREATE INDEX sc_watched_uId on sc_watched (uId);

View File

@ -72,23 +72,11 @@ CREATE TABLE `sc_users` (
`email` varchar(50) NOT NULL default '',
`homepage` varchar(255) default NULL,
`uContent` text,
`privateKey` varchar(33) default NULL,
PRIMARY KEY (`uId`),
UNIQUE KEY `privateKey` (`privateKey`)
PRIMARY KEY (`uId`)
) CHARACTER SET utf8 COLLATE utf8_general_ci ;
-- --------------------------------------------------------
CREATE TABLE `sc_users_sslclientcerts` (
`id` INT NOT NULL AUTO_INCREMENT ,
`uId` INT NOT NULL ,
`sslSerial` VARCHAR( 32 ) NOT NULL ,
`sslClientIssuerDn` VARCHAR( 1024 ) NOT NULL ,
`sslName` VARCHAR( 64 ) NOT NULL ,
`sslEmail` VARCHAR( 64 ) NOT NULL ,
PRIMARY KEY ( `id` )
) CHARACTER SET utf8 COLLATE utf8_general_ci;
--
-- Table structure for table `sc_watched`
--
@ -194,10 +182,4 @@ CREATE TABLE `sc_votes` (
UNIQUE KEY `bid_2` (`bId`,`uId`),
KEY `bid` (`bId`),
KEY `uid` (`uId`)
) CHARACTER SET utf8 COLLATE utf8_general_ci ;
CREATE TABLE `sc_version` (
`schema_version` int(11) NOT NULL
) DEFAULT CHARSET=utf8;
INSERT INTO `sc_version` (`schema_version`) VALUES ('6');
) CHARACTER SET utf8 COLLATE utf8_general_ci ;

View File

@ -12,12 +12,12 @@ $this->includeTemplate($GLOBALS['top_include']);
<h3><?php echo T_('Geek Stuff'); ?></h3>
<ul>
<li><a href="http://sourceforge.net/projects/semanticscuttle/">Semantic Scuttle</a> <?php echo T_('is licensed under the ');?> <a href="http://www.gnu.org/copyleft/gpl.html"><acronym title="GNU\'s Not Unix">GNU</acronym> General Public License</a> (<?php echo T_('you can freely host it on your own web server.'); ?>)</li>
<li><?php echo sprintf(T_('%1$s supports most of the <a href="http://www.delicious.com/help/api">del.icio.us <abbr title="Application Programming Interface">API</abbr></a>. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won\'t let you change the API address, ask the creator to add this setting. You never know, they might just do it.'), $GLOBALS['sitename']); ?></li>
<li><?php echo sprintf(T_('%1$s supports most of the <a href="http://del.icio.us/doc/api">del.icio.us <abbr title="Application Programming Interface">API</abbr></a>. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won\'t let you change the API address, ask the creator to add this setting. You never know, they might just do it.'), $GLOBALS['sitename']); ?></li>
<?php if(!is_null($currentUser) && $currentUser->isAdmin()): ?>
<li>SemanticScuttle v0.98.5</li>
<li>SemanticScuttle v0.97.0</li>
<?php endif ?>
</ul>

View File

@ -45,7 +45,7 @@ if (browser == "Opera") {
+ '<?php
$popupLink = 'javascript:'
. "location.href='"
. addProtocolToUrl(createURL('bookmarks', $GLOBALS['user']))
. createURL('bookmarks', $GLOBALS['user'])
. '?action=add'
. "&address='+encodeURIComponent(document.location.href)+'"
. "&title='+encodeURIComponent(document.title)+'"
@ -71,7 +71,7 @@ echo jsEscTitle(htmlspecialchars($link));
+ '<?php
$popupLink = 'javascript:'
. 'open('
. "'" . addProtocolToUrl(createURL('bookmarks', $GLOBALS['user']))
. "'" . createURL('bookmarks', $GLOBALS['user'])
. '?action=add'
. '&popup=1'
. "&address='+encodeURIComponent(document.location.href)+'"
@ -97,7 +97,7 @@ echo jsEscTitle(htmlspecialchars($link));
} else {
$('#bookmarklet').append(
'<ul>'
+ '<li><a class="bookmarklet" href="javascript:x=document;a=encodeURIComponent(x.location.href);t=encodeURIComponent(x.title);d=encodeURIComponent('+selection+');location.href=\'<?php echo addProtocolToUrl(createURL('bookmarks', $GLOBALS['user'])); ?>?action=add&amp;address=\'+a+\'&amp;title=\'+t+\'&amp;description=\'+d;void 0;"><?php echo jsEscTitle(sprintf(T_('Post to %s'), $GLOBALS['sitename'])); ?><\/a><\/li>'
+ '<li><a class="bookmarklet" href="javascript:x=document;a=encodeURIComponent(x.location.href);t=encodeURIComponent(x.title);d=encodeURIComponent('+selection+');location.href=\'<?php echo createURL('bookmarks', $GLOBALS['user']); ?>?action=add&amp;address=\'+a+\'&amp;title=\'+t+\'&amp;description=\'+d;void 0;"><?php echo jsEscTitle(sprintf(T_('Post to %s'), $GLOBALS['sitename'])); ?><\/a><\/li>'
+ '<li>'
+ '<a class="bookmarklet" href="'
+ 'javascript:x=document;'
@ -105,7 +105,7 @@ echo jsEscTitle(htmlspecialchars($link));
+ 't=encodeURIComponent(x.title);'
+ 'd=encodeURIComponent('+selection+');'
+ 'open('
+ '\'<?php echo addProtocolToUrl(createURL('bookmarks', $GLOBALS['user'])); ?>?action=add&amp;popup=1&amp;address=\'+a+\'&amp;title=\'+t+\'&amp;description=\'+d,\'<?php echo htmlspecialchars(jsEscTitleDouble($GLOBALS['sitename'])); ?>\',\'modal=1,status=0,scrollbars=1,toolbar=0,resizable=1,width=790,height=465,left=\'+(screen.width-790)/2+\',top=\'+(screen.height-425)/2'
+ '\'<?php echo createURL('bookmarks', $GLOBALS['user']); ?>?action=add&amp;popup=1&amp;address=\'+a+\'&amp;title=\'+t+\'&amp;description=\'+d,\'<?php echo htmlspecialchars(jsEscTitleDouble($GLOBALS['sitename'])); ?>\',\'modal=1,status=0,scrollbars=1,toolbar=0,resizable=1,width=790,height=465,left=\'+(screen.width-790)/2+\',top=\'+(screen.height-425)/2'
+ ');void 0;">'
+ '<?php echo jsEscTitle(sprintf(T_('Post to %s (Pop-up)'), $GLOBALS['sitename'])); ?>'
+ '</a>'
@ -115,38 +115,3 @@ echo jsEscTitle(htmlspecialchars($link));
}
//]]>
</script>
<script type="text/javascript">
function activateSocialApi(node) {
var baseurl = <?php echo json_encode(addProtocolToUrl(createURL())); ?>;
var socialApiData = {
// currently required
"name": <?php echo json_encode($GLOBALS['sitename']); ?>,
"iconURL": baseurl + "themes/default/images/logo.png",
"icon32URL": baseurl + "themes/default/images/logo.png",
"icon64URL": baseurl + "themes/default/images/logo.png",
"markURL": "<?php echo addProtocolToUrl(createURL('bookmarks', $GLOBALS['user'])); ?>?action=add&amp;popup=1&amp;width=800&amp;height=470&amp;address=%{url}&amp;title=%{title}&amp;description=%{description}%{text}",
"markedIcon": baseurl + "themes/default/images/logo.png",
"unmarkedIcon": baseurl + "themes/default/images/logo-empty.png",
// should be available for display purposes
"description": "Self-hosted bookmark manager",
"author": "Christian Weiske",
"homepageURL": "http://semanticscuttle.sf.net/",
// optional
"version": "0.0.3"
};
var event = new CustomEvent("ActivateSocialFeature");
node.setAttribute("data-service", JSON.stringify(socialApiData));
node.dispatchEvent(event);
}
</script>
<p>
<button onclick="activateSocialApi(this)" title="activate semanticscuttle in firefox">
Add SemanticScuttle to Firefox
</button>
</p>

View File

@ -0,0 +1,18 @@
<?php
/**
* Bookmark thumbnail image
* Shows the website thumbnail for the bookmark.
*
* Expects a $row variable with bookmark data.
*/
if (!$GLOBALS['enableWebsiteThumbnails']) {
return;
}
$thumbnailHash = md5(
$address . $GLOBALS['thumbnailsUserId'] . $GLOBALS['thumbnailsKey']
);
//echo '<a href="'. $address .'"'. $rel .' ><img class="thumbnail" src="http://www.artviper.net/screenshots/screener.php?url='.$address.'&w=120&sdx=1280&userID='.$GLOBALS['thumbnailsUserId'].'&hash='.$thumbnailHash.'" />';
echo '<img class="thumbnail" onclick="window.location.href=\''.$address.'\'" src="http://www.artviper.net/screenshots/screener.php?url='.$address.'&w=120&sdx=1280&userID='.$GLOBALS['thumbnailsUserId'].'&hash='.$thumbnailHash.'" />';
?>

View File

@ -39,9 +39,7 @@ include('search.menu.php');
<?php if($GLOBALS['enableAdminColors']!=false && isset($userid) && $userservice->isAdmin($userid) && $pageName != PAGE_WATCHLIST) : ?>
<div style="width:70%;text-align:center;">
<img src="<?php echo $theme->resource('images/logo_24.gif'); ?>" width="12px"/>
<?php echo T_('Bookmarks on this page are managed by an admin user.'); ?>
<img src="<?php echo $theme->resource('images/logo_24.gif'); ?>" width="12px"/>
<img src="<?php echo ROOT ?>images/logo_24.gif" width="12px"/> <?php echo T_('Bookmarks on this page are managed by an admin user.'); ?><img src="<?php echo ROOT ?>images/logo_24.gif" width="12px"/>
</div>
<?php endif?>
@ -72,7 +70,7 @@ if ($userservice->isLoggedOn()) {
) {
echo ' <a href="'. createURL('tagcommondescriptionedit', $currenttag).'" title="'.T_('Edit the common description of this tag').'">';
echo !is_array($cDescription) || strlen($cDescription['cdDescription'])==0?T_('Edit the common description of this tag'):'';
echo ' <img src="' . $theme->resource('images/b_edit.png') . '" /></a>';
echo ' <img src="'.ROOT.'images/b_edit.png" /></a>';
} else if (isset($hash)) {
echo ' (<a href="'.createURL('bookmarkcommondescriptionedit', $hash).'" title="'.T_('Edit the common description of this bookmark').'">';
echo T_('Edit the common description of this bookmark').'</a>)';
@ -97,7 +95,7 @@ if($userservice->isLoggedOn()) {
if($currenttag!= '') {
echo ' <a href="'. createURL('tagedit', $currenttag).'" title="'.T_('Edit your personal description of this tag').'" >';
echo strlen($pDescription['tDescription'])==0?T_('Edit your personal description of this tag'):'';
echo ' <img src="' . $theme->resource('images/b_edit.png') . '" /></a>';
echo ' <img src="'.ROOT.'images/b_edit.png" /></a>';
}
}
?></p>
@ -107,7 +105,7 @@ if($userservice->isLoggedOn()) {
}
?>
<?php if (isset($bookmarks) && count($bookmarks) > 0) { ?>
<?php if (count($bookmarks) > 0) { ?>
<script type="text/javascript">
window.onload = playerLoad;
</script>
@ -162,14 +160,6 @@ default:
<a href="?sort=<?php echo $votingSort ?>"><?php echo T_("Voting").$votingArrow; ?></a>
<span>/</span>
<?php } ?>
<?php
if ($userservice->isLoggedOn() && $_SERVER['PHP_SELF'] !== "/index.php") {
echo '<form method="get" action="'. $_SERVER['REQUEST_URI'] .'">';
echo '<input type="hidden" name="batch" value="1"/>';
echo '<input type="submit" value="Batch tagging"/>';
echo "</form>";
}
?>
<?php
if ($currenttag!= '') {
@ -186,6 +176,7 @@ if ($currenttag!= '') {
}
}
?></p>
<?php
// PAGINATION
@ -228,13 +219,10 @@ if ($currenttag!= '') {
$brss = '';
$size = count($rsschannels);
for ($i = 0; $i < $size; $i++) {
$brss = '<a style="background:#FFFFFF"'
. ' href="'. htmlspecialchars($rsschannels[$i][1]) . '"'
. ' title="' . htmlspecialchars($rsschannels[$i][0]) . '">'
. '<img src="' . $theme->resource('images/rss.gif') . '"'
. ' width="16" height="16"'
. ' alt="' . htmlspecialchars($rsschannels[$i][0]) .'"/>'
. '</a>';
$brss = '<a style="background:#FFFFFF" href="'. htmlspecialchars($rsschannels[$i][1]) . '"'
. ' title="' . htmlspecialchars($rsschannels[$i][0]) . '">'
. '<img src="' . ROOT . 'images/rss.gif" width="16" height="16" alt="' . htmlspecialchars($rsschannels[$i][0]) .'"/>'
. '</a>';
}
$pagesBanner = '<p class="paging">'. $bfirst .'<span> / </span>'. $bprev .'<span> / </span>'. $bnext .'<span> / </span>'. $blast .'<span> / </span>'. sprintf(T_('Page %d of %d'), $page, $totalpages) ." ". $brss ." </p>\n";
@ -365,7 +353,7 @@ if ($currenttag!= '') {
$rel = ' rel="nofollow"';
}
$address = $row['bAddress'];
$address = filter($row['bAddress']);
$oaddress = $address;
// Redirection option
if ($GLOBALS['useredir']) {
@ -373,15 +361,9 @@ if ($currenttag!= '') {
}
// Admin specific design
if ($userservice->isAdmin($row['username'])
&& $GLOBALS['enableAdminColors']
) {
if ($userservice->isAdmin($row['username']) && $GLOBALS['enableAdminColors']) {
$adminBgClass = ' class="adminBackground"';
$adminStar = ' <img'
. ' src="' . $theme->resource('images/logo_24.gif') . '"'
. ' width="12px"'
. ' title="' . T_('This bookmark is certified by an admin user.') . '"'
. '/>';
$adminStar = ' <img src="'. ROOT .'images/logo_24.gif" width="12px" title="'. T_('This bookmark is certified by an admin user.') .'" />';
} else {
$adminBgClass = '';
$adminStar = '';
@ -425,7 +407,7 @@ if ($currenttag!= '') {
}
echo ' <div class="description">'. nl2br($bkDescription) ."</div>\n";
echo ' <div class="address">' . htmlspecialchars(shortenString($oaddress)) . "</div>\n";
echo ' <div class="address">' . shortenString($oaddress) . "</div>\n";
echo ' <div class="meta">'
. $cats . "\n"

View File

@ -6,6 +6,11 @@ echo '<a href="'.createURL('about').'">'.T_('About').'</a>';
echo ' - ';
echo T_("Propulsed by ");
echo " <a href=\"https://sourceforge.net/projects/semanticscuttle/\">SemanticScuttle</a>";
if($GLOBALS['enableWebsiteThumbnails']) {
// Licence to the thumbnails provider (OBLIGATORY IF YOU USE ARTVIPER SERVICE)
echo ' (Thumbnails by <script type="text/ecmascript" src="http://www.artviper.net/link.js"></script>)';
}
?>
</div>

View File

@ -1,18 +0,0 @@
<?php
/**
* Bookmark thumbnail image
* Shows the website thumbnail for the bookmark.
*
* Expects a $row variable with bookmark data.
*/
$thumbnailer = SemanticScuttle_Service_Factory::get('Thumbnails')->getThumbnailer();
$imgUrl = $thumbnailer->getThumbnailUrl($address, 120, 90);
if ($imgUrl !== false) {
echo '<a href="' . htmlspecialchars($address) . '">'
. '<img class="thumbnail" width="120" height="90" src="'
. htmlspecialchars($imgUrl).
'" />'
. '</a>';
}
?>

View File

@ -1,60 +0,0 @@
<?php
/**
* User's own profile page: SSL client certificate settings
*
* @param array $sslClientCerts Array of SSL client certificate objects
* @param string $formaction URL where to send the forms to
* @param SemanticScuttle_Model_User_SslClientCert
* $currentCert Current SSL client certificate (may be null)
*/
?>
<h3><?php echo T_('SSL client certificates'); ?></h3>
<?php if (count($sslClientCerts)) { ?>
<table>
<thead>
<tr>
<th>Options</th>
<th><?php echo T_('Serial'); ?></th>
<th><?php echo T_('Name'); ?></th>
<th><?php echo T_('Email'); ?></th>
<th><?php echo T_('Issuer'); ?></th>
</tr>
</thead>
<tbody>
<?php foreach($sslClientCerts as $cert) { ?>
<tr <?php if ($cert->isCurrent()) { echo 'class="ssl-current"'; } ?>>
<td>
<form method="post" action="<?php echo $formaction; ?>">
<input type="hidden" name="certId" value="<?php echo $cert->id; ?>"/>
<button type="submit" name="action" value="deleteClientCert">
<?php echo T_('delete'); ?>
</button>
</form>
</td>
<td><?php echo htmlspecialchars($cert->sslSerial); ?></td>
<td><?php echo htmlspecialchars($cert->sslName); ?></td>
<td><?php echo htmlspecialchars($cert->sslEmail); ?></td>
<td><?php echo htmlspecialchars($cert->sslClientIssuerDn); ?></td>
</tr>
<?php } ?>
</tbody>
</table>
<?php } else { ?>
<p><?php echo T_('No certificates registered'); ?></p>
<?php } ?>
<?php if ($currentCert) { ?>
<?php if ($currentCert->isRegistered($sslClientCerts)) { ?>
<p><?php echo T_('Your current certificate is already registered with your account.'); ?></p>
<?php } else { ?>
<p>
<form method="post" action="<?php echo $formaction; ?>">
<button type="submit" name="action" value="registerCurrentCert">
<?php echo T_('Register current certificate to automatically login.'); ?>
</button>
</form>
</p>
<?php } ?>
<?php } else { ?>
<p><?php echo T_('Your browser does not provide a certificate.'); ?></p>
<?php } ?>

View File

@ -1,41 +0,0 @@
<?php
$this->includeTemplate($GLOBALS['top_include']);
?>
<script type="text/javascript">
window.onload = function() {
document.getElementById("username").focus();
}
</script>
<?php
if (!$userservice->isSessionStable()) {
echo '<p class="error">'.T_('Please activate cookies').'</p>';
}
?>
<form action="<?php echo $formaction; ?>" method="post">
<div><input type="hidden" name="query" value="<?php echo $querystring; ?>" /></div>
<table>
<tr>
<th align="left"><label for="username"><?php echo T_('Username'); ?></label></th>
<td><input type="text" id="username" name="username" size="20" /></td>
<td></td>
</tr>
<tr>
<th align="left"><label for="password"><?php echo T_('Password'); ?></label></th>
<td><input type="password" id="password" name="password" size="20" /></td>
<td><input type="checkbox" name="keeppass" id="keeppass" value="yes" /> <label for="keeppass"><?php echo T_("Don't ask for my password for 2 weeks"); ?>.</label></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submitted" value="<?php echo T_('Log In'); ?>" /></td>
<td></td>
</tr>
</table>
<p>&raquo; <a href="<?php echo ROOT ?>password.php"><?php echo T_('Forgotten your password?') ?></a></p>
</form>
<?php
$this->includeTemplate($GLOBALS['bottom_include']);
?>

View File

@ -1,26 +0,0 @@
<?php
$this->includeTemplate($GLOBALS['top_include']);
?>
<p><?php echo sprintf(T_('If you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you.'), $GLOBALS['sitename']); ?></p>
<form action="<?php echo $formaction; ?>" method="post">
<table>
<tr>
<th align="left"><label for="username"><?php echo T_('Username'); ?></label></th>
<td><input type="text" id="username" name="username" size="20" class="required" /></td>
</tr>
<tr>
<th align="left"><label for="email"><?php echo T_('E-mail'); ?></label></th>
<td><input type="text" id="email" name="email" size="40" class="required" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submitted" value="<?php echo T_('Generate Password'); ?>" /></td>
</tr>
</table>
</form>
<?php
$this->includeTemplate($GLOBALS['bottom_include']);
?>

View File

@ -1,54 +0,0 @@
<?php
$this->includeTemplate($GLOBALS['top_include']);
?>
<script type="text/javascript">
window.onload = function() {
document.getElementById("username").focus();
}
</script>
<p><?php echo sprintf(T_('Sign up here to create a free %s account. All the information requested below is required'), $GLOBALS['sitename']); ?>.</p>
<form action="<?php echo $formaction; ?>" method="post">
<table>
<tr>
<th align="left"><label for="username"><?php echo T_('Username'); ?></label></th>
<td><input type="text" id="username" name="username" size="20" class="required" onkeyup="isAvailable(this, '')" /> </td>
<td id="availability"><?php echo '←'.T_(' at least 5 characters, alphanumeric (no spaces, no dots or other special ones)') ?></td>
</tr>
<tr>
<th align="left"><label for="password"><?php echo T_('Password'); ?></label></th>
<td><input type="password" id="password" name="password" size="20" class="required" /></td>
<td></td>
</tr>
<tr>
<th align="left"><label for="password2"><?php echo T_('Repeat Password'); ?></label></th>
<td><input type="password" id="password2" name="password2" size="20" class="required" /></td>
<td></td>
</tr>
<tr>
<th align="left"><label for="email"><?php echo T_('E-mail'); ?></label></th>
<td><input type="text" id="email" name="email" size="40" class="required" value="<?php echo htmlspecialchars(POST_MAIL); ?>" /></td>
<td><?php echo '←'.T_(' to send you your password if you forget it')?></td>
</tr>
<?php if(strlen($antispamQuestion)>0) {?>
<tr>
<th align="left"><label for="antispamAnswer"><?php echo T_('Antispam question'); ?></label></th>
<td><input type="text" id="antispamAnswer" name="antispamAnswer" size="40" class="required" value="<?php echo $antispamQuestion; ?>" onfocus="if (this.value == '<?php echo $antispamQuestion; ?>') this.value = '';" onblur="if (this.value == '') this.value = '<?php echo $antispamQuestion; ?>';"/></td>
<td></td>
</tr>
<?php } ?>
<tr>
<td></td>
<td><input type="submit" name="submitted" value="<?php echo T_('Register'); ?>" /></td>
<td></td>
</tr>
</table>
</form>
<?php
$this->includeTemplate($GLOBALS['bottom_include']);
?>

View File

@ -1,23 +0,0 @@
<?php if ($GLOBALS['enableAdminColors'] != false
&& isset($userid) && $userservice->isAdmin($userid)
): ?>
<div id="sidebar" class="adminBackground">
<?php else: ?>
<div id="sidebar">
<?php endif ?>
<?php
echo $GLOBALS['sidebarTopMessage'].' ';
if (isset($sidebar_blocks) && count($sidebar_blocks)) {
$size = count($sidebar_blocks);
for ($i = 0; $i < $size; $i++) {
$this->includeTemplate('sidebar.block.'. $sidebar_blocks[$i]);
}
}
echo $GLOBALS['sidebarBottomMessage'];
?>
</div>

View File

@ -1,85 +0,0 @@
<?php
if ($userservice->isLoggedOn() && is_object($currentUser)) {
$cUserId = $userservice->getCurrentUserId();
$cUsername = $currentUser->getUsername();
?>
<ul id="navigation">
<li><a href="<?php echo createURL(''); ?>"><?php echo T_('Home'); ?></a></li>
<li><a href="<?php echo createURL('bookmarks', $cUsername); ?>"><?php echo T_('Bookmarks'); ?></a></li>
<li><a href="<?php echo createURL('alltags', $cUsername); ?>"><?php echo T_('Tags'); ?></a></li>
<li><a href="<?php echo createURL('watchlist', $cUsername); ?>"><?php echo T_('Watchlist'); ?></a></li>
<li><a href="<?php echo $userservice->getProfileUrl($cUserId, $cUsername); ?>"><?php echo T_('Profile'); ?></a></li>
<li><a href="<?php echo createURL('bookmarks', $cUsername . '?action=add'); ?>"><?php echo T_('Add a Bookmark'); ?></a></li>
<?php if (isset($loadjs)) :?>
<li class="access"><button type="button" id="button" title="shoulder surfing protection" onclick="if(! $.cookie('noshoulderSurfingProtection')) {toggle();} else {$.removeCookie('noshoulderSurfingProtection', { path: '/' }); location.reload();}"><?php if(! isset($_COOKIE["noshoulderSurfingProtection"])) {echo "Protected";} else {echo "Unprotected";} ?></button></li>
<?php endif ?>
<li class="access"><?php echo $cUsername?><a href="<?php echo ROOT ?>?action=logout">(<?php echo T_('Log Out'); ?>)</a></li>
<li><a href="<?php echo createURL('about'); ?>"><?php echo T_('About'); ?></a></li>
<?php if($currentUser->isAdmin()): ?>
<li><a href="<?php echo createURL('admin', ''); ?>"><?php echo '['.T_('Admin').']'; ?></a></li>
<?php endif; ?>
</ul>
<?php if (isset($loadjs)) :?>
<div id="password-form" style="background:white; z-index: 2; position:absolute; top:55px; right:10px; visibility:hidden;">
<form id="noshoulderSurfingProtectionPassword">
<input type="password" name="password" id="password" size="40" placeholder="Type your password then press Enter to unprotect."/>
<!-- Allow form submission with keyboard without duplicating the dialog button -->
<input type="submit" tabindex="-1" style="position:absolute; top:-1000px"/>
</form>
</div>
<script>
// Prevents browser autocompletion. autocomplete="off" as input type="password" attribute only works with HTML5.
setTimeout(
clear(),
1000 //1,000 milliseconds = 1 second
);
function clear() {
$('#password').val('');
}
function toggle() {
if ($("#password-form").css("visibility") == "visible") {
$("#password-form").css("visibility", "hidden");
}
else {
clear();
$("#password-form").css("visibility", "visible");
}
}
$( "#noshoulderSurfingProtectionPassword" ).submit(function( event ) {
$.post(
'<?php echo ROOT ?>ajax/checkpassword.php',
{
password : $("#password").val(),
},
function(data) {
if(data == 'true') {
$.cookie('noshoulderSurfingProtection', 'null', { path: '/' });
location.reload();
}
},
'text'
);
event.preventDefault();
});
</script>
<?php endif ?>
<?php
} else {
?>
<ul id="navigation">
<li><a href="<?php echo createURL(''); ?>"><?php echo T_('Home'); ?></a></li>
<li><a href="<?php echo createURL('populartags'); ?>"><?php echo T_('Popular Tags'); ?></a></li>
<li><a href="<?php echo createURL('about'); ?>"><?php echo T_('About'); ?></a></li>
<li class="access"><a href="<?php echo createURL('login'); ?>"><?php echo T_('Log In'); ?></a></li>
<?php if ($GLOBALS['enableRegistration']) { ?>
<li class="access"><a href="<?php echo createURL('register'); ?>"><?php echo T_('Register'); ?></a></li>
<?php } ?>
</ul>
<?php
}
?>

View File

@ -1,84 +0,0 @@
<?php echo '<'; ?>?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
<title><?php echo filter($GLOBALS['sitename'] .(isset($pagetitle) ? ' » ' . $pagetitle : '')); ?></title>
<link rel="icon" type="image/png" href="<?php echo $theme->resource('icon.png');?>" />
<link rel="stylesheet" type="text/css" href="<?php echo $theme->resource('scuttle.css');?>" />
<link rel="search" type="application/opensearchdescription+xml" href="<?php echo ROOT ?>api/opensearch.php" title="<?php echo htmlspecialchars($GLOBALS['sitename']) ?>"/>
<?php
if (isset($rsschannels)) {
$size = count($rsschannels);
for ($i = 0; $i < $size; $i++) {
echo ' <link rel="alternate" type="application/rss+xml" title="'
. htmlspecialchars($rsschannels[$i][0]) . '"'
. ' href="'. htmlspecialchars($rsschannels[$i][1]) .'" />' . "\n";
}
}
?>
<?php if (isset($loadjs)) :?>
<?php if (DEBUG_MODE) : ?>
<script type="text/javascript" src="<?php echo ROOT_JS ?>jquery-1.4.2.js"></script>
<script type="text/javascript" src="<?php echo ROOT_JS ?>jquery.jstree.js"></script>
<script type="text/javascript" src="<?php echo ROOT_JS ?>jquery.cookie-1.4.1.js"></script>
<?php else: ?>
<script type="text/javascript" src="<?php echo ROOT_JS ?>jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="<?php echo ROOT_JS ?>jquery.jstree.min.js"></script>
<script type="text/javascript" src="<?php echo ROOT_JS ?>jquery.cookie-1.4.1.js"></script>
<?php endif ?>
<script type="text/javascript" src="<?php echo ROOT ?>jsScuttle.php"></script>
<?php endif ?>
</head>
<?php
$bodystyle = '';
if (isset($_GET['popup'])) {
if (isset($_GET['height'])) {
$bodystyle .= 'height:' . intval($_GET['height']) . 'px;';
}
if (isset($_GET['width'])) {
$bodystyle .= 'width:' . intval($_GET['width']) . 'px;';
}
if ($bodystyle != '') {
$bodystyle = ' style="' . $bodystyle . '"';
}
}
?>
<body<?php echo $bodystyle; ?>>
<?php
$headerstyle = '';
if (isset($_GET['popup'])) {
$headerstyle = ' class="popup"';
}
?>
<div id="header" <?php echo $headerstyle; ?>>
<h1><a href="<?php echo ROOT ?>"><?php echo $GLOBALS['sitename']; ?></a></h1>
<?php
if(!isset($_GET['popup'])) {
$this->includeTemplate('toolbar.inc');
}
?></div>
<?php
if (isset($subtitlehtml)) {
echo '<h2>' . $subtitlehtml . "</h2>\n";
} else if (isset($subtitle)) {
echo '<h2>' . htmlspecialchars($subtitle) . "</h2>\n";
}
if(DEBUG_MODE) {
echo '<p class="error">'. T_('Admins, your installation is in "Debug Mode" ($debugMode = true). To go in "Normal Mode" and hide debugging messages, change $debugMode to false into config.php.') ."</p>\n";
}
if (isset($error) && $error!='') {
echo '<p class="error">'. $error ."</p>\n";
}
if (isset($msg) && $msg!='') {
echo '<p class="success">'. $msg ."</p>\n";
}
if (isset($tipMsg) && $tipMsg!='') {
echo '<p class="tipMsg">'. $tipMsg ."</p>\n";
}
?>

View File

@ -0,0 +1,35 @@
<?php
/***************************************************************************
Copyright (C) 2005 - 2006 Scuttle project
http://sourceforge.net/projects/scuttle/
http://scuttle.org/
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
***************************************************************************/
?>
<?php if (isset($loadjs)) :?>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/dojo/1.2/dojo/dojo.xd.js"
djConfig="parseOnLoad:true, isDebug:<?php echo DEBUG_MODE?'true':'false' ?>, usePlainJson:true, baseUrl: '<?php echo ROOT ?>', modulePaths: {'js': 'js'}"></script>
<script type="text/javascript">
dojo.require("dojo.parser");
dojo.require("dojo.data.ItemFileReadStore");
dojo.require("js.MultiComboBox"); // DOJO module adapted for SemanticScuttle
dojo.require("dijit.Tree");
</script>
<?php endif ?>

View File

@ -25,13 +25,13 @@ $b2tservice = SemanticScuttle_Service_Factory :: get('Bookmark2Tag');
$logged_on_userid = $userservice->getCurrentUserId();
//tags from current user
$userPopularTags = $b2tservice->getPopularTags($logged_on_userid, 25, $logged_on_userid);
$userPopularTagsCloud = $b2tservice->tagCloud($userPopularTags, 5, 90, 175);
$userPopularTags =& $b2tservice->getPopularTags($logged_on_userid, 25, $logged_on_userid);
$userPopularTagsCloud =& $b2tservice->tagCloud($userPopularTags, 5, 90, 175);
$userPopularTagsCount = count($userPopularTags);
//tags from all users
$allPopularTags = $b2tservice->getPopularTags(null, 5, $logged_on_userid);
$allPopularTagsCloud = $b2tservice->tagCloud($allPopularTags, 5, 90, 175);
$allPopularTags =& $b2tservice->getPopularTags(null, 5, $logged_on_userid);
$allPopularTagsCloud =& $b2tservice->tagCloud($allPopularTags, 5, 90, 175);
$allPopularTagsCount = count($allPopularTags);

View File

@ -1,5 +1,6 @@
<?php
$this->includeTemplate($GLOBALS['top_include']);
$accessPublic = '';
$accessShared = '';
$accessPrivate = '';
@ -32,14 +33,6 @@ if (is_array($row['tags'])) {
$row['tags'] = implode(', ', $row['tags']);
}
if (! is_array($row['bAddress'])) {
$row['bAddress'] = array($row['bAddress']);
}
if (! is_array($row['bTitle'])) {
$row['bTitle'] = array($row['bTitle']);
}
$ajaxUrl = ROOT . 'ajax/'
. (
($GLOBALS['adminsAreAdvisedTagsFromOtherAdmins'] && $currentUser->isAdmin())
@ -47,8 +40,18 @@ $ajaxUrl = ROOT . 'ajax/'
: 'getcontacttags'
) . '.php';
?>
<form onsubmit="var ind = 0; var cb = document.getElementById('checkbox'+ind); while (cb !== null) {var title = document.getElementById('titleField'+ind); var address = document.getElementById('address'+ind); if(cb.checked) {cb.parentNode.removeChild(cb);} else {cb.parentNode.removeChild(cb); title.parentNode.removeChild(title); address.parentNode.removeChild(address);} ind++; cb = document.getElementById('checkbox'+ind);}" action="<?php echo $formaction; ?>" method="post">
<form action="<?php echo $formaction; ?>" method="post">
<table>
<tr>
<th align="left"><?php echo T_('Address'); ?></th>
<td><input type="text" id="address" name="address" size="75" maxlength="65535" value="<?php echo filter($row['bAddress'], 'xml'); ?>" onblur="useAddress(this)" /></td>
<td> <?php echo T_('Required'); ?></td>
</tr>
<tr>
<th align="left"><?php echo T_('Title'); ?></th>
<td><input type="text" id="titleField" name="title" size="75" maxlength="255" value="<?php echo filter($row['bTitle'], 'xml'); ?>" onkeypress="this.style.backgroundImage = 'none';" /></td>
<td> <?php echo T_('Required'); ?></td>
</tr>
<tr>
<th align="left">
<?php echo T_('Description'); ?>
@ -75,44 +78,13 @@ $ajaxUrl = ROOT . 'ajax/'
<td> <?php echo T_('Just visible by you and your contacts.'); ?>
</td>
</tr>
<?php if(! isset($batch)): ?>
<tr>
<th align="left"><?php echo T_('Tags'); ?></th>
<td class="scuttletheme">
<input type="text" id="tags" class="tags" name="tags" size="75" value="<?php echo filter($row['tags'], 'xml'); ?>"/>
<input type="text" id="tags" name="tags" size="75" value="<?php echo filter($row['tags'], 'xml'); ?>"/>
</td>
<td> <?php echo T_('Comma-separated'); ?></td>
</tr>
<?php else: ?>
<tr>
<th align="left"><?php echo 'Common tags'; ?></th>
<td class="scuttletheme">
<span><?php echo filter($commontags, 'xml'); ?></span>
</td>
<td> <?php echo 'Tags common to all those bookmarks'; ?></td>
</tr>
<tr>
<th align="left"><?php echo 'Associated tags'; ?></th>
<td class="scuttletheme">
<span><?php echo filter($alltags, 'xml'); ?></span>
</td>
<td> <?php echo 'All tags associated to those bookmarks'; ?></td>
</tr>
<tr>
<th align="left"><?php echo 'Add those tags'; ?></th>
<td class="scuttletheme">
<input type="text" id="tags" class="tags" name="tags" size="75" value="<?php echo filter($row['tags'], 'xml'); ?>"/>
</td>
<td> <?php echo T_('Comma-separated'); ?></td>
</tr>
<tr>
<th align="left"><?php echo 'Remove those tags'; ?></th>
<td class="scuttletheme">
<input type="text" id="removetags" class="tags" name="removetags" size="75" value="<?php echo filter($row['tags'], 'xml'); ?>"/>
</td>
<td> <?php echo T_('Comma-separated'); ?></td>
</tr>
<?php endif; ?>
<tr>
<th></th>
<td align="right"><small><?php echo htmlspecialchars(T_('Note: use ">" to include one tag in another. e.g.: europe>france>paris'))?></small></td>
@ -143,9 +115,6 @@ $ajaxUrl = ROOT . 'ajax/'
<input type="submit" name="delete" value="<?php echo T_('Delete Bookmark'); ?>" />
<?php
}
?>
<button type="button" id="button" title="Invert selection" onclick="var ind = 0; var cb = document.getElementById('checkbox'+ind); while (cb !== null) {var title = document.getElementById('titleField'+ind); var address = document.getElementById('address'+ind); if(cb.checked) {cb.checked=false;} else {cb.checked=true;} ind++; cb = document.getElementById('checkbox'+ind);}">Invert selection</button>
<?php
if (isset($showdelete) && $showdelete) {
echo ' (<a href="'.createURL('bookmarkcommondescriptionedit', $row['bHash']).'">';
echo T_('edit common description').'</a>)';
@ -157,42 +126,14 @@ $ajaxUrl = ROOT . 'ajax/'
<?php
} elseif (isset($referrer)) {
?>
<input type="hidden" name="referrer" value="<?php echo filter($referrer, 'xml'); ?>" />
<input type="hidden" name="referrer" value="<?php echo $referrer; ?>" />
<?php
}
?>
</td>
<td></td>
</tr>
<?php
$ind = 0;
foreach($row['bAddress'] as $index => $address) {
?>
<tr>
<td height="20px"></td>
<td><input type="checkbox" id="checkbox<?php echo $ind; ?>" checked="checked" /></td>
<td></td>
</tr>
<tr>
<th align="left"><?php echo T_('Address'); ?></th>
<td><input type="text" id="address<?php echo $ind; ?>" name="address[<?php echo $index; ?>]" size="75" maxlength="65535" value="<?php echo filter($address, 'xml'); ?>" onblur="useAddress(this)" /></td>
<td> <?php echo T_('Required'); ?></td>
</tr>
<tr>
<th align="left"><?php echo T_('Title'); ?></th>
<td><input type="text" id="titleField<?php echo $ind; ?>" name="title[<?php echo $index; ?>]" size="75" maxlength="255" value="<?php echo filter($row['bTitle'][$index], 'xml'); ?>" onkeypress="this.style.backgroundImage = 'none';" /></td>
<td> <?php echo T_('Required'); ?></td>
</tr>
<tr>
<td height="20px"></td>
<td></td>
<td></td>
</tr>
<?php
$ind++;
}
?>
</table>
</table>
</form>
<link href="<?php echo ROOT ?>js/jquery-ui-1.8.11/themes/base/jquery.ui.all.css" rel="stylesheet" type="text/css"/>
@ -215,8 +156,7 @@ jQuery(document).ready(function() {
}
//var availableTags = ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby"];
//jQuery("input#tags").autocomplete({
jQuery("input.tags").autocomplete({
jQuery("input#tags").autocomplete({
autoFocus: true,
minLength: 1,

View File

@ -28,14 +28,6 @@ $this->includeTemplate($GLOBALS['top_include']);
<td><input type="text" name="pMail" size="75" value="<?php echo filter($objectUser->getEmail(), 'xml'); ?>" /></td>
<td> <?php echo T_('Required'); ?></td>
</tr>
<tr>
<th align="left"><?php echo T_('Private RSS Feed'); ?></th>
<td><input type="checkbox" id="pEnablePrivateKey" name="pEnablePrivateKey" value="true" <?php echo $privateKeyIsEnabled;?> />
<label for="pEnablePrivateKey"><?php echo T_('Enable'); ?></label>&nbsp;&nbsp;&nbsp;
<input type="text" id="pPrivateKey" name="pPrivateKey" size="40" value="<?php echo $privateKey;?>" readonly="readonly" />
<a onclick="getNewPrivateKey(this); return false;"><button type="submit" name="submittedPK" value="1"><?php echo T_('Generate New Key'); ?></button></a>
</td>
</tr>
</table>
<h3><?php echo T_('Personal Details'); ?></h3>
@ -58,15 +50,13 @@ $this->includeTemplate($GLOBALS['top_include']);
<td><input type="submit" name="submitted" value="<?php echo T_('Save Changes'); ?>" /></td>
</tr>
</table>
<?php include 'editprofile-sslclientcerts.tpl.php'; ?>
<h3><?php echo T_('Actions'); ?></h3>
<table class="profile">
<tr>
<th align="left"><?php echo T_('Export bookmarks'); ?></th>
<td>
<a href="../api/export_html.php"><?php echo T_('HTML file (for browsers)')?></a> /
<a href="../api/posts_all.php"><?php echo T_('XML file (like del.icio.us)')?></a> /
<a href="../api/posts_all.php"><?php echo T_('XML file (like del.icio.us)')?></a> /
<a href="../api/export_csv.php"><?php echo T_('CSV file (for spreadsheet tools)')?></a>
</td>
</tr>

View File

@ -30,7 +30,7 @@ $this->includeTemplate($GLOBALS['top_include']);
<h3><?php echo T_('Instructions'); ?></h3>
<ol>
<li><?php echo T_('Log in to the <a href="https://api.del.icio.us/v1/posts/all">export page at del.icio.us</a>'); ?>.</li>
<li><?php echo T_('Log in to the <a href="http://del.icio.us/api/posts/all">export page at del.icio.us</a>'); ?>.</li>
<li><?php echo T_('Save the resulting <abbr title="Extensible Markup Language">XML</abbr> file to your computer'); ?>.</li>
<li><?php echo T_('Click <kbd>Browse...</kbd> to find this file on your computer. The maximum size the file can be is 1MB'); ?>.</li>
<li><?php echo T_('Select the default privacy setting for your imported bookmarks'); ?>.</li>

View File

@ -0,0 +1,42 @@
<?php
$this->includeTemplate($GLOBALS['top_include']);
?>
<script type="text/javascript">
window.onload = function() {
document.getElementById("username").focus();
}
</script>
<?php
if (!$userservice->isSessionStable()) {
echo '<p class="error">'.T_('Please activate cookies').'</p>';
}
?>
<form<?php echo $form['attributes']; ?>>
<?php echo implode('', $form['hidden']); ?>
<table>
<tr>
<th align="left"><?php echo $form['username']['labelhtml']; ?></th>
<td><?php echo $form['username']['html']; ?></td>
<td></td>
</tr>
<tr>
<th align="left"><?php echo $form['password']['labelhtml']; ?></th>
<td><?php echo $form['password']['html']; ?></td>
<td><?php echo $form['keeploggedin']['html']
. $form['keeploggedin']['labelhtml']; ?></td>
</tr>
<tr>
<td></td>
<td><?php echo $form['submit']['html']; ?></td>
<td></td>
</tr>
</table>
<p>&raquo; <a href="<?php echo ROOT ?>password.php"><?php echo T_('Forgotten your password?') ?></a></p>
</form>
<?php
$this->includeTemplate($GLOBALS['bottom_include']);
?>

View File

@ -0,0 +1,34 @@
<?php
$this->includeTemplate($GLOBALS['top_include']);
if (isset($form)) {
?>
<p><?php echo sprintf(T_('If you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you.'), $GLOBALS['sitename']); ?></p>
<form<?php echo $form['attributes']; ?>>
<?php echo implode('', $form['hidden']); ?>
<table>
<tr>
<th align="left"><?php echo $form['username']['labelhtml']; ?></th>
<td><?php echo $form['username']['html']; ?></td>
</tr>
<tr>
<th align="left"><?php echo $form['email']['labelhtml']; ?></th>
<td><?php echo $form['email']['html']; ?></td>
</tr>
<tr>
<th align="left"><?php echo $form['captcha']['labelhtml']; ?></th>
<td><?php echo $form['captcha']['html']; ?></td>
</tr>
<tr>
<td></td>
<td><?php echo $form['submit']['html']; ?></td>
</tr>
</table>
</form>
<?php
}
$this->includeTemplate($GLOBALS['bottom_include']);
?>

View File

@ -0,0 +1,50 @@
<?php
$this->includeTemplate($GLOBALS['top_include']);
?>
<script type="text/javascript">
window.onload = function() {
document.getElementById("username").focus();
}
</script>
<p><?php echo sprintf(T_('Sign up here to create a free %s account. All the information requested below is required'), $GLOBALS['sitename']); ?>.</p>
<form<?php echo $form['attributes']; ?>>
<?php echo implode('', $form['hidden']); ?>
<table>
<tr>
<th align="left"><?php echo $form['username']['labelhtml']; ?></th>
<td><?php echo $form['username']['html']; ?></td>
<td id="availability"><?php echo '←'.T_(' at least 5 characters, alphanumeric (no spaces, no dots or other special ones)') ?></td>
</tr>
<tr>
<th align="left"><?php echo $form['password']['labelhtml']; ?></th>
<td><?php echo $form['password']['html']; ?></td>
<td></td>
</tr>
<tr>
<th align="left"><?php echo $form['email']['labelhtml']; ?></th>
<td><?php echo $form['email']['html']; ?></td>
<td><?php echo '←'.T_(' to send you your password if you forget it')?></td>
</tr>
<?php if (isset($form['captcha'])) {?>
<tr>
<th align="left"><?php echo $form['captcha']['labelhtml']; ?></th>
<td><?php echo $form['captcha']['html']; ?></td>
<td></td>
</tr>
<?php } ?>
<tr>
<td></td>
<td><?php echo $form['submit']['html']; ?></td>
<td></td>
</tr>
</table>
</form>
<?php
$this->includeTemplate($GLOBALS['bottom_include']);
?>

View File

@ -1,13 +1,10 @@
<?php
echo '<' . '?xml version="1.0" encoding="utf-8" ?' . ">\n";
?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title><?php echo $feedtitle; ?></title>
<link><?php echo htmlspecialchars($pagelink); ?></link>
<atom:link rel="self" type="application/rss+xml" href="<?php echo htmlspecialchars($feedlink); ?>"/>
<title><?php echo htmlspecialchars($feedtitle); ?></title>
<link><?php echo htmlspecialchars($feedlink); ?></link>
<description><?php echo htmlspecialchars($feeddescription); ?></description>
<pubDate><?php echo date('r'); ?></pubDate>
<lastBuildDate><?php echo $feedlastupdate ?></lastBuildDate>
@ -17,7 +14,6 @@ echo '<' . '?xml version="1.0" encoding="utf-8" ?' . ">\n";
<item>
<title><?php echo htmlspecialchars($bookmark['title']); ?></title>
<link><?php echo htmlspecialchars($bookmark['link']); ?></link>
<guid><?php echo $bookmark['guid']; ?></guid>
<description><?php echo htmlspecialchars($bookmark['description']); ?></description>
<dc:creator><?php echo htmlspecialchars($bookmark['creator']); ?></dc:creator>
<pubDate><?php echo $bookmark['pubdate']; ?></pubDate>
@ -27,4 +23,4 @@ echo '<' . '?xml version="1.0" encoding="utf-8" ?' . ">\n";
</item>
<?php endforeach; ?>
</channel>
</rss>
</rss>

View File

@ -1,7 +1,7 @@
<?php
$b2tservice =SemanticScuttle_Service_Factory::get('Bookmark2Tag');
$commonTags = $b2tservice->getRelatedTagsByHash($hash);
$commonTags = $b2tservice->tagCloud($commonTags, 5, 90, 225, 'alphabet_asc');
$commonTags =& $b2tservice->getRelatedTagsByHash($hash);
$commonTags =& $b2tservice->tagCloud($commonTags, 5, 90, 225, 'alphabet_asc');
if ($commonTags && count($commonTags) > 0) {
?>

View File

@ -14,7 +14,7 @@ require_once('sidebar.linkedtags.inc.php');
/* Manage input */
$user = isset($user)?$user:'';
$userid = isset($userid)?$userid:0;
$currenttag = isset($currenttag) ? str_replace('+', ',', $currenttag) : '';
$currenttag = isset($currenttag)?$currenttag:'';
//$summarizeLinkedTags = isset($summarizeLinkedTags)?$summarizeLinkedTags:false;
$logged_on_userid = $userservice->getCurrentUserId();

View File

@ -14,8 +14,8 @@ $logged_on_userid = $userservice->getCurrentUserId();
if ($logged_on_userid === false) {
$logged_on_userid = NULL;
}
$popularTags = $b2tservice->getPopularTags($userid, $popCount, $logged_on_userid);
$popularTags = $b2tservice->tagCloud($popularTags, 5, 90, 225, 'alphabet_asc');
$popularTags =& $b2tservice->getPopularTags($userid, $popCount, $logged_on_userid);
$popularTags =& $b2tservice->tagCloud($popularTags, 5, 90, 225, 'alphabet_asc');
if ($popularTags && count($popularTags) > 0) {
?>

View File

@ -10,7 +10,7 @@ if ($logged_on_userid === false) {
$logged_on_userid = NULL;
}
$recentTags = $b2tservice->getPopularTags($userid, $popCount, $logged_on_userid, $GLOBALS['defaultRecentDays']);
$recentTags = $b2tservice->tagCloud($recentTags, 5, 90, 225, 'alphabet_asc');
$recentTags =& $b2tservice->tagCloud($recentTags, 5, 90, 225, 'alphabet_asc');
if ($recentTags && count($recentTags) > 0) {
?>

View File

@ -0,0 +1,19 @@
<?php if($GLOBALS['enableAdminColors']!=false && isset($userid) && $userservice->isAdmin($userid)): ?>
<div id="sidebar" class="adminBackground">
<?php else: ?>
<div id="sidebar">
<?php endif ?>
<?php
echo $GLOBALS['sidebarTopMessage'].' ';
$size = count($sidebar_blocks);
for ($i = 0; $i < $size; $i++) {
$this->includeTemplate('sidebar.block.'. $sidebar_blocks[$i]);
}
echo $GLOBALS['sidebarBottomMessage'];
?>
</div>

View File

@ -36,6 +36,7 @@ window.onload = function() {
<td></td>
</tr>
</table>
</p>
<?php if (isset($referrer)): ?>
<div><input type="hidden" name="referrer" value="<?php echo $referrer; ?>" /></div>

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