Merge branch 'master' of https://github.com/redmatrix/hubzilla into activitystreams

This commit is contained in:
Andrew Manning 2016-01-21 21:40:29 -05:00
commit b368e0a1f9
64 changed files with 1805 additions and 1543 deletions

View File

@ -118,6 +118,51 @@ function check_sanity {
fi
}
function check_config {
print_info "config check..."
# backup is important and should be checked
if [ -n "$backup_device_name" ]
then
device_mounted=0
if fdisk -l | grep -i "$backup_device_name.*linux"
then
print_info "ok - filesystem of external device is linux"
if [ -n "$backup_device_pass" ]
then
echo "$backup_device_pass" | cryptsetup luksOpen $backup_device_name cryptobackup
if [ ! -d /media/hubzilla_backup ]
then
mkdir /media/hubzilla_backup
fi
if mount /dev/mapper/cryptobackup /media/hubzilla_backup
then
device_mounted=1
print_info "ok - could encrypt and mount external backup device"
umount /media/hubzilla_backup
else
print_warn "backup to external device will fail because encryption failed"
fi
cryptsetup luksClose cryptobackup
else
if mount $backup_device_name /media/hubzilla_backup
then
device_mounted=1
print_info "ok - could mount external backup device"
umount /media/hubzilla_backup
else
print_warn "backup to external device will fail because mount failed"
fi
fi
else
print_warn "backup to external device will fail because filesystem is either not linux or 'backup_device_name' is not correct in $configfile"
fi
if [ $device_mounted == 0 ]
then
die "backup device not ready"
fi
fi
}
function die {
echo "ERROR: $1" > /dev/null 1>&2
exit 1
@ -619,85 +664,94 @@ function configure_cron_daily {
# - update hubzilla core and addon
# - update and upgrade linux
# - reboot
cat > /var/www/$hubzilladaily <<END
#!/bin/sh
#
echo " "
echo "+++ \$(date) +++"
echo " "
# renew certificat if over 30 days old
echo "\$(date) - renew certificat if 30 days old..."
bash /var/www/letsencrypt/letsencrypt.sh --cron
#
# stop hubzilla
echo "\$(date) - stoping apaache and mysql..."
service apache2 stop
/etc/init.d/mysql stop # to avoid inconsistancies
#
# backup
echo "\$(date) - try to mount external device for backup..."
backup_device_name=$backup_device_name
backup_device_pass=$backup_device_pass
backup_mount_point=$backup_mount_point
device_mounted=0
if [ -n "$backup_device_name" ] && [ -n "$backup_device_pass" ]
then
if blkid | grep $backup_device_name
then
echo "decrypting backup device..."
echo "$backup_device_pass" | cryptsetup luksOpen $backup_device_name cryptobackup
if [ ! -d $backup_mount_point ]
then
mkdir $backup_mount_point
fi
echo "mounting backup device..."
if mount /dev/mapper/cryptobackup $backup_mount_point
then
device_mounted=1
echo "device $backup_device_name is now mounted. Starting backup..."
rsnapshot -c $snapshotconfig_external_device daily
rsnapshot -c $snapshotconfig_external_device weekly
rsnapshot -c $snapshotconfig_external_device monthly
echo "\$(date) - disk sizes..."
df -h
echo "\$(date) - db size..."
du -h $backup_mount_point | grep mysql/hubzilla
echo "unmounting backup device..."
umount $backup_mount_point
else
echo "failed to mount device $backup_device_name"
fi
echo "closing decrypted backup device..."
cryptsetup luksClose cryptobackup
echo "#!/bin/sh" > /var/www/$hubzilladaily
echo "#" >> /var/www/$hubzilladaily
echo "echo \" \"" >> /var/www/$hubzilladaily
echo "echo \"+++ \$(date) +++\"" >> /var/www/$hubzilladaily
echo "echo \" \"" >> /var/www/$hubzilladaily
echo "echo \"\$(date) - renew certificat if 30 days old...\"" >> /var/www/$hubzilladaily
echo "bash /var/www/letsencrypt/letsencrypt.sh --cron" >> /var/www/$hubzilladaily
echo "#" >> /var/www/$hubzilladaily
echo "# stop hubzilla" >> /var/www/$hubzilladaily
echo "echo \"\$(date) - stoping apaache and mysql...\"" >> /var/www/$hubzilladaily
echo "service apache2 stop" >> /var/www/$hubzilladaily
echo "/etc/init.d/mysql stop # to avoid inconsistancies" >> /var/www/$hubzilladaily
echo "#" >> /var/www/$hubzilladaily
echo "# backup" >> /var/www/$hubzilladaily
echo "echo \"\$(date) - try to mount external device for backup...\"" >> /var/www/$hubzilladaily
echo "backup_device_name=$backup_device_name" >> /var/www/$hubzilladaily
echo "backup_device_pass=$backup_device_pass" >> /var/www/$hubzilladaily
echo "backup_mount_point=$backup_mount_point" >> /var/www/$hubzilladaily
echo "device_mounted=0" >> /var/www/$hubzilladaily
echo "if [ -n \"$backup_device_name\" ]" >> /var/www/$hubzilladaily
echo "then" >> /var/www/$hubzilladaily
echo " if blkid | grep $backup_device_name" >> /var/www/$hubzilladaily
echo " then" >> /var/www/$hubzilladaily
if [ -n "$backup_device_pass" ]
then
echo " echo \"decrypting backup device...\"" >> /var/www/$hubzilladaily
echo " echo "\"$backup_device_pass\"" | cryptsetup luksOpen $backup_device_name cryptobackup" >> /var/www/$hubzilladaily
fi
fi
if [ \$device_mounted == 0 ]
then
echo "device could not be mounted $backup_device_name. Using internal disk for backup..."
rsnapshot -c $snapshotconfig daily
rsnapshot -c $snapshotconfig weekly
rsnapshot -c $snapshotconfig monthly
fi
#
echo "\$(date) - db size..."
du -h /var/cache/rsnapshot/ | grep mysql/hubzilla
#
# update
echo "\$(date) - updating letsencrypt.sh..."
git -C /var/www/letsencrypt/ pull
echo "\$(date) - updating hubhilla core..."
git -C /var/www/html/ pull
echo "\$(date) - updating hubhilla addons..."
git -C /var/www/html/addon/ pull
chown -R www-data:www-data /var/www/html/ # make all accessable for the webserver
chown root:www-data /var/www/html/.htaccess
chmod 0644 /var/www/html/.htaccess # www-data can read but not write it
echo "\$(date) - updating linux..."
apt-get -q -y update && apt-get -q -y dist-upgrade # update linux and upgrade
echo "\$(date) - Backup hubzilla and update linux finished. Rebooting..."
#
reboot
END
echo " if [ ! -d $backup_mount_point ]" >> /var/www/$hubzilladaily
echo " then" >> /var/www/$hubzilladaily
echo " mkdir $backup_mount_point" >> /var/www/$hubzilladaily
echo " fi" >> /var/www/$hubzilladaily
echo " echo \"mounting backup device...\"" >> /var/www/$hubzilladaily
if [ -n "$backup_device_pass" ]
then
echo " if mount /dev/mapper/cryptobackup $backup_mount_point" >> /var/www/$hubzilladaily
else
echo " if mount $backup_device_name $backup_mount_point" >> /var/www/$hubzilladaily
fi
echo " then" >> /var/www/$hubzilladaily
echo " device_mounted=1" >> /var/www/$hubzilladaily
echo " echo \"device $backup_device_name is now mounted. Starting backup...\"" >> /var/www/$hubzilladaily
echo " rsnapshot -c $snapshotconfig_external_device daily" >> /var/www/$hubzilladaily
echo " rsnapshot -c $snapshotconfig_external_device weekly" >> /var/www/$hubzilladaily
echo " rsnapshot -c $snapshotconfig_external_device monthly" >> /var/www/$hubzilladaily
echo " echo \"\$(date) - disk sizes...\"" >> /var/www/$hubzilladaily
echo " df -h" >> /var/www/$hubzilladaily
echo " echo \"\$(date) - db size...\"" >> /var/www/$hubzilladaily
echo " du -h $backup_mount_point | grep mysql/hubzilla" >> /var/www/$hubzilladaily
echo " echo \"unmounting backup device...\"" >> /var/www/$hubzilladaily
echo " umount $backup_mount_point" >> /var/www/$hubzilladaily
echo " else" >> /var/www/$hubzilladaily
echo " echo \"failed to mount device $backup_device_name\"" >> /var/www/$hubzilladaily
echo " fi" >> /var/www/$hubzilladaily
if [ -n "$backup_device_pass" ]
then
echo " echo \"closing decrypted backup device...\"" >> /var/www/$hubzilladaily
echo " cryptsetup luksClose cryptobackup" >> /var/www/$hubzilladaily
fi
echo " fi" >> /var/www/$hubzilladaily
echo "fi" >> /var/www/$hubzilladaily
echo "if [ \$device_mounted == 0 ]" >> /var/www/$hubzilladaily
echo "then" >> /var/www/$hubzilladaily
echo " echo \"device could not be mounted $backup_device_name. Using internal disk for backup...\"" >> /var/www/$hubzilladaily
echo " rsnapshot -c $snapshotconfig daily" >> /var/www/$hubzilladaily
echo " rsnapshot -c $snapshotconfig weekly" >> /var/www/$hubzilladaily
echo " rsnapshot -c $snapshotconfig monthly" >> /var/www/$hubzilladaily
echo "fi" >> /var/www/$hubzilladaily
echo "#" >> /var/www/$hubzilladaily
echo "echo \"\$(date) - db size...\"" >> /var/www/$hubzilladaily
echo "du -h /var/cache/rsnapshot/ | grep mysql/hubzilla" >> /var/www/$hubzilladaily
echo "#" >> /var/www/$hubzilladaily
echo "# update" >> /var/www/$hubzilladaily
echo "echo \"\$(date) - updating letsencrypt.sh...\"" >> /var/www/$hubzilladaily
echo "git -C /var/www/letsencrypt/ pull" >> /var/www/$hubzilladaily
echo "echo \"\$(date) - updating hubhilla core...\"" >> /var/www/$hubzilladaily
echo "git -C /var/www/html/ pull" >> /var/www/$hubzilladaily
echo "echo \"\$(date) - updating hubhilla addons...\"" >> /var/www/$hubzilladaily
echo "git -C /var/www/html/addon/ pull" >> /var/www/$hubzilladaily
echo "chown -R www-data:www-data /var/www/html/ # make all accessable for the webserver" >> /var/www/$hubzilladaily
echo "chown root:www-data /var/www/html/.htaccess" >> /var/www/$hubzilladaily
echo "chmod 0644 /var/www/html/.htaccess # www-data can read but not write it" >> /var/www/$hubzilladaily
echo "echo \"\$(date) - updating linux...\"" >> /var/www/$hubzilladaily
echo "apt-get -q -y update && apt-get -q -y dist-upgrade # update linux and upgrade" >> /var/www/$hubzilladaily
echo "echo \"\$(date) - Backup hubzilla and update linux finished. Rebooting...\"" >> /var/www/$hubzilladaily
echo "#" >> /var/www/$hubzilladaily
echo "reboot" >> /var/www/$hubzilladaily
if [ -z "`grep 'hubzilla-daily.sh' /etc/crontab`" ]
then
echo "30 05 * * * root /bin/bash /var/www/$hubzilladaily >> /var/www/html/hubzilla-daily.log 2>&1" >> /etc/crontab
@ -761,6 +815,7 @@ sslconf=/etc/apache2/sites-available/default-ssl.conf
#set -x # activate debugging from here
check_config
update_upgrade
install_apache
install_php

View File

@ -179,8 +179,10 @@ echo "chmod done, permissions set to 777 on poller script."
# Hubzilla configuration - changes to default settings
# to make Hubzilla on OpenShift a more pleasant experience
echo "Changing default configuration to conserve space"
echo "Changing default configuration to conserve space and autocreate a social private channel upon account registration"
cd ${OPENSHIFT_REPO_DIR}
util/config system default_permissions_role social_private
util/config system workflow_channel_next channel
util/config system expire_delivery_reports 3
util/config system feed_contacts 0
util/config system diaspora_enabled 0
@ -197,7 +199,7 @@ util/add_addon_repo https://github.com/redmatrix/hubzilla-addons.git HubzillaAdd
# Hubzilla themes
echo "Try to add or update Hubzilla themes"
cd ${OPENSHIFT_REPO_DIR}
util/add_theme_repo https://github.com/DeadSuperHero/redmatrix-themes.git DeadSuperHeroThemes
util/add_theme_repo https://github.com/DeadSuperHero/hubzilla-themes.git DeadSuperHeroThemes
# Hubzilla ownMapp
echo "Try to add or update Hubzilla ownMapp"
@ -205,6 +207,11 @@ cd ${OPENSHIFT_REPO_DIR}
util/add_addon_repo https://gitlab.com/zot/ownmapp.git ownMapp
# Hubzilla Chess
echo "Try to add or update Hubzilla chess to Hubzilla on OpenShift"
echo "Try to add or update Hubzilla chess "
cd ${OPENSHIFT_REPO_DIR}
util/add_addon_repo https://gitlab.com/zot/hubzilla-chess.git Chess
# Hubzilla Hubsites
echo "Try to add or update Hubzilla Hubsites"
cd ${OPENSHIFT_REPO_DIR}
util/add_addon_repo https://gitlab.com/zot/hubsites.git Hubsites

View File

@ -48,7 +48,7 @@ require_once('include/AccessList.php');
define ( 'PLATFORM_NAME', 'hubzilla' );
define ( 'RED_VERSION', trim(file_get_contents('version.inc')));
define ( 'STD_VERSION', '1.1.2' );
define ( 'STD_VERSION', '1.1.3' );
define ( 'ZOT_REVISION', 1 );
define ( 'DB_UPDATE_VERSION', 1161 );
@ -1004,7 +1004,7 @@ class App {
'$user_scalable' => $user_scalable,
'$baseurl' => $this->get_baseurl(),
'$local_channel' => local_channel(),
'$generator' => PLATFORM_NAME . ' ' . RED_VERSION,
'$generator' => get_platform_name() . ((get_project_version()) ? ' ' . get_project_version() : ''),
'$update_interval' => $interval,
'$icon' => head_get_icon(),
'$head_css' => head_get_css(),
@ -2344,3 +2344,41 @@ function check_cron_broken() {
set_config('system','lastpollcheck',datetime_convert());
return;
}
function get_platform_name() {
$a = get_app();
if(is_array($a->config) && is_array($a->config['system']) && $a->config['system']['platform_name'])
return $a->config['system']['platform_name'];
return PLATFORM_NAME;
}
function get_project_version() {
$a = get_app();
if(is_array($a->config) && is_array($a->config['system']) && $a->config['system']['hide_version'])
return '';
return RED_VERSION;
}
function get_update_version() {
$a = get_app();
if(is_array($a->config) && is_array($a->config['system']) && $a->config['system']['hide_version'])
return '';
return DB_UPDATE_VERSION;
}
function get_notify_icon() {
$a = get_app();
if(is_array($a->config) && is_array($a->config['system']) && $a->config['system']['email_notify_icon_url'])
return $a->config['system']['email_notify_icon_url'];
return z_root() . '/images/hz-white-32.png';
}
function get_site_icon() {
$a = get_app();
if(is_array($a->config) && is_array($a->config['system']) && $a->config['system']['site_icon_url'])
return $a->config['system']['site_icon_url'];
return z_root() . '/images/hz-32.png';
}

View File

@ -1,19 +1,23 @@
[h3]Plugins/Addons[/h3]
[list=1]
[*] abcjsplugin - Create musical scores in your posts
[*] adultphotoflag - prevents nsfw photos from being displayed in public albums
[*] bbmath - use complex math expressions in your posts
[*] bookmarker - replace #^ with bookmark link in posts
[*] buglink - provide a bug reporting icon in the lower-left corner of every page
[*] calc - a scientific calculator
[*] chess - cross domain identity aware interactive chess games
[*] chords - generate fingering charts and alternatives for every known guitar chord
[*] custom_home - set a custom page as the hub start page
[*] diaspora - crosspost to a Diaspora account (different from the built-in Diaspora emulator)
[*] dfedfix - fixes some federation issues with Diaspora releases around aug-sep 2015
[*] diaspora - Diaspora protocol emulator
[*] diaspost - crosspost to a Diaspora account (different from the Diaspora protocol emulator)
[*] dirstats - show some interesting statistics generated by the driectory server
[*] donate - provides a project donation page
[*] dwpost - crosspost to Dreamwidth
[*] embedly - use the embedly (formerly ooehmbed) service to embed media from many providers
[*] extcron - use an external cron service to run your hub's scheduled tasks
[*] flattr - provides a "Flattr Us" button
[*] flattrwidget - provides a "Flattr Us" button
[*] flip - create upside down text
[*] fortunate - displays random quote (fortune cookie). Requires setting up a fortune server.
[*] frphotos - import photo albums from Friendica
@ -26,12 +30,15 @@
[*] libertree - crosspost to Libertree
[*] likebanner - create a "like us on red#matrix" banner image
[*] ljpost - crosspost to LiveJournal
[*] logrot - logfile rotation utility
[*] mahjongg - Chinese puzzle game
[*] mailhost - when using multiple channel clones, select one to receive email notifications
[*] mayan_places - set location field to a random city in the Mayan world
[*] morechoice - additional gender/sexual-preference choices for profiles (not safe for work)
[*] moremoods - Additional mood options
[*] morepokes - additional poke options (not safe for work)
[*] msgfooter - provide legal or other text on each outgoing post
[*] nofed - prevent "federation" of channel posts, maintains all interaction on your site
[*] nsabait - add random terrorism related hashtags to your posts
[*] nsfw - Highly recommended plugin to collpase posts with inappropriate content
[*] openclipatar - choose a profile photo from hundreds of royalty free images
@ -42,21 +49,29 @@
[*] qrator - generate QR code images
[*] rainbowtag - display your tag and category clouds in colours
[*] randpost - post/reply bot based on and requires fortunate
[*] redfiles - import file storage from redmatrix
[*] redphotos - import photo albums from redmatrix
[*] redred - Crosspost to another Red Matrix or Hubzilla channel
[*] rtof - Crosspost to Friendica
[*] sendzid - add 'zid' auth parmaters to all outbound links, not just in-network links
[*] skeleton - sample addon/plugin to demonstrate plugin development
[*] smiley_pack - extend the built-in smilie (emoticon) support
[*] smileybutton - provides a smiley selector on the post window
[*] startpage - set a personal preferred page to redirect after logging in.
[*] statistics_json - Diaspora statistics generator
[*] statusnet - GNU-social and StatusNet crosspost [zrl=[baseurl]/help/addons_gnusocial]Posting To Gnu Social[/zrl]
[*] superblock - Highly recommended - completely block an offensive channel from your stream
[*] testdrive - Turns your hub into a test drive site with accounts that expire after a trail period.
[*] tictac - 3D tic-tac-toe
[*] torch - flashlight app
[*] tour - feature tour for new members
[*] twitter - crosspost to Twitter
[*] upload_limits - discover what server setting (there are a few) may be causing large photo uploads to fail
[*] visage - show visitors to your channel
[*] wholikesme - provides a page to display what connections have 'liked' your posts the most
[*] webRTC - use an external server (mayfirst.org) to negotiate webRTC hookups
[*] wppost - crosspost to WordPress (or other wordpress XMLRPC service)
[*] xmpp - XMPP chat based on converse.js
[/list]
[h3]Addon Repositories[/h3]

View File

@ -3,7 +3,7 @@
$Projectname contains many configuration options hidden from the main admin panel.
These are generally options considered too niche, confusing, or advanced for
the average member. These settings can be activated from the the top level Red
the average member. These settings can be activated from the the top level web
directory with the syntax [code]util/config cat key value[/code] for a site
configuration, or [code]util/pconfig channel_id cat key value[/code] for a
member configuration.
@ -11,14 +11,14 @@ member configuration.
This document assumes you're an administrator.
[b]pconfig[/b]
[b]system > user_scalable[/b]
[b]system.user_scalable[/b]
Determine if the app is scalable on touch screens. Defaults to on, to
disable, set to zero - real zero, not just false.
[b]system > always_my_theme[/b]
[b]system.always_my_theme[/b]
Always use your own theme when viewing channels on the same hub. This
will break in some quite imaginative ways when viewing channels with
theme dependent Comanche.
[b]system > paranoia[/b]
[b]system.paranoia[/b]
Sets the security level of IP checking. If the IP address of a logged-in session changes
apply this level to determine if the account should be logged out as a security breach.
Options are:
@ -26,157 +26,172 @@ This document assumes you're an administrator.
1 - check 3 octets
2 - check 2 octets
3 - check for any difference at all
[b]system > prevent_tag_hijacking[/b]
[b]system.prevent_tag_hijacking[/b]
Prevent foreign networks hijacking hashtags in your posts and directing them at its own resources.
[b]system > blocked[/b]
[b]system.blocked[/b]
An array of xchans blocked by this channel. Technically, this is a
hidden config and does belong here, however, addons (notably
superblock) have made this available in the UI.
[b]system > default_cipher[/b]
[b]system.default_cipher[/b]
Set the default cipher used for E2EE items.
[b]system > network_page_default[/b]
[b]system.network_page_default[/b]
Set default params when viewing the network page. This should contain
the same querystring as manual filtering.
[b]system > display_friend_count[/b]
[b]system.display_friend_count[/b]
Set the number of connections to display in the connections profile
widget.
[b]system > taganyone[/b]
[b]system.taganyone[/b]
Requires the config of the same name to be enabled. Allow the @mention tagging
of anyone, whether you are connected or not. This doesn't scale.
[b]system > startpage[/b]
[b]system.startpage[/b]
Another of those technically hidden configs made available by addons.
Sets the default page to view when logging in. This is exposed to the
UI by the startpage addon.
[b]system > forcepublicuploads[/b]
[b]system.forcepublicuploads[/b]
Force uploaded photos to be public when uploaded as wall items. It
makes far more sense to just set your permissions properly in the first
place. Do that instead.
[b]system > do_not_track[/b]
[b]system.do_not_track[/b]
As the browser header. This will break many identity based features.
You should really just set permissions that make sense.
[b]Site config[/b]
[b]system > taganyone[/b]
[b]system.taganyone[/b]
Allow the @mention tagging of anyone whether you are connected or not.
[b]system > directorytags[/b]
[b]system.directorytags[/b]
Set the number of keyword tags displayed on the directory page.
[b]system > disable_dreport[/b]
[b]system.disable_dreport[/b]
If '1', don't store or link to delivery reports
[b]system > startpage[/b]
[b]system.startpage[/b]
Set the default page to be taken to after a login for all channels at
this website. Can be overwritten by user settings.
[b]system > projecthome[/b]
Set the project homepage as the homepage of your hub.
[b]system > default_permissions_role[/b]
[b]system.projecthome[/b]
Set the project homepage as the homepage of your hub. (Obsolete)
[b]system.auto_channel_create[/b]
Add the necessary form elements to create the first channel on the account registration page, and create it
(possibly following email validation or administrator approval). This precludes the ability to import a channel
from another site as the first channel created on this site for a new account.
Use with system.default_permissions_role to streamline registration.
[b]system.default_permissions_role[/b]
If set to a valid permissions role name, use that role for
the first channel created by a new account and don't ask for the "Channel Type" on
the channel creation form. Examples of valid names are: 'social', 'social_restricted', 'social_private', 'forum', 'forum_restricted' and 'forum_private'. Read more about permissions roles [zrl=[baseurl]/help/roles]here[/zrl].
[b]system > workflow_channel_next[/b]
the channel creation form. Examples of valid names are: 'social', 'social_restricted', 'social_private',
'forum', 'forum_restricted' and 'forum_private'.
Read more about permissions roles [zrl=[baseurl]/help/roles]here[/zrl].
[b]system.workflow_channel_next[/b]
The page to direct users to immediately after creating a channel.
[b]system > max_daily_registrations[/b]
[b]system.max_daily_registrations[/b]
Set the maximum number of new registrations allowed on any day.
Useful to prevent oversubscription after a bout of publicity
for the project.
[b]system > tos_url[/b]
[b]system.tos_url[/b]
Set an alternative link for the ToS location.
[b]system > block_public_search[/b]
[b]system.block_public_search[/b]
Similar to block_public, except only blocks public access to
search features. Useful for sites that want to be public, but
keep getting hammered by search engines.
[b]system > paranoia[/b]
[b]system.paranoia[/b]
As the pconfig, but on a site-wide basis. Can be overwritten
by member settings.
[b]system > openssl_conf_file[/b]
[b]system.openssl_conf_file[/b]
Specify a file containing OpenSSL configuration. Read the code first.
If you can't read the code, don't play with it.
[b]system > optimize_items[/b]
[b]system.optimize_items[/b]
Runs optimise_table during some tasks to keep your database nice and
defragmented. This comes at a performance cost while the operations
are running, but also keeps things a bit faster while it's not.
There also exist CLI utilities for performing this operation, which you
may prefer, especially if you're a large site.
[b]system > expire_limit
[b]system.expire_limit
Don't expire any more than this number of posts per channel per
expiration run to keep from exhausting memory. Default 5000.
[b]system > dlogfile[/b]
[b]system.dlogfile[/b]
Logfile to use for logging development errors. Exactly the same as
logger otherwise. This isn't magic, and requires your own logging
statements. Developer tool.
[b]system > authlog[/b]
[b]system.authlog[/b]
Logfile to use for logging auth errors. Used to plug in to server
side software such as fail2ban. Auth failures are still logged to
the main logs as well.
[b]system > hide_in_statistics[/b]
[b]system.hide_in_statistics[/b]
Tell the red statistics servers to completely hide this hub in hub lists.
[b]system > reserved_channels[/b]
[b]system.reserved_channels[/b]
Don't allow members to register channels with this comma separated
list of names (no spaces)
[b]system > auto_follow[/b]
[b]system.auto_follow[/b]
Make the first channel of an account auto-follow channels listed here - comma separated list of webbies (member@hub addresses).
[b]system > admin_email[/b]
[b]system.admin_email[/b]
Specifies the administrator's email for this site. This is initially set during install.
[b]system > cron_hour[/b]
[b]system.cron_hour[/b]
Specify an hour in which to run cron_daily. By default with no config, this will run at midnight UTC.
[b]system > minimum_feedcheck_minutes[/b]
[b]system.minimum_feedcheck_minutes[/b]
The minimum interval between polling RSS feeds. If this is lower than the cron interval, feeds will be polled with each cronjob. Defaults to 60 if not set. The site setting can also be over-ridden on a channel by channel basis by a service class setting aptly named 'minimum_feedcheck_minutes'.
[b]system > blacklisted_sites[/b]
[b]system.blacklisted_sites[/b]
An array of specific hubs to block from this hub completely.
[b]system > ignore_imagick[/b]
[b]system.ignore_imagick[/b]
Ignore imagick and use GD, even if imagick is installed on the server. Prevents some issues with PNG files in older versions of imagick.
[b]system > no_age_restriction[/b]
[b]system.no_age_restriction[/b]
Do not restrict registration to people over the age of 13. This carries legal responsibilities in many countries to require that age be provided and to block all personal information from minors, so please check your local laws before changing.
[b]system > override_poll_lockfile[/b]
[b]system.override_poll_lockfile[/b]
Ignore the lock file in the poller process to allow more than one process to run at a time.
[b]system > projecthome[/b]
[b]system.projecthome[/b]
Display the project page on your home page for logged out viewers.
[b]system > sellpage[/b]
[b]system.sellpage[/b]
A URL shown in the public sites list to sell your hub - display service classes, etc.
[b]randprofile > check[/b]
[b]randprofile.check[/b]
When requesting a random profile, check that it actually exists first
[b]randprofile > retry[/b]
[b]randprofile.retry[/b]
Number of times to retry getting a random profile
[b]system > photo_cache_time[/b]
[b]system.photo_cache_time[/b]
How long to cache photos, in seconds. Default is 86400 (1 day).
Longer time increases performance, but it also means it takes longer for changed permissions to apply.
[b]system > poco_rating_enable[/b]
[b]system.poco_rating_enable[/b]
Distributed reputation reporting and data collection may be disabled. If your site does not participate in distributed reputation you will also not be able to make use of the data from your connections on other sites. By default and in the absence of any setting it is enabled. Individual members can opt out by restricting who can see their connections or by not providing any reputation information for their connections.
[b]system > register_link[/b]
[b]system.register_link[/b]
path to direct to from the "register" link on the login form. On closed sites this will direct to 'pubsites'. For open sites it will normally redirect to 'register' but you may change this to a custom site page offering subscriptions or whatever.
[b]system > max_import_size[/b]
[b]system.max_import_size[/b]
If configured, the maximum length of an imported text message. This is normally left at 200Kbytes or more to accomodate Friendica private photos, which are embedded.
[b]system > tempdir[/b]
Place to store temporary files, default is defined in the PHP configuration
[b]system > uploaddir[/b]
Location to upload files (default is system.tempdir)
[b]system > disable_discover_tab[/b]
[b]system.tempdir[/b]
Place to store temporary files (currently unused), default is defined in the PHP configuration
[b]system.uploaddir[/b]
Location to upload files (default is system.tempdir, currently used only by js_upload plugin)
[b]system.disable_discover_tab[/b]
This allows you to completely disable the ability to discover public content from external sites.
[b]system > sys_expire_days[/b]
[b]system.sys_expire_days[/b]
How many days to keep discovered public content from other sites
[b]system > openssl_encrypt[/b]
[b]system.openssl_encrypt[/b]
Use openssl encryption engine, default is false (uses mcrypt for AES encryption)
[b]system > max_tagged_forums[/b]
[b]system.max_tagged_forums[/b]
Spam prevention. Limits the number of tagged forums which are recognised in any post. Default is 2. Only the first 'n' tags will be delivered as forums, the others will not cause any delivery.
[b]system > openssl_conf_file[/b]
[b]system.openssl_conf_file[/b]
Needed in some Windows installations to locate the openssl configuration file on the system.
[b]system > hide_help[/b]
[b]system.hide_help[/b]
Don't display help documentation link in nav bar
[b]system > expire_delivery_reports[/b]
[b]system.expire_delivery_reports[/b]
Expiration in days for delivery reports - default 10
[b]system.platform_name[/b] *
What to report as the platform name in webpages and statistics. (*) Must be set in .htconfig.php
[b]system.hide_version[/b] *
If true, do not report the software version on webpages and tools. (*) Must be set in .htconfig.php
[b]system.hidden_version_siteinfo[/b]
If true, do not report the software version on siteinfo pages (system.hide_version also hides the version on these pages, this setting *only* hides the version on siteinfo pages).
[b]system.email_notify_icon_url[/b]
URL of image (32x32) to display in email notifications (HTML bodies).
[b]Directory config[/b]
[b]Directory search defaults[/b]
[b]directory > safemode[/b]
[b]directory.safemode[/b]
0 or 1.
[b]directory > globaldir[/b]
[b]directory.globaldir[/b]
0 or 1. Default 0. If you visit the directory on a site you'll just see the members of that site by default. You have to go through an extra step to see the people in the rest of the network; and by doing so there's a clear delineation that these people *aren't* members of that site but of a larger network.
[b]directory > pubforums[/b]
[b]directory.pubforums[/b]
0 or 1. Public forums *should* be default 0.
[b]Directory server configuration (see [zrl=[baseurl]/help/directories]help/directories[/zrl])[/b]
[b]system > directory_server[/b]
[b]system > directory_primary[/b]
[b]system > directory_realm[/b]
[b]system > realm_token[/b]
[b]system > directory_mode[/b]
[b]system.directory_server[/b]
[b]system.directory_primary[/b]
[b]system.directory_realm[/b]
[b]system.realm_token[/b]
[b]system.directory_mode[/b]

View File

@ -8,7 +8,6 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]SAML 2.0 and OpenID Connect provider functionality[/li]
[li]Create bug tracker module[/li]
[li]Filing posts - provide a dropdown menu integrated with the 'post actions menu'[/li]
[li]integrate Mozilla Persona (possibly via plugin) https://github.com/mozilla/id-specs/blob/prod/browserid/index.md and become an idP[/li]
[li]translation plugins - moses or apertium[/li]
[li]plugins - provide 'disable' which is softer than 'uninstall' for those plugins which create additional DB tables[/li]
[li]Infinite scroll improvements (i.e. embedded page links) see http://scrollsample.appspot.com/items [/li]
@ -20,7 +19,6 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]Support comments on webpages[/li]
[li]implement oembed provider interface[/li]
[li]refactor the oembed client interface so that we can safely sandbox remote content[/li]
[li]Many modern social apps now have both a profile photo and a "cover photo". Add support for this. [/li]
[li]Write more webpage layouts[/li]
[li]Write more webpage widgets[/li]
[li]restricted access OAuth clients[/li]
@ -40,7 +38,6 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]App taxonomy[/li]
[li]Customisable App collection pages[/li]
[li]replace the tinymce visual editor and/or make the visual editor pluggable and responsive to different output formats. We probably want library/bbedit for bbcode. This needs a fair bit of work to catch up with our &quot;enhanced bbcode&quot;, but start with images, links, bold and highlight and work from there.[/li]
[li]Photos module - turn photos into normal conversations and fix tagging[/li]
[li]Create mobile clients for the top platforms - which involves extending the API so that we can do stuff far beyond the current crop of Twitter/Statusnet clients. Ditto for mobile themes. We can probably use something like the Friendica Android app as a base to start from.[/li]
[li](in progress Habeas Codice) Implement owned and exchangeable &quot;things&quot;.[/li]
[li]Family Account creation - using service classes (an account holder can create a certain number of sub-accounts which are all tied to their subscription - if the subscription lapses they all go away).[/li]

