├── www ├── themes │ └── sscuttlizr │ │ ├── icon.png │ │ ├── images │ │ ├── logo.png │ │ ├── poche.png │ │ ├── rss.gif │ │ ├── b_edit.png │ │ ├── bg_bar.png │ │ ├── loading.gif │ │ ├── logo_24.gif │ │ ├── yourls.png │ │ ├── bg_admin.png │ │ ├── bg_header.png │ │ ├── bg_sidebar.png │ │ └── thumbs_up.orig.png │ │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.ttf │ │ └── glyphicons-halflings-regular.woff │ │ ├── scuttle.css │ │ └── css │ │ └── font-awesome.min.css ├── crossdomain.xml └── js │ └── sscuttlizr │ ├── jquery.qrcode.min.js │ └── bootstrap.min.js ├── data └── templates │ └── sscuttlizr │ ├── error.404.tpl.php │ ├── error.500.tpl.php │ ├── sidebar.tpl.php │ ├── sidebar.block.watchstatus.php │ ├── tagdelete.tpl.php │ ├── bookmarks-thumbnail.inc.tpl.php │ ├── sidebar.block.common.php │ ├── sidebar.block.users.php │ ├── password.tpl.php │ ├── piwik.php │ ├── tags.tpl.php │ ├── users.tpl.php │ ├── sidebar.block.related.php │ ├── sidebar.block.popular.php │ ├── tagedit.tpl.php │ ├── importStructure.tpl.php │ ├── rss.tpl.php │ ├── sidebar.block.recent.php │ ├── tagrename.tpl.php │ ├── bookmarks-vote.inc.tpl.php │ ├── sidebar.block.tagactions.php │ ├── sidebar.block.search.php │ ├── admin.tpl.php │ ├── login.tpl.php │ ├── bottom.inc.php │ ├── importDelicious.tpl.php │ ├── tagcommondescriptionedit.tpl.php │ ├── bookmarks-vote-horizontal.inc.tpl.php │ ├── sidebar.block.menu2.php │ ├── tag2tagdelete.tpl.php │ ├── sidebar.block.linked.php │ ├── search.menu.php │ ├── importNetscape.tpl.php │ ├── editprofile-sslclientcerts.tpl.php │ ├── bookmarkcommondescriptionedit.tpl.php │ ├── tag2tagadd.tpl.php │ ├── sidebar.block.watchlist.php │ ├── register.tpl.php │ ├── profile.tpl.php │ ├── toolbar.inc.php │ ├── about.tpl.php │ ├── sidebar.block.menu.php │ ├── tag2tagedit.tpl.php │ ├── sidebar.linkedtags.inc.php │ ├── editprofile.tpl.php │ ├── jappix.php │ ├── dynamictags.inc.php │ ├── bookmarklet.inc.php │ ├── top.inc.php │ ├── editbookmark.tpl.php │ └── bookmarks.tpl.php ├── LICENSE └── README.md /www/themes/sscuttlizr/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/icon.png -------------------------------------------------------------------------------- /www/themes/sscuttlizr/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/images/logo.png -------------------------------------------------------------------------------- /www/themes/sscuttlizr/images/poche.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/images/poche.png -------------------------------------------------------------------------------- /www/themes/sscuttlizr/images/rss.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/images/rss.gif -------------------------------------------------------------------------------- /www/themes/sscuttlizr/images/b_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/images/b_edit.png -------------------------------------------------------------------------------- /www/themes/sscuttlizr/images/bg_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/images/bg_bar.png -------------------------------------------------------------------------------- /www/themes/sscuttlizr/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/images/loading.gif -------------------------------------------------------------------------------- /www/themes/sscuttlizr/images/logo_24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/images/logo_24.gif -------------------------------------------------------------------------------- /www/themes/sscuttlizr/images/yourls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/images/yourls.png -------------------------------------------------------------------------------- /www/themes/sscuttlizr/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /www/themes/sscuttlizr/images/bg_admin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/images/bg_admin.png -------------------------------------------------------------------------------- /www/themes/sscuttlizr/images/bg_header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/images/bg_header.png -------------------------------------------------------------------------------- /www/themes/sscuttlizr/images/bg_sidebar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/images/bg_sidebar.png -------------------------------------------------------------------------------- /www/themes/sscuttlizr/images/thumbs_up.orig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/images/thumbs_up.orig.png -------------------------------------------------------------------------------- /www/themes/sscuttlizr/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /www/themes/sscuttlizr/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /www/themes/sscuttlizr/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /www/themes/sscuttlizr/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /www/themes/sscuttlizr/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /www/themes/sscuttlizr/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TarekJor/sscuttlizr/master/www/themes/sscuttlizr/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /data/templates/sscuttlizr/error.404.tpl.php: -------------------------------------------------------------------------------- 1 | includeTemplate($GLOBALS['top_include']); 4 | if (!$error) { 5 | echo '

'. T_('Not Found') .'

'; 6 | echo '

'. T_('The requested URL was not found on this server') .'

'; 7 | } 8 | $this->includeTemplate($GLOBALS['bottom_include']); 9 | ?> -------------------------------------------------------------------------------- /data/templates/sscuttlizr/error.500.tpl.php: -------------------------------------------------------------------------------- 1 | includeTemplate($GLOBALS['top_include']); 4 | if (!$error) { 5 | echo '

'. T_('General server error') .'

'; 6 | echo '

'. T_('The requested URL could not be processed') .'

'; 7 | } 8 | $this->includeTemplate($GLOBALS['bottom_include']); 9 | ?> 10 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/sidebar.tpl.php: -------------------------------------------------------------------------------- 1 | isAdmin($userid) 3 | ): ?> 4 | 18 | 19 | 23 | 24 | 25 | 26 | 27 | 31 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 51 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/importDelicious.tpl.php: -------------------------------------------------------------------------------- 1 | includeTemplate($GLOBALS['top_include']); 3 | ?> 4 | 5 |
6 | 7 | 8 | 9 | 13 | 14 | 15 | 16 | 23 | 24 | 25 | 27 | 28 |
10 | 11 | 12 |
17 | 22 |
26 |
29 |
30 | 31 |

32 |
    33 |
  1. export page at del.icio.us'); ?>.
  2. 34 |
  3. XML file to your computer'); ?>.
  4. 35 |
  5. Browse... to find this file on your computer. The maximum size the file can be is 1MB'); ?>.
  6. 36 |
  7. .
  8. 37 |
  9. Import to start importing the bookmarks; it may take a minute'); ?>.
  10. 38 |
39 | 40 | includeTemplate($GLOBALS['bottom_include']); 42 | ?> -------------------------------------------------------------------------------- /data/templates/sscuttlizr/tagcommondescriptionedit.tpl.php: -------------------------------------------------------------------------------- 1 | includeTemplate($GLOBALS['top_include']); 3 | 4 | ?> 5 | 10 | 11 |
12 |
13 |
14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 32 | 33 | 34 | 35 | 36 | 40 | 41 | 42 |
23 | 0) { 25 | echo T_('Last modification:').' '.$description['cdDatetime'].', '; 26 | $lastUser = $userservice->getUser($description['uId']); 27 | echo '' 28 | . SemanticScuttle_Model_UserArray::getName($lastUser) . ''; 29 | } 30 | ?> 31 |
37 | 38 | 39 |
43 | 44 | 45 |
46 | 47 |
48 |
49 |
50 |
51 |
52 | 53 | includeTemplate($GLOBALS['bottom_include']); 55 | ?> 56 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/bookmarks-vote-horizontal.inc.tpl.php: -------------------------------------------------------------------------------- 1 | '; 23 | echo sprintf( 24 | T_('Voting %d'), $row['bVoting'] 25 | ) . ' '; 26 | 27 | if (isset($row['hasVoted'])) { 28 | if ($row['vote'] != 1) { 29 | echo ' ' . T_('Vote for') . ' '; 33 | } else { 34 | echo ' ' 35 | . T_('Vote for') . ' '; 36 | } 37 | 38 | 39 | if ($row['vote'] != -1) { 40 | echo ' ' . T_('Vote against') . ''; 44 | } else { 45 | echo ' ' 46 | . T_('Vote against') . ''; 47 | } 48 | } 49 | echo ''; 50 | ?> -------------------------------------------------------------------------------- /data/templates/sscuttlizr/sidebar.block.menu2.php: -------------------------------------------------------------------------------- 1 | getCurrentUserId(); 10 | if ($logged_on_userid === false) { 11 | $logged_on_userid = NULL; 12 | } 13 | 14 | 15 | $cat_url = createURL('tags', '%s'); 16 | $menu2Tags = $GLOBALS['menu2Tags']; 17 | 18 | if (count($menu2Tags) > 0) { 19 | ?> 20 | 21 |

