Compare commits
78 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
7379805565 | ||
|
1e3cd8bf6e | ||
|
ae8cd8ffc3 | ||
|
e0ece297a3 | ||
|
bf9b3f98a7 | ||
|
cecf6d349a | ||
|
badc3b87ee | ||
|
2aa12b2534 | ||
|
4b3c308cc4 | ||
|
122d8679c9 | ||
|
78697d4438 | ||
|
69233c462d | ||
|
f3461fcada | ||
|
645c0a4396 | ||
|
7331bf395e | ||
|
012d48ff45 | ||
|
8ec3147507 | ||
|
3c280ae9ab | ||
|
1ba18be35d | ||
|
b38edbc353 | ||
|
d5e22f7ac5 | ||
|
cb7b2f5433 | ||
|
830d417db4 | ||
|
4a734d2012 | ||
|
745550b2cd | ||
|
40850b4da2 | ||
|
7a7d5f5a6f | ||
|
79d9a0b88c | ||
|
4e324ccc14 | ||
|
67122981b4 | ||
|
4d874f7528 | ||
|
df1701253b | ||
|
bcf3737f8e | ||
|
1376dfb7c5 | ||
|
ecd30ace99 | ||
|
1d4e5d8011 | ||
|
02dac679f7 | ||
|
087189a503 | ||
|
52a4fb1f79 | ||
|
5f99b64744 | ||
|
4f1daa96df | ||
|
0ebb87bdb1 | ||
|
66c1044d41 | ||
|
041d1c0b38 | ||
|
a9bf6a587b | ||
|
2d6e303bff | ||
|
95dbed3784 | ||
|
a48692960b | ||
|
89caa4a598 | ||
|
429bddee63 | ||
|
23fe0c49fc | ||
|
f5bf96f1fa | ||
|
1cfaae161d | ||
|
a697e846ca | ||
|
b0b9b2fafb | ||
|
f32ac6ed48 | ||
|
79db270b90 | ||
|
9d45600fce | ||
|
1276ad4ffb | ||
|
3a0ff7a803 | ||
|
94afd94fd6 | ||
|
362d159437 | ||
|
f4c51ccb4e | ||
|
71e665fd9b | ||
|
3cacd46d82 | ||
|
7f10ac6aa3 | ||
|
ec49e80dea | ||
|
f310b12374 | ||
|
4e5c6ad1f9 | ||
|
680822f0f4 | ||
|
4285799c3f | ||
|
26052021a2 | ||
|
883bf951c7 | ||
|
e20fbd226b | ||
|
251d2a868a | ||
|
a4d637f1ca | ||
|
28a0739ec0 | ||
|
cb81fc48cb |
4
.gitignore
vendored
4
.gitignore
vendored
@ -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
|
||||
|
15
.travis.yml
15
.travis.yml
@ -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
|
12
README.md
12
README.md
@ -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
244
build.xml
@ -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 "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
|
||||
<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
1
data/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
config.php
|
@ -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';
|
||||
|
||||
|
||||
/****************************
|
||||
|
@ -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.
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -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`)
|
||||
);
|
@ -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`)
|
||||
);
|
@ -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;
|
@ -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 ;
|
@ -1 +0,0 @@
|
||||
ALTER TABLE `sc_bookmarks` ADD `bShort` VARCHAR(16) NULL DEFAULT NULL;
|
@ -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`);
|
||||
|
@ -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);
|
@ -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 ;
|
@ -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>
|
||||
|
@ -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&address=\'+a+\'&title=\'+t+\'&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&address=\'+a+\'&title=\'+t+\'&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&popup=1&address=\'+a+\'&title=\'+t+\'&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&popup=1&address=\'+a+\'&title=\'+t+\'&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&popup=1&width=800&height=470&address=%{url}&title=%{title}&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>
|
18
data/templates/bookmarks-thumbnail.inc.tpl.php
Normal file
18
data/templates/bookmarks-thumbnail.inc.tpl.php
Normal 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.'" />';
|
||||
|
||||
?>
|
@ -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"
|
@ -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>
|
@ -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>';
|
||||
}
|
||||
?>
|
@ -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 } ?>
|
@ -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>» <a href="<?php echo ROOT ?>password.php"><?php echo T_('Forgotten your password?') ?></a></p>
|
||||
</form>
|
||||
|
||||
<?php
|
||||
$this->includeTemplate($GLOBALS['bottom_include']);
|
||||
?>
|
@ -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']);
|
||||
?>
|
@ -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']);
|
||||
?>
|
@ -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>
|
@ -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
|
||||
}
|
||||
?>
|
@ -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";
|
||||
}
|
||||
?>
|
35
data/templates/dojo.inc.php
Normal file
35
data/templates/dojo.inc.php
Normal 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 ?>
|
@ -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);
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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>
|
||||
<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>
|
@ -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>
|
42
data/templates/login.tpl.php
Normal file
42
data/templates/login.tpl.php
Normal 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>» <a href="<?php echo ROOT ?>password.php"><?php echo T_('Forgotten your password?') ?></a></p>
|
||||
</form>
|
||||
|
||||
<?php
|
||||
$this->includeTemplate($GLOBALS['bottom_include']);
|
||||
?>
|
34
data/templates/password.tpl.php
Normal file
34
data/templates/password.tpl.php
Normal 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']);
|
||||
?>
|
50
data/templates/register.tpl.php
Normal file
50
data/templates/register.tpl.php
Normal 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']);
|
||||
?>
|
@ -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>
|
@ -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) {
|
||||
?>
|
@ -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();
|
@ -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) {
|
||||
?>
|
@ -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) {
|
||||
?>
|
19
data/templates/sidebar.tpl.php
Normal file
19
data/templates/sidebar.tpl.php
Normal 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>
|
@ -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
Loading…
Reference in New Issue
Block a user