View File

@ -331,6 +331,7 @@ function channel_remove($channel_id, $local = true, $unset_session=true) {
dbesc(datetime_convert()),
intval($channel_id)
);
// if this was the default channel, set another one as default
if($a->account['account_default_channel'] == $channel_id) {
$r = q("select channel_id from channel where channel_account_id = %d and channel_removed = 0 limit 1",
@ -344,12 +345,11 @@ function channel_remove($channel_id, $local = true, $unset_session=true) {
}
else {
$rr = q("update account set account_default_channel = 0 where account_id = %d",
intval($r[0]['channel_id']),
intval($a->account['account_id']));
intval($a->account['account_id'])
);
}
}
logger('deleting hublocs',LOGGER_DEBUG);
$r = q("update hubloc set hubloc_deleted = 1 where hubloc_hash = '%s' and hubloc_url = '%s' ",

View File

@ -2106,10 +2106,10 @@ require_once('include/api_auth.php');
'private' => $private, 'textlimit' => $textlimit, 'sslserver' => $sslserver, 'ssl' => $ssl,
'shorturllength' => '30',
'hubzilla' => array(
'PLATFORM_NAME' => PLATFORM_NAME,
'RED_VERSION' => RED_VERSION,
'PLATFORM_NAME' => get_platform_name(),
'RED_VERSION' => get_project_version(),
'ZOT_REVISION' => ZOT_REVISION,
'DB_UPDATE_VERSION' => DB_UPDATE_VERSION
'DB_UPDATE_VERSION' => get_update_version()
)
));
@ -2142,12 +2142,12 @@ require_once('include/api_auth.php');
if($type === 'xml') {
header("Content-type: application/xml");
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\r\n" . '<version>' . RED_VERSION . '</version>' . "\r\n";
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\r\n" . '<version>' . get_project_version() . '</version>' . "\r\n";
killme();
}
elseif($type === 'json') {
header("Content-type: application/json");
echo '"' . RED_VERSION . '"';
echo '"' . get_project_version() . '"';
killme();
}
}