22 | 23 | 24 |
> 26 | 41 |
42 | 69 | 72 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/tag2tagdelete.tpl.php: -------------------------------------------------------------------------------- 1 | includeTemplate($GLOBALS['top_include']); 3 | ?> 4 |
5 |
6 |
7 |
8 | 10 |

11 | 12 | 13 | 14 |

15 |

16 |

17 | 18 | 19 |

20 | 21 | 22 |
23 | 24 | 25 |
26 | 27 | 0) { 29 | echo T_("Existing links:"); 30 | foreach($links as $link) { 31 | echo ''; 32 | if($link['tag1'] == $tag1 || $link['tag1'] == $tag2) { 33 | $textTag1 = ''.$tag1.''; 34 | } else { 35 | $textTag1 = $link['tag1']; 36 | } 37 | if($link['tag2'] == $tag1 || $link['tag2'] == $tag2) { 38 | $textTag2 = ''.$tag2.''; 39 | } else { 40 | $textTag2 = $link['tag2']; 41 | } 42 | 43 | echo $textTag1.' '.$link['relationType'].' '.$textTag2; 44 | echo " "; 45 | } 46 | } else { 47 | echo T_('No links'); 48 | } 49 | ?> 50 |
51 |
52 |
53 | 54 | includeTemplate($GLOBALS['bottom_include']); 56 | ?> 57 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/sidebar.block.linked.php: -------------------------------------------------------------------------------- 1 | getCurrentUserId(); 21 | $editingMode = $logged_on_userid !== false; 22 | ?> 23 |

24 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/search.menu.php: -------------------------------------------------------------------------------- 1 | 13 | 14 | 15 | 56 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/importNetscape.tpl.php: -------------------------------------------------------------------------------- 1 | includeTemplate($GLOBALS['top_include']); 3 | ?> 4 | 5 |
6 |
7 | 8 | 9 | 10 | 14 | 15 | 16 | 17 | 24 | 25 | 26 | 28 | 29 |
11 | 12 | 13 |
18 | 23 |
27 |
30 |
31 | 32 |

33 |
    34 |
  1. 35 |

    :

    36 |
      37 |
    • File > Import and Export... > Export Favorites'); ?>
    • 38 |
    • Bookmarks > Manage Bookmarks... > File > Export...'); ?>
    • 39 |
    • Bookmarks > Manage Bookmarks... > Tools > Export...'); ?>
    • 40 |
    41 |
  2. 42 |
  3. Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MB'); ?>.
  4. 43 |
  5. .
  6. 44 |
  7. Import to start importing the bookmarks; it may take a minute'); ?>.
  8. 45 |
46 |
47 | 48 | includeTemplate($GLOBALS['bottom_include']); 50 | ?> -------------------------------------------------------------------------------- /data/templates/sscuttlizr/editprofile-sslclientcerts.tpl.php: -------------------------------------------------------------------------------- 1 | 11 |

12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | isCurrent()) { echo 'class="ssl-current"'; } ?>> 26 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 |
Options
27 |
28 | 29 | 32 |
33 |
sslSerial); ?>sslName); ?>sslEmail); ?>sslClientIssuerDn); ?>
42 | 43 |

44 | 45 | 46 | 47 | isRegistered($sslClientCerts)) { ?> 48 |

49 | 50 |

51 |

52 | 55 |
56 |

57 | 58 | 59 |

60 | 61 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/bookmarkcommondescriptionedit.tpl.php: -------------------------------------------------------------------------------- 1 | includeTemplate($GLOBALS['top_include']); 4 | 5 | list ($url, $hash) = explode('/', $_SERVER['PATH_INFO']); 6 | 7 | 8 | ?> 9 | 14 | 15 |
16 |
17 |
18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 41 | 42 | 43 | 44 | 45 | 49 | 50 | 51 |
32 | 0) { 34 | echo T_('Last modification:').' '.$description['cdDatetime'].', '; 35 | $lastUser = $userservice->getUser($description['uId']); 36 | echo '' 37 | . SemanticScuttle_Model_UserArray::getName($lastUser) . ''; 38 | } 39 | ?> 40 |
46 | 47 | 48 |
52 | 53 | 54 |
55 | 56 |
57 |
58 |
59 |
60 |
61 | 62 | includeTemplate($GLOBALS['bottom_include']); 64 | ?> 65 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/tag2tagadd.tpl.php: -------------------------------------------------------------------------------- 1 | includeTemplate($GLOBALS['top_include']); 3 | ?> 4 |
5 |
6 |
7 |
8 | 9 |

10 |
11 | " to include one tag in another. e.g.: europe>france>paris')?>
12 |

13 | 14 |