View File

@ -942,25 +942,35 @@ function item_photo_menu($item){
$clean_url = normalise_link($item['author-link']);
}
$menu = Array(
$poco_rating = get_config('system','poco_rating_enable');
// if unset default to enabled
if($poco_rating === false)
$poco_rating = true;
$ratings_url = (($poco_rating) ? z_root() . '/ratings/' . urlencode($item['author_xchan']) : '');
$post_menu = Array(
t("View Source") => $vsrc_link,
t("Follow Thread") => $sub_link,
t("Unfollow Thread") => $unsub_link,
t("View Status") => $status_link,
);
$author_menu = array(
t("View Profile") => $profile_link,
t("View Photos") => $photos_link,
t("Activity/Posts") => $posts_link,
t("Connect") => $follow_url,
t("Edit Connection") => $contact_url,
t("Send PM") => $pm_url,
t("Message") => $pm_url,
t('Ratings') => $ratings_url,
t("Poke") => $poke_link
);
$args = array('item' => $item, 'menu' => $menu);
$args = array('item' => $item, 'post_menu' => $post_menu, 'author_menu' => $author_menu);
call_hooks('item_photo_menu', $args);
$menu = $args['menu'];
$menu = array_merge($args['post_menu'],$args['author_menu']);
$o = "";
foreach($menu as $k=>$v){

View File

@ -529,6 +529,7 @@ function notification($params) {
$tpl = get_markup_template('email_notify_html.tpl');
$email_html_body = replace_macros($tpl,array(
'$banner' => $datarray['banner'],
'$notify_icon' => get_notify_icon(),
'$product' => $datarray['product'],
'$preamble' => $datarray['preamble'],
'$sitename' => $datarray['sitename'],

View File

@ -67,7 +67,7 @@ function ical_wrapper($ev) {
$o .= "BEGIN:VCALENDAR";
$o .= "\r\nVERSION:2.0";
$o .= "\r\nMETHOD:PUBLISH";
$o .= "\r\nPRODID:-//" . get_config('system','sitename') . "//" . PLATFORM_NAME . "//" . strtoupper(get_app()->language). "\r\n";
$o .= "\r\nPRODID:-//" . get_config('system','sitename') . "//" . get_platform_name() . "//" . strtoupper(get_app()->language). "\r\n";
if(array_key_exists('start', $ev))
$o .= format_event_ical($ev);
else {

View File

@ -49,6 +49,7 @@ function get_features($filtered = true) {
array('advanced_profiles', t('Advanced Profiles'), t('Additional profile sections and selections'),false,get_config('feature_lock','advanced_profiles')),
array('profile_export', t('Profile Import/Export'), t('Save and load profile details across sites/channels'),false,get_config('feature_lock','profile_export')),
array('webpages', t('Web Pages'), t('Provide managed web pages on your channel'),false,get_config('feature_lock','webpages')),
array('hide_rating', t('Hide Rating'), t('Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else.'),false,get_config('feature_lock','hide_rating')),
array('private_notes', t('Private Notes'), t('Enables a tool to store notes and reminders'),false,get_config('feature_lock','private_notes')),
array('nav_channel_select', t('Navigation Channel Select'), t('Change channels directly from within the navigation dropdown menu'),false,get_config('feature_lock','nav_channel_select')),
array('photo_location', t('Photo Location'), t('If location data is available on uploaded photos, link this to a map.'),false,get_config('feature_lock','photo_location')),

View File

@ -482,6 +482,8 @@ function identity_basic_export($channel_id, $items = false) {
$ret = array();
// use constants here as otherwise we will have no idea if we can import from a site
// with a non-standard platform and version.
$ret['compatibility'] = array('project' => PLATFORM_NAME, 'version' => RED_VERSION, 'database' => DB_UPDATE_VERSION);
$r = q("select * from channel where channel_id = %d limit 1",
@ -1049,8 +1051,10 @@ function profile_sidebar($profile, $block = 0, $show_connect = true) {
$tpl = get_markup_template('profile_vcard.tpl');
require_once('include/widgets.php');
$z = widget_rating(array('target' => $profile['channel_hash']));
if(! feature_enabled($profile['uid'],'hide_rating'))
$z = widget_rating(array('target' => $profile['channel_hash']));
$o .= replace_macros($tpl, array(
'$profile' => $profile,
'$connect' => $connect,
@ -1771,4 +1775,4 @@ function get_cover_photo($channel_id,$format = 'bbcode', $res = PHOTO_RES_COVER_
return $output;
}
}

View File

@ -604,8 +604,8 @@ function get_feed_for($channel, $observer_hash, $params) {
$atom = '';
$atom .= replace_macros($feed_template, array(
'$version' => xmlify(RED_VERSION),
'$red' => xmlify(PLATFORM_NAME),
'$version' => xmlify(get_project_version()),
'$red' => xmlify(get_platform_name()),
'$feed_id' => xmlify($channel['xchan_url']),
'$feed_title' => xmlify($channel['channel_name']),
'$feed_updated' => xmlify(datetime_convert('UTC', 'UTC', 'now' , ATOM_TIME)) ,

View File

@ -182,7 +182,7 @@ function t($s, $ctx = '') {
function translate_projectname($s) {
return str_replace(array('$projectname','$Projectname'),array(PLATFORM_NAME,ucfirst(PLATFORM_NAME)),$s);
return str_replace(array('$projectname','$Projectname'),array(get_platform_name(),ucfirst(get_platform_name())),$s);
}

View File

@ -1619,18 +1619,19 @@ function format_and_send_email($sender,$xchan,$item) {
// load the template for private message notifications
$tpl = get_markup_template('email_notify_html.tpl');
$email_html_body = replace_macros($tpl,array(
'$banner' => $banner,
'$product' => $product,
'$preamble' => '',
'$sitename' => $sitename,
'$siteurl' => $siteurl,
'$banner' => $banner,
'$notify_icon' => get_notify_icon(),
'$product' => $product,
'$preamble' => '',
'$sitename' => $sitename,
'$siteurl' => $siteurl,
'$source_name' => $sender['xchan_name'],
'$source_link' => $sender['xchan_url'],
'$source_photo' => $sender['xchan_photo_m'],
'$username' => $xchan['xchan_name'],
'$username' => $xchan['xchan_name'],
'$hsitelink' => $datarray['hsitelink'],
'$hitemlink' => $datarray['hitemlink'],
'$thanks' => $thanks,
'$thanks' => $thanks,
'$site_admin' => $site_admin,
'$title' => $title,
'$htmlversion' => $htmlversion,
@ -1639,20 +1640,20 @@ function format_and_send_email($sender,$xchan,$item) {
// load the template for private message notifications
$tpl = get_markup_template('email_notify_text.tpl');
$email_text_body = replace_macros($tpl, array(
'$banner' => $banner,
'$product' => $product,
'$preamble' => '',
'$sitename' => $sitename,
'$siteurl' => $siteurl,
'$banner' => $banner,
'$product' => $product,
'$preamble' => '',
'$sitename' => $sitename,
'$siteurl' => $siteurl,
'$source_name' => $sender['xchan_name'],
'$source_link' => $sender['xchan_url'],
'$source_photo' => $sender['xchan_photo_m'],
'$username' => $xchan['xchan_name'],
'$hsitelink' => $datarray['hsitelink'],
'$hitemlink' => $datarray['hitemlink'],
'$thanks' => $thanks,
'$username' => $xchan['xchan_name'],
'$hsitelink' => $datarray['hsitelink'],
'$hitemlink' => $datarray['hitemlink'],
'$thanks' => $thanks,
'$site_admin' => $site_admin,
'$title' => $title,
'$title' => $title,
'$textversion' => $textversion
));
@ -1666,13 +1667,13 @@ function format_and_send_email($sender,$xchan,$item) {
// use the EmailNotification library to send the message
enotify::send(array(
'fromName' => $product,
'fromEmail' => $sender_email,
'replyTo' => $sender_email,
'toEmail' => str_replace('mailto:','',$xchan['xchan_addr']),
'messageSubject' => (($title) ? $title : t('No Subject')),
'htmlVersion' => $email_html_body,
'textVersion' => $email_text_body,
'fromName' => $product,
'fromEmail' => $sender_email,
'replyTo' => $sender_email,
'toEmail' => str_replace('mailto:','',$xchan['xchan_addr']),
'messageSubject' => (($title) ? $title : t('No Subject')),
'htmlVersion' => $email_html_body,
'textVersion' => $email_text_body,
'additionalMailHeader' => '',
));
@ -1767,16 +1768,13 @@ function get_site_info() {
$site_info = get_config('system','info');
$site_name = get_config('system','sitename');
if(! get_config('system','hidden_version_siteinfo')) {
$version = RED_VERSION;
$version = get_project_version();
$tag = get_std_version();
if(@is_dir('.git') && function_exists('shell_exec')) {
$commit = trim( @shell_exec('git log -1 --format="%h"'));
// if(! get_config('system','hidden_tag_siteinfo'))
// $tag = trim( @shell_exec('git describe --tags --abbrev=0'));
// else
// $tag = '';
}
if(! isset($commit) || strlen($commit) > 16)
$commit = '';
}
@ -1820,7 +1818,7 @@ function get_site_info() {
'locked_features' => $locked_features,
'admin' => $admin,
'site_name' => (($site_name) ? $site_name : ''),
'platform' => PLATFORM_NAME,
'platform' => get_platform_name(),
'dbdriver' => $db->getdriver(),
'lastpoll' => get_config('system','lastpoll'),
'info' => (($site_info) ? $site_info : ''),

View File

@ -641,10 +641,10 @@ function get_role_perms($role) {
$ret['directory_publish'] = true;
$ret['online'] = false;
$ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_A_REPUBLISH|PERMS_W_LIKE|PERMS_W_TAGWALL;
$ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_A_REPUBLISH|PERMS_W_LIKE|PERMS_W_TAGWALL;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;

View File

@ -18,20 +18,13 @@ function authenticate_success($user_record, $login_initial = false, $interactive
$_SESSION['addr'] = $_SERVER['REMOTE_ADDR'];
$lastlog_updated = false;
if(x($user_record, 'account_id')) {
$a->account = $user_record;
$_SESSION['account_id'] = $user_record['account_id'];
$_SESSION['authenticated'] = 1;
if($login_initial || $update_lastlog) {
q("update account set account_lastlog = '%s' where account_id = %d",
dbesc(datetime_convert()),
intval($_SESSION['account_id'])
);
$a->account['account_lastlog'] = datetime_convert();
call_hooks('logged_in', $a->account);
}
$uid_to_load = (((x($_SESSION,'uid')) && (intval($_SESSION['uid'])))
? intval($_SESSION['uid'])
@ -42,9 +35,19 @@ function authenticate_success($user_record, $login_initial = false, $interactive
change_channel($uid_to_load);
}
if($login_initial || $update_lastlog) {
q("update account set account_lastlog = '%s' where account_id = %d",
dbesc(datetime_convert()),
intval($_SESSION['account_id'])
);
$a->account['account_lastlog'] = datetime_convert();
$lastlog_updated = true;
call_hooks('logged_in', $a->account);
}
}
if($login_initial) {
if(($login_initial) && (! $lastlog_updated)) {
call_hooks('logged_in', $user_record);

View File

@ -812,7 +812,7 @@ function contact_block() {
);
if(count($r)) {
$contacts = sprintf( tt('%d Connection','%d Connections', $total),$total);
$contacts = t('Connections');
$micropro = Array();
foreach($r as $rr) {
$rr['archived'] = (intval($rr['abook_archived']) ? true : false);
@ -825,7 +825,7 @@ function contact_block() {
$o = replace_macros($tpl, array(
'$contacts' => $contacts,
'$nickname' => $a->profile['channel_address'],
'$viewconnections' => t('View Connections'),
'$viewconnections' => (($total > $shown) ? sprintf(t('View all %s connections'),$total) : ''),
'$micropro' => $micropro,
));

View File

@ -1110,16 +1110,18 @@ function widget_rating($arr) {
}
$o = '<div class="widget">';
$o .= '<h3>' . t('Rating Tools') . '</h3>';
if((($remote) || (local_channel())) && (! $self)) {
$o = '<div class="widget rateme">';
if($remote)
$o .= '<a class="rateme" href="' . $url . '"><i class="icon-pencil"></i> ' . t('Rate Me') . '</a>';
$o .= '<a class="btn btn-block btn-primary btn-sm" href="' . $url . '"><i class="icon-pencil"></i> ' . t('Rate Me') . '</a>';
else
$o .= '<div class="rateme fakelink" onclick="doRatings(\'' . $hash . '\'); return false;"><i class="icon-pencil"></i> ' . t('Rate Me') . '</div>';
$o .= '</div>';
$o .= '<div class="btn btn-block btn-primary btn-sm" onclick="doRatings(\'' . $hash . '\'); return false;"><i class="icon-pencil"></i> ' . t('Rate Me') . '</div>';
}
$o .= '<div class="widget rateme"><a class="rateme" href="ratings/' . $hash . '"><i class="icon-eye-open"></i> ' . t('View Ratings') . '</a>';
$o .= '<a class="btn btn-block btn-default btn-sm" href="ratings/' . $hash . '"><i class="icon-eye-open"></i> ' . t('View Ratings') . '</a>';
$o .= '</div>';
return $o;

View File

@ -3828,7 +3828,7 @@ function zotinfo($arr) {
$ret['site']['channels'] = channel_total();
$ret['site']['version'] = PLATFORM_NAME . ' ' . RED_VERSION . '[' . DB_UPDATE_VERSION . ']';
$ret['site']['version'] = get_platform_name() . ' ' . RED_VERSION . '[' . DB_UPDATE_VERSION . ']';
$ret['site']['admin'] = get_config('system','admin_email');
@ -3848,7 +3848,7 @@ function zotinfo($arr) {
$ret['site']['sellpage'] = get_config('system','sellpage');
$ret['site']['location'] = get_config('system','site_location');
$ret['site']['realm'] = get_directory_realm();
$ret['site']['project'] = PLATFORM_NAME;
$ret['site']['project'] = get_platform_name();
}

View File

@ -11,6 +11,10 @@
* bootstrap the application
*/
require_once('boot.php');
if(file_exists('.htsite.php'))
include('.htsite.php');
// our global App object
$a = new App;

View File

@ -17,7 +17,7 @@ $db_port = 0; // leave 0 for default or set your port
$db_user = 'mysqlusername';
$db_pass = 'mysqlpassword';
$db_data = 'mysqldatabasename';
$db_type = 0; // use 1 for postgres, 0 for mysql
/*
* Notice: Many of the following settings will be available in the admin panel

0
library/HTMLPurifier/DefinitionCache/Serializer/README Executable file → Normal file
View File

0
library/font_awesome/src/assets/css/prettify.css Executable file → Normal file
View File

View File

0
library/stylish_select/stylish-select.css Executable file → Normal file
View File

View File

@ -492,7 +492,7 @@ function admin_page_site(&$a) {
'$delivery_batch_count' => array('delivery_batch_count', t('Deliveries per process'),(x(get_config('system','delivery_batch_count'))?get_config('system','delivery_batch_count'):1), t("Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5.")),
'$poll_interval' => array('poll_interval', t("Poll interval"), (x(get_config('system','poll_interval'))?get_config('system','poll_interval'):2), t("Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval.")),
'$maxloadavg' => array('maxloadavg', t("Maximum Load Average"), ((intval(get_config('system','maxloadavg')) > 0)?get_config('system','maxloadavg'):50), t("Maximum system load before delivery and poll processes are deferred - default 50.")),
'$default_expire_days' => array('default_expire_days', t('Expiration period in days for imported (matrix/network) content'), intval(get_config('system','default_expire_days')), t('0 for no expiration of imported content')),
'$default_expire_days' => array('default_expire_days', t('Expiration period in days for imported (grid/network) content'), intval(get_config('system','default_expire_days')), t('0 for no expiration of imported content')),
'$form_security_token' => get_form_security_token("admin_site"),
));
}

View File

@ -157,7 +157,7 @@ function help_content(&$a) {
$path = trim(substr($dirname,4),'/');
$o .= '<li><a href="help/' . (($path) ? $path . '/' : '') . $fname . '" >' . ucwords(str_replace('_',' ',notags($fname))) . '</a><br />' .
str_replace('$Projectname',PLATFORM_NAME,substr($rr['text'],0,200)) . '...<br /><br /></li>';
str_replace('$Projectname',get_platform_name(),substr($rr['text'],0,200)) . '...<br /><br /></li>';
}
$o .= '</ul>';
@ -229,6 +229,8 @@ function help_content(&$a) {
if($doctype === 'bbcode') {
require_once('include/bbcode.php');
$content = bbcode($text);
// bbcode retargets external content to new windows. This content is internal.
$content = str_replace(' target="_blank"','',$content);
}
$content = preg_replace_callback("/#include (.*?)\;/ism", 'preg_callback_help_include', $content);
@ -248,7 +250,9 @@ function preg_callback_help_include($matches) {
if(preg_match('/\.bb$/', $matches[1]) || preg_match('/\.txt$/', $matches[1])) {
require_once('include/bbcode.php');
$include = bbcode($include);
} elseif(preg_match('/\.md$/', $matches[1])) {
$include = str_replace(' target="_blank"','',$include);
}
elseif(preg_match('/\.md$/', $matches[1])) {
require_once('library/markdown.php');
$include = Markdown($include);
}

View File

@ -817,25 +817,26 @@ function item_post(&$a) {
dbesc($body)
);
if($z && $z[0]['created'] > datetime_convert('UTC','UTC', 'now - 2 minutes')) {
$datarray['cancel'] = 1;
notice( t('Duplicate post suppressed.') . EOL);
logger('Duplicate post. Faking plugin cancel.');
if($z) {
foreach($z as $zz) {
if($zz['created'] > datetime_convert('UTC','UTC', 'now - 2 minutes')) {
$datarray['cancel'] = 1;
notice( t('Duplicate post suppressed.') . EOL);
logger('Duplicate post. Faking plugin cancel.');
}
}
}
}
call_hooks('post_local',$datarray);
if(x($datarray,'cancel')) {
logger('mod_item: post cancelled by plugin.');
if($return_path) {
logger('mod_item: post cancelled by plugin or duplicate suppressed.');
if($return_path)
goaway($a->get_baseurl() . "/" . $return_path);
}
$json = array('cancel' => 1);
if(x($_REQUEST,'jsreload') && strlen($_REQUEST['jsreload']))
$json['reload'] = $a->get_baseurl() . '/' . $_REQUEST['jsreload'];
$json['reload'] = $a->get_baseurl() . '/' . $_REQUEST['jsreload'];
echo json_encode($json);
killme();
}

View File

@ -113,7 +113,7 @@ function linkinfo_content(&$a) {
// If this is a Red site, use zrl rather than url so they get zids sent to them by default
if( x($siteinfo,'generator') && (strpos($siteinfo['generator'],PLATFORM_NAME . ' ') === 0))
if( x($siteinfo,'generator') && (strpos($siteinfo['generator'], get_platform_name() . ' ') === 0))
$template = str_replace('url','zrl',$template);
if($siteinfo["title"] == "") {

View File

@ -87,7 +87,7 @@ function lostpass_content(&$a) {
'$lbl2' => t('Your password has been reset as requested.'),
'$lbl3' => t('Your new password is'),
'$lbl4' => t('Save or copy your new password - and then'),
'$lbl5' => '<a href="' . $a->get_baseurl() . '">' . t('click here to login') . '</a>.',
'$lbl5' => '<a href="' . $a->get_baseurl() . '/login">' . t('click here to login') . '</a>.',
'$lbl6' => t('Your password may be changed from the <em>Settings</em> page after successful login.'),
'$newpass' => $new_password,
'$baseurl' => $a->get_baseurl()

View File

@ -846,9 +846,9 @@ function settings_content(&$a) {
'$theme_config' => $theme_config,
'$expert' => feature_enabled(local_channel(),'expert'),
'$channel_list_mode' => array('channel_list_mode', t('Use blog/list mode on channel page'), get_pconfig(local_channel(),'system','channel_list_mode'), t('(comments displayed separately)'), $yes_no),
'$network_list_mode' => array('network_list_mode', t('Use blog/list mode on matrix page'), get_pconfig(local_channel(),'system','network_list_mode'), t('(comments displayed separately)'), $yes_no),
'$network_list_mode' => array('network_list_mode', t('Use blog/list mode on grid page'), get_pconfig(local_channel(),'system','network_list_mode'), t('(comments displayed separately)'), $yes_no),
'$channel_divmore_height' => array('channel_divmore_height', t('Channel page max height of content (in pixels)'), ((get_pconfig(local_channel(),'system','channel_divmore_height')) ? get_pconfig(local_channel(),'system','channel_divmore_height') : 400), t('click to expand content exceeding this height')),
'$network_divmore_height' => array('network_divmore_height', t('Matrix page max height of content (in pixels)'), ((get_pconfig(local_channel(),'system','network_divmore_height')) ? get_pconfig(local_channel(),'system','network_divmore_height') : 400) , t('click to expand content exceeding this height')),
'$network_divmore_height' => array('network_divmore_height', t('Grid page max height of content (in pixels)'), ((get_pconfig(local_channel(),'system','network_divmore_height')) ? get_pconfig(local_channel(),'system','network_divmore_height') : 400) , t('click to expand content exceeding this height')),
));
@ -1084,7 +1084,7 @@ function settings_content(&$a) {
'$lbl_vnot' => t('Show visual notifications including:'),
'$vnotify1' => array('vnotify1', t('Unseen matrix activity'), ($vnotify & VNOTIFY_NETWORK), VNOTIFY_NETWORK, '', $yes_no),
'$vnotify1' => array('vnotify1', t('Unseen grid activity'), ($vnotify & VNOTIFY_NETWORK), VNOTIFY_NETWORK, '', $yes_no),
'$vnotify2' => array('vnotify2', t('Unseen channel activity'), ($vnotify & VNOTIFY_CHANNEL), VNOTIFY_CHANNEL, '', $yes_no),
'$vnotify3' => array('vnotify3', t('Unseen private messages'), ($vnotify & VNOTIFY_MAIL), VNOTIFY_MAIL, t('Recommended'), $yes_no),
'$vnotify4' => array('vnotify4', t('Upcoming events'), ($vnotify & VNOTIFY_EVENT), VNOTIFY_EVENT, '', $yes_no),

View File

@ -12,7 +12,7 @@ function siteinfo_init(&$a) {
function siteinfo_content(&$a) {
if(! get_config('system','hidden_version_siteinfo')) {
$version = sprintf( t('Version %s'), RED_VERSION );
$version = sprintf( t('Version %s'), get_project_version());
if(@is_dir('.git') && function_exists('shell_exec')) {
$commit = @shell_exec('git log -1 --format="%h"');
$tag = get_std_version(); // @shell_exec('git describe --tags --abbrev=0');

View File

@ -1,3 +1,4 @@
#!/bin/bash
# The MIT License
#
# Copyright (c) 2011 Dominic Tarr

View File

@ -1 +1 @@
2016-01-17.1281H
2016-01-21.1285H

View File

@ -8,6 +8,7 @@ $db_port = '{{$dbport}}';
$db_user = '{{$dbuser}}';
$db_pass = '{{$dbpass}}';
$db_data = '{{$dbdata}}';
$db_type = '{{$dbtype}}'; // an integer. 0 or unset for mysql, 1 for postgres
/*
* Notice: Many of the following settings will be available in the admin panel

View File

@ -8,6 +8,7 @@ $db_port = '{{$dbport}}';
$db_user = '{{$dbuser}}';
$db_pass = '{{$dbpass}}';
$db_data = '{{$dbdata}}';
$db_type = '{{$dbtype}}'; // an integer. 0 or unset for mysql, 1 for postgres
/*
* Notice: Many of the following settings will be available in the admin panel

View File

@ -8,6 +8,7 @@ $db_port = '{{$dbport}}';
$db_user = '{{$dbuser}}';
$db_pass = '{{$dbpass}}';
$db_data = '{{$dbdata}}';
$db_type = '{{$dbtype}}'; // an integer. 0 or unset for mysql, 1 for postgres
/*
* Notice: Many of the following settings will be available in the admin panel

View File

@ -8,6 +8,7 @@ $db_port = '{{$dbport}}';
$db_user = '{{$dbuser}}';
$db_pass = '{{$dbpass}}';
$db_data = '{{$dbdata}}';
$db_type = '{{$dbtype}}'; // an integer. 0 or unset for mysql, 1 for postgres
/*
* Notice: Many of the following settings will be available in the admin panel

View File

@ -8,6 +8,7 @@ $db_port = '{{$dbport}}';
$db_user = '{{$dbuser}}';
$db_pass = '{{$dbpass}}';
$db_data = '{{$dbdata}}';
$db_type = '{{$dbtype}}'; // an integer. 0 or unset for mysql, 1 for postgres
/*
* Notice: Many of the following settings will be available in the admin panel

File diff suppressed because it is too large Load Diff

View File

@ -60,7 +60,7 @@ $a->strings["starred"] = "preferidas";
$a->strings["Message signature validated"] = "Firma de mensaje validada";
$a->strings["Message signature incorrect"] = "Firma de mensaje incorrecta";
$a->strings["Add Tag"] = "Añadir etiqueta";
$a->strings["I like this (toggle)"] = "me gusta (cambiar)";
$a->strings["I like this (toggle)"] = "Me gusta (cambiar)";
$a->strings["like"] = "me gusta";
$a->strings["I don't like this (toggle)"] = "No me gusta esto (cambiar)";
$a->strings["dislike"] = "no me gusta";
@ -267,8 +267,8 @@ $a->strings["event"] = "evento";
$a->strings["channel"] = "el canal";
$a->strings["status"] = "el mensaje de estado";
$a->strings["comment"] = "el comentario";
$a->strings["%1\$s likes %2\$s's %3\$s"] = "a %1\$s le gusta %3\$s de %2\$s";
$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "a %1\$s no le gusta %3\$s de %2\$s";
$a->strings["%1\$s likes %2\$s's %3\$s"] = "A %1\$s le gusta %3\$s de %2\$s";
$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "A %1\$s no le gusta %3\$s de %2\$s";
$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s ahora está conectado/a con %2\$s";
$a->strings["%1\$s poked %2\$s"] = "%1\$s ha dado un toque a %2\$s";
$a->strings["poked"] = "ha dado un toque a";
@ -297,23 +297,23 @@ $a->strings["View Photos"] = "Ver fotos";
$a->strings["Activity/Posts"] = "Actividad y publicaciones";
$a->strings["Edit Connection"] = "Editar conexión";
$a->strings["Send PM"] = "Enviar un mensaje privado";
$a->strings["%s likes this."] = "a %s le gusta esto.";
$a->strings["%s doesn't like this."] = "a %s no le gusta esto.";
$a->strings["%s likes this."] = "A %s le gusta esto.";
$a->strings["%s doesn't like this."] = "A %s no le gusta esto.";
$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
0 => "a <span %1\$s>%2\$d personas</span> le gusta esto.",
1 => "a <span %1\$s>%2\$d personas</span> les gusta esto.",
1 => "A <span %1\$s>%2\$d personas</span> les gusta esto.",
);
$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
0 => "a <span %1\$s>%2\$d personas</span> no les gusta esto.",
1 => "a <span %1\$s>%2\$d personas</span> no les gusta esto.",
1 => "A <span %1\$s>%2\$d personas</span> no les gusta esto.",
);
$a->strings["and"] = "y";
$a->strings[", and %d other people"] = array(
0 => ", y %d persona más",
1 => ", y %d personas más",
);
$a->strings["%s like this."] = "a %s le gusta esto.";
$a->strings["%s don't like this."] = "a %s no le gusta esto.";
$a->strings["%s like this."] = "A %s le gusta esto.";
$a->strings["%s don't like this."] = "A %s no le gusta esto.";
$a->strings["Visible to <strong>everybody</strong>"] = "Visible para <strong>cualquiera</strong>";
$a->strings["Please enter a link URL:"] = "Por favor, introduzca la dirección del enlace:";
$a->strings["Please enter a video link/URL:"] = "Por favor, introduzca un enlace de vídeo:";
@ -523,7 +523,7 @@ $a->strings["Filter incoming posts from connections based on keywords/content"]
$a->strings["Suggest Channels"] = "Sugerir canales";
$a->strings["Show channel suggestions"] = "Mostrar sugerencias de canales";
$a->strings["Post/Comment Tools"] = "Gestión de entradas y comentarios";
$a->strings["Community Tagging"] = "Etiquetado de la comunidad";
$a->strings["Community Tagging"] = "Etiquetas de la comunidad";
$a->strings["Ability to tag existing posts"] = "Capacidad de etiquetar entradas existentes";
$a->strings["Post Categories"] = "Categorías de entradas";
$a->strings["Add categories to your posts"] = "Añadir categorías a sus publicaciones";
@ -609,6 +609,7 @@ $a->strings["Love/Romance:"] = "Vida sentimental/amorosa:";
$a->strings["Work/employment:"] = "Trabajo:";
$a->strings["School/education:"] = "Estudios:";
$a->strings["Like this thing"] = "Me gusta esto";
$a->strings["cover photo"] = "Imagen de portada del perfil";
$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "No se ha podido crear un canal con un identificador que ya existe en este sistema. La importación ha fallado.";
$a->strings["Channel clone failed. Import failed."] = "La clonación del canal no ha salido bien. La importación ha fallado.";
$a->strings["Cloned channel not found. Import failed."] = "No se ha podido importar el canal porque el canal clonado no se ha encontrado.";
@ -937,6 +938,10 @@ $a->strings["Blocks"] = "Bloques";
$a->strings["Menus"] = "Menús";
$a->strings["Layouts"] = "Formato gráfico";
$a->strings["Pages"] = "Páginas";
$a->strings["Invalid data packet"] = "Paquete de datos no válido";
$a->strings["Unable to verify channel signature"] = "No ha sido posible de verificar la firma del canal";
$a->strings["Unable to verify site signature for %s"] = "No ha sido posible de verificar la firma del sitio para %s";
$a->strings["invalid target signature"] = "La firma recibida no es válida";
$a->strings["System"] = "Sistema";
$a->strings["Create Personal App"] = "Crear una aplicación personal";
$a->strings["Edit Personal App"] = "Editar una aplicación personal";
@ -945,8 +950,8 @@ $a->strings["Suggestions"] = "Sugerencias";
$a->strings["See more..."] = "Ver más...";
$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Tiene %1$.0f de %2$.0f conexiones permitidas.";
$a->strings["Add New Connection"] = "Añadir nueva conexión";
$a->strings["Enter the channel address"] = "Introducir la dirección del canal";
$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Ejemplo: paco@ejemplo.com, http://ejemplo.com/paco";
$a->strings["Enter channel address"] = "Dirección del canal";
$a->strings["Examples: bob@example.com, https://example.com/barbara"] = "Ejemplos: manuel@ejemplo.com, https://ejemplo.com/carmen";
$a->strings["Notes"] = "Notas";
$a->strings["Remove term"] = "Eliminar término";
$a->strings["Archives"] = "Hemeroteca";
@ -1007,10 +1012,6 @@ $a->strings["Plugin Features"] = "Extensiones";
$a->strings["User registrations waiting for confirmation"] = "Registros de usuarios pendientes de confirmación";
$a->strings["View Photo"] = "Ver foto";
$a->strings["Edit Album"] = "Editar álbum";
$a->strings["Invalid data packet"] = "Paquete de datos no válido";
$a->strings["Unable to verify channel signature"] = "No ha sido posible de verificar la firma del canal";
$a->strings["Unable to verify site signature for %s"] = "No ha sido posible de verificar la firma del sitio para %s";
$a->strings["invalid target signature"] = "La firma recibida no es válida";
$a->strings["Not Found"] = "No encontrado";
$a->strings["Page not found."] = "Página no encontrada.";
$a->strings["Some blurb about what to do when you're new here"] = "Algunas propuestas para el nuevo usuario sobre qué se puede hacer aquí";
@ -1187,6 +1188,10 @@ $a->strings["Enable"] = "Activar";
$a->strings["Toggle"] = "Cambiar";
$a->strings["Author: "] = "Autor:";
$a->strings["Maintainer: "] = "Mantenedor:";
$a->strings["Minimum project version: "] = "Versión mínima del proyecto:";
$a->strings["Maximum project version: "] = "Versión máxima del proyecto:";
$a->strings["Minimum PHP version: "] = "Versión mínima de PHP:";
$a->strings["Disabled - version incompatibility"] = "Deshabilitado - versiones incompatibles";
$a->strings["No themes found."] = "No se han encontrado temas.";
$a->strings["Screenshot"] = "Instantánea de pantalla";
$a->strings["[Experimental]"] = "[Experimental]";
@ -1263,80 +1268,21 @@ $a->strings["Blocked"] = "Bloqueadas";
$a->strings["Ignored"] = "Ignoradas";
$a->strings["Hidden"] = "Ocultas";
$a->strings["Archived"] = "Archivadas";
$a->strings["Suggest new connections"] = "Sugerir nuevas conexiones";
$a->strings["New Connections"] = "Nuevas conexiones";
$a->strings["Show pending (new) connections"] = "Mostrar conexiones (nuevas) pendientes";
$a->strings["All Connections"] = "Todas las conexiones";
$a->strings["Show all connections"] = "Mostrar todas las conexiones";
$a->strings["Unblocked"] = "Desbloqueadas";
$a->strings["Only show unblocked connections"] = "Mostrar solo las conexiones desbloqueadas";
$a->strings["Only show blocked connections"] = "Mostrar solo las conexiones bloqueadas";
$a->strings["Only show ignored connections"] = "Mostrar solo conexiones ignoradas";
$a->strings["Only show archived connections"] = "Mostrar solo las conexiones archivadas";
$a->strings["Only show hidden connections"] = "Mostrar solo las conexiones ocultas";
$a->strings["Pending"] = "Pendiente";
$a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
$a->strings["Edit connection"] = "Editar conexión";
$a->strings["Delete connection"] = "Eliminar conexión";
$a->strings["Connected"] = "Conectado/a";
$a->strings["Search your connections"] = "Buscar sus conexiones";
$a->strings["Finding: "] = "Búsqueda:";
$a->strings["Could not access contact record."] = "No se ha podido acceder al registro de contacto.";
$a->strings["Could not locate selected profile."] = "No se ha podido localizar el perfil seleccionado.";
$a->strings["Connection updated."] = "Conexión actualizada.";
$a->strings["Failed to update connection record."] = "Error al actualizar el registro de la conexión.";
$a->strings["is now connected to"] = "ahora está conectado/a";
$a->strings["Could not access address book record."] = "No se pudo acceder al registro en su libreta de direcciones.";
$a->strings["Refresh failed - channel is currently unavailable."] = "Recarga fallida - no se puede encontrar el canal en este momento.";
$a->strings["Unable to set address book parameters."] = "No ha sido posible establecer los parámetros de la libreta de direcciones.";
$a->strings["Connection has been removed."] = "La conexión ha sido eliminada.";
$a->strings["View %s's profile"] = "Ver el perfil de %s";
$a->strings["Refresh Permissions"] = "Recargar los permisos";
$a->strings["Fetch updated permissions"] = "Obtener los permisos actualizados";
$a->strings["Recent Activity"] = "Actividad reciente";
$a->strings["View recent posts and comments"] = "Ver publicaciones y comentarios recientes";
$a->strings["Block (or Unblock) all communications with this connection"] = "Bloquear (o desbloquear) todas las comunicaciones con esta conexión";
$a->strings["This connection is blocked!"] = "¡Esta conexión está bloqueada!";
$a->strings["Unignore"] = "Dejar de ignorar";
$a->strings["Ignore"] = "Ignorar";
$a->strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignorar (o dejar de ignorar) todas las comunicaciones entrantes de esta conexión";
$a->strings["This connection is ignored!"] = "¡Esta conexión es ignorada!";
$a->strings["Unarchive"] = "Desarchivar";
$a->strings["Archive"] = "Archivar";
$a->strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Archiva (o desarchiva) esta conexión - marca el canal como muerto aunque mantiene sus contenidos";
$a->strings["This connection is archived!"] = "¡Esta conexión esta archivada!";
$a->strings["Unhide"] = "Mostrar";
$a->strings["Hide"] = "Ocultar";
$a->strings["Hide or Unhide this connection from your other connections"] = "Ocultar o mostrar esta conexión a sus otras conexiones";
$a->strings["This connection is hidden!"] = "¡Esta conexión está oculta!";
$a->strings["Delete this connection"] = "Eliminar esta conexión";
$a->strings["Approve this connection"] = "Aprobar esta conexión";
$a->strings["Accept connection to allow communication"] = "Aceptar la conexión para permitir la comunicación";
$a->strings["Set Affinity"] = "Ajustar la afinidad";
$a->strings["Set Profile"] = "Ajustar el perfil";
$a->strings["Set Affinity & Profile"] = "Ajustar la afinidad y el perfil";
$a->strings["none"] = "-";
$a->strings["Apply these permissions automatically"] = "Aplicar estos permisos automaticamente";
$a->strings["This connection's primary address is"] = "La dirección primaria de esta conexión es";
$a->strings["Available locations:"] = "Ubicaciones disponibles:";
$a->strings["The permissions indicated on this page will be applied to all new connections."] = "Los permisos indicados en esta página serán aplicados en todas las nuevas conexiones.";
$a->strings["Slide to adjust your degree of friendship"] = "Deslizar para ajustar el grado de amistad";
$a->strings["Slide to adjust your rating"] = "Deslizar para ajustar su valoración";
$a->strings["Optionally explain your rating"] = "Opcionalmente, puede explicar su valoración";
$a->strings["Custom Filter"] = "Filtro personalizado";
$a->strings["Only import posts with this text"] = "Importar solo entradas que contengan este texto";
$a->strings["words one per line or #tags or /patterns/ or lang=xx, leave blank to import all posts"] = "Una sola opción por línea: palabras, #etiquetas, /patrones/ o lang=xx. Dejar en blanco para importarlo todo";
$a->strings["Do not import posts with this text"] = "No importar entradas que contengan este texto";
$a->strings["This information is public!"] = "¡Esta información es pública!";
$a->strings["Connection Pending Approval"] = "Conexión pendiente de aprobación";
$a->strings["Connection Request"] = "Solicitud de conexión";
$a->strings["(%s) would like to connect with you. Please approve this connection to allow communication."] = "(%s) desearía conectar con usted. por favor, apruebe esta conexión para permitir la comunicación.";
$a->strings["Approve Later"] = "Aprobar más tarde";
$a->strings["inherited"] = "heredado";
$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Por favor, escoja el perfil que quiere mostrar a %s cuando esté viendo su perfil de forma segura.";
$a->strings["Their Settings"] = "Sus ajustes";
$a->strings["My Settings"] = "Mis ajustes";
$a->strings["Individual Permissions"] = "Permisos individuales";
$a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Algunos permisos pueden ser heredados de los <a href=\"settings\"><strong>ajustes de privacidad</strong></a> de sus canales, los cuales tienen una prioridad más alta que los ajustes individuales. <strong>No</strong> puede cambiar estos ajustes aquí.";
$a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Algunos permisos pueden ser heredados de los <a href=\"settings\"><strong>ajustes de privacidad</strong></a> de sus canales, los cuales tienen una prioridad más alta que los ajustes individuales. Puede cambiar estos ajustes aquí, pero no tendrán ningún consecuencia hasta que cambie los ajustes heredados.";
$a->strings["Last update:"] = "Última actualización:";
$a->strings["Connections search"] = "Buscar conexiones";
$a->strings["\$Projectname channel"] = "Canal \$Projectname";
$a->strings["Public access denied."] = "Acceso público denegado.";
$a->strings["%d rating"] = array(
@ -1685,6 +1631,7 @@ $a->strings["Channel Type"] = "Tipo de canal";
$a->strings["Read more about roles"] = "Leer más sobre los roles";
$a->strings["Invalid request identifier."] = "Petición inválida del identificador.";
$a->strings["Discard"] = "Descartar";
$a->strings["Ignore"] = "Ignorar";
$a->strings["No more system notifications."] = "No hay más notificaciones del sistema";
$a->strings["System Notifications"] = "Notificaciones de sistema";
$a->strings["Unable to find your hub."] = "No se puede encontrar su servidor.";
@ -1861,6 +1808,7 @@ $a->strings["Passwords do not match."] = "Las contraseñas no coinciden.";
$a->strings["Registration successful. Please check your email for validation instructions."] = "Registro realizado con éxito. Por favor, compruebe su correo electrónico para ver las instrucciones para validarlo.";
$a->strings["Your registration is pending approval by the site owner."] = "Su registro está pendiente de aprobación por el propietario del sitio.";
$a->strings["Your registration can not be processed."] = "Su registro no puede ser procesado.";
$a->strings["Registration on this site is disabled."] = "El registro está deshabilitado en este sitio.";
$a->strings["Registration on this site/hub is by approval only."] = "El registro en este servidor/hub está sometido a aprobación previa.";
$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Inscribirse en un servidor/hub afiliado</a>";
$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Este sitio ha excedido el límite de inscripción diaria de cuentas. Por favor, inténtelo de nuevo mañana.";
@ -1869,6 +1817,7 @@ $a->strings["I accept the %s for this website"] = "Acepto los %s de este sitio";
$a->strings["I am over 13 years of age and accept the %s for this website"] = "Tengo más de 13 años de edad y acepto los %s de este sitio";
$a->strings["Membership on this site is by invitation only."] = "Para registrarse en este sitio es necesaria una invitación.";
$a->strings["Please enter your invitation code"] = "Por favor, introduzca el código de su invitación";
$a->strings["Enter your name"] = "Su nombre";
$a->strings["Your email address"] = "Su dirección de correo electrónico";
$a->strings["Choose a password"] = "Elija una contraseña";
$a->strings["Please re-enter your password"] = "Por favor, vuelva a escribir su contraseña";
@ -2118,6 +2067,64 @@ $a->strings["The database configuration file \".htconfig.php\" could not be writ
$a->strings["Errors encountered creating database tables."] = "Se han encontrado errores al crear las tablas de la base de datos.";
$a->strings["<h1>What next</h1>"] = "<h1>Siguiente paso</h1>";
$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Debe crear [manualmente] una tarea programada para el \"poller\".";
$a->strings["Could not access contact record."] = "No se ha podido acceder al registro de contacto.";
$a->strings["Could not locate selected profile."] = "No se ha podido localizar el perfil seleccionado.";
$a->strings["Connection updated."] = "Conexión actualizada.";
$a->strings["Failed to update connection record."] = "Error al actualizar el registro de la conexión.";
$a->strings["is now connected to"] = "ahora está conectado/a";
$a->strings["Could not access address book record."] = "No se pudo acceder al registro en su libreta de direcciones.";
$a->strings["Refresh failed - channel is currently unavailable."] = "Recarga fallida - no se puede encontrar el canal en este momento.";
$a->strings["Unable to set address book parameters."] = "No ha sido posible establecer los parámetros de la libreta de direcciones.";
$a->strings["Connection has been removed."] = "La conexión ha sido eliminada.";
$a->strings["View %s's profile"] = "Ver el perfil de %s";
$a->strings["Refresh Permissions"] = "Recargar los permisos";
$a->strings["Fetch updated permissions"] = "Obtener los permisos actualizados";
$a->strings["Recent Activity"] = "Actividad reciente";
$a->strings["View recent posts and comments"] = "Ver publicaciones y comentarios recientes";
$a->strings["Block (or Unblock) all communications with this connection"] = "Bloquear (o desbloquear) todas las comunicaciones con esta conexión";
$a->strings["This connection is blocked!"] = "¡Esta conexión está bloqueada!";
$a->strings["Unignore"] = "Dejar de ignorar";
$a->strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignorar (o dejar de ignorar) todas las comunicaciones entrantes de esta conexión";
$a->strings["This connection is ignored!"] = "¡Esta conexión es ignorada!";
$a->strings["Unarchive"] = "Desarchivar";
$a->strings["Archive"] = "Archivar";
$a->strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Archiva (o desarchiva) esta conexión - marca el canal como muerto aunque mantiene sus contenidos";
$a->strings["This connection is archived!"] = "¡Esta conexión esta archivada!";
$a->strings["Unhide"] = "Mostrar";
$a->strings["Hide"] = "Ocultar";
$a->strings["Hide or Unhide this connection from your other connections"] = "Ocultar o mostrar esta conexión a sus otras conexiones";
$a->strings["This connection is hidden!"] = "¡Esta conexión está oculta!";
$a->strings["Delete this connection"] = "Eliminar esta conexión";
$a->strings["Approve this connection"] = "Aprobar esta conexión";
$a->strings["Accept connection to allow communication"] = "Aceptar la conexión para permitir la comunicación";
$a->strings["Set Affinity"] = "Ajustar la afinidad";
$a->strings["Set Profile"] = "Ajustar el perfil";
$a->strings["Set Affinity & Profile"] = "Ajustar la afinidad y el perfil";
$a->strings["none"] = "-";
$a->strings["Apply these permissions automatically"] = "Aplicar estos permisos automaticamente";
$a->strings["This connection's primary address is"] = "La dirección primaria de esta conexión es";
$a->strings["Available locations:"] = "Ubicaciones disponibles:";
$a->strings["The permissions indicated on this page will be applied to all new connections."] = "Los permisos indicados en esta página serán aplicados en todas las nuevas conexiones.";
$a->strings["Slide to adjust your degree of friendship"] = "Deslizar para ajustar el grado de amistad";
$a->strings["Slide to adjust your rating"] = "Deslizar para ajustar su valoración";
$a->strings["Optionally explain your rating"] = "Opcionalmente, puede explicar su valoración";
$a->strings["Custom Filter"] = "Filtro personalizado";
$a->strings["Only import posts with this text"] = "Importar solo entradas que contengan este texto";
$a->strings["words one per line or #tags or /patterns/ or lang=xx, leave blank to import all posts"] = "Una sola opción por línea: palabras, #etiquetas, /patrones/ o lang=xx. Dejar en blanco para importarlo todo";
$a->strings["Do not import posts with this text"] = "No importar entradas que contengan este texto";
$a->strings["This information is public!"] = "¡Esta información es pública!";
$a->strings["Connection Pending Approval"] = "Conexión pendiente de aprobación";
$a->strings["Connection Request"] = "Solicitud de conexión";
$a->strings["(%s) would like to connect with you. Please approve this connection to allow communication."] = "(%s) desearía conectar con usted. por favor, apruebe esta conexión para permitir la comunicación.";
$a->strings["Approve Later"] = "Aprobar más tarde";
$a->strings["inherited"] = "heredado";
$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Por favor, escoja el perfil que quiere mostrar a %s cuando esté viendo su perfil de forma segura.";
$a->strings["Their Settings"] = "Sus ajustes";
$a->strings["My Settings"] = "Mis ajustes";
$a->strings["Individual Permissions"] = "Permisos individuales";
$a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Algunos permisos pueden ser heredados de los <a href=\"settings\"><strong>ajustes de privacidad</strong></a> de sus canales, los cuales tienen una prioridad más alta que los ajustes individuales. <strong>No</strong> puede cambiar estos ajustes aquí.";
$a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Algunos permisos pueden ser heredados de los <a href=\"settings\"><strong>ajustes de privacidad</strong></a> de sus canales, los cuales tienen una prioridad más alta que los ajustes individuales. Puede cambiar estos ajustes aquí, pero no tendrán ningún consecuencia hasta que cambie los ajustes heredados.";
$a->strings["Last update:"] = "Última actualización:";
$a->strings["Files: shared with me"] = "Ficheros: compartidos conmigo";
$a->strings["NEW"] = "NUEVO";
$a->strings["Remove all files"] = "Eliminar todos los ficheros";
@ -2185,6 +2192,8 @@ $a->strings["Source of Item"] = "Origen del elemento";
$a->strings["Page Title"] = "Título de página";
$a->strings["Xchan Lookup"] = "Búsqueda de canales";
$a->strings["Lookup xchan beginning with (or webbie): "] = "Buscar un canal (o un \"webbie\") que comience por:";
$a->strings["Cover Photos"] = "Imágenes de portada del perfil";
$a->strings["Upload Cover Photo"] = "Subir imagen de portada del perfil";
$a->strings["Focus (Hubzilla default)"] = "Focus (predefinido)";
$a->strings["Theme settings"] = "Ajustes del tema";
$a->strings["Select scheme"] = "Elegir un esquema";

View File

@ -10,6 +10,7 @@ $db_port = '{{$dbport}}';
$db_user = '{{$dbuser}}';
$db_pass = '{{$dbpass}}';
$db_data = '{{$dbdata}}';
$db_type = '{{$dbtype}}'; // an integer. 0 or unset for mysql, 1 for postgres
/*
* Note: Plusieurs de ces réglages seront disponibles via le panneau d'administration

View File

@ -8,6 +8,7 @@ $db_port = '{{$dbport}}';
$db_user = '{{$dbuser}}';
$db_pass = '{{$dbpass}}';
$db_data = '{{$dbdata}}';
$db_type = '{{$dbtype}}'; // an integer. 0 or unset for mysql, 1 for postgres
/*
* Notice: Many of the following settings will be available in the admin panel

View File

@ -8,6 +8,7 @@ $db_port = '{{$dbport}}';
$db_user = '{{$dbuser}}';
$db_pass = '{{$dbpass}}';
$db_data = '{{$dbdata}}';
$db_type = '{{$dbtype}}'; // an integer. 0 or unset for mysql, 1 for postgres
/*
* Notice: Many of the following settings will be available in the admin panel

File diff suppressed because it is too large Load Diff

View File

@ -517,7 +517,7 @@ $a->strings["Enable tab to display only Network posts that you've interacted on"
$a->strings["Network New Tab"] = "Nieuwe netwerktab";
$a->strings["Enable tab to display all new Network activity"] = "Laat de tab alle nieuwe netwerkactiviteit tonen";
$a->strings["Affinity Tool"] = "Verwantschapsfilter";
$a->strings["Filter stream activity by depth of relationships"] = "Filter wat je in de Matrix ziet op hoe goed je iemand kent of mag";
$a->strings["Filter stream activity by depth of relationships"] = "Filter wat je in jouw grid ziet op hoe goed je iemand kent of mag";
$a->strings["Connection Filtering"] = "Berichtenfilters";
$a->strings["Filter incoming posts from connections based on keywords/content"] = "Filter binnenkomende berichten van connecties aan de hand van trefwoorden en taal";
$a->strings["Suggest Channels"] = "Kanalen voorstellen";
@ -609,6 +609,7 @@ $a->strings["Love/Romance:"] = "Liefde/romantiek:";
$a->strings["Work/employment:"] = "Werk/beroep:";
$a->strings["School/education:"] = "School/opleiding:";
$a->strings["Like this thing"] = "Vind dit ding leuk";
$a->strings["cover photo"] = "omslagfoto";
$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt.";
$a->strings["Channel clone failed. Import failed."] = "Het klonen van het kanaal is mislukt. Importeren mislukt.";
$a->strings["Cloned channel not found. Import failed."] = "Gekloond kanaal niet gevonden. Importeren mislukt.";
@ -937,6 +938,10 @@ $a->strings["Blocks"] = "Blokken";
$a->strings["Menus"] = "Menu's";
$a->strings["Layouts"] = "Lay-outs";
$a->strings["Pages"] = "Pagina's";
$a->strings["Invalid data packet"] = "Datapakket ongeldig";
$a->strings["Unable to verify channel signature"] = "Kanaalkenmerk kon niet worden geverifieerd. ";
$a->strings["Unable to verify site signature for %s"] = "Hubkenmerk voor %s kon niet worden geverifieerd";
$a->strings["invalid target signature"] = "ongeldig doelkenmerk";
$a->strings["System"] = "Systeem";
$a->strings["Create Personal App"] = "Persoonlijke app maken";
$a->strings["Edit Personal App"] = "Persoonlijke app bewerken";
@ -945,8 +950,8 @@ $a->strings["Suggestions"] = "Voorgestelde kanalen";
$a->strings["See more..."] = "Meer...";
$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Je hebt %1$.0f van de %2$.0f toegestane connecties.";
$a->strings["Add New Connection"] = "Nieuwe connectie toevoegen";
$a->strings["Enter the channel address"] = "Vul het adres van het nieuwe kanaal in";
$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Voorbeeld: bob@example.com, http://example.com/barbara";
$a->strings["Enter channel address"] = "Vul kanaaladres in";
$a->strings["Examples: bob@example.com, https://example.com/barbara"] = "Voorbeelden: bob@example.com, http://example.com/barbara";
$a->strings["Notes"] = "Aantekeningen";
$a->strings["Remove term"] = "Verwijder zoekterm";
$a->strings["Archives"] = "Archieven";
@ -1007,10 +1012,6 @@ $a->strings["Plugin Features"] = "Plug-in-opties";
$a->strings["User registrations waiting for confirmation"] = "Accounts die op goedkeuring wachten";
$a->strings["View Photo"] = "Foto weergeven";
$a->strings["Edit Album"] = "Album bewerken";
$a->strings["Invalid data packet"] = "Datapakket ongeldig";
$a->strings["Unable to verify channel signature"] = "Kanaalkenmerk kon niet worden geverifieerd. ";
$a->strings["Unable to verify site signature for %s"] = "Hubkenmerk voor %s kon niet worden geverifieerd";
$a->strings["invalid target signature"] = "ongeldig doelkenmerk";
$a->strings["Not Found"] = "Niet gevonden";
$a->strings["Page not found."] = "Pagina niet gevonden.";
$a->strings["Some blurb about what to do when you're new here"] = "Welkom op \$Projectname. Klik op de tab ontdekken of klik rechtsboven op de <a href=\"directory\">kanalengids</a>, om kanalen te vinden. Rechtsboven vind je ook <a href=\"directory\">apps</a>, waar je vrijwel alle functies van \$Projectname kunt vinden. Voor <a href=\"directory\">hulp</a> met \$Projectname klik je op het vraagteken.";
@ -1099,7 +1100,7 @@ $a->strings["Poll interval"] = "Poll-interval";
$a->strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "De achtergrondprocessen voor het afleveren met zoveel seconden vertragen om de systeembelasting te verminderen. 0 om de afleveringsinterval te gebruiken.";
$a->strings["Maximum Load Average"] = "Maximaal gemiddelde systeembelasting";
$a->strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximale systeembelasting voordat de afleverings- en polllingsprocessen worden uitgesteld. Standaard is 50.";
$a->strings["Expiration period in days for imported (matrix/network) content"] = "Aantal dagen waarna geïmporteerde inhoud uit iemands matrix/netwerk-pagina wordt verwijderd.";
$a->strings["Expiration period in days for imported (matrix/network) content"] = "Aantal dagen waarna geïmporteerde inhoud uit iemands grid/netwerk-pagina wordt verwijderd.";
$a->strings["0 for no expiration of imported content"] = "Dit geldt alleen voor inhoud van andere kanalen, dus niet voor iemands eigen kanaal. 0 voor het niet verwijderen van geïmporteerde inhoud.";
$a->strings["Off"] = "Uit";
$a->strings["On"] = "Aan";
@ -1187,6 +1188,10 @@ $a->strings["Enable"] = "Inschakelen";
$a->strings["Toggle"] = "Omschakelen";
$a->strings["Author: "] = "Auteur: ";
$a->strings["Maintainer: "] = "Beheerder: ";
$a->strings["Minimum project version: "] = "Minimum versie Hubzilla: ";
$a->strings["Maximum project version: "] = "Maximum versie Hubzilla:";
$a->strings["Minimum PHP version: "] = "Minimum versie PHP: ";
$a->strings["Disabled - version incompatibility"] = "Uitgeschakeld - versie is incompatibel";
$a->strings["No themes found."] = "Geen thema's gevonden";
$a->strings["Screenshot"] = "Schermafdruk";
$a->strings["[Experimental]"] = "[Experimenteel]";
@ -1263,80 +1268,21 @@ $a->strings["Blocked"] = "Geblokkeerd";
$a->strings["Ignored"] = "Genegeerd";
$a->strings["Hidden"] = "Verborgen";
$a->strings["Archived"] = "Gearchiveerd";
$a->strings["Suggest new connections"] = "Nieuwe kanalen voorstellen";
$a->strings["New Connections"] = "Nieuwe connecties";
$a->strings["Show pending (new) connections"] = "Nog te accepteren (nieuwe) connecties weergeven";
$a->strings["All Connections"] = "Alle connecties";
$a->strings["Show all connections"] = "Toon alle connecties";
$a->strings["Unblocked"] = "Niet geblokkeerd";
$a->strings["Only show unblocked connections"] = "Toon alleen niet geblokkeerde connecties";
$a->strings["Only show blocked connections"] = "Toon alleen geblokkeerde connecties";
$a->strings["Only show ignored connections"] = "Toon alleen genegeerde connecties";
$a->strings["Only show archived connections"] = "Toon alleen gearchiveerde connecties";
$a->strings["Only show hidden connections"] = "Toon alleen verborgen connecties";
$a->strings["Pending"] = "Nog niet goedgekeurd";
$a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
$a->strings["Edit connection"] = "Connectie bewerken";
$a->strings["Delete connection"] = "Connectie verwijderen";
$a->strings["Connected"] = "Verbonden";
$a->strings["Search your connections"] = "Doorzoek jouw connecties";
$a->strings["Finding: "] = "Zoeken naar: ";
$a->strings["Could not access contact record."] = "Kon geen toegang krijgen tot de connectie-gegevens.";
$a->strings["Could not locate selected profile."] = "Kon het gekozen profiel niet vinden.";
$a->strings["Connection updated."] = "Connectie bijgewerkt.";
$a->strings["Failed to update connection record."] = "Bijwerken van connectie-gegevens mislukt.";
$a->strings["is now connected to"] = "is nu verbonden met";
$a->strings["Could not access address book record."] = "Kon geen toegang krijgen tot de record van de connectie.";
$a->strings["Refresh failed - channel is currently unavailable."] = "Vernieuwen mislukt - kanaal is momenteel niet beschikbaar";
$a->strings["Unable to set address book parameters."] = "Niet in staat om de parameters van connecties in te stellen.";
$a->strings["Connection has been removed."] = "Connectie is verwijderd";
$a->strings["View %s's profile"] = "Profiel van %s weergeven";
$a->strings["Refresh Permissions"] = "Permissies vernieuwen";
$a->strings["Fetch updated permissions"] = "Aangepaste permissies ophalen";
$a->strings["Recent Activity"] = "Kanaal-activiteit";
$a->strings["View recent posts and comments"] = "Recente berichten en reacties weergeven";
$a->strings["Block (or Unblock) all communications with this connection"] = "Blokkeer (of deblokkeer) alle communicatie met deze connectie";
$a->strings["This connection is blocked!"] = "Deze connectie is geblokkeerd!";
$a->strings["Unignore"] = "Niet meer negeren";
$a->strings["Ignore"] = "Negeren";
$a->strings["Ignore (or Unignore) all inbound communications from this connection"] = "Negeer (of negeer niet meer) alle inkomende communicatie van deze connectie";
$a->strings["This connection is ignored!"] = "Deze connectie wordt genegeerd!";
$a->strings["Unarchive"] = "Niet meer archiveren";
$a->strings["Archive"] = "Archiveren";
$a->strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Archiveer (of dearchiveer) deze connectie - markeer het kanaal als dood, maar bewaar de inhoud";
$a->strings["This connection is archived!"] = "Deze connectie is gearchiveerd!";
$a->strings["Unhide"] = "Niet meer verbergen";
$a->strings["Hide"] = "Verbergen";
$a->strings["Hide or Unhide this connection from your other connections"] = "Deze connectie verbergen (of niet meer verbergen) voor jouw andere connecties";
$a->strings["This connection is hidden!"] = "Deze connectie is verborgen!";
$a->strings["Delete this connection"] = "Deze connectie verwijderen";
$a->strings["Approve this connection"] = "Deze connectie accepteren";
$a->strings["Accept connection to allow communication"] = "Keur deze connectie goed om communicatie toe te staan";
$a->strings["Set Affinity"] = "Verwantschapsfilter instellen";
$a->strings["Set Profile"] = "Profiel instellen";
$a->strings["Set Affinity & Profile"] = "Verwantschapsfilter en profiel instellen";
$a->strings["none"] = "geen";
$a->strings["Apply these permissions automatically"] = "Deze permissies automatisch toepassen";
$a->strings["This connection's primary address is"] = "Het primaire kanaaladres van deze connectie is";
$a->strings["Available locations:"] = "Beschikbare locaties:";
$a->strings["The permissions indicated on this page will be applied to all new connections."] = "Permissies die op deze pagina staan vermeld worden op alle nieuwe connecties toegepast.";
$a->strings["Slide to adjust your degree of friendship"] = "Schuif om te bepalen hoe goed je iemand kent en/of mag";
$a->strings["Slide to adjust your rating"] = "Gebruik de schuif om je beoordeling te geven";
$a->strings["Optionally explain your rating"] = "Verklaar jouw beoordeling (niet verplicht)";
$a->strings["Custom Filter"] = "Berichtenfilter";
$a->strings["Only import posts with this text"] = "Importeer alleen berichten met deze tekst";
$a->strings["words one per line or #tags or /patterns/ or lang=xx, leave blank to import all posts"] = "woorden (één per regel), #tags, /regex/ of talen (lang=iso639-1) - laat leeg om alle berichten te importeren";
$a->strings["Do not import posts with this text"] = "Importeer geen berichten met deze tekst";
$a->strings["This information is public!"] = "Deze informatie is openbaar!";
$a->strings["Connection Pending Approval"] = "Connectie moet nog goedgekeurd worden";
$a->strings["Connection Request"] = "Connectieverzoek";
$a->strings["(%s) would like to connect with you. Please approve this connection to allow communication."] = "(%s) wil met jou verbinden. Keur dit connectieverzoek goed om onderling te kunnen communiceren.";
$a->strings["Approve Later"] = "Later goedkeuren";
$a->strings["inherited"] = "geërfd";
$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Kies het profiel dat je aan %s wil tonen wanneer hij/zij ingelogd jouw profiel wil bekijken.";
$a->strings["Their Settings"] = "Hun instellingen";
$a->strings["My Settings"] = "Mijn instellingen";
$a->strings["Individual Permissions"] = "Individuele permissies";
$a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele instellingen. Je kan je deze overgeërfde permissies hier <strong>niet</strong> veranderen.";
$a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele permissies. Je kan de permissies hier veranderen, maar die hebben geen effect, tenzij de overgeërfde permissies worden veranderd. ";
$a->strings["Last update:"] = "Laatste wijziging:";
$a->strings["Connections search"] = "Connecties zoeken";
$a->strings["\$Projectname channel"] = "\$Projectname-kanaal";
$a->strings["Public access denied."] = "Openbare toegang geweigerd.";
$a->strings["%d rating"] = array(
@ -1516,7 +1462,7 @@ $a->strings["You have no more invitations available"] = "Je hebt geen uitnodigin
$a->strings["Send invitations"] = "Uitnodigingen verzenden";
$a->strings["Enter email addresses, one per line:"] = "Voer e-mailadressen in, één per regel:";
$a->strings["Your message:"] = "Jouw bericht:";
$a->strings["Please join my community on \$Projectname."] = "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op \$Projectname te vergezellen. Lees meer over \$Projectname op https://redmatrix.me.";
$a->strings["Please join my community on \$Projectname."] = "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op \$Projectname te vergezellen. Lees meer over \$Projectname op http://hubzilla.org";
$a->strings["You will need to supply this invitation code: "] = "Je moet deze uitnodigingscode opgeven: ";
$a->strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registreer je op een willekeurige \$Projectname-hub (ze zijn allemaal onderling met elkaar verbonden):";
$a->strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Nadat je bent ingelogd en een kanaal hebt aangemaakt kan je mijn \$Projectname-kanaaladres in het zoekveld invullen:";
@ -1685,6 +1631,7 @@ $a->strings["Channel Type"] = "Kanaaltype";
$a->strings["Read more about roles"] = "Lees meer over kanaaltypes";
$a->strings["Invalid request identifier."] = "Ongeldige verzoek identificator (request identifier)";
$a->strings["Discard"] = "Annuleren";
$a->strings["Ignore"] = "Negeren";
$a->strings["No more system notifications."] = "Geen systeemnotificaties meer.";
$a->strings["System Notifications"] = "Systeemnotificaties";
$a->strings["Unable to find your hub."] = "Niet in staat om je hub te vinden";
@ -1861,6 +1808,7 @@ $a->strings["Passwords do not match."] = "Wachtwoorden komen niet met elkaar ove
$a->strings["Registration successful. Please check your email for validation instructions."] = "Registratie geslaagd. Controleer je e-mail voor instructies.";
$a->strings["Your registration is pending approval by the site owner."] = "Jouw accountregistratie wacht op goedkeuring van de beheerder van deze \$Projectname-hub.";
$a->strings["Your registration can not be processed."] = "Jouw registratie kan niet verwerkt worden.";
$a->strings["Registration on this site is disabled."] = "Registreren van nieuwe accounts is op deze hub uitgeschakeld.";
$a->strings["Registration on this site/hub is by approval only."] = "Registraties op deze \$Projectname-hub moeten eerst worden goedgekeurd.";
$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registreer op een andere \$Projectname-hub</a>";
$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Deze \$Projectname-hub heeft het maximum aantal dagelijks toegestane registraties bereikt. Probeer het morgen (UTC) nogmaals.";
@ -1869,6 +1817,7 @@ $a->strings["I accept the %s for this website"] = "Ik accepteer de %s van deze \
$a->strings["I am over 13 years of age and accept the %s for this website"] = "Ik accepteer de %s van deze \$Projectname-hub";
$a->strings["Membership on this site is by invitation only."] = "Registreren op deze \$Projectname-hub kan alleen op uitnodiging.";
$a->strings["Please enter your invitation code"] = "Vul jouw uitnodigingscode in";
$a->strings["Enter your name"] = "Vul jouw naam in";
$a->strings["Your email address"] = "Jouw e-mailadres";
$a->strings["Choose a password"] = "Geef een wachtwoord op";
$a->strings["Please re-enter your password"] = "Geef het wachtwoord opnieuw op";
@ -1949,10 +1898,10 @@ $a->strings["Link post titles to source"] = "Berichtkoppen naar originele locati
$a->strings["System Page Layout Editor - (advanced)"] = "Lay-out bewerken van systeempagina's (geavanceerd)";
$a->strings["Use blog/list mode on channel page"] = "Gebruik blog/lijst-modus op kanaalpagina";
$a->strings["(comments displayed separately)"] = "(reacties worden afzonderlijk weergeven)";
$a->strings["Use blog/list mode on matrix page"] = "Gebruik blog/lijst-modus op matrixpagina";
$a->strings["Use blog/list mode on matrix page"] = "Gebruik blog/lijst-modus op gridpagina";
$a->strings["Channel page max height of content (in pixels)"] = "Maximale hoogte berichtinhoud op kanaalpagina (in pixels)";
$a->strings["click to expand content exceeding this height"] = "klik om inhoud uit te klappen die deze hoogte overschrijdt";
$a->strings["Matrix page max height of content (in pixels)"] = "Maximale hoogte berichtinhoud op matrixpagina (in pixels)";
$a->strings["Matrix page max height of content (in pixels)"] = "Maximale hoogte berichtinhoud op gridpagina (in pixels)";
$a->strings["Nobody except yourself"] = "Niemand, behalve jezelf";
$a->strings["Only those you specifically allow"] = "Alleen connecties met uitdrukkelijke toestemming";
$a->strings["Approved connections"] = "Geaccepteerde connecties";
@ -2007,7 +1956,7 @@ $a->strings["You receive a friend suggestion"] = "Je een kanaalvoorstel ontvangt
$a->strings["You are tagged in a post"] = "Je expliciet in een bericht bent genoemd";
$a->strings["You are poked/prodded/etc. in a post"] = "Je bent in een bericht aangestoten/gepord/etc.";
$a->strings["Show visual notifications including:"] = "Toon de volgende zichtbare notificaties:";
$a->strings["Unseen matrix activity"] = "Niet bekeken matrix-activiteit";
$a->strings["Unseen matrix activity"] = "Niet bekeken grid-activiteit";
$a->strings["Unseen channel activity"] = "Niet bekeken kanaal-activiteit";
$a->strings["Unseen private messages"] = "Niet bekeken privéberichten";
$a->strings["Recommended"] = "Aanbevolen";
@ -2118,6 +2067,64 @@ $a->strings["The database configuration file \".htconfig.php\" could not be writ
$a->strings["Errors encountered creating database tables."] = "Errors encountered creating database tables.";
$a->strings["<h1>What next</h1>"] = "<h1>Wat nu</h1>";
$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT: You will need to [manually] setup a scheduled task for the poller.";
$a->strings["Could not access contact record."] = "Kon geen toegang krijgen tot de connectie-gegevens.";
$a->strings["Could not locate selected profile."] = "Kon het gekozen profiel niet vinden.";
$a->strings["Connection updated."] = "Connectie bijgewerkt.";
$a->strings["Failed to update connection record."] = "Bijwerken van connectie-gegevens mislukt.";
$a->strings["is now connected to"] = "is nu verbonden met";
$a->strings["Could not access address book record."] = "Kon geen toegang krijgen tot de record van de connectie.";
$a->strings["Refresh failed - channel is currently unavailable."] = "Vernieuwen mislukt - kanaal is momenteel niet beschikbaar";
$a->strings["Unable to set address book parameters."] = "Niet in staat om de parameters van connecties in te stellen.";
$a->strings["Connection has been removed."] = "Connectie is verwijderd";
$a->strings["View %s's profile"] = "Profiel van %s weergeven";
$a->strings["Refresh Permissions"] = "Permissies vernieuwen";
$a->strings["Fetch updated permissions"] = "Aangepaste permissies ophalen";
$a->strings["Recent Activity"] = "Kanaal-activiteit";
$a->strings["View recent posts and comments"] = "Recente berichten en reacties weergeven";
$a->strings["Block (or Unblock) all communications with this connection"] = "Blokkeer (of deblokkeer) alle communicatie met deze connectie";
$a->strings["This connection is blocked!"] = "Deze connectie is geblokkeerd!";
$a->strings["Unignore"] = "Niet meer negeren";
$a->strings["Ignore (or Unignore) all inbound communications from this connection"] = "Negeer (of negeer niet meer) alle inkomende communicatie van deze connectie";
$a->strings["This connection is ignored!"] = "Deze connectie wordt genegeerd!";
$a->strings["Unarchive"] = "Niet meer archiveren";
$a->strings["Archive"] = "Archiveren";
$a->strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Archiveer (of dearchiveer) deze connectie - markeer het kanaal als dood, maar bewaar de inhoud";
$a->strings["This connection is archived!"] = "Deze connectie is gearchiveerd!";
$a->strings["Unhide"] = "Niet meer verbergen";
$a->strings["Hide"] = "Verbergen";
$a->strings["Hide or Unhide this connection from your other connections"] = "Deze connectie verbergen (of niet meer verbergen) voor jouw andere connecties";
$a->strings["This connection is hidden!"] = "Deze connectie is verborgen!";
$a->strings["Delete this connection"] = "Deze connectie verwijderen";
$a->strings["Approve this connection"] = "Deze connectie accepteren";
$a->strings["Accept connection to allow communication"] = "Keur deze connectie goed om communicatie toe te staan";
$a->strings["Set Affinity"] = "Verwantschapsfilter instellen";
$a->strings["Set Profile"] = "Profiel instellen";
$a->strings["Set Affinity & Profile"] = "Verwantschapsfilter en profiel instellen";
$a->strings["none"] = "geen";
$a->strings["Apply these permissions automatically"] = "Deze permissies automatisch toepassen";
$a->strings["This connection's primary address is"] = "Het primaire kanaaladres van deze connectie is";
$a->strings["Available locations:"] = "Beschikbare locaties:";
$a->strings["The permissions indicated on this page will be applied to all new connections."] = "Permissies die op deze pagina staan vermeld worden op alle nieuwe connecties toegepast.";
$a->strings["Slide to adjust your degree of friendship"] = "Schuif om te bepalen hoe goed je iemand kent en/of mag";
$a->strings["Slide to adjust your rating"] = "Gebruik de schuif om je beoordeling te geven";
$a->strings["Optionally explain your rating"] = "Verklaar jouw beoordeling (niet verplicht)";
$a->strings["Custom Filter"] = "Berichtenfilter";
$a->strings["Only import posts with this text"] = "Importeer alleen berichten met deze tekst";
$a->strings["words one per line or #tags or /patterns/ or lang=xx, leave blank to import all posts"] = "woorden (één per regel), #tags, /regex/ of talen (lang=iso639-1) - laat leeg om alle berichten te importeren";
$a->strings["Do not import posts with this text"] = "Importeer geen berichten met deze tekst";
$a->strings["This information is public!"] = "Deze informatie is openbaar!";
$a->strings["Connection Pending Approval"] = "Connectie moet nog goedgekeurd worden";
$a->strings["Connection Request"] = "Connectieverzoek";
$a->strings["(%s) would like to connect with you. Please approve this connection to allow communication."] = "(%s) wil met jou verbinden. Keur dit connectieverzoek goed om onderling te kunnen communiceren.";
$a->strings["Approve Later"] = "Later goedkeuren";
$a->strings["inherited"] = "geërfd";
$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Kies het profiel dat je aan %s wil tonen wanneer hij/zij ingelogd jouw profiel wil bekijken.";
$a->strings["Their Settings"] = "Hun instellingen";
$a->strings["My Settings"] = "Mijn instellingen";
$a->strings["Individual Permissions"] = "Individuele permissies";
$a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele instellingen. Je kan je deze overgeërfde permissies hier <strong>niet</strong> veranderen.";
$a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele permissies. Je kan de permissies hier veranderen, maar die hebben geen effect, tenzij de overgeërfde permissies worden veranderd. ";
$a->strings["Last update:"] = "Laatste wijziging:";
$a->strings["Files: shared with me"] = "Bestanden: met mij gedeeld";
$a->strings["NEW"] = "NIEUW";
$a->strings["Remove all files"] = "Verwijder alle bestanden";
@ -2185,6 +2192,8 @@ $a->strings["Source of Item"] = "Bron van item";
$a->strings["Page Title"] = "Paginatitel";
$a->strings["Xchan Lookup"] = "Xchan opzoeken";
$a->strings["Lookup xchan beginning with (or webbie): "] = "Zoek een xchan (of webbie) die begint met:";
$a->strings["Cover Photos"] = "Omslagfoto's";
$a->strings["Upload Cover Photo"] = "Omslagfoto's uploaden";
$a->strings["Focus (Hubzilla default)"] = "Focus (Hubzilla-standaard)";
$a->strings["Theme settings"] = "Thema-instellingen";
$a->strings["Select scheme"] = "Kies schema van thema";

View File

@ -8,6 +8,7 @@ $db_port = '{{$dbport}}';
$db_user = '{{$dbuser}}';
$db_pass = '{{$dbpass}}';
$db_data = '{{$dbdata}}';
$db_type = '{{$dbtype}}'; // an integer. 0 or unset for mysql, 1 for postgres
/*
* Notice: Many of the following settings will be available in the admin panel

View File

@ -8,6 +8,7 @@ $db_port = '{{$dbport}}';
$db_user = '{{$dbuser}}';
$db_pass = '{{$dbpass}}';
$db_data = '{{$dbdata}}';
$db_type = '{{$dbtype}}'; // an integer. 0 or unset for mysql, 1 for postgres
/*
* Notice: Many of the following settings will be available in the admin panel

View File

@ -8,6 +8,7 @@ $db_port = '{{$dbport}}';
$db_user = '{{$dbuser}}';
$db_pass = '{{$dbpass}}';
$db_data = '{{$dbdata}}';
$db_type = '{{$dbtype}}'; // an integer. 0 or unset for mysql, 1 for postgres
/*
* Notice: Many of the following settings will be available in the admin panel

View File

@ -310,6 +310,11 @@ footer {
margin-bottom: 0px;
}
.connect-btn-wrapper {
margin-bottom: 10px;
}
.profile-edit-side-link {
padding: 3px 0px;
opacity: 0;
@ -475,53 +480,15 @@ footer {
float: right;
}
.rconnect {
display: block;
color: $nav_active_icon_colour;
margin-top: 15px;
background-color: $nav_bg;
-webkit-border-radius: $radiuspx ;
-moz-border-radius: $radiuspx;
border-radius: $radiuspx;
border: 1px solid $nav_bd;
padding: 5px;
font-weight: bold;
clear: both;
}
a.rateme, div.rateme {
display: block;
color: $nav_active_icon_colour;
background-color: $nav_bg;
-webkit-border-radius: $radiuspx ;
-moz-border-radius: $radiuspx;
border-radius: $radiuspx;
border: 1px solid $nav_bd;
padding: 5px;
font-weight: bold;
clear: both;
}
#pause {
position: fixed;
bottom: 5px;
right: 5px;
}
#vcard-end {
clear: both;
}
#contact-block {
width: 100%;
float: left;
background-color: rgba(254,254,254,0.5);
border-bottom: 1px solid rgba(238,238,238,0.8);
-moz-border-radius: $radiuspx;
-webkit-border-radius: $radiuspx;
border-radius: $radiuspx;
padding: 10px;
margin-bottom:10px;
}
#contact-block-numcontacts {

View File

@ -160,6 +160,14 @@ nav .badge:hover, nav .badge:focus {
color: rgba(255,255,255,.8);
}
.widget .conv-participants {
color: #BBB;
}
.widget .active:hover .conv-participants, .widget .active:focus .conv-participants {
color: inherit;
}
.help-block, .comment-icon, .jot-icons, .admin-icons {
color: inherit;
}

View File

@ -88,7 +88,7 @@
background-color: #111;
}
.jotnets-wrapper > a.btn {
a.btn, aside a {
font-weight: 400 !important;
}

View File

@ -75,6 +75,10 @@
background-color: #fff;
}
a.btn, aside a {
font-weight: 400 !important;
}
.btn-default {
background-color: #fff;
border-color: #000;

View File

@ -75,6 +75,10 @@
background-color: #000;
}
a.btn, aside a {
font-weight: 400 !important;
}
.btn-default {
background-color: #000;
border-color: #143D12;

View File

@ -71,6 +71,10 @@
background-color: #000;
}
a.btn, aside a {
font-weight: 400 !important;
}
.btn-default {
background-color: #000;
border-color: #fff;

View File

@ -1,7 +1,9 @@
<div id="contact-block">
<div id="contact-block-numcontacts">{{$contacts}}</div>
<div id="contact-block" class="widget">
<h3>{{$contacts}}</h3>
{{if $micropro}}
{{if $viewconnections}}
<a class="allcontact-link" href="viewconnections/{{$nickname}}">{{$viewconnections}}</a>
{{/if}}
<div class='contact-block-content'>
{{foreach $micropro as $m}}
{{$m}}

View File

@ -7,7 +7,7 @@
<body>
<table style="border:1px solid #ccc; background-color: #FFFFFF; color: #000000;">
<tbody>
<tr><td colspan="2" style="background:#43488A; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px; float:left;" src='{{$siteurl}}/images/hz-white-32.png'><div style="padding:7px; margin-left: 5px; float:left; font-size:18px;letter-spacing:1px;">{{$product}}</div><div style="clear: both;"></div></td></tr>
<tr><td colspan="2" style="background:#43488A; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px; float:left;" src="{{$notify_icon}}"><div style="padding:7px; margin-left: 5px; float:left; font-size:18px;letter-spacing:1px;">{{$product}}</div><div style="clear: both;"></div></td></tr>
<tr><td style="padding-top:22px;" colspan="2">{{$preamble}}</td></tr>

View File

@ -4,23 +4,23 @@
<Subject>{{$base}}</Subject>
<Property
type="http://www.oexchange.org/spec/0.8/prop/vendor">Friendika</Property>
type="http://www.oexchange.org/spec/0.8/prop/vendor">Zotlabs</Property>
<Property
type="http://www.oexchange.org/spec/0.8/prop/title">Friendika Social Network</Property>
type="http://www.oexchange.org/spec/0.8/prop/title">Hubzilla</Property>
<Property
type="http://www.oexchange.org/spec/0.8/prop/name">Friendika</Property>
type="http://www.oexchange.org/spec/0.8/prop/name">Hubzilla</Property>
<Property
type="http://www.oexchange.org/spec/0.8/prop/prompt">Send to Friendika</Property>
type="http://www.oexchange.org/spec/0.8/prop/prompt">Send to Hubzilla</Property>
<Link
rel="icon"
href="{{$base}}/images/friendika-16.png"
href="{{$base}}/images/hz-16.png"
type="image/png"
/>
<Link
rel="icon32"
href="{{$base}}/images/friendika-32.png"
href="{{$base}}/images/hz-32.png"
type="image/png"
/>

View File

@ -1,5 +1,8 @@
<div class="vcard">
<div id="profile-photo-wrapper"><img class="photo" src="{{$profile.photo}}?rev={{$profile.picdate}}" alt="{{$profile.name}}"></div>
{{if $connect}}
<div class="connect-btn-wrapper"><a href="{{$connect_url}}" class="btn btn-block btn-success btn-sm"><i class="icon-plus"></i> {{$connect}}</a></div>
{{/if}}
{{if $profile.edit}}
<div class="dropdown">
<a class="profile-edit-side-link dropdown-toggle" data-toggle="dropdown" title="{{$profile.edit.3}}" href="#" ><i class="icon-pencil" title="{{$profile.edit.1}}" ></i></a>
@ -45,17 +48,11 @@
{{if $diaspora}}
{{include file="diaspora_vcard.tpl"}}
{{/if}}
{{if $connect}}
<a href="{{$connect_url}}" class="rconnect"><i class="icon-plus connect-icon"></i> {{$connect}}</a>
{{/if}}
</div>
<div id="clear"></div>
{{$rating}}
</div>
<div id="vcard-end"></div>
{{$chanmenu}}
{{$contact_block}}

View File

@ -10,7 +10,7 @@
<input type="hidden" name="verify" value="{{$hash}}" />
<div class="form-group" id="remove-account-pass-wrapper">
<label id="remove-account-pass-label" for="remove-account-pass">{{$passwd}}</label>
<input class="form-control" type="password" id="remove-account-pass" name="qxz_password" />
<input class="form-control" type="password" id="remove-account-pass" autocomplete="off" name="qxz_password" value=" " />
</div>
{{include file="field_checkbox.tpl" field=$global}}
<button type="submit" name="submit" class="btn btn-danger">{{$submit}}</button>

View File

@ -10,7 +10,7 @@
<input type="hidden" name="verify" value="{{$hash}}" />
<div class="form-group" id="remove-account-pass-wrapper">
<label id="remove-account-pass-label" for="remove-account-pass">{{$passwd}}</label>
<input class="form-control" type="password" id="remove-account-pass" name="qxz_password" />
<input class="form-control" type="password" id="remove-account-pass" autocomplete="off" name="qxz_password" value=" " />
</div>
{{include file="field_checkbox.tpl" field=$global}}
<button type="submit" name="submit" class="btn btn-danger">{{$submit}}</button>

View File

@ -1,11 +1,10 @@
<div class="vcard">
<div id="profile-photo-wrapper"><a href="{{$link}}"><img class="vcard-photo photo" src="{{$photo}}" alt="{{$name}}" /></a></div>
{{if $connect}}
<div class="connect-btn-wrapper"><a href="follow?f=&url={{$follow}}" class="btn btn-block btn-success btn-sm"><i class="icon-plus"></i> {{$connect}}</a></div>
{{/if}}
<div class="fn">{{$name}}</div>
</div>
{{if $mode != 'mail'}}
{{if $connect}}
<a href="follow?f=&url={{$follow}}" class="rconnect"><i class="icon-plus connect-icon"></i> {{$connect}}</a>
{{/if}}
{{/if}}