15 |

16 | 17 | 18 | 19 |

20 |

21 | countries) display the tag into the menu box'), $GLOBALS['menuTag'], $GLOBALS['menuTag'])?> 22 |

23 | 24 |

25 | 26 | 27 |

28 | 29 | 30 |
31 | 32 | 33 |
34 | 35 | 0) { 37 | echo T_("Existing links:"); 38 | foreach($links as $link) { 39 | echo ''; 40 | if($link['tag1'] == $tag1 || $link['tag1'] == $tag2) { 41 | $textTag1 = ''.$tag1.''; 42 | } else { 43 | $textTag1 = $link['tag1']; 44 | } 45 | if($link['tag2'] == $tag1 || $link['tag2'] == $tag2) { 46 | $textTag2 = ''.$tag2.''; 47 | } else { 48 | $textTag2 = $link['tag2']; 49 | } 50 | 51 | echo $textTag1.' '.$link['relationType'].' '.$textTag2; 52 | echo " "; 53 | } 54 | } else { 55 | echo T_('No links'); 56 | } 57 | ?> 58 |
59 |
60 |
61 | 62 | includeTemplate($GLOBALS['bottom_include']); 64 | ?> 65 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/sidebar.block.watchlist.php: -------------------------------------------------------------------------------- 1 | getWatchNames($userid); 6 | $watchedBy = $userservice->getWatchNames($userid, true); 7 | 8 | 9 | $closeContacts = array(); // people in my contacts list and who I am also in the contacts list 10 | foreach($watching as $watchuser) { 11 | if(in_array($watchuser, $watchedBy)) { 12 | $closeContacts[] = $watchuser; 13 | } 14 | } 15 | 16 | ?> 17 | 18 | 0):?> 19 |

20 |
21 | 26 |
27 | 28 | 29 | 30 |

31 |
32 | 50 |
51 | 52 |

53 |
54 | 59 | 60 |
61 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/register.tpl.php: -------------------------------------------------------------------------------- 1 | includeTemplate($GLOBALS['top_include']); 3 | ?> 4 | 5 | 10 |
11 |
12 |
13 |

.

14 | 15 |
16 |
17 | 18 | 19 | '.T_(' at least 5 characters, alphanumeric (no spaces, no dots or other special ones)') ?> 20 |
21 |
22 | 23 | 24 |
25 |
26 | 27 | 28 | 29 |
30 |
31 | 32 | 33 | '.T_(' to send you your password if you forget it')?> 34 |
35 | 36 | 0) {?> 37 |
38 | 39 | 40 |
41 | 42 | 43 |
44 |
45 |
46 |
47 | 48 | includeTemplate($GLOBALS['bottom_include']); 50 | ?> 51 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/profile.tpl.php: -------------------------------------------------------------------------------- 1 | includeTemplate($GLOBALS['top_include']); 3 | ?> 4 | 5 |
6 |
7 |
8 |
9 |
10 |
11 | isLoggedOn() && $currentUser->isAdmin()) { 13 | ?> 14 |
15 |
getEmail()) ?>
16 | getName() != "") { 19 | ?> 20 |
21 |
getName()); ?>
22 | getHomepage() != "") { 25 | ?> 26 |
27 |
getHomepage()); ?>
28 | 31 |
32 |
getDatetime())); ?>
33 | getContent() != "") { 35 | ?> 36 |
37 |
getContent(); ?>
38 | getWatchNames($userid); 41 | if ($watching) { 42 | ?> 43 |
44 |
45 | '. $watchuser .', '; 49 | } 50 | echo substr($list, 0, -2); 51 | ?> 52 |
53 | getWatchNames($userid, true); 56 | if ($watchnames) { 57 | ?> 58 |
59 |
60 | '. $watchuser .', '; 64 | } 65 | echo substr($list, 0, -2); 66 | ?> 67 |
68 | 71 |
72 |
>>
73 |
74 |
75 |
76 |
77 | 78 | includeTemplate($GLOBALS['bottom_include']); 80 | ?> 81 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/toolbar.inc.php: -------------------------------------------------------------------------------- 1 | isLoggedOn() && is_object($currentUser)) { 3 | $cUserId = $userservice->getCurrentUserId(); 4 | $cUsername = $currentUser->getUsername(); 5 | ?> 6 | 7 | 16 | 23 | 24 | 27 | 32 | 38 | 39 | 42 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/about.tpl.php: -------------------------------------------------------------------------------- 1 | includeTemplate($GLOBALS['top_include']); 3 | ?> 4 | 5 |
6 |
7 | 8 | 16 | 17 |

18 | 28 | 29 |

30 | 35 | 36 |
37 |
38 | 39 | includeTemplate($GLOBALS['bottom_include']); 41 | ?> -------------------------------------------------------------------------------- /data/templates/sscuttlizr/sidebar.block.menu.php: -------------------------------------------------------------------------------- 1 | getCurrentUserId(); 14 | if ($logged_on_userid === false) { 15 | $logged_on_userid = NULL; 16 | } 17 | 18 | // editing mode 19 | if(($logged_on_userid != null) && ($userid === $logged_on_userid)) { 20 | $editingMode = true; 21 | } else { 22 | $editingMode = false; 23 | } 24 | 25 | if(!isset($user) || $user == '') { 26 | $cat_url = createURL('tags', '%2$s'); 27 | } 28 | 29 | $menuTags = $tag2tagservice->getMenuTags($userid); 30 | if (sizeof($menuTags) > 0 || ($userid != 0 && $userid === $logged_on_userid)) { 31 | ?> 32 | 33 |

34 | '.T_('Menu Tags').' '; 36 | //} 37 | ?> 38 |

39 | 40 | 41 | 77 | 78 | 81 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/tag2tagedit.tpl.php: -------------------------------------------------------------------------------- 1 | includeTemplate($GLOBALS['top_include']); 3 | ?> 4 | 5 |
6 |
7 |
8 |
9 |

10 | 12 |

13 | 14 | 15 | 16 |

17 |

18 |

19 | 20 | 21 |

22 | 23 | 24 |
25 | 26 | 27 |
28 | 29 |
30 | 31 |
32 |

33 |

34 | 35 | 36 | 37 |

38 | 39 |

40 | 41 | 42 |

43 | 44 | 45 |
46 | 47 | 48 |
49 | 50 |
51 | 52 | 0) { 54 | echo T_("Existing links:"); 55 | foreach($links as $link) { 56 | echo ''; 57 | if($link['tag1'] == $tag1 || $link['tag1'] == $tag2) { 58 | $textTag1 = ''.$tag1.''; 59 | } else { 60 | $textTag1 = $link['tag1']; 61 | } 62 | if($link['tag2'] == $tag1 || $link['tag2'] == $tag2) { 63 | $textTag2 = ''.$tag2.''; 64 | } else { 65 | $textTag2 = $link['tag2']; 66 | } 67 | 68 | echo $textTag1.' '.$link['relationType'].' '.$textTag2; 69 | echo " "; 70 | } 71 | } else { 72 | echo T_('No links'); 73 | } 74 | ?> 75 |
76 |
77 |
78 | 79 | includeTemplate($GLOBALS['bottom_include']); 81 | ?> 82 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/sidebar.linkedtags.inc.php: -------------------------------------------------------------------------------- 1 | '', 'stoplist' => $stopList); 10 | } 11 | 12 | $tag2tagservice =SemanticScuttle_Service_Factory::get('Tag2Tag'); 13 | $tagstatservice =SemanticScuttle_Service_Factory::get('TagStat'); 14 | 15 | // link '>' 16 | if($level>1) { 17 | if($editingMode) { 18 | $link = '> '; 19 | } else { 20 | $link = '> '; 21 | } 22 | } else { 23 | $link = ''; 24 | } 25 | 26 | $output = ''; 27 | $output.= ''; 28 | $output.= ''; 29 | $output.= ''; 30 | $output.= $level == 1?'':''; 31 | $output.= str_repeat(' ', $level*2) .$link.''; 32 | $output.= $level == 1?'':''; 33 | //$output.= ' - '. $tagstatservice->getMaxDepth($tag, $linkType, $uId); 34 | 35 | $synonymTags = $tag2tagservice->getAllLinkedTags($tag, '=', $uId); 36 | $synonymTags = is_array($synonymTags)?$synonymTags:array($synonymTags); 37 | sort($synonymTags); 38 | $synonymList = ''; 39 | foreach($synonymTags as $synonymTag) { 40 | //$output.= ", ".$synonymTag; 41 | $synonymList.= $synonymTag.' '; 42 | } 43 | if(count($synonymTags)>0) { 44 | $output.= ', '.$synonymTags[0]; 45 | } 46 | if(count($synonymTags)>1) { 47 | $output.= ', etc'; 48 | } 49 | 50 | /*if($editingMode) { 51 | $output.= ' ('; 52 | $output.= '+'; 53 | if(1) { 54 | $output.= ' - '; 55 | $output.= '-'; 56 | } 57 | $output.= ')'; 58 | }*/ 59 | $output.= ''; 60 | $output.= ''; 61 | 62 | $tags = array($tag); 63 | $tags = array_merge($tags, $synonymTags); 64 | foreach($tags as $tag) { 65 | 66 | if(!in_array($tag, $stopList)) { 67 | $linkedTags = $tag2tagservice->getLinkedTags($tag, '>', $uId); 68 | $precedentTag = $tag; 69 | $stopList[] = $tag; 70 | foreach($linkedTags as $linkedTag) { 71 | $displayLinkedTags = displayLinkedTags($linkedTag, $linkType, $uId, $cat_url, $user, $editingMode, $precedentTag, $level + 1, $stopList); 72 | $output.= $displayLinkedTags['output']; 73 | } 74 | if(isset($displayLinkedTags) && is_array($displayLinkedTags['stopList'])) { 75 | $stopList = array_merge($stopList, $displayLinkedTags['stopList']); 76 | $stopList = array_unique($stopList); 77 | } 78 | } 79 | 80 | } 81 | return array('output' => $output, 'stopList' => $stopList); 82 | } 83 | 84 | ?> 85 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/editprofile.tpl.php: -------------------------------------------------------------------------------- 1 | includeTemplate($GLOBALS['top_include']); 3 | ?> 4 | 5 |
6 |
7 |
8 |
9 | 10 | 11 |

12 | 13 |
14 | 15 | 16 |
17 |
18 | 19 | 20 |
21 |
22 | 23 | 24 |
25 |
26 | 27 | 28 | 29 |
30 |
31 | 32 | /> 33 |
34 | 35 | 36 | 37 |

38 | 39 |
40 | 41 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | 49 | 50 |
51 | 52 | 53 | 54 |

55 | 56 |
57 | 58 | 59 | / 60 | / 61 | 62 | 63 |
64 |
65 |
66 |
67 | 68 |
69 |
70 |
71 |
72 | includeTemplate($GLOBALS['bottom_include']); 74 | ?> 75 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/jappix.php: -------------------------------------------------------------------------------- 1 | isAdmin() && isset($GLOBALS['jappixEnableForAdmin']) && $GLOBALS['jappixEnableForAdmin'] == true ) { 5 | $show = true; 6 | } else { 7 | if ( $userservice->isLoggedOn() && isset($GLOBALS['jappixEnableForLogged']) && $GLOBALS['jappixEnableForLogged'] == true ) { 8 | $show = true; 9 | } 10 | } 11 | 12 | 13 | 14 | if ( $show == true ) { 15 | ?> 16 | 80 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/dynamictags.inc.php: -------------------------------------------------------------------------------- 1 | getCurrentUserId(); 26 | 27 | //tags from current user 28 | $userPopularTags = $b2tservice->getPopularTags($logged_on_userid, 25, $logged_on_userid); 29 | $userPopularTagsCloud = $b2tservice->tagCloud($userPopularTags, 5, 90, 175); 30 | $userPopularTagsCount = count($userPopularTags); 31 | 32 | //tags from all users 33 | $allPopularTags = $b2tservice->getPopularTags(null, 5, $logged_on_userid); 34 | $allPopularTagsCloud = $b2tservice->tagCloud($allPopularTags, 5, 90, 175); 35 | $allPopularTagsCount = count($allPopularTags); 36 | 37 | 38 | // function printing the cloud 39 | function writeTagsProposition($tagsCloud, $title) 40 | { 41 | static $id = 0; 42 | ++$id; 43 | 44 | echo <<' 48 | + '

$title

' 49 | + '

' 50 | + ''); 51 | JS; 52 | 53 | $taglist = ''; 54 | foreach (array_keys($tagsCloud) as $key) { 55 | $row = $tagsCloud[$key]; 56 | $entries = T_ngettext('bookmark', 'bookmarks', $row['bCount']); 57 | $taglist .= '' 61 | . filter($row['tag']) 62 | . ' '; 63 | } 64 | echo '$(\'#edit-tagcloud-' . $id . ' p\').append(' 65 | . json_encode($taglist) 66 | . ");\n"; 67 | } 68 | 69 | 70 | if ($allPopularTagsCount > 0 || $userPopularTagsCount > 0 ) { ?> 71 | 145 |
146 | 149 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/bookmarklet.inc.php: -------------------------------------------------------------------------------- 1 |

2 |

3 | 30 | 118 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/top.inc.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | <?php echo filter($GLOBALS['sitename'] .(isset($pagetitle) ? ' » ' . $pagetitle : '')); ?> 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | ' . "\n"; 19 | } 20 | } 21 | ?> 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 33 | 34 | 35 | 36 | 39 | 40 | 43 | 44 | 45 | 46 | 47 | 50 |
51 | 57 | 75 |
76 |
77 |
78 | ' . $subtitlehtml . "
"; 81 | } else if (isset($subtitle)) { 82 | echo '
' . htmlspecialchars($subtitle) . "
"; 83 | } 84 | ?> 85 |
86 |
87 |
88 | 93 |
94 |
95 |
96 |
97 |
98 |
99 | '. 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.') ."

\n"; 102 | } 103 | if (isset($error) && $error!='') { 104 | echo '

'. $error ."

\n"; 105 | } 106 | if (isset($msg) && $msg!='') { 107 | echo '

'. $msg ."

\n"; 108 | } 109 | if (isset($tipMsg) && $tipMsg!='') { 110 | echo '

'. $tipMsg ."

\n"; 111 | } 112 | ?> 113 |
114 |
115 |
116 | -------------------------------------------------------------------------------- /data/templates/sscuttlizr/editbookmark.tpl.php: -------------------------------------------------------------------------------- 1 | includeTemplate($GLOBALS['top_include']); 3 | 4 | $accessPublic = ''; 5 | $accessShared = ''; 6 | $accessPrivate = ''; 7 | switch ($row['bStatus']) { 8 | case 0 : 9 | $accessPublic = ' selected="selected"'; 10 | break; 11 | case 1 : 12 | $accessShared = ' selected="selected"'; 13 | break; 14 | case 2 : 15 | $accessPrivate = ' selected="selected"'; 16 | break; 17 | } 18 | 19 | function jsEscTitle($title) 20 | { 21 | return addcslashes($title, "'"); 22 | } 23 | function jsEscTitleDouble($title) 24 | { 25 | return addcslashes(addcslashes($title, "'"), "'\\"); 26 | } 27 | function fixOperaButtonName($name) { 28 | //yes, opera has problems with double quotes in button names 29 | return str_replace('"', "''", $name); 30 | } 31 | 32 | if (is_array($row['tags'])) { 33 | $row['tags'] = implode(', ', $row['tags']); 34 | } 35 | 36 | $ajaxUrl = ROOT . 'ajax/' 37 | . ( 38 | ($GLOBALS['adminsAreAdvisedTagsFromOtherAdmins'] && $currentUser->isAdmin()) 39 | ? 'getadmintags' 40 | : 'getcontacttags' 41 | ) . '.php'; 42 | ?> 43 | 44 |
45 |
46 |
47 |
48 | 49 |
50 | 51 | 52 | 53 |
54 |
55 |
56 | 57 | 58 | 59 |
60 |
61 |
62 | 63 | 64 | 65 | 66 | 67 | 68 | 0): ?> 69 |

70 | 71 | $anchorValue): ?> 72 | 76 | 77 | 78 | 79 | 80 |
81 |
82 |
style="display:none"> 83 | 84 | 85 | 86 |
87 |
88 | 89 |
90 | 91 | 92 |
93 | " to include one tag in another. e.g.: europe>france>paris'))?>
94 | 95 |
96 |
97 |
98 | 99 | 100 | 105 | 106 | 107 |
108 |
109 |
110 | 111 | 112 | 115 | 116 | '; 120 | echo T_('edit common description').')'; 121 | } 122 | 123 | if ($popup) { 124 | ?> 125 | 126 | 129 | 130 | 133 |
134 |
135 |
136 |
137 |
138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 202 | 203 | 204 |
205 |
206 | includeTemplate('dynamictags.inc'); 209 | 210 | // Bookmarklets and import links 211 | if (empty($_REQUEST['popup']) && (!isset($showdelete) || !$showdelete)) { 212 | 213 | $this->includeTemplate('bookmarklet.inc.php'); 214 | ?> 215 |

216 |
    217 |
  • ()
  • 218 |
  • 219 |
220 | 221 |
222 |
223 | includeTemplate($GLOBALS['bottom_include']); 226 | ?> 227 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | sscuttlizr 2 | ========== 3 | 4 | About 5 | ------------ 6 | 7 | Sscuttlizr is a theme for [SemanticScuttle](http://semanticscuttle.sourceforge.net/) 0.98.5. It includes Modernizr, Bootstrap and Font-Awesome, is completely responsive, and includes most of HTML5 Boilerplate hooks and features. 8 | It is visually based on SemanticScuttle's default theme, but is slightly different in some opinionated details. 9 | 10 | This theme has been tested on the version 0.98.5 of SemanticScuttle. 11 | 12 | 13 | Theme features 14 | ------------ 15 | 16 | * Completely responsive 17 | * Uses latest Bootstrap & Font-Awesome 18 | * HTML5 feature-detection with latest Modernizr 19 | * Latest jQuery, loaded from CDN, with local fallback (HTTPS compatible) 20 | * Replace some HTML tags & attributes with HTML5 equivalents (example: placeholder attribute) 21 | * Use of Bootstrap components (Alert, Grid, Navbar, Forms) 22 | * Use of Font-Awesome icons 23 | * Hooks from HTML5Boilerplate: Apache server config (via .htaccess), ChromeFrame, crossdomain.xml 24 | * Optional support for [Piwik](http://piwik.org/) Analytics 25 | * Optional support for sharing with [Wallabag (previously named Poche)](https://www.wallabag.org/) 26 | * Optional support for shortening with [Yourls](http://yourls.org/) 27 | * Optional support for [Jappix](http://jappix.org/) chat 28 | 29 | 30 | Installation 31 | ------------ 32 | 33 | 1. Unzip theme and template 34 | 2. Copy all the content of the "www" & "data" folders to their respective places in your SemanticScuttle installation 35 | 3. Open config.php, and insert the following inside the PHP code: 36 | 37 | ``` 38 | $theme = 'sscuttlizr'; 39 | ``` 40 | 41 | 42 | Optionnal .htaccess 43 | ------------ 44 | 45 | Sscuttlizr includes a .htaccess file, which is the Apache configuration file optimized for HTML5 Boilerplate (v2.0.0). This file can only be used if you have Apache as a web server. 46 | This file is needed for some features, including ChromeFrame. 47 | 48 | See details about [H5BP's .htaccess](https://github.com/h5bp/server-configs-apache). 49 | 50 | In addition to H5BP's server config, the file also includes the specific rules for SemanticScuttle (that are used for clean URLs). 51 | 52 | The content of this file is quite opinionated; you can choose not to include it (and keep SemanticScuttle's original .htaccess file), or to customize it the way you want. 53 | 54 | 55 | 56 | Optionnal crossdomain.xml 57 | ------------ 58 | 59 | Sscuttlizr includes a restrictive crossdomain.xml file. 60 | 61 | The content of this file is quite opinionated; you can choose not to include it, or to customize it the way you want. 62 | 63 | 64 | 65 | Optionnal QR-Codes 66 | ------------ 67 | 68 | This theme adds the possibility to generate on-demand QR-Codes for each bookmark. This feature does not rely on any QR service; it generates the QR codes by itself. 69 | This feature uses [Jerome Etienne](http://blog.jetienne.com/ "Jerome Etienne's blog")'s [QR-Code plugin for jQuery](https://github.com/jeromeetienne/jquery-qrcode "QR-Code plugin for jQuery"). 70 | 71 | The Qr-Codes are drawn in a canvas, but should be drawn in HTML tables in browser that don't support canvas. The detection of support for canvas is made with Modernizr. 72 | 73 | By default, this functionality is disabled. To enable it, open your config.php file, and insert the following inside the PHP code: 74 | 75 | ``` 76 | $enableQrCodes = true; 77 | ``` 78 | 79 | 80 | 81 | Optionnal support for Piwik Analytics 82 | ------------ 83 | 84 | Sscuttlizr has support for [Piwik](http://piwik.org/) Analytics if you need it. 85 | 86 | You must have a functional Piwik installation to use this feature. 87 | 88 | By default, this functionality is disabled. To enable it, open your config.php file, and insert the following inside the PHP code: 89 | 90 | ``` 91 | // Set your Piwik Analytics ID here (a number) 92 | // Between quotes !!! 93 | $piwikAnalyticsSiteId = '1'; 94 | 95 | // set the URL your Piwik installation, without protocol 96 | // example: if your Piwik is at https://my-piwik.org/stats/ , 97 | // then, enter: my-piwik.org/stats 98 | // No Trailing slash !!! 99 | $piwikAnalyticsUrl = 'your.piwik.com'; 100 | ``` 101 | 102 | Notes: Do not enter any http:// or https:// in the URL, and enter your Piwik site ID between quotes. 103 | 104 | 105 | You can also enable the "noscript" image: 106 | 107 | ``` 108 | // Enables the