mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-23 12:15:12 +00:00
Merge pull request #7 from redmatrix/master
updating from original codebase
This commit is contained in:
commit
a4c3058f84
124 changed files with 26577 additions and 24539 deletions
|
@ -1,3 +1,92 @@
|
||||||
|
#Hubzilla on OpenShift
|
||||||
|
You will notice a new .openshift folder when you fetch from upstream, i.e. from https://github.com/redmatrix/hubzilla.git , which contains a deploy script to set up Hubzilla on OpenShift.
|
||||||
|
|
||||||
|
Create an account on OpenShift, then use the registration e-mail and password to create your first Hubzilla instance. Install git and RedHat's command line tools - rhc - if you have not already done so.
|
||||||
|
|
||||||
|
```
|
||||||
|
rhc app-create your_app_name php-5.4 mysql-5.5 cron phpmyadmin --namespace your_domain --from-code https://github.com/redmatrix/hubzilla.git -l your@email.address -p your_account_password
|
||||||
|
```
|
||||||
|
|
||||||
|
Make a note of the database username and password OpenShift creates for your instance, and use these at https://your_app_name-your_domain.rhcloud.com/ to complete the setup.
|
||||||
|
|
||||||
|
NOTE: PostgreSQL is NOT supported by the deploy script yet.
|
||||||
|
|
||||||
|
Update
|
||||||
|
To update, consider your own workflow first. I have forked Hubzilla code into my GitHub account to be able to try things out, this remote repo is called origin. Here is how I fetch new code from upstream, merge into my local repo, then push the updated code both into origin and the remote repo called openshift.
|
||||||
|
|
||||||
|
```
|
||||||
|
git fetch upstream;git checkout master;git merge upstream/master;git push origin;git push openshift HEAD
|
||||||
|
```
|
||||||
|
|
||||||
|
##Administration
|
||||||
|
Symptoms of need for MySQL database administration are:
|
||||||
|
- you can visit your domain and see the Hubzilla frontpage, but trying to login throws you back to login. This can mean your session table is marked as crashed.
|
||||||
|
- you can login, but your channel posts are not visible. This can mean your item table is marked as crashed.
|
||||||
|
- you can login and you can see your channel posts, but apparently nobody is getting your posts, comments, likes and so on. This can mean your outq table is marked as crashed.
|
||||||
|
|
||||||
|
You can check your OpenShift logs by doing
|
||||||
|
|
||||||
|
```
|
||||||
|
rhc tail -a your_app_name -n your_domain -l your@email.address -p your_account_password
|
||||||
|
```
|
||||||
|
|
||||||
|
and you might be able to confirm the above suspicions about crashed tables, or other problems you need to fix.
|
||||||
|
|
||||||
|
###How to fix crashed tables in MySQL
|
||||||
|
Using MySQL and the MyISAM database engine can result in table indexes coming out of sync, and you have at least two options for fixing tables marked as crashed.
|
||||||
|
- Use the database username and password OpenShift creates for your instance at https://your_app_name-your_domain.rhcloud.com/phpmyadmin/ to login via the web into your phpMyAdmin web interface, click your database in the left column, in the right column scroll down to the bottom of the list of tables and click the checkbox for marking all tables, then select Check tables from the drop down menu. This will check the tables for problems, and you can then checkmark only those tables with problems, and select Repair table from the same drop down menu at the bottom.
|
||||||
|
- You can login to your instance with SSH - see OpenShift for details - then
|
||||||
|
|
||||||
|
```
|
||||||
|
cd mysql/data/your_database
|
||||||
|
myisamchk -r *.MYI
|
||||||
|
```
|
||||||
|
|
||||||
|
or if you get
|
||||||
|
|
||||||
|
```
|
||||||
|
Can't create new tempfile
|
||||||
|
```
|
||||||
|
|
||||||
|
check your OpenShift's gear quota with
|
||||||
|
|
||||||
|
```
|
||||||
|
quota -gus
|
||||||
|
```
|
||||||
|
|
||||||
|
and if you are short on space, then locally (not SSH) do
|
||||||
|
|
||||||
|
```
|
||||||
|
rhc app-tidy your_app_name -l your_login -p your_password
|
||||||
|
```
|
||||||
|
|
||||||
|
to have rhc delete temporary files and OpenShift logs to free space first, then check the size of your local repo dir and execute
|
||||||
|
|
||||||
|
```
|
||||||
|
git gc
|
||||||
|
```
|
||||||
|
|
||||||
|
against it and check the size again, and then to minimize your remote repo connect via SSH to your application gear and execute the same command against it by changing to the remote repo directory - your repo should be in
|
||||||
|
|
||||||
|
```
|
||||||
|
~/git/your_app_name.git
|
||||||
|
```
|
||||||
|
|
||||||
|
(if not, do find -size +1M to find it), then do
|
||||||
|
|
||||||
|
```
|
||||||
|
cd ~/mysql/data/yourdatabase
|
||||||
|
myisamchk -r -v -f*.MYI
|
||||||
|
```
|
||||||
|
|
||||||
|
and hopefully your database tables are now okay.
|
||||||
|
|
||||||
|
##NOTES
|
||||||
|
Note 1: definitely DO turn off feeds and discovery by default if you are on the Free or Bronze plan on OpenShift with a single 1Gb gear by visiting https://your-app-name.rhcloud.com/admin/site when logged in as administrator of your Hubzilla site.
|
||||||
|
Note 2: DO add the above defaults into the deploy script.
|
||||||
|
Note 3: DO add git gc to the deploy script to clean up git.
|
||||||
|
Note 4: MAYBE DO add myisamchk - only checking? to the end of the deploy script.
|
||||||
|
|
||||||
The OpenShift `php` cartridge documentation can be found at:
|
The OpenShift `php` cartridge documentation can be found at:
|
||||||
http://openshift.github.io/documentation/oo_cartridge_guide.html#php
|
http://openshift.github.io/documentation/oo_cartridge_guide.html#php
|
||||||
|
|
||||||
|
|
|
@ -155,7 +155,7 @@ fi
|
||||||
|
|
||||||
echo "Now chmod 777 -R poller"
|
echo "Now chmod 777 -R poller"
|
||||||
|
|
||||||
chmod -R 777 ${OPENSHIFT_REPO}.openshift/cron/minutely/poller
|
chmod -R 777 ${OPENSHIFT_REPO_DIR}.openshift/cron/minutely/poller
|
||||||
|
|
||||||
echo "chmod done, permissions set to 777 on poller script."
|
echo "chmod done, permissions set to 777 on poller script."
|
||||||
|
|
||||||
|
@ -176,3 +176,21 @@ echo "chmod done, permissions set to 777 on poller script."
|
||||||
### fi
|
### fi
|
||||||
|
|
||||||
####
|
####
|
||||||
|
|
||||||
|
# Hubzilla configuration - changes to default settings
|
||||||
|
# to make Hubzilla on OpenShift a more pleasant experience
|
||||||
|
echo "Changing default configuration to conserve space"
|
||||||
|
cd ${OPENSHIFT_REPO_DIR}
|
||||||
|
util/config system expire_delivery_reports 3
|
||||||
|
util/config system feed_contacts 0
|
||||||
|
util/config system disable_discover_tab 1
|
||||||
|
|
||||||
|
# Hubzill addons
|
||||||
|
echo "Try to add or update Hubzilla addons"
|
||||||
|
cd ${OPENSHIFT_REPO_DIR}
|
||||||
|
util/add_addon_repo https://github.com/redmatrix/hubzilla-addons.git HubzillaAddons
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
![Hubzilla](images/hubzilla-banner.png)
|
||||||
|
|
||||||
Hubzilla - Community Server
|
Hubzilla - Community Server
|
||||||
===========================
|
===========================
|
||||||
|
@ -5,7 +6,6 @@ Hubzilla - Community Server
|
||||||
Help us redefine the web - using integrated and united community websites.
|
Help us redefine the web - using integrated and united community websites.
|
||||||
--------------------------------------------------------------------------
|
--------------------------------------------------------------------------
|
||||||
|
|
||||||
![Hubzilla](images/hubzilla_house_arrows.png)
|
|
||||||
|
|
||||||
**What are Hubs?**
|
**What are Hubs?**
|
||||||
|
|
||||||
|
|
4
app/grid.apd
Normal file
4
app/grid.apd
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
url: $baseurl/network
|
||||||
|
requires: local_channel
|
||||||
|
name: Grid
|
||||||
|
photo: $baseurl/images/hubzilla_logo_6.png
|
|
@ -1,4 +0,0 @@
|
||||||
url: $baseurl/network
|
|
||||||
requires: local_channel
|
|
||||||
name: Matrix
|
|
||||||
photo: $baseurl/app/matrix.png
|
|
BIN
app/matrix.png
BIN
app/matrix.png
Binary file not shown.
Before Width: | Height: | Size: 3.8 KiB |
2
boot.php
2
boot.php
|
@ -50,7 +50,7 @@ define ( 'PLATFORM_NAME', 'hubzilla' );
|
||||||
define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'H');
|
define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'H');
|
||||||
define ( 'ZOT_REVISION', 1 );
|
define ( 'ZOT_REVISION', 1 );
|
||||||
|
|
||||||
define ( 'DB_UPDATE_VERSION', 1156 );
|
define ( 'DB_UPDATE_VERSION', 1158 );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Constant with a HTML line break.
|
* @brief Constant with a HTML line break.
|
||||||
|
|
103
doc/Hubzilla_on_OpenShift.bb
Normal file
103
doc/Hubzilla_on_OpenShift.bb
Normal file
|
@ -0,0 +1,103 @@
|
||||||
|
[b]Hubzilla on OpenShift[/b]
|
||||||
|
You will notice a new .openshift folder when you fetch from upstream, i.e. from [url=https://github.com/redmatrix/hubzilla.git]https://github.com/redmatrix/hubzilla.git[/url] , which contains a deploy script to set up Hubzilla on OpenShift with plugins and extra themes.
|
||||||
|
|
||||||
|
Create an account on OpenShift, then use the registration e-mail and password to create your first Hubzilla instance. Install git and RedHat's command line tools - rhc - if you have not already done so.
|
||||||
|
|
||||||
|
[code]rhc app-create your_app_name php-5.4 mysql-5.5 cron phpmyadmin --namespace your_domain --from-code https://github.com/redmatrix/hubzilla.git -l your@email.address -p your_account_password
|
||||||
|
[/code]
|
||||||
|
|
||||||
|
Make a note of the database username and password OpenShift creates for your instance, and use these at [url=https://your_app_name-your_domain.rhcloud.com/]https://your_app_name-your_domain.rhcloud.com/[/url] to complete the setup.
|
||||||
|
|
||||||
|
NOTE: PostgreSQL is NOT supported by the deploy script yet, see [zrl=https://zot-mor.rhcloud.com/display/3c7035f2a6febf87057d84ea0ae511223e9b38dc27913177bc0df053edecac7c@zot-mor.rhcloud.com?zid=haakon%40zot-mor.rhcloud.com]this thread[/zrl].
|
||||||
|
|
||||||
|
[b]Update[/b]
|
||||||
|
To update, consider your own workflow first. I have forked Hubzilla code into my GitHub account to be able to try things out, this remote repo is called origin. Here is how I fetch new code from upstream, merge into my local repo, then push the updated code both into origin and the remote repo called openshift.
|
||||||
|
|
||||||
|
[code]git fetch upstream;git checkout master;git merge upstream/master;git push origin;git push openshift HEAD
|
||||||
|
[/code]
|
||||||
|
|
||||||
|
[b]Administration[/b]
|
||||||
|
Symptoms of need for MySQL database administration are:
|
||||||
|
[list]
|
||||||
|
[*] you can visit your domain and see the Hubzilla frontpage, but trying to login throws you back to login. This can mean your session table is marked as crashed.
|
||||||
|
[*] you can login, but your channel posts are not visible. This can mean your item table is marked as crashed.
|
||||||
|
[*] you can login and you can see your channel posts, but apparently nobody is getting your posts, comments, likes and so on. This can mean your outq table is marked as crashed.
|
||||||
|
[/list]
|
||||||
|
|
||||||
|
You can check your OpenShift logs by doing
|
||||||
|
|
||||||
|
[code]
|
||||||
|
rhc tail -a your_app_name -n your_domain -l your@email.address -p your_account_password
|
||||||
|
[/code]
|
||||||
|
|
||||||
|
and you might be able to confirm the above suspicions about crashed tables, or other problems you need to fix.
|
||||||
|
|
||||||
|
[b]How to fix crashed tables in MySQL[/b]
|
||||||
|
Using MySQL and the MyISAM database engine can result in table indexes coming out of sync, and you have at least two options for fixing tables marked as crashed.
|
||||||
|
[list]
|
||||||
|
[*] Use the database username and password OpenShift creates for your instance at [url=https://your_app_name-your_domain.rhcloud.com/phpmyadmin/]https://your_app_name-your_domain.rhcloud.com/phpmyadmin/[/url] to login via the web into your phpMyAdmin web interface, click your database in the left column, in the right column scroll down to the bottom of the list of tables and click the checkbox for marking all tables, then select Check tables from the drop down menu. This will check the tables for problems, and you can then checkmark only those tables with problems, and select Repair table from the same drop down menu at the bottom.
|
||||||
|
[*] You can port-forward the MySQL database service to your own machine and use the MySQL client called mysqlcheck to check, repair and optimize your database or individual database tables without stopping the MySQL service on OpenShift. Run the following in two separate console windows.
|
||||||
|
|
||||||
|
To port-forward do
|
||||||
|
|
||||||
|
[code]rhc port-forward -a your_app_name -n your_domain -l your@email.address -p your_password[/code]
|
||||||
|
|
||||||
|
in one console window, then do either -o for optimize, -c for check or -r for repair, like this
|
||||||
|
|
||||||
|
[code]mysqlcheck -h 127.0.0.1 -r your_app_name -u your_app_admin_name -p[/code]
|
||||||
|
|
||||||
|
and give the app's password at the prompt. If all goes well you should see a number of table names with an OK behind them.
|
||||||
|
|
||||||
|
You can now
|
||||||
|
[code]Press CTRL-C to terminate port forwarding[/code]
|
||||||
|
[*] You can do
|
||||||
|
|
||||||
|
[code]rhc cartridge stop mysql-5.5 -a your_app_name[/code]
|
||||||
|
|
||||||
|
to stop the MySQL service running in your app on OpenShift before running myisamchk - which should only be run when MySQL is stopped, and then
|
||||||
|
login to your instance with SSH - see OpenShift for details - and do
|
||||||
|
|
||||||
|
[code]cd mysql/data/your_database
|
||||||
|
myisamchk -r *.MYI[/code]
|
||||||
|
|
||||||
|
or if you get
|
||||||
|
|
||||||
|
[code]Can't create new tempfile[/code]
|
||||||
|
|
||||||
|
check your OpenShift's gear quota with
|
||||||
|
|
||||||
|
[code]quota -gus[/code]
|
||||||
|
|
||||||
|
and if you are short on space, then locally (not SSH) do
|
||||||
|
|
||||||
|
[code]rhc app-tidy your_app_name -l your_login -p your_password[/code]
|
||||||
|
|
||||||
|
to have rhc delete temporary files and OpenShift logs to free space first, then check the size of your local repo dir and execute
|
||||||
|
|
||||||
|
[code]git gc[/code]
|
||||||
|
|
||||||
|
against it and check the size again, and then to minimize your remote repo connect via SSH to your application gear and execute the same command against it by changing to the remote repo directory - your repo should be in
|
||||||
|
|
||||||
|
[code]~/git/your_app_name.git[/code]
|
||||||
|
|
||||||
|
(if not, do find -size +1M to find it), then do
|
||||||
|
|
||||||
|
[code]
|
||||||
|
cd
|
||||||
|
cd mysql/data/yourdatabase
|
||||||
|
myisamchk -r -v -f*.MYI[/code]
|
||||||
|
|
||||||
|
and hopefully your database tables are now okay.
|
||||||
|
You can now start the MySQL service on OpenShift by locally doing
|
||||||
|
|
||||||
|
[code]rhc cartridge start mysql-5.5 -a your_app_name[/code]
|
||||||
|
[/list]
|
||||||
|
|
||||||
|
[b]Notes[/b]
|
||||||
|
[list]
|
||||||
|
[*] definitely DO turn off feeds and discovery by default and limit delivery reports from 30 days to 3 days if you are on the Free or Bronze plan on OpenShift with a single 1Gb gear by visiting [observer.baseurl]/admin/site when logged in as administrator of your Hubzilla site.
|
||||||
|
[*] The above defaults have been added into the deploy script.
|
||||||
|
[*] DO add git gc to the deploy script
|
||||||
|
[*] MAYBE DO add myisamchk - only checking? to the end of the deploy script.
|
||||||
|
[*] mysqlcheck is similar in function to myisamchk, but works differently. The main operational difference is that mysqlcheck must be used when the mysqld server is running, whereas myisamchk should be used when it is not. The benefit of using mysqlcheck is that you do not have to stop the server to perform table maintenance - this means this documenation should be fixed.
|
||||||
|
[/list]
|
|
@ -5,7 +5,7 @@ Hubzilla
|
||||||
###Websites. Redefined.
|
###Websites. Redefined.
|
||||||
|
|
||||||
|
|
||||||
![Hubzilla](images/ghash-32.png)
|
![Hubzilla](../images/hz-32.png)
|
||||||
|
|
||||||
**What are Hubs?**
|
**What are Hubs?**
|
||||||
|
|
||||||
|
|
|
@ -88,7 +88,7 @@ Some/many of these widgets have restrictions which may restrict the type of page
|
||||||
* photo_rand - display a random photo from one of your photo albums. Photo permissions are honoured
|
* photo_rand - display a random photo from one of your photo albums. Photo permissions are honoured
|
||||||
* args:
|
* args:
|
||||||
* album - album name (very strongly recommended if you have lots of photos)
|
* album - album name (very strongly recommended if you have lots of photos)
|
||||||
* scale - typically 0 (original size), 1 (640px), or 2 (320px)
|
* scale - typically 0 (original size), 1 (1024px), 2, (640px), or 3 (320px)
|
||||||
* style - CSS style string
|
* style - CSS style string
|
||||||
* channel_id - if not your own
|
* channel_id - if not your own
|
||||||
<br /> <br />
|
<br /> <br />
|
||||||
|
|
|
@ -4,9 +4,11 @@
|
||||||
|
|
||||||
[zrl=[baseurl]/help/install]Install[/zrl]
|
[zrl=[baseurl]/help/install]Install[/zrl]
|
||||||
[zrl=[baseurl]/help/red2pi]Installing $Projectname on the Raspberry Pi[/zrl]
|
[zrl=[baseurl]/help/red2pi]Installing $Projectname on the Raspberry Pi[/zrl]
|
||||||
|
[zrl=[baseurl]/help/Hubzilla_on_OpenShift]$Projectname on OpenShift[/zrl]
|
||||||
[zrl=[baseurl]/help/troubleshooting]Troubleshooting Tips[/zrl]
|
[zrl=[baseurl]/help/troubleshooting]Troubleshooting Tips[/zrl]
|
||||||
[zrl=[baseurl]/help/hidden_configs]Tweaking $Projectname's Hidden Configurations[/zrl]
|
[zrl=[baseurl]/help/hidden_configs]Tweaking $Projectname's Hidden Configurations[/zrl]
|
||||||
[zrl=[baseurl]/help/faq_admins]FAQ For Admins[/zrl]
|
[zrl=[baseurl]/help/faq_admins]FAQ For Admins[/zrl]
|
||||||
[zrl=[baseurl]/help/service_classes]Service Classes[/zrl]
|
[zrl=[baseurl]/help/service_classes]Service Classes[/zrl]
|
||||||
|
[zrl=[baseurl]/help/theme_management]Theme Management[/zrl]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,19 +4,20 @@ The API allows you to post to the red# by HTTP POST request. Below you see an ex
|
||||||
|
|
||||||
[code]curl -ssl -u [color=blue]$E-Mail[/color]:[color=blue]$Password[/color] -d "[color=blue]$Parameters[/color]" [url][observer=1][observer.baseurl][/observer][observer=0]example.com[/observer]/api/statuses/update
|
[code]curl -ssl -u [color=blue]$E-Mail[/color]:[color=blue]$Password[/color] -d "[color=blue]$Parameters[/color]" [url][observer=1][observer.baseurl][/observer][observer=0]example.com[/observer]/api/statuses/update
|
||||||
[/url][/code]
|
[/url][/code]
|
||||||
[table][tr][td]$E-Mail:[/td][td]The E-Mail Adress you use to login[/td][/tr]
|
[table][tr][td]$E-Mail:[/td][td]The E-Mail Address you use to login, or the channel nickname (without the hostname)[/td][/tr]
|
||||||
[tr][td]$Password:[/td][td]The Password you use to login[/td][/tr]
|
[tr][td]$Password:[/td][td]The Password you use to login[/td][/tr]
|
||||||
[tr][td]$Parameters:[/td][td]That's the interesting part, here you insert the content you want to send using the following parameters:[/td][/tr][/table]
|
[tr][td]$Parameters:[/td][td]That's the interesting part, here you insert the content you want to send using the following parameters:[/td][/tr][/table]
|
||||||
|
|
||||||
[ul]
|
[ul]
|
||||||
[*]title: the title of the posting
|
[*]title: the title of the posting
|
||||||
[*]channel: the channel you want to post to
|
[*]channel: the channel you want to post to (do not use this parameter with HTTP Basic auth)
|
||||||
[*]category: a comma-seperated list of categories for the posting
|
[*]category: a comma-seperated list of categories for the posting
|
||||||
[*]status: the content of the posting, formatted with BBCode
|
[*]status: the content of the posting, formatted with BBCode
|
||||||
OR
|
OR
|
||||||
[*]htmlstatus:the content of the posting, formatted in HTML.
|
[*]htmlstatus:the content of the posting, formatted in HTML.
|
||||||
[/ul]
|
[/ul]
|
||||||
|
|
||||||
|
To post to a specific channel, replace the email address with the channel nickname. If you supply the channel parameter, it has to match the "email", but is superfluous anyway.
|
||||||
|
|
||||||
Instead of calling [observer=1][observer.baseurl][/observer][observer=0]example.com[/observer]/api/statuses/update which returns a json (you could also add .json on the end to clarify) output, you can use [observer.baseurl]/api/statuses/update.xml to get an xml formatted return.
|
Instead of calling [observer=1][observer.baseurl][/observer][observer=0]example.com[/observer]/api/statuses/update which returns a json (you could also add .json on the end to clarify) output, you can use [observer.baseurl]/api/statuses/update.xml to get an xml formatted return.
|
||||||
|
|
||||||
|
|
|
@ -85,11 +85,9 @@ Share and save/manage bookmarks from links provided in conversations.
|
||||||
|
|
||||||
[b]Private Message Encryption and Privacy Concerns[/b]
|
[b]Private Message Encryption and Privacy Concerns[/b]
|
||||||
|
|
||||||
Messages marked [b]private[/b] are encrypted with AES-CBC 256-bit symmetric cipher, which is then protected (encrypted in turn) by public key cryptography, based on 4096-bit RSA keys, associated with the channel that is sending the message.
|
Private mail is stored in an obscured format. While this is not bullet-proof it typically prevents casual snooping by the site administrator or ISP.
|
||||||
|
|
||||||
These private messages are also stored in an encrypted form on remote systems.
|
Each $Projectname channel has it's own unique set of private and associated public RSA 4096-bit keys, generated when the channels is first created. This is used to protect private messages and posts in transit.
|
||||||
|
|
||||||
Each$Projectname channel has it's own unique set of private and associated public RSA 4096-bit keys, generated when the channels is first created.
|
|
||||||
|
|
||||||
Additionally, messages may be created utilising "end-to-end encryption" which cannot be read by $Projectname operators or ISPs or anybody who does not know the passcode.
|
Additionally, messages may be created utilising "end-to-end encryption" which cannot be read by $Projectname operators or ISPs or anybody who does not know the passcode.
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,11 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<<<<<<< HEAD
|
|
||||||
<title>Hubzilla Doxygen API Documentation</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>Hubzilla Doxygen API Documentation not rendered</h1>
|
|
||||||
=======
|
|
||||||
<title>$Projectname Doxygen API Documentation</title>
|
<title>$Projectname Doxygen API Documentation</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>$Projectname Doxygen API Documentation not rendered</h1>
|
<h1>$Projectname Doxygen API Documentation not rendered</h1>
|
||||||
>>>>>>> f866a42a42b9e12756353f5bb39a0f31a64bb26a
|
|
||||||
To get the Doxygen API Documentation you must render it with the program <a href="http://www.doxygen.org">Doxygen</a> (included in most distributions).
|
To get the Doxygen API Documentation you must render it with the program <a href="http://www.doxygen.org">Doxygen</a> (included in most distributions).
|
||||||
<pre>
|
<pre>
|
||||||
$ doxygen util/Doxyfile
|
$ doxygen util/Doxyfile
|
||||||
|
|
10
doc/theme_management.bb
Normal file
10
doc/theme_management.bb
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
[h1]Theme Management[/h1]
|
||||||
|
$Projectname allows hub admins to easily add and update themes hosted in common git repositories.
|
||||||
|
[h2]Add new theme repo to your hub[/h2]
|
||||||
|
1. Navigate to your hub web root
|
||||||
|
[code]root@hub:~# cd /var/www[/code]
|
||||||
|
2. Add the theme repo and give it a name
|
||||||
|
[code][nobb]root@hub:/var/www# util/add_theme_repo https://github.com/username/theme-repo.git UniqueThemeRepoName[/nobb][/code]
|
||||||
|
[h2]Update existing theme repo[/h2]
|
||||||
|
Update the repo by using
|
||||||
|
[code]root@hub:/var/www# util/update_theme_repo UniqueThemeRepoName[/code]
|
|
@ -5,8 +5,8 @@ We need much more than this, but here are areas where developers can help. Pleas
|
||||||
[li]Documentation - see Red Documentation Project To-Do List[/li]
|
[li]Documentation - see Red Documentation Project To-Do List[/li]
|
||||||
[li]Include TOS link in registration/verification email[/li]
|
[li]Include TOS link in registration/verification email[/li]
|
||||||
[li]Auto preview posts/comments (configurable timer kicks in the preview if not 0)[/li]
|
[li]Auto preview posts/comments (configurable timer kicks in the preview if not 0)[/li]
|
||||||
|
[li]SAML 2.0 and OpenID Connect provider functionality[/li]
|
||||||
[li]Create bug tracker module[/li]
|
[li]Create bug tracker module[/li]
|
||||||
[li]delivery tracking/reporting[/li]
|
|
||||||
[li]Filing posts - provide a dropdown menu integrated with the 'post actions menu'[/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]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]translation plugins - moses or apertium[/li]
|
||||||
|
@ -15,9 +15,9 @@ We need much more than this, but here are areas where developers can help. Pleas
|
||||||
[li]Finish the anti-spam bayesian engine[/li]
|
[li]Finish the anti-spam bayesian engine[/li]
|
||||||
[li]implement an email permission denied bounce message from the sys channel[/li]
|
[li]implement an email permission denied bounce message from the sys channel[/li]
|
||||||
[li]provide a way for xchans with a certain network type to upgrade (unknown to rss, rss to statusnet, friendica-over-diaspora to friendica, for instance) based on new knowledge and/or redmatrix ability[/li]
|
[li]provide a way for xchans with a certain network type to upgrade (unknown to rss, rss to statusnet, friendica-over-diaspora to friendica, for instance) based on new knowledge and/or redmatrix ability[/li]
|
||||||
[li](done - HZ) If DAV folders exist, add an option to the Settings page to set a default folder for attachment uploads.[/li]
|
|
||||||
[li]Integrate the "open site" list with the register page[/li]
|
[li]Integrate the "open site" list with the register page[/li]
|
||||||
[li]Support comments and member notes on documentation pages (to achieve an effect similar to php.net)[/li]
|
[li]Support comments and member notes on documentation pages (to achieve an effect similar to php.net)[/li]
|
||||||
|
[li]Support comments on webpages[/li]
|
||||||
[li]implement oembed provider interface[/li]
|
[li]implement oembed provider interface[/li]
|
||||||
[li]refactor the oembed client interface so that we can safely sandbox remote content[/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]Many modern social apps now have both a profile photo and a "cover photo". Add support for this. [/li]
|
||||||
|
@ -26,21 +26,17 @@ We need much more than this, but here are areas where developers can help. Pleas
|
||||||
[li]restricted access OAuth clients[/li]
|
[li]restricted access OAuth clients[/li]
|
||||||
[li](Advanced) create a UI for building Comanche pages[/li]
|
[li](Advanced) create a UI for building Comanche pages[/li]
|
||||||
[li](less advanced) create a way to preview Comanche results on a preview page while editing on another page[/li]
|
[li](less advanced) create a way to preview Comanche results on a preview page while editing on another page[/li]
|
||||||
[li](done - HZ) Extend WebDAV to provide desktop access to photo albums[/li]
|
|
||||||
[li]External post connectors - create standard interface[/li]
|
[li]External post connectors - create standard interface[/li]
|
||||||
[li]External post connectors, add popular services[/li]
|
[li]External post connectors, add popular services[/li]
|
||||||
[li](in progress Habeas Codice) service classes - provide a pluggable subscription payment gateway for premium accounts[/li]
|
[li](in progress Habeas Codice) service classes - provide a pluggable subscription payment gateway for premium accounts[/li]
|
||||||
[li](in progress Habeas Codice) service classes - account overview page showing resources consumed by channel. With special consideration this page can also be accessed at a meta level by the site admin to drill down on problematic accounts/channels.[/li]
|
[li](in progress Habeas Codice) service classes - account overview page showing resources consumed by channel. With special consideration this page can also be accessed at a meta level by the site admin to drill down on problematic accounts/channels.[/li]
|
||||||
[li]implement CalDAV/CardDAV sync[/li]
|
[li]implement CalDAV/CardDAV sync[/li]
|
||||||
[li]Uploads - integrate #^[url=https://github.com/blueimp/jQuery-File-Upload]https://github.com/blueimp/jQuery-File-Upload[/url][/li]
|
[li]Uploads - integrate #^[url=https://github.com/blueimp/jQuery-File-Upload]https://github.com/blueimp/jQuery-File-Upload[/url][/li]
|
||||||
[li]Import/export - include events, things, etc.[/li]
|
|
||||||
[li]API extensions, for Twitter API - search, friending, threading. For Red API, lots of stuff[/li]
|
[li]API extensions, for Twitter API - search, friending, threading. For Red API, lots of stuff[/li]
|
||||||
[li]OAuth permission extensions[/li]
|
|
||||||
[li]Import channel from Diaspora/Friendica (Diaspora partially done)[/li]
|
[li]Import channel from Diaspora/Friendica (Diaspora partially done)[/li]
|
||||||
[li]MediaGoblin photo "crosspost" connector[/li]
|
[li]MediaGoblin photo "crosspost" connector[/li]
|
||||||
[li]Create management page/UI for extensible profile fields[/li]
|
[li]Create management page/UI for extensible profile fields[/li]
|
||||||
[li]Create interface to include/exclude and re-order standard profile fields[/li]
|
[li]Create interface to include/exclude and re-order standard profile fields[/li]
|
||||||
[li]Provide a mechanism to share page design elements in posts (just like apps) (done)[/li]
|
|
||||||
[li]App taxonomy[/li]
|
[li]App taxonomy[/li]
|
||||||
[li]Customisable App collection pages[/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 "enhanced bbcode", but start with images, links, bold and highlight and work from there.[/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 "enhanced bbcode", but start with images, links, bold and highlight and work from there.[/li]
|
||||||
|
|
BIN
images/hubzilla-banner.png
Normal file
BIN
images/hubzilla-banner.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
BIN
images/hz-white-16.png
Normal file
BIN
images/hz-white-16.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 384 B |
BIN
images/hz-white-32.png
Normal file
BIN
images/hz-white-32.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 610 B |
BIN
images/hz-white-64.png
Normal file
BIN
images/hz-white-64.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 874 B |
|
@ -278,13 +278,19 @@ class Item extends BaseObject {
|
||||||
|
|
||||||
$children = $this->get_children();
|
$children = $this->get_children();
|
||||||
|
|
||||||
|
$has_tags = (($body['tags'] || $body['categories'] || $body['mentions'] || $body['attachments'] || $body['folders']) ? true : false);
|
||||||
|
|
||||||
$tmp_item = array(
|
$tmp_item = array(
|
||||||
'template' => $this->get_template(),
|
'template' => $this->get_template(),
|
||||||
'mode' => $mode,
|
'mode' => $mode,
|
||||||
'type' => implode("",array_slice(explode("/",$item['verb']),-1)),
|
'type' => implode("",array_slice(explode("/",$item['verb']),-1)),
|
||||||
'tags' => array(),
|
'body' => $body['html'],
|
||||||
'body' => $body,
|
'tags' => $body['tags'],
|
||||||
'text' => strip_tags($body),
|
'categories' => $body['categories'],
|
||||||
|
'mentions' => $body['mentions'],
|
||||||
|
'attachments' => $body['attachments'],
|
||||||
|
'folders' => $body['folders'],
|
||||||
|
'text' => strip_tags($body['html']),
|
||||||
'id' => $this->get_id(),
|
'id' => $this->get_id(),
|
||||||
'mid' => $item['mid'],
|
'mid' => $item['mid'],
|
||||||
'isevent' => $isevent,
|
'isevent' => $isevent,
|
||||||
|
@ -325,6 +331,8 @@ class Item extends BaseObject {
|
||||||
'owner_url' => $this->get_owner_url(),
|
'owner_url' => $this->get_owner_url(),
|
||||||
'owner_photo' => $this->get_owner_photo(),
|
'owner_photo' => $this->get_owner_photo(),
|
||||||
'owner_name' => $this->get_owner_name(),
|
'owner_name' => $this->get_owner_name(),
|
||||||
|
'photo' => $body['photo'],
|
||||||
|
'has_tags' => $has_tags,
|
||||||
|
|
||||||
// Item toolbar buttons
|
// Item toolbar buttons
|
||||||
'like' => $like,
|
'like' => $like,
|
||||||
|
|
|
@ -217,31 +217,6 @@ class RedBrowser extends DAV\Browser\Plugin {
|
||||||
$f[] = $ft;
|
$f[] = $ft;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Storage and quota for the account (all channels of the owner of this directory)!
|
|
||||||
$limit = service_class_fetch($owner, 'attach_upload_limit');
|
|
||||||
$r = q("SELECT SUM(filesize) AS total FROM attach WHERE aid = %d",
|
|
||||||
intval($this->auth->channel_account_id)
|
|
||||||
);
|
|
||||||
$used = $r[0]['total'];
|
|
||||||
if ($used) {
|
|
||||||
$quotaDesc = t('%1$s used');
|
|
||||||
$quotaDesc = sprintf($quotaDesc,
|
|
||||||
userReadableSize($used));
|
|
||||||
}
|
|
||||||
if ($limit && $used) {
|
|
||||||
$quotaDesc = t('%1$s used of %2$s (%3$s%)');
|
|
||||||
$quotaDesc = sprintf($quotaDesc,
|
|
||||||
userReadableSize($used),
|
|
||||||
userReadableSize($limit),
|
|
||||||
round($used / $limit, 1));
|
|
||||||
}
|
|
||||||
|
|
||||||
// prepare quota for template
|
|
||||||
$quota = array();
|
|
||||||
$quota['used'] = $used;
|
|
||||||
$quota['limit'] = $limit;
|
|
||||||
$quota['desc'] = $quotaDesc;
|
|
||||||
|
|
||||||
$output = '';
|
$output = '';
|
||||||
if ($this->enablePost) {
|
if ($this->enablePost) {
|
||||||
$this->server->broadcastEvent('onHTMLActionsPanel', array($parent, &$output));
|
$this->server->broadcastEvent('onHTMLActionsPanel', array($parent, &$output));
|
||||||
|
@ -249,7 +224,6 @@ class RedBrowser extends DAV\Browser\Plugin {
|
||||||
|
|
||||||
$html .= replace_macros(get_markup_template('cloud.tpl'), array(
|
$html .= replace_macros(get_markup_template('cloud.tpl'), array(
|
||||||
'$header' => t('Files') . ": " . $this->escapeHTML($path) . "/",
|
'$header' => t('Files') . ": " . $this->escapeHTML($path) . "/",
|
||||||
'$quota' => $quota,
|
|
||||||
'$total' => t('Total'),
|
'$total' => t('Total'),
|
||||||
'$actionspanel' => $output,
|
'$actionspanel' => $output,
|
||||||
'$shared' => t('Shared'),
|
'$shared' => t('Shared'),
|
||||||
|
@ -298,11 +272,38 @@ class RedBrowser extends DAV\Browser\Plugin {
|
||||||
if (get_class($node) === 'Sabre\\DAV\\SimpleCollection')
|
if (get_class($node) === 'Sabre\\DAV\\SimpleCollection')
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// Storage and quota for the account (all channels of the owner of this directory)!
|
||||||
|
$limit = service_class_fetch($owner, 'attach_upload_limit');
|
||||||
|
$r = q("SELECT SUM(filesize) AS total FROM attach WHERE aid = %d",
|
||||||
|
intval($this->auth->channel_account_id)
|
||||||
|
);
|
||||||
|
$used = $r[0]['total'];
|
||||||
|
if ($used) {
|
||||||
|
$quotaDesc = t('You are using %1$s of your available file storage.');
|
||||||
|
$quotaDesc = sprintf($quotaDesc,
|
||||||
|
userReadableSize($used));
|
||||||
|
}
|
||||||
|
if ($limit && $used) {
|
||||||
|
$quotaDesc = t('You are using %1$s of %2$s available file storage. (%3$s%)');
|
||||||
|
$quotaDesc = sprintf($quotaDesc,
|
||||||
|
userReadableSize($used),
|
||||||
|
userReadableSize($limit),
|
||||||
|
round($used / $limit, 1) * 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
// prepare quota for template
|
||||||
|
$quota = array();
|
||||||
|
$quota['used'] = $used;
|
||||||
|
$quota['limit'] = $limit;
|
||||||
|
$quota['desc'] = $quotaDesc;
|
||||||
|
$quota['warning'] = ((($limit) && ((round($used / $limit, 1) * 100) >= 90)) ? t('WARNING:') : ''); // 10485760 bytes = 100MB
|
||||||
|
|
||||||
$output .= replace_macros(get_markup_template('cloud_actionspanel.tpl'), array(
|
$output .= replace_macros(get_markup_template('cloud_actionspanel.tpl'), array(
|
||||||
'$folder_header' => t('Create new folder'),
|
'$folder_header' => t('Create new folder'),
|
||||||
'$folder_submit' => t('Create'),
|
'$folder_submit' => t('Create'),
|
||||||
'$upload_header' => t('Upload file'),
|
'$upload_header' => t('Upload file'),
|
||||||
'$upload_submit' => t('Upload')
|
'$upload_submit' => t('Upload'),
|
||||||
|
'$quota' => $quota
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@ require_once("html2plain.php");
|
||||||
require_once('include/security.php');
|
require_once('include/security.php');
|
||||||
require_once('include/photos.php');
|
require_once('include/photos.php');
|
||||||
require_once('include/items.php');
|
require_once('include/items.php');
|
||||||
|
require_once('include/attach.php');
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
|
@ -619,6 +620,36 @@ require_once('include/items.php');
|
||||||
}
|
}
|
||||||
api_register_func('api/red/channel/stream','api_channel_stream', true);
|
api_register_func('api/red/channel/stream','api_channel_stream', true);
|
||||||
|
|
||||||
|
function api_attach_list(&$a,$type) {
|
||||||
|
logger('api_user: ' . api_user());
|
||||||
|
json_return_and_die(attach_list_files(api_user(),get_observer_hash(),'','','','created asc'));
|
||||||
|
}
|
||||||
|
api_register_func('api/red/files','api_attach_list', true);
|
||||||
|
|
||||||
|
|
||||||
|
function api_file_detail(&$a,$type) {
|
||||||
|
if (api_user()===false) return false;
|
||||||
|
if(! $_REQUEST['file_id']) return false;
|
||||||
|
$r = q("select * from attach where uid = %d and hash = '%s' limit 1",
|
||||||
|
intval(api_user()),
|
||||||
|
dbesc($_REQUEST['file_id'])
|
||||||
|
);
|
||||||
|
if($r) {
|
||||||
|
if($r[0]['is_dir'])
|
||||||
|
$r[0]['data'] = '';
|
||||||
|
elseif(intval($r[0]['os_storage']))
|
||||||
|
$r[0]['data'] = base64_encode(file_get_contents(dbunescbin($r[0]['data'])));
|
||||||
|
else
|
||||||
|
$r[0]['data'] = base64_encode(dbunescbin($r[0]['data']));
|
||||||
|
|
||||||
|
$ret = array('attach' => $r[0]);
|
||||||
|
json_return_and_die($ret);
|
||||||
|
}
|
||||||
|
killme();
|
||||||
|
}
|
||||||
|
|
||||||
|
api_register_func('api/red/file', 'api_file_detail', true);
|
||||||
|
|
||||||
|
|
||||||
function api_albums(&$a,$type) {
|
function api_albums(&$a,$type) {
|
||||||
json_return_and_die(photos_albums_list($a->get_channel(),$a->get_observer()));
|
json_return_and_die(photos_albums_list($a->get_channel(),$a->get_observer()));
|
||||||
|
@ -1456,7 +1487,7 @@ require_once('include/items.php');
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// FIXME
|
|
||||||
function api_statuses_mentions(&$a, $type){
|
function api_statuses_mentions(&$a, $type){
|
||||||
if (api_user()===false) return false;
|
if (api_user()===false) return false;
|
||||||
|
|
||||||
|
@ -1481,39 +1512,25 @@ require_once('include/items.php');
|
||||||
$myurl = str_replace(array('www.','.'),array('','\\.'),$myurl);
|
$myurl = str_replace(array('www.','.'),array('','\\.'),$myurl);
|
||||||
$diasp_url = str_replace('/channel/','/u/',$myurl);
|
$diasp_url = str_replace('/channel/','/u/',$myurl);
|
||||||
|
|
||||||
if (get_config('system','use_fulltext_engine'))
|
$sql_extra .= " AND item_mentionsme = 1 ";
|
||||||
$sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where (MATCH(`author-link`) AGAINST ('".'"%s"'."' in boolean mode) or MATCH(`tag`) AGAINST ('".'"%s"'."' in boolean mode) or MATCH(tag) AGAINST ('".'"%s"'."' in boolean mode))) ",
|
|
||||||
dbesc(protect_sprintf($myurl)),
|
|
||||||
dbesc(protect_sprintf($myurl)),
|
|
||||||
dbesc(protect_sprintf($diasp_url))
|
|
||||||
);
|
|
||||||
else
|
|
||||||
$sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where ( `author-link` like '%s' or `tag` like '%s' or tag like '%s' )) ",
|
|
||||||
dbesc(protect_sprintf('%' . $myurl)),
|
|
||||||
dbesc(protect_sprintf('%' . $myurl . ']%')),
|
|
||||||
dbesc(protect_sprintf('%' . $diasp_url . ']%'))
|
|
||||||
);
|
|
||||||
|
|
||||||
if ($max_id > 0)
|
if ($max_id > 0)
|
||||||
$sql_extra .= ' AND `item`.`id` <= '.intval($max_id);
|
$sql_extra .= " AND item.id <= " . intval($max_id) . " ";
|
||||||
|
|
||||||
$r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
|
require_once('include/security.php');
|
||||||
`contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
|
$item_normal = item_normal();
|
||||||
`contact`.`network`, `contact`.`thumb`, `contact`.`dfrn_id`, `contact`.`self`,
|
|
||||||
`contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
|
$r = q("select * from item where uid = " . intval(api_user()) . "
|
||||||
FROM `item`, `contact`
|
$item_normal $sql_extra
|
||||||
WHERE `item`.`uid` = %d
|
AND id > %d group by mid
|
||||||
AND `item`.`visible` = 1 and `item`.`moderated` = 0 AND `item`.`deleted` = 0
|
order by received desc LIMIT %d OFFSET %d ",
|
||||||
AND `contact`.`id` = `item`.`contact-id`
|
|
||||||
AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
|
|
||||||
$sql_extra
|
|
||||||
AND `item`.`id`>%d
|
|
||||||
ORDER BY `item`.`received` DESC LIMIT %d ,%d ",
|
|
||||||
intval($user_info['uid']),
|
|
||||||
intval($since_id),
|
intval($since_id),
|
||||||
intval($start), intval($count)
|
intval($count),
|
||||||
|
intval($start)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
xchan_query($r,true);
|
||||||
|
|
||||||
|
|
||||||
$ret = api_format_items($r,$user_info);
|
$ret = api_format_items($r,$user_info);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -130,7 +130,7 @@ function translate_system_apps(&$arr) {
|
||||||
'Address Book' => t('Address Book'),
|
'Address Book' => t('Address Book'),
|
||||||
'Login' => t('Login'),
|
'Login' => t('Login'),
|
||||||
'Channel Manager' => t('Channel Manager'),
|
'Channel Manager' => t('Channel Manager'),
|
||||||
'Matrix' => t('Matrix'),
|
'Grid' => t('Grid'),
|
||||||
'Settings' => t('Settings'),
|
'Settings' => t('Settings'),
|
||||||
'Files' => t('Files'),
|
'Files' => t('Files'),
|
||||||
'Webpages' => t('Webpages'),
|
'Webpages' => t('Webpages'),
|
||||||
|
@ -176,14 +176,19 @@ function app_render($papp,$mode = 'view') {
|
||||||
|
|
||||||
$installed = false;
|
$installed = false;
|
||||||
|
|
||||||
if(! $papp['photo'])
|
|
||||||
$papp['photo'] = z_root() . '/' . get_default_profile_photo(80);
|
|
||||||
|
|
||||||
if(! $papp)
|
if(! $papp)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if(! $papp['photo'])
|
||||||
|
$papp['photo'] = z_root() . '/' . get_default_profile_photo(80);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$papp['papp'] = papp_encode($papp);
|
$papp['papp'] = papp_encode($papp);
|
||||||
|
|
||||||
|
if(! strstr($papp['url'],'://'))
|
||||||
|
$papp['url'] = z_root() . ((strpos($papp['url'],'/') === 0) ? '' : '/') . $papp['url'];
|
||||||
|
|
||||||
foreach($papp as $k => $v) {
|
foreach($papp as $k => $v) {
|
||||||
if(strpos($v,'http') === 0 && $k != 'papp')
|
if(strpos($v,'http') === 0 && $k != 'papp')
|
||||||
$papp[$k] = zid($v);
|
$papp[$k] = zid($v);
|
||||||
|
|
|
@ -181,7 +181,7 @@ function attach_list_files($channel_id, $observer, $hash = '', $filename = '', $
|
||||||
|
|
||||||
$ret = array('success' => false);
|
$ret = array('success' => false);
|
||||||
|
|
||||||
if(! perm_is_allowed($channel_id,$observer, 'read_storage')) {
|
if(! perm_is_allowed($channel_id,$observer, 'view_storage')) {
|
||||||
$ret['message'] = t('Permission denied.');
|
$ret['message'] = t('Permission denied.');
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
@ -203,7 +203,7 @@ function attach_list_files($channel_id, $observer, $hash = '', $filename = '', $
|
||||||
|
|
||||||
// Retrieve all columns except 'data'
|
// Retrieve all columns except 'data'
|
||||||
|
|
||||||
$r = q("select id, aid, uid, hash, filename, filetype, filesize, revision, folder, os_storage, is_dir, is_photo, flags, created, edited, allow_cid, allow_gid, deny_cid, deny_gid from attach where uid = %d $sql_extra $orderby $limit",
|
$r = q("select id, aid, uid, hash, filename, filetype, filesize, revision, folder, os_storage, is_dir, is_photo, flags, created, edited, allow_cid, allow_gid, deny_cid, deny_gid from attach where uid = %d $sql_extra ORDER BY $orderby $limit",
|
||||||
intval($channel_id)
|
intval($channel_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -405,7 +405,6 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
||||||
|
|
||||||
require_once('include/photos.php');
|
require_once('include/photos.php');
|
||||||
|
|
||||||
|
|
||||||
call_hooks('photo_upload_begin',$arr);
|
call_hooks('photo_upload_begin',$arr);
|
||||||
|
|
||||||
$ret = array('success' => false);
|
$ret = array('success' => false);
|
||||||
|
@ -416,6 +415,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
||||||
$newalbum = (($arr) ? $arr['newalbum'] : '');
|
$newalbum = (($arr) ? $arr['newalbum'] : '');
|
||||||
$hash = (($arr && $arr['hash']) ? $arr['hash'] : null);
|
$hash = (($arr && $arr['hash']) ? $arr['hash'] : null);
|
||||||
$upload_path = (($arr && $arr['directory']) ? $arr['directory'] : '');
|
$upload_path = (($arr && $arr['directory']) ? $arr['directory'] : '');
|
||||||
|
$visible = (($arr && $arr['visible']) ? $arr['visible'] : '');
|
||||||
|
|
||||||
$observer = array();
|
$observer = array();
|
||||||
|
|
||||||
|
@ -447,11 +447,33 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
||||||
|
|
||||||
// revise or update must provide $arr['hash'] of the thing to revise/update
|
// revise or update must provide $arr['hash'] of the thing to revise/update
|
||||||
|
|
||||||
|
// By default remove $src when finished
|
||||||
|
|
||||||
|
$remove_when_processed = true;
|
||||||
|
|
||||||
if($options === 'import') {
|
if($options === 'import') {
|
||||||
$src = $arr['src'];
|
$src = $arr['src'];
|
||||||
$filename = $arr['filename'];
|
$filename = $arr['filename'];
|
||||||
$filesize = @filesize($src);
|
$filesize = @filesize($src);
|
||||||
|
|
||||||
$hash = $arr['resource_id'];
|
$hash = $arr['resource_id'];
|
||||||
|
|
||||||
|
if(array_key_exists('hash',$arr))
|
||||||
|
$hash = $arr['hash'];
|
||||||
|
if(array_key_exists('type',$arr))
|
||||||
|
$type = $arr['type'];
|
||||||
|
|
||||||
|
if($arr['preserve_original'])
|
||||||
|
$remove_when_processed = false;
|
||||||
|
|
||||||
|
// if importing a directory, just do it now and go home - we're done.
|
||||||
|
|
||||||
|
if(array_key_exists('is_dir',$arr) && intval($arr['is_dir'])) {
|
||||||
|
$x = attach_mkdir($channel,$observer_hash,$arr);
|
||||||
|
if($x['message'])
|
||||||
|
logger('import_directory: ' . $x['message']);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
elseif($options !== 'update') {
|
elseif($options !== 'update') {
|
||||||
$f = array('src' => '', 'filename' => '', 'filesize' => 0, 'type' => '');
|
$f = array('src' => '', 'filename' => '', 'filesize' => 0, 'type' => '');
|
||||||
|
@ -530,11 +552,21 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
||||||
$pathname = '';
|
$pathname = '';
|
||||||
|
|
||||||
if($is_photo) {
|
if($is_photo) {
|
||||||
if($newalbum)
|
if($newalbum) {
|
||||||
$pathname = filepath_macro($newalbum);
|
$pathname = filepath_macro($newalbum);
|
||||||
else
|
}
|
||||||
|
elseif(array_key_exists('folder',$arr)) {
|
||||||
|
$x = q("select filename from attach where hash = '%s' and uid = %d limit 1",
|
||||||
|
dbesc($arr['folder']),
|
||||||
|
intval($channel['channel_id'])
|
||||||
|
);
|
||||||
|
if($x)
|
||||||
|
$pathname = $x[0]['filename'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
$pathname = filepath_macro($album);
|
$pathname = filepath_macro($album);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
$pathname = filepath_macro($upload_path);
|
$pathname = filepath_macro($upload_path);
|
||||||
}
|
}
|
||||||
|
@ -563,7 +595,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$folder_hash = '';
|
$folder_hash = ((($arr) && array_key_exists('folder',$arr)) ? $arr['folder'] : '');
|
||||||
}
|
}
|
||||||
|
|
||||||
if((! $options) || ($options === 'import')) {
|
if((! $options) || ($options === 'import')) {
|
||||||
|
@ -630,6 +662,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
||||||
|
|
||||||
if(($maxfilesize) && ($filesize > $maxfilesize)) {
|
if(($maxfilesize) && ($filesize > $maxfilesize)) {
|
||||||
$ret['message'] = sprintf( t('File exceeds size limit of %d'), $maxfilesize);
|
$ret['message'] = sprintf( t('File exceeds size limit of %d'), $maxfilesize);
|
||||||
|
if($remove_when_processed)
|
||||||
@unlink($src);
|
@unlink($src);
|
||||||
call_hooks('photo_upload_end',$ret);
|
call_hooks('photo_upload_end',$ret);
|
||||||
return $ret;
|
return $ret;
|
||||||
|
@ -643,7 +676,9 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
||||||
);
|
);
|
||||||
if(($r) && (($r[0]['total'] + $filesize) > ($limit - $existing_size))) {
|
if(($r) && (($r[0]['total'] + $filesize) > ($limit - $existing_size))) {
|
||||||
$ret['message'] = upgrade_message(true) . sprintf(t("You have reached your limit of %1$.0f Mbytes attachment storage."), $limit / 1024000);
|
$ret['message'] = upgrade_message(true) . sprintf(t("You have reached your limit of %1$.0f Mbytes attachment storage."), $limit / 1024000);
|
||||||
|
if($remove_when_processed)
|
||||||
@unlink($src);
|
@unlink($src);
|
||||||
|
|
||||||
call_hooks('photo_upload_end',$ret);
|
call_hooks('photo_upload_end',$ret);
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
@ -757,7 +792,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
||||||
|
|
||||||
if($is_photo) {
|
if($is_photo) {
|
||||||
|
|
||||||
$args = array( 'source' => $source, 'visible' => 0, 'resource_id' => $hash, 'album' => basename($pathname), 'os_path' => $os_basepath . $os_relpath, 'filename' => $filename, 'getimagesize' => $gis, 'directory' => $direct);
|
$args = array( 'source' => $source, 'visible' => $visible, 'resource_id' => $hash, 'album' => basename($pathname), 'os_path' => $os_basepath . $os_relpath, 'filename' => $filename, 'getimagesize' => $gis, 'directory' => $direct);
|
||||||
if($arr['contact_allow'])
|
if($arr['contact_allow'])
|
||||||
$args['contact_allow'] = $arr['contact_allow'];
|
$args['contact_allow'] = $arr['contact_allow'];
|
||||||
if($arr['group_allow'])
|
if($arr['group_allow'])
|
||||||
|
@ -780,13 +815,19 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
||||||
if($arr['item'])
|
if($arr['item'])
|
||||||
$args['item'] = $arr['item'];
|
$args['item'] = $arr['item'];
|
||||||
|
|
||||||
|
if($arr['body'])
|
||||||
|
$args['body'] = $arr['body'];
|
||||||
|
|
||||||
|
if($arr['description'])
|
||||||
|
$args['description'] = $arr['description'];
|
||||||
|
|
||||||
$p = photo_upload($channel,$observer,$args);
|
$p = photo_upload($channel,$observer,$args);
|
||||||
if($p['success']) {
|
if($p['success']) {
|
||||||
$ret['body'] = $p['body'];
|
$ret['body'] = $p['body'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($options !== 'update')
|
if(($options !== 'update') && ($remove_when_processed))
|
||||||
@unlink($src);
|
@unlink($src);
|
||||||
|
|
||||||
if(! $r) {
|
if(! $r) {
|
||||||
|
@ -959,7 +1000,6 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
|
||||||
intval($channel['channel_id']),
|
intval($channel['channel_id']),
|
||||||
dbesc($lfile)
|
dbesc($lfile)
|
||||||
);
|
);
|
||||||
|
|
||||||
if(! $r) {
|
if(! $r) {
|
||||||
logger('attach_mkdir: hash ' . $lfile . ' not found in ' . $lpath);
|
logger('attach_mkdir: hash ' . $lfile . ' not found in ' . $lpath);
|
||||||
$ret['message'] = t('Path not found.');
|
$ret['message'] = t('Path not found.');
|
||||||
|
@ -1195,7 +1235,7 @@ function attach_delete($channel_id, $resource, $is_photo = 0) {
|
||||||
$channel_address = (($c) ? $c[0]['channel_address'] : 'notfound');
|
$channel_address = (($c) ? $c[0]['channel_address'] : 'notfound');
|
||||||
$photo_sql = (($is_photo) ? " and is_photo = 1 " : '');
|
$photo_sql = (($is_photo) ? " and is_photo = 1 " : '');
|
||||||
|
|
||||||
$r = q("SELECT hash, flags, is_dir, folder FROM attach WHERE hash = '%s' AND uid = %d $photo_sql limit 1",
|
$r = q("SELECT hash, flags, is_dir, is_photo, folder FROM attach WHERE hash = '%s' AND uid = %d $photo_sql limit 1",
|
||||||
dbesc($resource),
|
dbesc($resource),
|
||||||
intval($channel_id)
|
intval($channel_id)
|
||||||
);
|
);
|
||||||
|
@ -1241,6 +1281,20 @@ function attach_delete($channel_id, $resource, $is_photo = 0) {
|
||||||
intval($channel_id)
|
intval($channel_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if($r[0]['is_photo']) {
|
||||||
|
$x = q("select id, item_hidden from item where resource_id = '%s' and resource_type = 'photo' and uid = %d",
|
||||||
|
dbesc($resource),
|
||||||
|
intval($channel_id)
|
||||||
|
);
|
||||||
|
if($x) {
|
||||||
|
drop_item($x[0]['id'],false,(($x[0]['item_hidden']) ? DROPITEM_NORMAL : DROPITEM_PHASE1),true);
|
||||||
|
}
|
||||||
|
q("DELETE FROM photo WHERE uid = %d AND resource_id = '%s'",
|
||||||
|
intval($channel_id),
|
||||||
|
dbesc($resource)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// update the parent folder's lastmodified timestamp
|
// update the parent folder's lastmodified timestamp
|
||||||
$e = q("UPDATE attach SET edited = '%s' WHERE hash = '%s' AND uid = %d",
|
$e = q("UPDATE attach SET edited = '%s' WHERE hash = '%s' AND uid = %d",
|
||||||
dbesc(datetime_convert()),
|
dbesc(datetime_convert()),
|
||||||
|
|
|
@ -305,6 +305,16 @@ function bb2diaspora_itembody($item, $force_update = false) {
|
||||||
|
|
||||||
$matches = array();
|
$matches = array();
|
||||||
|
|
||||||
|
//if we have a photo item just prepend the photo bbcode to item['body']
|
||||||
|
$is_photo = (($item['obj_type'] == ACTIVITY_OBJ_PHOTO) ? true : false);
|
||||||
|
if($is_photo) {
|
||||||
|
$object = json_decode($item['object'],true);
|
||||||
|
if($object['link'][2]) {
|
||||||
|
$photo_bb = '[zrl=' . rawurldecode($object['id']) . ']' . '[zmg=' . $object['link'][2]['width'] . 'x' . $object['link'][2]['height'] . ']' . rawurldecode($object['link'][2]['href']) . '[/zmg]' . '[/zrl]';
|
||||||
|
$item['body'] = (($item['body']) ? $photo_bb . $item['body'] : $photo_bb);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(($item['diaspora_meta']) && (! $force_update)) {
|
if(($item['diaspora_meta']) && (! $force_update)) {
|
||||||
$diaspora_meta = json_decode($item['diaspora_meta'],true);
|
$diaspora_meta = json_decode($item['diaspora_meta'],true);
|
||||||
if($diaspora_meta) {
|
if($diaspora_meta) {
|
||||||
|
|
|
@ -570,7 +570,7 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
|
||||||
$urlchars = '[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,\@]';
|
$urlchars = '[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,\@]';
|
||||||
|
|
||||||
if (strpos($Text,'http') !== false) {
|
if (strpos($Text,'http') !== false) {
|
||||||
$Text = preg_replace("/([^\]\='".'"'."\/]|^|\#\^)(https?\:\/\/$urlchars+)/ism", '$1<a href="$2" >$2</a>', $Text);
|
$Text = preg_replace("/([^\]\='".'"'."\/]|^|\#\^)(https?\:\/\/$urlchars+)/ism", '$1<a href="$2" target="_newwin" >$2</a>', $Text);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strpos($Text,'[/share]') !== false) {
|
if (strpos($Text,'[/share]') !== false) {
|
||||||
|
@ -582,21 +582,21 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (strpos($Text,'[/url]') !== false) {
|
if (strpos($Text,'[/url]') !== false) {
|
||||||
$Text = preg_replace("/\#\^\[url\]([$URLSearchString]*)\[\/url\]/ism", '<span class="bookmark-identifier">#^</span><a class="bookmark" href="$1" >$1</a>', $Text);
|
$Text = preg_replace("/\#\^\[url\]([$URLSearchString]*)\[\/url\]/ism", '<span class="bookmark-identifier">#^</span><a class="bookmark" href="$1" target="_newwin" >$1</a>', $Text);
|
||||||
$Text = preg_replace("/\#\^\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '<span class="bookmark-identifier">#^</span><a class="bookmark" href="$1" >$2</a>', $Text);
|
$Text = preg_replace("/\#\^\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '<span class="bookmark-identifier">#^</span><a class="bookmark" href="$1" target="_newwin" >$2</a>', $Text);
|
||||||
$Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/ism", '<a href="$1" >$1</a>', $Text);
|
$Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/ism", '<a href="$1" target="_newwin" >$1</a>', $Text);
|
||||||
$Text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '<a href="$1" >$2</a>', $Text);
|
$Text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '<a href="$1" target="_newwin" >$2</a>', $Text);
|
||||||
}
|
}
|
||||||
if (strpos($Text,'[/zrl]') !== false) {
|
if (strpos($Text,'[/zrl]') !== false) {
|
||||||
$Text = preg_replace("/\#\^\[zrl\]([$URLSearchString]*)\[\/zrl\]/ism", '<span class="bookmark-identifier">#^</span><a class="zrl bookmark" href="$1" >$1</a>', $Text);
|
$Text = preg_replace("/\#\^\[zrl\]([$URLSearchString]*)\[\/zrl\]/ism", '<span class="bookmark-identifier">#^</span><a class="zrl bookmark" href="$1" target="_newwin" >$1</a>', $Text);
|
||||||
$Text = preg_replace("/\#\^\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<span class="bookmark-identifier">#^</span><a class="zrl bookmark" href="$1" >$2</a>', $Text);
|
$Text = preg_replace("/\#\^\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<span class="bookmark-identifier">#^</span><a class="zrl bookmark" href="$1" target="_newwin" >$2</a>', $Text);
|
||||||
$Text = preg_replace("/\[zrl\]([$URLSearchString]*)\[\/zrl\]/ism", '<a class="zrl" href="$1" >$1</a>', $Text);
|
$Text = preg_replace("/\[zrl\]([$URLSearchString]*)\[\/zrl\]/ism", '<a class="zrl" href="$1" target="_newwin" >$1</a>', $Text);
|
||||||
$Text = preg_replace("/\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<a class="zrl" href="$1" >$2</a>', $Text);
|
$Text = preg_replace("/\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<a class="zrl" href="$1" target="_newwin" >$2</a>', $Text);
|
||||||
}
|
}
|
||||||
// Perform MAIL Search
|
// Perform MAIL Search
|
||||||
if (strpos($Text,'[/mail]') !== false) {
|
if (strpos($Text,'[/mail]') !== false) {
|
||||||
$Text = preg_replace("/\[mail\]([$MAILSearchString]*)\[\/mail\]/", '<a href="mailto:$1">$1</a>', $Text);
|
$Text = preg_replace("/\[mail\]([$MAILSearchString]*)\[\/mail\]/", '<a href="mailto:$1" target="_newwin" >$1</a>', $Text);
|
||||||
$Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.*?)\[\/mail\]/", '<a href="mailto:$1">$2</a>', $Text);
|
$Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.*?)\[\/mail\]/", '<a href="mailto:$1" target="_newwin" >$2</a>', $Text);
|
||||||
}
|
}
|
||||||
|
|
||||||
// leave open the posibility of [map=something]
|
// leave open the posibility of [map=something]
|
||||||
|
@ -885,17 +885,17 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
|
||||||
|
|
||||||
// if video couldn't be embedded, link to it instead.
|
// if video couldn't be embedded, link to it instead.
|
||||||
if (strpos($Text,'[/video]') !== false) {
|
if (strpos($Text,'[/video]') !== false) {
|
||||||
$Text = preg_replace("/\[video\](.*?)\[\/video\]/", '<a href="$1">$1</a>', $Text);
|
$Text = preg_replace("/\[video\](.*?)\[\/video\]/", '<a href="$1" target="_newwin" >$1</a>', $Text);
|
||||||
}
|
}
|
||||||
if (strpos($Text,'[/audio]') !== false) {
|
if (strpos($Text,'[/audio]') !== false) {
|
||||||
$Text = preg_replace("/\[audio\](.*?)\[\/audio\]/", '<a href="$1">$1</a>', $Text);
|
$Text = preg_replace("/\[audio\](.*?)\[\/audio\]/", '<a href="$1" target="_newwin" >$1</a>', $Text);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strpos($Text,'[/zvideo]') !== false) {
|
if (strpos($Text,'[/zvideo]') !== false) {
|
||||||
$Text = preg_replace("/\[zvideo\](.*?)\[\/zvideo\]/", '<a class="zid" href="$1">$1</a>', $Text);
|
$Text = preg_replace("/\[zvideo\](.*?)\[\/zvideo\]/", '<a class="zid" href="$1" target="_newwin" >$1</a>', $Text);
|
||||||
}
|
}
|
||||||
if (strpos($Text,'[/zaudio]') !== false) {
|
if (strpos($Text,'[/zaudio]') !== false) {
|
||||||
$Text = preg_replace("/\[zaudio\](.*?)\[\/zaudio\]/", '<a class="zid" href="$1">$1</a>', $Text);
|
$Text = preg_replace("/\[zaudio\](.*?)\[\/zaudio\]/", '<a class="zid" href="$1" target="_newwin" >$1</a>', $Text);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($tryoembed){
|
if ($tryoembed){
|
||||||
|
@ -904,7 +904,7 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (strpos($Text,'[/iframe]') !== false) {
|
if (strpos($Text,'[/iframe]') !== false) {
|
||||||
$Text = preg_replace("/\[iframe\](.*?)\[\/iframe\]/ism", '<a href="$1">$1</a>', $Text);
|
$Text = preg_replace("/\[iframe\](.*?)\[\/iframe\]/ism", '<a href="$1" target="_newwin" >$1</a>', $Text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -629,11 +629,6 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
|
||||||
if($item['author-link'] && (! $item['author-name']))
|
if($item['author-link'] && (! $item['author-name']))
|
||||||
$profile_name = $item['author-link'];
|
$profile_name = $item['author-link'];
|
||||||
|
|
||||||
|
|
||||||
$tags=array();
|
|
||||||
$hashtags = array();
|
|
||||||
$mentions = array();
|
|
||||||
|
|
||||||
$sp = false;
|
$sp = false;
|
||||||
$profile_link = best_link_url($item,$sp);
|
$profile_link = best_link_url($item,$sp);
|
||||||
if($sp)
|
if($sp)
|
||||||
|
@ -678,14 +673,17 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
|
||||||
|
|
||||||
$unverified = '';
|
$unverified = '';
|
||||||
|
|
||||||
$tags=array();
|
// $tags=array();
|
||||||
$terms = get_terms_oftype($item['term'],array(TERM_HASHTAG,TERM_MENTION,TERM_UNKNOWN));
|
// $terms = get_terms_oftype($item['term'],array(TERM_HASHTAG,TERM_MENTION,TERM_UNKNOWN));
|
||||||
if(count($terms))
|
// if(count($terms))
|
||||||
foreach($terms as $tag)
|
// foreach($terms as $tag)
|
||||||
$tags[] = format_term_for_display($tag);
|
// $tags[] = format_term_for_display($tag);
|
||||||
|
|
||||||
$body = prepare_body($item,true);
|
$body = prepare_body($item,true);
|
||||||
|
|
||||||
|
$is_photo = ((($item['resource_type'] == 'photo') && (feature_enabled($profile_owner,'large_photos'))) ? true : false);
|
||||||
|
$has_tags = (($body['tags'] || $body['categories'] || $body['mentions'] || $body['attachments'] || $body['folders']) ? true : false);
|
||||||
|
|
||||||
$tmp_item = array(
|
$tmp_item = array(
|
||||||
'template' => $tpl,
|
'template' => $tpl,
|
||||||
'toplevel' => 'toplevel_item',
|
'toplevel' => 'toplevel_item',
|
||||||
|
@ -699,10 +697,12 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
|
||||||
'lock' => $lock,
|
'lock' => $lock,
|
||||||
'thumb' => $profile_avatar,
|
'thumb' => $profile_avatar,
|
||||||
'title' => $item['title'],
|
'title' => $item['title'],
|
||||||
'body' => $body,
|
'body' => $body['html'],
|
||||||
'tags' => $tags,
|
'tags' => $body['tags'],
|
||||||
'hashtags' => $hashtags,
|
'categories' => $body['categories'],
|
||||||
'mentions' => $mentions,
|
'mentions' => $body['mentions'],
|
||||||
|
'attachments' => $body['attachments'],
|
||||||
|
'folders' => $body['folders'],
|
||||||
'verified' => $verified,
|
'verified' => $verified,
|
||||||
'unverified' => $unverified,
|
'unverified' => $unverified,
|
||||||
'forged' => $forged,
|
'forged' => $forged,
|
||||||
|
@ -712,7 +712,7 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
|
||||||
'has_folders' => ((count($folders)) ? 'true' : ''),
|
'has_folders' => ((count($folders)) ? 'true' : ''),
|
||||||
'categories' => $categories,
|
'categories' => $categories,
|
||||||
'folders' => $folders,
|
'folders' => $folders,
|
||||||
'text' => strip_tags($body),
|
'text' => strip_tags($body['html']),
|
||||||
'ago' => relative_date($item['created']),
|
'ago' => relative_date($item['created']),
|
||||||
'app' => $item['app'],
|
'app' => $item['app'],
|
||||||
'str_app' => sprintf( t('from %s'), $item['app']),
|
'str_app' => sprintf( t('from %s'), $item['app']),
|
||||||
|
@ -738,6 +738,8 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
|
||||||
'previewing' => $previewing,
|
'previewing' => $previewing,
|
||||||
'wait' => t('Please wait'),
|
'wait' => t('Please wait'),
|
||||||
'thread_level' => 1,
|
'thread_level' => 1,
|
||||||
|
'is_photo' => $is_photo,
|
||||||
|
'has_tags' => $has_tags,
|
||||||
);
|
);
|
||||||
|
|
||||||
$arr = array('item' => $item, 'output' => $tmp_item);
|
$arr = array('item' => $item, 'output' => $tmp_item);
|
||||||
|
@ -1164,6 +1166,10 @@ function status_editor($a, $x, $popup = false) {
|
||||||
if($defexpire)
|
if($defexpire)
|
||||||
$defexpire = datetime_convert('UTC',date_default_timezone_get(),$defexpire,'Y-m-d H:i');
|
$defexpire = datetime_convert('UTC',date_default_timezone_get(),$defexpire,'Y-m-d H:i');
|
||||||
|
|
||||||
|
$defpublish = ((($z = get_pconfig($x['profile_uid'], 'system', 'default_post_publish')) && (! $webpage)) ? $z : '');
|
||||||
|
if($defpublish)
|
||||||
|
$defpublish = datetime_convert('UTC',date_default_timezone_get(),$defpublish,'Y-m-d H:i');
|
||||||
|
|
||||||
$cipher = get_pconfig($x['profile_uid'], 'system', 'default_cipher');
|
$cipher = get_pconfig($x['profile_uid'], 'system', 'default_cipher');
|
||||||
if(! $cipher)
|
if(! $cipher)
|
||||||
$cipher = 'aes256';
|
$cipher = 'aes256';
|
||||||
|
@ -1235,6 +1241,9 @@ function status_editor($a, $x, $popup = false) {
|
||||||
'$defexpire' => $defexpire,
|
'$defexpire' => $defexpire,
|
||||||
'$feature_expire' => ((feature_enabled($x['profile_uid'], 'content_expire') && (! $webpage)) ? true : false),
|
'$feature_expire' => ((feature_enabled($x['profile_uid'], 'content_expire') && (! $webpage)) ? true : false),
|
||||||
'$expires' => t('Set expiration date'),
|
'$expires' => t('Set expiration date'),
|
||||||
|
'$defpublish' => $defpublish,
|
||||||
|
'$feature_future' => ((feature_enabled($x['profile_uid'], 'delayed_posting') && (! $webpage)) ? true : false),
|
||||||
|
'$future_txt' => t('Set publish date'),
|
||||||
'$feature_encrypt' => ((feature_enabled($x['profile_uid'], 'content_encrypt') && (! $webpage)) ? true : false),
|
'$feature_encrypt' => ((feature_enabled($x['profile_uid'], 'content_encrypt') && (! $webpage)) ? true : false),
|
||||||
'$encrypt' => t('Encrypt text'),
|
'$encrypt' => t('Encrypt text'),
|
||||||
'$cipher' => $cipher,
|
'$cipher' => $cipher,
|
||||||
|
@ -1414,7 +1423,7 @@ function prepare_page($item) {
|
||||||
'$auth_url' => (($naked) ? '' : zid($item['author']['xchan_url'])),
|
'$auth_url' => (($naked) ? '' : zid($item['author']['xchan_url'])),
|
||||||
'$date' => (($naked) ? '' : datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'Y-m-d H:i')),
|
'$date' => (($naked) ? '' : datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'Y-m-d H:i')),
|
||||||
'$title' => smilies(bbcode($item['title'])),
|
'$title' => smilies(bbcode($item['title'])),
|
||||||
'$body' => $body,
|
'$body' => $body['html'],
|
||||||
'$preview' => $preview,
|
'$preview' => $preview,
|
||||||
'$link' => $link,
|
'$link' => $link,
|
||||||
));
|
));
|
||||||
|
|
|
@ -138,6 +138,7 @@ function deliver_run($argv, $argc) {
|
||||||
if($dresult && is_array($dresult)) {
|
if($dresult && is_array($dresult)) {
|
||||||
foreach($dresult as $xx) {
|
foreach($dresult as $xx) {
|
||||||
if(is_array($xx) && array_key_exists('message_id',$xx)) {
|
if(is_array($xx) && array_key_exists('message_id',$xx)) {
|
||||||
|
if(delivery_report_is_storable($xx)) {
|
||||||
q("insert into dreport ( dreport_mid, dreport_site, dreport_recip, dreport_result, dreport_time, dreport_xchan ) values ( '%s', '%s','%s','%s','%s','%s' ) ",
|
q("insert into dreport ( dreport_mid, dreport_site, dreport_recip, dreport_result, dreport_time, dreport_xchan ) values ( '%s', '%s','%s','%s','%s','%s' ) ",
|
||||||
dbesc($xx['message_id']),
|
dbesc($xx['message_id']),
|
||||||
dbesc($xx['location']),
|
dbesc($xx['location']),
|
||||||
|
@ -149,6 +150,7 @@ function deliver_run($argv, $argc) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
q("delete from dreport where dreport_queue = '%s' limit 1",
|
q("delete from dreport where dreport_queue = '%s' limit 1",
|
||||||
dbesc($argv[$x])
|
dbesc($argv[$x])
|
||||||
|
|
|
@ -178,9 +178,10 @@ function sync_directories($dirmode) {
|
||||||
'site_directory' => DIRECTORY_FALLBACK_MASTER . '/dirsearch',
|
'site_directory' => DIRECTORY_FALLBACK_MASTER . '/dirsearch',
|
||||||
'site_realm' => DIRECTORY_REALM,
|
'site_realm' => DIRECTORY_REALM,
|
||||||
'site_valid' => 1
|
'site_valid' => 1
|
||||||
|
|
||||||
);
|
);
|
||||||
$x = q("insert into site ( site_url, site_flags, site_update, site_directory, site_realm, site_valid )
|
$x = q("insert into site ( site_url, site_flags, site_update, site_directory, site_realm, site_valid )
|
||||||
values ( '%s', %d', '%s', '%s', '%s' ) ",
|
values ( '%s', %d, '%s', '%s', '%s', %d ) ",
|
||||||
dbesc($r[0]['site_url']),
|
dbesc($r[0]['site_url']),
|
||||||
intval($r[0]['site_flags']),
|
intval($r[0]['site_flags']),
|
||||||
dbesc($r[0]['site_update']),
|
dbesc($r[0]['site_update']),
|
||||||
|
|
|
@ -97,7 +97,7 @@ function notification($params) {
|
||||||
|
|
||||||
if ($params['type'] == NOTIFY_MAIL) {
|
if ($params['type'] == NOTIFY_MAIL) {
|
||||||
logger('notification: mail');
|
logger('notification: mail');
|
||||||
$subject = sprintf( t('[Red:Notify] New mail received at %s'),$sitename);
|
$subject = sprintf( t('[Hubzilla:Notify] New mail received at %s'),$sitename);
|
||||||
|
|
||||||
$preamble = sprintf( t('%1$s, %2$s sent you a new private message at %3$s.'),$recip['channel_name'], $sender['xchan_name'],$sitename);
|
$preamble = sprintf( t('%1$s, %2$s sent you a new private message at %3$s.'),$recip['channel_name'], $sender['xchan_name'],$sitename);
|
||||||
$epreamble = sprintf( t('%1$s sent you %2$s.'),'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]', '[zrl=$itemlink]' . t('a private message') . '[/zrl]');
|
$epreamble = sprintf( t('%1$s sent you %2$s.'),'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]', '[zrl=$itemlink]' . t('a private message') . '[/zrl]');
|
||||||
|
@ -183,7 +183,7 @@ function notification($params) {
|
||||||
// Before this we have the name of the replier on the subject rendering
|
// Before this we have the name of the replier on the subject rendering
|
||||||
// differents subjects for messages on the same thread.
|
// differents subjects for messages on the same thread.
|
||||||
|
|
||||||
$subject = sprintf( t('[Red:Notify] Comment to conversation #%1$d by %2$s'), $parent_id, $sender['xchan_name']);
|
$subject = sprintf( t('[Hubzilla:Notify] Comment to conversation #%1$d by %2$s'), $parent_id, $sender['xchan_name']);
|
||||||
$preamble = sprintf( t('%1$s, %2$s commented on an item/conversation you have been following.'), $recip['channel_name'], $sender['xchan_name']);
|
$preamble = sprintf( t('%1$s, %2$s commented on an item/conversation you have been following.'), $recip['channel_name'], $sender['xchan_name']);
|
||||||
$epreamble = $dest_str;
|
$epreamble = $dest_str;
|
||||||
|
|
||||||
|
@ -193,7 +193,7 @@ function notification($params) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if($params['type'] == NOTIFY_WALL) {
|
if($params['type'] == NOTIFY_WALL) {
|
||||||
$subject = sprintf( t('[Red:Notify] %s posted to your profile wall') , $sender['xchan_name']);
|
$subject = sprintf( t('[Hubzilla:Notify] %s posted to your profile wall') , $sender['xchan_name']);
|
||||||
|
|
||||||
$preamble = sprintf( t('%1$s, %2$s posted to your profile wall at %3$s') , $recip['channel_name'], $sender['xchan_name'], $sitename);
|
$preamble = sprintf( t('%1$s, %2$s posted to your profile wall at %3$s') , $recip['channel_name'], $sender['xchan_name'], $sitename);
|
||||||
|
|
||||||
|
@ -221,7 +221,7 @@ function notification($params) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$subject = sprintf( t('[Red:Notify] %s tagged you') , $sender['xchan_name']);
|
$subject = sprintf( t('[Hubzilla:Notify] %s tagged you') , $sender['xchan_name']);
|
||||||
$preamble = sprintf( t('%1$s, %2$s tagged you at %3$s') , $recip['channel_name'], $sender['xchan_name'], $sitename);
|
$preamble = sprintf( t('%1$s, %2$s tagged you at %3$s') , $recip['channel_name'], $sender['xchan_name'], $sitename);
|
||||||
$epreamble = sprintf( t('%1$s, %2$s [zrl=%3$s]tagged you[/zrl].') ,
|
$epreamble = sprintf( t('%1$s, %2$s [zrl=%3$s]tagged you[/zrl].') ,
|
||||||
$recip['channel_name'],
|
$recip['channel_name'],
|
||||||
|
@ -235,7 +235,7 @@ function notification($params) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($params['type'] == NOTIFY_POKE) {
|
if ($params['type'] == NOTIFY_POKE) {
|
||||||
$subject = sprintf( t('[Red:Notify] %1$s poked you') , $sender['xchan_name']);
|
$subject = sprintf( t('[Hubzilla:Notify] %1$s poked you') , $sender['xchan_name']);
|
||||||
$preamble = sprintf( t('%1$s, %2$s poked you at %3$s') , $recip['channel_name'], $sender['xchan_name'], $sitename);
|
$preamble = sprintf( t('%1$s, %2$s poked you at %3$s') , $recip['channel_name'], $sender['xchan_name'], $sitename);
|
||||||
$epreamble = sprintf( t('%1$s, %2$s [zrl=%2$s]poked you[/zrl].') ,
|
$epreamble = sprintf( t('%1$s, %2$s [zrl=%2$s]poked you[/zrl].') ,
|
||||||
$recip['channel_name'],
|
$recip['channel_name'],
|
||||||
|
@ -253,7 +253,7 @@ function notification($params) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($params['type'] == NOTIFY_TAGSHARE) {
|
if ($params['type'] == NOTIFY_TAGSHARE) {
|
||||||
$subject = sprintf( t('[Red:Notify] %s tagged your post') , $sender['xchan_name']);
|
$subject = sprintf( t('[Hubzilla:Notify] %s tagged your post') , $sender['xchan_name']);
|
||||||
$preamble = sprintf( t('%1$s, %2$s tagged your post at %3$s') , $recip['channel_name'],$sender['xchan_name'], $sitename);
|
$preamble = sprintf( t('%1$s, %2$s tagged your post at %3$s') , $recip['channel_name'],$sender['xchan_name'], $sitename);
|
||||||
$epreamble = sprintf( t('%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]') ,
|
$epreamble = sprintf( t('%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]') ,
|
||||||
$recip['channel_name'],
|
$recip['channel_name'],
|
||||||
|
@ -267,7 +267,7 @@ function notification($params) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($params['type'] == NOTIFY_INTRO) {
|
if ($params['type'] == NOTIFY_INTRO) {
|
||||||
$subject = sprintf( t('[Red:Notify] Introduction received'));
|
$subject = sprintf( t('[Hubzilla:Notify] Introduction received'));
|
||||||
$preamble = sprintf( t('%1$s, you\'ve received an new connection request from \'%2$s\' at %3$s'), $recip['channel_name'], $sender['xchan_name'], $sitename);
|
$preamble = sprintf( t('%1$s, you\'ve received an new connection request from \'%2$s\' at %3$s'), $recip['channel_name'], $sender['xchan_name'], $sitename);
|
||||||
$epreamble = sprintf( t('%1$s, you\'ve received [zrl=%2$s]a new connection request[/zrl] from %3$s.'),
|
$epreamble = sprintf( t('%1$s, you\'ve received [zrl=%2$s]a new connection request[/zrl] from %3$s.'),
|
||||||
$recip['channel_name'],
|
$recip['channel_name'],
|
||||||
|
@ -282,7 +282,7 @@ function notification($params) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($params['type'] == NOTIFY_SUGGEST) {
|
if ($params['type'] == NOTIFY_SUGGEST) {
|
||||||
$subject = sprintf( t('[Red:Notify] Friend suggestion received'));
|
$subject = sprintf( t('[Hubzilla:Notify] Friend suggestion received'));
|
||||||
$preamble = sprintf( t('%1$s, you\'ve received a friend suggestion from \'%2$s\' at %3$s'), $recip['channel_name'], $sender['xchan_name'], $sitename);
|
$preamble = sprintf( t('%1$s, you\'ve received a friend suggestion from \'%2$s\' at %3$s'), $recip['channel_name'], $sender['xchan_name'], $sitename);
|
||||||
$epreamble = sprintf( t('%1$s, you\'ve received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from %4$s.'),
|
$epreamble = sprintf( t('%1$s, you\'ve received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from %4$s.'),
|
||||||
$recip['channel_name'],
|
$recip['channel_name'],
|
||||||
|
@ -508,7 +508,7 @@ function notification($params) {
|
||||||
$private_activity = true;
|
$private_activity = true;
|
||||||
case NOTIFY_MAIL:
|
case NOTIFY_MAIL:
|
||||||
$datarray['textversion'] = $datarray['htmlversion'] = $datarray['title'] = '';
|
$datarray['textversion'] = $datarray['htmlversion'] = $datarray['title'] = '';
|
||||||
$datarray['subject'] = preg_replace('/' . preg_quote(t('[Red:Notify]')) . '/','$0*',$datarray['subject']);
|
$datarray['subject'] = preg_replace('/' . preg_quote(t('[Hubzilla:Notify]')) . '/','$0*',$datarray['subject']);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -55,10 +55,11 @@ function get_features() {
|
||||||
t('Post Composition Features'),
|
t('Post Composition Features'),
|
||||||
// array('richtext', t('Richtext Editor'), t('Enable richtext editor'),false),
|
// array('richtext', t('Richtext Editor'), t('Enable richtext editor'),false),
|
||||||
array('markdown', t('Use Markdown'), t('Allow use of "Markdown" to format posts'),false),
|
array('markdown', t('Use Markdown'), t('Allow use of "Markdown" to format posts'),false),
|
||||||
array('large_photos', t('Large Photos'), t('Include large (640px) photo thumbnails in posts. If not enabled, use small (320px) photo thumbnails'),false),
|
array('large_photos', t('Large Photos'), t('Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails'),false),
|
||||||
array('channel_sources', t('Channel Sources'), t('Automatically import channel content from other channels or feeds'),false),
|
array('channel_sources', t('Channel Sources'), t('Automatically import channel content from other channels or feeds'),false),
|
||||||
array('content_encrypt', t('Even More Encryption'), t('Allow optional encryption of content end-to-end with a shared secret key'),false),
|
array('content_encrypt', t('Even More Encryption'), t('Allow optional encryption of content end-to-end with a shared secret key'),false),
|
||||||
array('consensus_tools', t('Enable voting tools'), t('Provide a class of post which others can vote on'),false),
|
array('consensus_tools', t('Enable Voting Tools'), t('Provide a class of post which others can vote on'),false),
|
||||||
|
array('delayed_posting', t('Delayed Posting'), t('Allow posts to be published at a later date'),false),
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
|
@ -133,27 +133,27 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
|
||||||
$their_perms = 0;
|
$their_perms = 0;
|
||||||
$xchan_hash = '';
|
$xchan_hash = '';
|
||||||
|
|
||||||
|
|
||||||
$r = q("select * from xchan where xchan_hash = '%s' or xchan_url = '%s' limit 1",
|
$r = q("select * from xchan where xchan_hash = '%s' or xchan_url = '%s' limit 1",
|
||||||
dbesc($url),
|
dbesc($url),
|
||||||
dbesc($url)
|
dbesc($url)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
if(! $r) {
|
if(! $r) {
|
||||||
// attempt network auto-discovery
|
// attempt network auto-discovery
|
||||||
if(strpos($url,'@') && (! $is_http)) {
|
if(strpos($url,'@') && (! $is_http)) {
|
||||||
$r = discover_by_webbie($url);
|
$d = discover_by_webbie($url);
|
||||||
}
|
}
|
||||||
elseif($is_http) {
|
elseif($is_http) {
|
||||||
$r = discover_by_url($url);
|
if(get_config('system','feed_contacts'))
|
||||||
$r['allowed'] = intval(get_config('system','feed_contacts'));
|
$d = discover_by_url($url);
|
||||||
}
|
else {
|
||||||
if($r) {
|
|
||||||
$r['channel_id'] = $uid;
|
|
||||||
call_hooks('follow_allow',$r);
|
|
||||||
if(! $r['allowed']) {
|
|
||||||
$result['message'] = t('Protocol disabled.');
|
$result['message'] = t('Protocol disabled.');
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if($d) {
|
||||||
$r = q("select * from xchan where xchan_hash = '%s' or xchan_url = '%s' limit 1",
|
$r = q("select * from xchan where xchan_hash = '%s' or xchan_url = '%s' limit 1",
|
||||||
dbesc($url),
|
dbesc($url),
|
||||||
dbesc($url)
|
dbesc($url)
|
||||||
|
@ -172,6 +172,16 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$x = array('channel_id' => $uid, 'follow_address' => $url, 'xchan' => $r[0], 'allowed' => 1);
|
||||||
|
|
||||||
|
call_hooks('follow_allow',$x);
|
||||||
|
|
||||||
|
if(! $x['allowed']) {
|
||||||
|
$result['message'] = t('Protocol disabled.');
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if((local_channel()) && $uid == local_channel()) {
|
if((local_channel()) && $uid == local_channel()) {
|
||||||
$aid = get_account_id();
|
$aid = get_account_id();
|
||||||
$hash = get_observer_hash();
|
$hash = get_observer_hash();
|
||||||
|
@ -251,7 +261,7 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
|
||||||
);
|
);
|
||||||
if($r) {
|
if($r) {
|
||||||
$result['abook'] = $r[0];
|
$result['abook'] = $r[0];
|
||||||
proc_run('php', 'include/notifier.php', 'permission_update', $result['abook']['abook_id']);
|
proc_run('php', 'include/notifier.php', 'permission_create', $result['abook']['abook_id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$arr = array('channel_id' => $uid, 'abook' => $result['abook']);
|
$arr = array('channel_id' => $uid, 'abook' => $result['abook']);
|
||||||
|
|
|
@ -631,6 +631,30 @@ function identity_basic_export($channel_id, $items = false) {
|
||||||
if($r)
|
if($r)
|
||||||
$ret['likes'] = $r;
|
$ret['likes'] = $r;
|
||||||
|
|
||||||
|
|
||||||
|
$r = q("select * from conv where uid = %d",
|
||||||
|
intval($channel_id)
|
||||||
|
);
|
||||||
|
if($r) {
|
||||||
|
for($x = 0; $x < count($r); $x ++) {
|
||||||
|
$r[$x]['subject'] = base64url_decode(str_rot47($r[$x]['subject']));
|
||||||
|
}
|
||||||
|
$ret['conv'] = $r;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$r = q("select * from mail where mail.uid = %d",
|
||||||
|
intval($channel_id)
|
||||||
|
);
|
||||||
|
if($r) {
|
||||||
|
$m = array();
|
||||||
|
foreach($r as $rr) {
|
||||||
|
xchan_mail_query($rr);
|
||||||
|
$m[] = mail_encode($rr,true);
|
||||||
|
}
|
||||||
|
$ret['mail'] = $m;
|
||||||
|
}
|
||||||
|
|
||||||
$r = q("select item_id.*, item.mid from item_id left join item on item_id.iid = item.id where item_id.uid = %d",
|
$r = q("select item_id.*, item.mid from item_id left join item on item_id.iid = item.id where item_id.uid = %d",
|
||||||
intval($channel_id)
|
intval($channel_id)
|
||||||
);
|
);
|
||||||
|
|
|
@ -790,7 +790,7 @@ function import_likes($channel,$likes) {
|
||||||
if($r)
|
if($r)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
dbesc_array($config);
|
dbesc_array($like);
|
||||||
$r = dbq("INSERT INTO likes (`"
|
$r = dbq("INSERT INTO likes (`"
|
||||||
. implode("`, `", array_keys($like))
|
. implode("`, `", array_keys($like))
|
||||||
. "`) VALUES ('"
|
. "`) VALUES ('"
|
||||||
|
@ -800,6 +800,71 @@ function import_likes($channel,$likes) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function import_conv($channel,$convs) {
|
||||||
|
if($channel && $convs) {
|
||||||
|
foreach($convs as $conv) {
|
||||||
|
if($conv['deleted']) {
|
||||||
|
q("delete from conv where guid = '%s' and uid = %d limit 1",
|
||||||
|
dbesc($conv['guid']),
|
||||||
|
intval($channel['channel_id'])
|
||||||
|
);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
unset($conv['id']);
|
||||||
|
|
||||||
|
$conv['uid'] = $channel['channel_id'];
|
||||||
|
$conv['subject'] = str_rot47(base64url_encode($conv['subject']));
|
||||||
|
|
||||||
|
$r = q("select id from conv where guid = '%s' and uid = %d limit 1",
|
||||||
|
dbesc($conv['guid']),
|
||||||
|
intval($channel['channel_id'])
|
||||||
|
);
|
||||||
|
if($r)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
dbesc_array($conv);
|
||||||
|
$r = dbq("INSERT INTO conv (`"
|
||||||
|
. implode("`, `", array_keys($conv))
|
||||||
|
. "`) VALUES ('"
|
||||||
|
. implode("', '", array_values($conv))
|
||||||
|
. "')" );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function import_mail($channel,$mails) {
|
||||||
|
if($channel && $mails) {
|
||||||
|
foreach($mails as $mail) {
|
||||||
|
if(array_key_exists('flags',$mail) && in_array('deleted',$mail['flags'])) {
|
||||||
|
q("delete from mail where mid = '%s' and uid = %d limit 1",
|
||||||
|
dbesc($mail['message_id']),
|
||||||
|
intval($channel['channel_id'])
|
||||||
|
);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(array_key_exists('flags',$mail) && in_array('recalled',$mail['flags'])) {
|
||||||
|
q("update mail set mail_recalled = 1 where mid = '%s' and uid = %d limit 1",
|
||||||
|
dbesc($mail['message_id']),
|
||||||
|
intval($channel['channel_id'])
|
||||||
|
);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$m = get_mail_elements($mail);
|
||||||
|
if(! $m)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
$m['aid'] = $channel['channel_account_id'];
|
||||||
|
$m['uid'] = $channel['channel_id'];
|
||||||
|
mail_store($m);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1559,7 +1559,7 @@ function encode_item_flags($item) {
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
function encode_mail($item) {
|
function encode_mail($item,$extended = false) {
|
||||||
$x = array();
|
$x = array();
|
||||||
$x['type'] = 'mail';
|
$x['type'] = 'mail';
|
||||||
$x['encoding'] = 'zot';
|
$x['encoding'] = 'zot';
|
||||||
|
@ -1592,6 +1592,18 @@ function encode_mail($item) {
|
||||||
$x['body'] = '';
|
$x['body'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($extended) {
|
||||||
|
$x['conv_guid'] = $item['conv_guid'];
|
||||||
|
if(intval($item['mail_deleted']))
|
||||||
|
$x['flags'][] = 'deleted';
|
||||||
|
if(intval($item['mail_replied']))
|
||||||
|
$x['flags'][] = 'replied';
|
||||||
|
if(intval($item['mail_isreply']))
|
||||||
|
$x['flags'][] = 'isreply';
|
||||||
|
if(intval($item['mail_seen']))
|
||||||
|
$x['flags'][] = 'seen';
|
||||||
|
}
|
||||||
|
|
||||||
return $x;
|
return $x;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1604,6 +1616,8 @@ function get_mail_elements($x) {
|
||||||
$arr['body'] = (($x['body']) ? htmlspecialchars($x['body'], ENT_COMPAT,'UTF-8',false) : '');
|
$arr['body'] = (($x['body']) ? htmlspecialchars($x['body'], ENT_COMPAT,'UTF-8',false) : '');
|
||||||
$arr['title'] = (($x['title'])? htmlspecialchars($x['title'],ENT_COMPAT,'UTF-8',false) : '');
|
$arr['title'] = (($x['title'])? htmlspecialchars($x['title'],ENT_COMPAT,'UTF-8',false) : '');
|
||||||
|
|
||||||
|
$arr['conv_guid'] = (($x['conv_guid'])? htmlspecialchars($x['conv_guid'],ENT_COMPAT,'UTF-8',false) : '');
|
||||||
|
|
||||||
$arr['created'] = datetime_convert('UTC','UTC',$x['created']);
|
$arr['created'] = datetime_convert('UTC','UTC',$x['created']);
|
||||||
if((! array_key_exists('expires',$x)) || ($x['expires'] === NULL_DATE))
|
if((! array_key_exists('expires',$x)) || ($x['expires'] === NULL_DATE))
|
||||||
$arr['expires'] = NULL_DATE;
|
$arr['expires'] = NULL_DATE;
|
||||||
|
@ -1616,6 +1630,18 @@ function get_mail_elements($x) {
|
||||||
if(in_array('recalled',$x['flags'])) {
|
if(in_array('recalled',$x['flags'])) {
|
||||||
$arr['mail_recalled'] = 1;
|
$arr['mail_recalled'] = 1;
|
||||||
}
|
}
|
||||||
|
if(in_array('replied',$x['flags'])) {
|
||||||
|
$arr['mail_replied'] = 1;
|
||||||
|
}
|
||||||
|
if(in_array('isreply',$x['flags'])) {
|
||||||
|
$arr['mail_isreply'] = 1;
|
||||||
|
}
|
||||||
|
if(in_array('seen',$x['flags'])) {
|
||||||
|
$arr['mail_seen'] = 1;
|
||||||
|
}
|
||||||
|
if(in_array('deleted',$x['flags'])) {
|
||||||
|
$arr['mail_deleted'] = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$key = get_config('system','pubkey');
|
$key = get_config('system','pubkey');
|
||||||
|
@ -1630,6 +1656,7 @@ function get_mail_elements($x) {
|
||||||
if($arr['created'] > datetime_convert())
|
if($arr['created'] > datetime_convert())
|
||||||
$arr['created'] = datetime_convert();
|
$arr['created'] = datetime_convert();
|
||||||
|
|
||||||
|
|
||||||
$arr['mid'] = (($x['message_id']) ? htmlspecialchars($x['message_id'], ENT_COMPAT,'UTF-8',false) : '');
|
$arr['mid'] = (($x['message_id']) ? htmlspecialchars($x['message_id'], ENT_COMPAT,'UTF-8',false) : '');
|
||||||
$arr['parent_mid'] = (($x['message_parent']) ? htmlspecialchars($x['message_parent'], ENT_COMPAT,'UTF-8',false) : '');
|
$arr['parent_mid'] = (($x['message_parent']) ? htmlspecialchars($x['message_parent'], ENT_COMPAT,'UTF-8',false) : '');
|
||||||
|
|
||||||
|
@ -3510,6 +3537,7 @@ function mail_store($arr) {
|
||||||
$arr['title'] = ((x($arr,'title')) ? trim($arr['title']) : '');
|
$arr['title'] = ((x($arr,'title')) ? trim($arr['title']) : '');
|
||||||
$arr['parent_mid'] = ((x($arr,'parent_mid')) ? notags(trim($arr['parent_mid'])) : '');
|
$arr['parent_mid'] = ((x($arr,'parent_mid')) ? notags(trim($arr['parent_mid'])) : '');
|
||||||
$arr['body'] = ((x($arr,'body')) ? trim($arr['body']) : '');
|
$arr['body'] = ((x($arr,'body')) ? trim($arr['body']) : '');
|
||||||
|
$arr['conv_guid'] = ((x($arr,'conv_guid')) ? trim($arr['conv_guid']) : '');
|
||||||
|
|
||||||
$arr['mail_flags'] = ((x($arr,'mail_flags')) ? intval($arr['mail_flags']) : 0 );
|
$arr['mail_flags'] = ((x($arr,'mail_flags')) ? intval($arr['mail_flags']) : 0 );
|
||||||
|
|
||||||
|
|
|
@ -28,8 +28,6 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto='
|
||||||
// $expires = datetime_convert(date_default_timezone_get(),'UTC',$expires);
|
// $expires = datetime_convert(date_default_timezone_get(),'UTC',$expires);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if($uid) {
|
if($uid) {
|
||||||
$r = q("select * from channel where channel_id = %d limit 1",
|
$r = q("select * from channel where channel_id = %d limit 1",
|
||||||
intval($uid)
|
intval($uid)
|
||||||
|
@ -49,18 +47,20 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto='
|
||||||
|
|
||||||
// look for any existing conversation structure
|
// look for any existing conversation structure
|
||||||
|
|
||||||
|
$conv_guid = '';
|
||||||
|
|
||||||
if(strlen($replyto)) {
|
if(strlen($replyto)) {
|
||||||
$r = q("select convid from mail where channel_id = %d and ( mid = '%s' or parent_mid = '%s' ) limit 1",
|
$r = q("select conv_guid from mail where channel_id = %d and ( mid = '%s' or parent_mid = '%s' ) limit 1",
|
||||||
intval(local_channel()),
|
intval(local_channel()),
|
||||||
dbesc($replyto),
|
dbesc($replyto),
|
||||||
dbesc($replyto)
|
dbesc($replyto)
|
||||||
);
|
);
|
||||||
if($r)
|
if($r) {
|
||||||
$convid = $r[0]['convid'];
|
$conv_guid = $r[0]['conv_guid'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(! $convid) {
|
if(! $conv_guid) {
|
||||||
|
|
||||||
// create a new conversation
|
// create a new conversation
|
||||||
|
|
||||||
|
@ -93,16 +93,28 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto='
|
||||||
dbesc($conv_guid),
|
dbesc($conv_guid),
|
||||||
intval(local_channel())
|
intval(local_channel())
|
||||||
);
|
);
|
||||||
if($r)
|
if($r) {
|
||||||
$convid = $r[0]['id'];
|
$retconv = $r[0];
|
||||||
|
$retconv['subject'] = base64url_decode(str_rot47($retconv['subject']));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(! $convid) {
|
if(! $retconv) {
|
||||||
|
$r = q("select * from conv where guid = '%s' and uid = %d limit 1",
|
||||||
|
dbesc($conv_guid),
|
||||||
|
intval(local_channel())
|
||||||
|
);
|
||||||
|
if($r) {
|
||||||
|
$retconv = $r[0];
|
||||||
|
$retconv['subject'] = base64url_decode(str_rot47($retconv['subject']));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(! $retconv) {
|
||||||
$ret['message'] = 'conversation not found';
|
$ret['message'] = 'conversation not found';
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// generate a unique message_id
|
// generate a unique message_id
|
||||||
|
|
||||||
do {
|
do {
|
||||||
|
@ -174,10 +186,10 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto='
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$r = q("INSERT INTO mail ( account_id, convid, mail_obscured, channel_id, from_xchan, to_xchan, title, body, attach, mid, parent_mid, created, expires )
|
$r = q("INSERT INTO mail ( account_id, conv_guid, mail_obscured, channel_id, from_xchan, to_xchan, title, body, attach, mid, parent_mid, created, expires )
|
||||||
VALUES ( %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
|
VALUES ( %d, '%s', %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
|
||||||
intval($channel['channel_account_id']),
|
intval($channel['channel_account_id']),
|
||||||
intval($convid),
|
dbesc($conv_guid),
|
||||||
intval(1),
|
intval(1),
|
||||||
intval($channel['channel_id']),
|
intval($channel['channel_id']),
|
||||||
dbesc($channel['channel_hash']),
|
dbesc($channel['channel_hash']),
|
||||||
|
@ -197,8 +209,11 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto='
|
||||||
dbesc($mid),
|
dbesc($mid),
|
||||||
intval($channel['channel_id'])
|
intval($channel['channel_id'])
|
||||||
);
|
);
|
||||||
if($r)
|
if($r) {
|
||||||
$post_id = $r[0]['id'];
|
$post_id = $r[0]['id'];
|
||||||
|
$retmail = $r[0];
|
||||||
|
xchan_mail_query($retmail);
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
$ret['message'] = t('Stored post could not be verified.');
|
$ret['message'] = t('Stored post could not be verified.');
|
||||||
return $ret;
|
return $ret;
|
||||||
|
@ -242,6 +257,9 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto='
|
||||||
|
|
||||||
$ret['success'] = true;
|
$ret['success'] = true;
|
||||||
$ret['message_item'] = intval($post_id);
|
$ret['message_item'] = intval($post_id);
|
||||||
|
$ret['conv'] = $retconv;
|
||||||
|
$ret['mail'] = $retmail;
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -367,30 +385,67 @@ function private_messages_fetch_message($channel_id, $messageitem_id, $updatesee
|
||||||
|
|
||||||
function private_messages_drop($channel_id, $messageitem_id, $drop_conversation = false) {
|
function private_messages_drop($channel_id, $messageitem_id, $drop_conversation = false) {
|
||||||
|
|
||||||
if($drop_conversation) {
|
|
||||||
// find the parent_id
|
$x = q("select * from mail where id = %d and channel_id = %d limit 1",
|
||||||
$p = q("SELECT parent_mid FROM mail WHERE id = %d AND channel_id = %d LIMIT 1",
|
|
||||||
intval($messageitem_id),
|
intval($messageitem_id),
|
||||||
intval($channel_id)
|
intval($channel_id)
|
||||||
);
|
);
|
||||||
if($p) {
|
if(! $x)
|
||||||
$r = q("DELETE FROM mail WHERE parent_mid = '%s' AND channel_id = %d ",
|
return false;
|
||||||
dbesc($p[0]['parent_mid']),
|
|
||||||
|
$conversation = null;
|
||||||
|
|
||||||
|
if($x[0]['conv_guid']) {
|
||||||
|
$y = q("select * from conv where guid = '%s' and uid = %d limit 1",
|
||||||
|
dbesc($x[0]['conv_guid']),
|
||||||
intval($channel_id)
|
intval($channel_id)
|
||||||
);
|
);
|
||||||
if($r)
|
if($y) {
|
||||||
|
$conversation = $y[0];
|
||||||
|
$conversation['subject'] = base64url_decode(str_rot47($conversation['subject']));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($drop_conversation) {
|
||||||
|
$m = array();
|
||||||
|
$m['conv'] = array($conversation);
|
||||||
|
$m['conv'][0]['deleted'] = 1;
|
||||||
|
|
||||||
|
$z = q("select * from mail where parent_mid = '%s' and channel_id = %d",
|
||||||
|
dbesc($x[0]['parent_mid']),
|
||||||
|
intval($channel_id)
|
||||||
|
);
|
||||||
|
if($z) {
|
||||||
|
q("delete from conv where guid = '%s' and uid = %d limit 1",
|
||||||
|
dbesc($x[0]['conv_guid']),
|
||||||
|
intval($channel_id)
|
||||||
|
);
|
||||||
|
$m['mail'] = array();
|
||||||
|
foreach($z as $zz) {
|
||||||
|
xchan_mail_query($zz);
|
||||||
|
$zz['mail_deleted'] = 1;
|
||||||
|
$m['mail'][] = encode_mail($zz,true);
|
||||||
|
}
|
||||||
|
q("DELETE FROM mail WHERE parent_mid = '%s' AND channel_id = %d ",
|
||||||
|
dbesc($x[0]['parent_mid']),
|
||||||
|
intval($channel_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
build_sync_packet($channel_id,$m);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else {
|
else {
|
||||||
|
xchan_mail_query($x[0]);
|
||||||
|
$x[0]['mail_deleted'] = true;
|
||||||
$r = q("DELETE FROM mail WHERE id = %d AND channel_id = %d",
|
$r = q("DELETE FROM mail WHERE id = %d AND channel_id = %d",
|
||||||
intval($messageitem_id),
|
intval($messageitem_id),
|
||||||
intval($channel_id)
|
intval($channel_id)
|
||||||
);
|
);
|
||||||
if($r)
|
build_sync_packet($channel_id,array('mail' => array(encode_mail($x,true))));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -586,7 +586,7 @@ function scale_external_images($s, $include_link = true, $scale_replace = false)
|
||||||
|
|
||||||
if(substr($mtch[1],0,1) == '=') {
|
if(substr($mtch[1],0,1) == '=') {
|
||||||
$owidth = intval(substr($mtch[2],1));
|
$owidth = intval(substr($mtch[2],1));
|
||||||
if(intval($owidth) > 0 && intval($owidth) < 640)
|
if(intval($owidth) > 0 && intval($owidth) < 1024)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -624,9 +624,9 @@ function scale_external_images($s, $include_link = true, $scale_replace = false)
|
||||||
$orig_width = $ph->getWidth();
|
$orig_width = $ph->getWidth();
|
||||||
$orig_height = $ph->getHeight();
|
$orig_height = $ph->getHeight();
|
||||||
|
|
||||||
if($orig_width > 640 || $orig_height > 640) {
|
if($orig_width > 1024 || $orig_height > 1024) {
|
||||||
$tag = (($match[1] == 'z') ? 'zmg' : 'img');
|
$tag = (($match[1] == 'z') ? 'zmg' : 'img');
|
||||||
$ph->scaleImage(640);
|
$ph->scaleImage(1024);
|
||||||
$new_width = $ph->getWidth();
|
$new_width = $ph->getWidth();
|
||||||
$new_height = $ph->getHeight();
|
$new_height = $ph->getHeight();
|
||||||
logger('scale_external_images: ' . $orig_width . '->' . $new_width . 'w ' . $orig_height . '->' . $new_height . 'h' . ' match: ' . $mtch[0], LOGGER_DEBUG);
|
logger('scale_external_images: ' . $orig_width . '->' . $new_width . 'w ' . $orig_height . '->' . $new_height . 'h' . ' match: ' . $mtch[0], LOGGER_DEBUG);
|
||||||
|
@ -1677,13 +1677,40 @@ function format_and_send_email($sender,$xchan,$item) {
|
||||||
'additionalMailHeader' => '',
|
'additionalMailHeader' => '',
|
||||||
));
|
));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function do_delivery($deliveries) {
|
||||||
|
|
||||||
|
if(! (is_array($deliveries) && count($deliveries)))
|
||||||
|
return;
|
||||||
|
|
||||||
|
$interval = ((get_config('system','delivery_interval') !== false)
|
||||||
|
? intval(get_config('system','delivery_interval')) : 2 );
|
||||||
|
|
||||||
|
$deliveries_per_process = intval(get_config('system','delivery_batch_count'));
|
||||||
|
|
||||||
|
if($deliveries_per_process <= 0)
|
||||||
|
$deliveries_per_process = 1;
|
||||||
|
|
||||||
|
|
||||||
|
$deliver = array();
|
||||||
|
foreach($deliveries as $d) {
|
||||||
|
|
||||||
|
$deliver[] = $d;
|
||||||
|
|
||||||
|
if(count($deliver) >= $deliveries_per_process) {
|
||||||
|
proc_run('php','include/deliver.php',$deliver);
|
||||||
|
$deliver = array();
|
||||||
|
if($interval)
|
||||||
|
@time_sleep_until(microtime(true) + (float) $interval);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// catch any stragglers
|
||||||
|
|
||||||
|
if($deliver)
|
||||||
|
proc_run('php','include/deliver.php',$deliver);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,7 +96,19 @@ function notifier_run($argv, $argc){
|
||||||
require_once('include/identity.php');
|
require_once('include/identity.php');
|
||||||
$sys = get_sys_channel();
|
$sys = get_sys_channel();
|
||||||
|
|
||||||
if($cmd == 'permission_update') {
|
$deliveries = array();
|
||||||
|
|
||||||
|
$dead_hubs = array();
|
||||||
|
|
||||||
|
$dh = q("select site_url from site where site_dead = 1");
|
||||||
|
if(dh) {
|
||||||
|
foreach($dh as $dead) {
|
||||||
|
$dead_hubs[] = $dead['site_url'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if($cmd == 'permission_update' || $cmd == 'permission_create') {
|
||||||
// Get the recipient
|
// Get the recipient
|
||||||
$r = q("select abook.*, hubloc.* from abook
|
$r = q("select abook.*, hubloc.* from abook
|
||||||
left join hubloc on hubloc_hash = abook_xchan
|
left join hubloc on hubloc_hash = abook_xchan
|
||||||
|
@ -113,8 +125,16 @@ function notifier_run($argv, $argc){
|
||||||
intval($r[0]['abook_channel'])
|
intval($r[0]['abook_channel'])
|
||||||
);
|
);
|
||||||
if($s) {
|
if($s) {
|
||||||
$perm_update = array('sender' => $s[0], 'recipient' => $r[0], 'success' => false);
|
$perm_update = array('sender' => $s[0], 'recipient' => $r[0], 'success' => false, 'deliveries' => '');
|
||||||
|
|
||||||
|
if($cmd == 'permission_create')
|
||||||
|
call_hooks('permissions_create',$perm_update);
|
||||||
|
else
|
||||||
call_hooks('permissions_update',$perm_update);
|
call_hooks('permissions_update',$perm_update);
|
||||||
|
|
||||||
|
if($perm_update['success'] && $perm_update['deliveries'])
|
||||||
|
$deliveries[] = $perm_update['deliveries'];
|
||||||
|
|
||||||
if(! $perm_update['success']) {
|
if(! $perm_update['success']) {
|
||||||
// send a refresh message to each hub they have registered here
|
// send a refresh message to each hub they have registered here
|
||||||
$h = q("select * from hubloc where hubloc_hash = '%s'
|
$h = q("select * from hubloc where hubloc_hash = '%s'
|
||||||
|
@ -125,17 +145,17 @@ function notifier_run($argv, $argc){
|
||||||
);
|
);
|
||||||
if($h) {
|
if($h) {
|
||||||
foreach($h as $hh) {
|
foreach($h as $hh) {
|
||||||
|
if(in_array($hh['hubloc_url'],$dead_hubs)) {
|
||||||
|
logger('skipping dead hub: ' . $hh['hubloc_url'], LOGGER_DEBUG);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$data = zot_build_packet($s[0],'refresh',array(array(
|
$data = zot_build_packet($s[0],'refresh',array(array(
|
||||||
'guid' => $hh['hubloc_guid'],
|
'guid' => $hh['hubloc_guid'],
|
||||||
'guid_sig' => $hh['hubloc_guid_sig'],
|
'guid_sig' => $hh['hubloc_guid_sig'],
|
||||||
'url' => $hh['hubloc_url'])
|
'url' => $hh['hubloc_url'])
|
||||||
));
|
));
|
||||||
if($data) {
|
if($data) {
|
||||||
$result = zot_zot($hh['hubloc_callback'],$data);
|
|
||||||
|
|
||||||
// if immediate delivery failed, stick it in the queue to try again later.
|
|
||||||
|
|
||||||
if(! $result['success']) {
|
|
||||||
$hash = random_string();
|
$hash = random_string();
|
||||||
q("insert into outq ( outq_hash, outq_account, outq_channel, outq_driver, outq_posturl, outq_async, outq_created, outq_updated, outq_notify, outq_msg )
|
q("insert into outq ( outq_hash, outq_account, outq_channel, outq_driver, outq_posturl, outq_async, outq_created, outq_updated, outq_notify, outq_msg )
|
||||||
values ( '%s', %d, %d, '%s', '%s', %d, '%s', '%s', '%s', '%s' )",
|
values ( '%s', %d, %d, '%s', '%s', %d, '%s', '%s', '%s', '%s' )",
|
||||||
|
@ -150,11 +170,15 @@ function notifier_run($argv, $argc){
|
||||||
dbesc($data),
|
dbesc($data),
|
||||||
dbesc('')
|
dbesc('')
|
||||||
);
|
);
|
||||||
|
$deliveries[] = $hash;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
if($deliveries)
|
||||||
|
do_delivery($deliveries);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
@ -342,7 +366,7 @@ function notifier_run($argv, $argc){
|
||||||
logger('notifier: target item not forwardable: type ' . $target_item['item_type'], LOGGER_DEBUG);
|
logger('notifier: target item not forwardable: type ' . $target_item['item_type'], LOGGER_DEBUG);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(intval($target_item['item_unpublished']) || intval($target_item['item_delayed_publish'])) {
|
if(intval($target_item['item_unpublished']) || intval($target_item['item_delayed'])) {
|
||||||
logger('notifier: target item not published, so not forwardable', LOGGER_DEBUG);
|
logger('notifier: target item not published, so not forwardable', LOGGER_DEBUG);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -524,14 +548,6 @@ function notifier_run($argv, $argc){
|
||||||
|
|
||||||
$hubs = $r;
|
$hubs = $r;
|
||||||
|
|
||||||
$dead_hubs = array();
|
|
||||||
|
|
||||||
$dh = q("select site_url from site where site_dead = 1");
|
|
||||||
if(dh) {
|
|
||||||
foreach($dh as $dead) {
|
|
||||||
$dead_hubs[] = $dead['site_url'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -571,15 +587,6 @@ function notifier_run($argv, $argc){
|
||||||
|
|
||||||
logger('notifier: will notify/deliver to these hubs: ' . print_r($hublist,true), LOGGER_DEBUG);
|
logger('notifier: will notify/deliver to these hubs: ' . print_r($hublist,true), LOGGER_DEBUG);
|
||||||
|
|
||||||
$interval = ((get_config('system','delivery_interval') !== false)
|
|
||||||
? intval(get_config('system','delivery_interval')) : 2 );
|
|
||||||
|
|
||||||
$deliveries_per_process = intval(get_config('system','delivery_batch_count'));
|
|
||||||
|
|
||||||
if($deliveries_per_process <= 0)
|
|
||||||
$deliveries_per_process = 1;
|
|
||||||
|
|
||||||
$deliveries = array();
|
|
||||||
|
|
||||||
foreach($dhubs as $hub) {
|
foreach($dhubs as $hub) {
|
||||||
|
|
||||||
|
@ -687,29 +694,11 @@ function notifier_run($argv, $argc){
|
||||||
if($normal_mode) {
|
if($normal_mode) {
|
||||||
$x = q("select * from hook where hook = 'notifier_normal'");
|
$x = q("select * from hook where hook = 'notifier_normal'");
|
||||||
if($x)
|
if($x)
|
||||||
proc_run('php','deliver_hooks.php', $target_item['id']);
|
proc_run('php','include/deliver_hooks.php', $target_item['id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($deliveries) {
|
if($deliveries)
|
||||||
$deliver = array();
|
do_delivery($deliveries);
|
||||||
|
|
||||||
foreach($deliveries as $d) {
|
|
||||||
|
|
||||||
$deliver[] = $d;
|
|
||||||
|
|
||||||
if(count($deliver) >= $deliveries_per_process) {
|
|
||||||
proc_run('php','include/deliver.php',$deliver);
|
|
||||||
$deliver = array();
|
|
||||||
if($interval)
|
|
||||||
@time_sleep_until(microtime(true) + (float) $interval);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// catch any stragglers
|
|
||||||
|
|
||||||
if($deliver)
|
|
||||||
proc_run('php','include/deliver.php',$deliver);
|
|
||||||
|
|
||||||
logger('notifier: basic loop complete.', LOGGER_DEBUG);
|
logger('notifier: basic loop complete.', LOGGER_DEBUG);
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
require_once('include/permissions.php');
|
require_once('include/permissions.php');
|
||||||
require_once('include/items.php');
|
require_once('include/items.php');
|
||||||
require_once('include/photo/photo_driver.php');
|
require_once('include/photo/photo_driver.php');
|
||||||
|
require_once('include/text.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief
|
* @brief
|
||||||
|
@ -18,6 +19,8 @@ require_once('include/photo/photo_driver.php');
|
||||||
*/
|
*/
|
||||||
function photo_upload($channel, $observer, $args) {
|
function photo_upload($channel, $observer, $args) {
|
||||||
|
|
||||||
|
$a = get_app();
|
||||||
|
|
||||||
$ret = array('success' => false);
|
$ret = array('success' => false);
|
||||||
$channel_id = $channel['channel_id'];
|
$channel_id = $channel['channel_id'];
|
||||||
$account_id = $channel['channel_account_id'];
|
$account_id = $channel['channel_account_id'];
|
||||||
|
@ -185,31 +188,66 @@ function photo_upload($channel, $observer, $args) {
|
||||||
if($args['description'])
|
if($args['description'])
|
||||||
$p['description'] = $args['description'];
|
$p['description'] = $args['description'];
|
||||||
|
|
||||||
$r1 = $ph->save($p);
|
$link = array();
|
||||||
if(! $r1)
|
|
||||||
$errors = true;
|
|
||||||
|
|
||||||
|
$r0 = $ph->save($p);
|
||||||
|
$link[0] = array(
|
||||||
|
'rel' => 'alternate',
|
||||||
|
'type' => 'text/html',
|
||||||
|
'href' => $url = rawurlencode(z_root() . '/photo/' . $photo_hash . '-0.' . $ph->getExt()),
|
||||||
|
'width' => $ph->getWidth(),
|
||||||
|
'height' => $ph->getHeight()
|
||||||
|
);
|
||||||
|
if(! $r0)
|
||||||
|
$errors = true;
|
||||||
|
|
||||||
unset($p['os_storage']);
|
unset($p['os_storage']);
|
||||||
unset($p['os_path']);
|
unset($p['os_path']);
|
||||||
|
|
||||||
if(($width > 640 || $height > 640) && (! $errors)) {
|
if(($width > 1024 || $height > 1024) && (! $errors))
|
||||||
$ph->scaleImage(640);
|
$ph->scaleImage(1024);
|
||||||
|
|
||||||
$p['scale'] = 1;
|
$p['scale'] = 1;
|
||||||
|
$r1 = $ph->save($p);
|
||||||
|
$link[1] = array(
|
||||||
|
'rel' => 'alternate',
|
||||||
|
'type' => 'text/html',
|
||||||
|
'href' => $url = rawurlencode(z_root() . '/photo/' . $photo_hash . '-1.' . $ph->getExt()),
|
||||||
|
'width' => $ph->getWidth(),
|
||||||
|
'height' => $ph->getHeight()
|
||||||
|
);
|
||||||
|
if(! $r1)
|
||||||
|
$errors = true;
|
||||||
|
|
||||||
|
if(($width > 640 || $height > 640) && (! $errors))
|
||||||
|
$ph->scaleImage(640);
|
||||||
|
|
||||||
|
$p['scale'] = 2;
|
||||||
$r2 = $ph->save($p);
|
$r2 = $ph->save($p);
|
||||||
$smallest = 1;
|
$link[2] = array(
|
||||||
|
'rel' => 'alternate',
|
||||||
|
'type' => 'text/html',
|
||||||
|
'href' => $url = rawurlencode(z_root() . '/photo/' . $photo_hash . '-2.' . $ph->getExt()),
|
||||||
|
'width' => $ph->getWidth(),
|
||||||
|
'height' => $ph->getHeight()
|
||||||
|
);
|
||||||
if(! $r2)
|
if(! $r2)
|
||||||
$errors = true;
|
$errors = true;
|
||||||
}
|
|
||||||
|
|
||||||
if(($width > 320 || $height > 320) && (! $errors)) {
|
if(($width > 320 || $height > 320) && (! $errors))
|
||||||
$ph->scaleImage(320);
|
$ph->scaleImage(320);
|
||||||
$p['scale'] = 2;
|
|
||||||
|
$p['scale'] = 3;
|
||||||
$r3 = $ph->save($p);
|
$r3 = $ph->save($p);
|
||||||
$smallest = 2;
|
$link[3] = array(
|
||||||
|
'rel' => 'alternate',
|
||||||
|
'type' => 'text/html',
|
||||||
|
'href' => $url = rawurlencode(z_root() . '/photo/' . $photo_hash . '-3.' . $ph->getExt()),
|
||||||
|
'width' => $ph->getWidth(),
|
||||||
|
'height' => $ph->getHeight()
|
||||||
|
);
|
||||||
if(! $r3)
|
if(! $r3)
|
||||||
$errors = true;
|
$errors = true;
|
||||||
}
|
|
||||||
|
|
||||||
if($errors) {
|
if($errors) {
|
||||||
q("delete from photo where resource_id = '%s' and uid = %d",
|
q("delete from photo where resource_id = '%s' and uid = %d",
|
||||||
|
@ -222,12 +260,6 @@ function photo_upload($channel, $observer, $args) {
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be the width and height of the smallest representation
|
|
||||||
|
|
||||||
$width_x_height = $ph->getWidth() . 'x' . $ph->getHeight();
|
|
||||||
|
|
||||||
// Create item container
|
|
||||||
|
|
||||||
$item_hidden = (($visible) ? 0 : 1 );
|
$item_hidden = (($visible) ? 0 : 1 );
|
||||||
|
|
||||||
$lat = $lon = null;
|
$lat = $lon = null;
|
||||||
|
@ -239,6 +271,40 @@ function photo_upload($channel, $observer, $args) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$title = (($args['description']) ? $args['description'] : $args['filename']);
|
||||||
|
|
||||||
|
$large_photos = feature_enabled($channel['channel_id'], 'large_photos');
|
||||||
|
|
||||||
|
linkify_tags($a, $args['body'], $channel_id);
|
||||||
|
|
||||||
|
if($large_photos) {
|
||||||
|
$scale = 1;
|
||||||
|
$width = $link[1]['width'];
|
||||||
|
$height = $link[1]['height'];
|
||||||
|
$tag = (($r1) ? '[zmg=' . $width . 'x' . $height . ']' : '[zmg]');
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$scale = 2;
|
||||||
|
$width = $link[2]['width'];
|
||||||
|
$height = $link[2]['height'];
|
||||||
|
$tag = (($r2) ? '[zmg=' . $width . 'x' . $height . ']' : '[zmg]');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create item object
|
||||||
|
$object = array(
|
||||||
|
'type' => ACTIVITY_OBJ_PHOTO,
|
||||||
|
'title' => $title,
|
||||||
|
'id' => rawurlencode(z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo_hash),
|
||||||
|
'link' => $link
|
||||||
|
);
|
||||||
|
|
||||||
|
$body = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo_hash . ']'
|
||||||
|
. $tag . z_root() . "/photo/{$photo_hash}-{$scale}." . $ph->getExt() . '[/zmg]'
|
||||||
|
. '[/zrl]';
|
||||||
|
|
||||||
|
// Create item container
|
||||||
if($args['item']) {
|
if($args['item']) {
|
||||||
foreach($args['item'] as $i) {
|
foreach($args['item'] as $i) {
|
||||||
|
|
||||||
|
@ -247,9 +313,9 @@ function photo_upload($channel, $observer, $args) {
|
||||||
|
|
||||||
if($item['mid'] === $item['parent_mid']) {
|
if($item['mid'] === $item['parent_mid']) {
|
||||||
|
|
||||||
$item['body'] = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo_hash . ']'
|
$item['body'] = (($object) ? $args['body'] : $body . "\r\n" . $args['body']);
|
||||||
. $tag . z_root() . "/photo/{$photo_hash}-{$smallest}.".$ph->getExt() . '[/zmg]'
|
$item['obj_type'] = (($object) ? ACTIVITY_OBJ_PHOTO : '');
|
||||||
. '[/zrl]';
|
$item['object'] = (($object) ? json_encode($object) : '');
|
||||||
|
|
||||||
if($item['author_xchan'] === $channel['channel_hash']) {
|
if($item['author_xchan'] === $channel['channel_hash']) {
|
||||||
$item['sig'] = base64url_encode(rsa_sign($item['body'],$channel['channel_prvkey']));
|
$item['sig'] = base64url_encode(rsa_sign($item['body'],$channel['channel_prvkey']));
|
||||||
|
@ -281,7 +347,6 @@ function photo_upload($channel, $observer, $args) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$title = '';
|
|
||||||
$mid = item_message_id();
|
$mid = item_message_id();
|
||||||
|
|
||||||
$arr = array();
|
$arr = array();
|
||||||
|
@ -304,33 +369,14 @@ function photo_upload($channel, $observer, $args) {
|
||||||
$arr['deny_cid'] = $ac['deny_cid'];
|
$arr['deny_cid'] = $ac['deny_cid'];
|
||||||
$arr['deny_gid'] = $ac['deny_gid'];
|
$arr['deny_gid'] = $ac['deny_gid'];
|
||||||
$arr['verb'] = ACTIVITY_POST;
|
$arr['verb'] = ACTIVITY_POST;
|
||||||
|
$arr['obj_type'] = (($object) ? ACTIVITY_OBJ_PHOTO : '');
|
||||||
|
$arr['object'] = (($object) ? json_encode($object) : '');
|
||||||
$arr['item_wall'] = 1;
|
$arr['item_wall'] = 1;
|
||||||
$arr['item_origin'] = 1;
|
$arr['item_origin'] = 1;
|
||||||
$arr['item_thread_top'] = 1;
|
$arr['item_thread_top'] = 1;
|
||||||
$arr['item_private'] = intval($acl->is_private());
|
$arr['item_private'] = intval($acl->is_private());
|
||||||
$arr['plink'] = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $arr['mid'];
|
$arr['plink'] = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $arr['mid'];
|
||||||
|
$arr['body'] = (($object) ? $args['body'] : $body . "\r\n" . $args['body']);
|
||||||
// We should also put a width_x_height on large photos. Left as an exercise for
|
|
||||||
// devs looking for simple stuff to fix.
|
|
||||||
|
|
||||||
$larger = feature_enabled($channel['channel_id'], 'large_photos');
|
|
||||||
if($larger) {
|
|
||||||
$tag = '[zmg]';
|
|
||||||
if($r2)
|
|
||||||
$smallest = 1;
|
|
||||||
else
|
|
||||||
$smallest = 0;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if ($width_x_height)
|
|
||||||
$tag = '[zmg=' . $width_x_height. ']';
|
|
||||||
else
|
|
||||||
$tag = '[zmg]';
|
|
||||||
}
|
|
||||||
|
|
||||||
$arr['body'] = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo_hash . ']'
|
|
||||||
. $tag . z_root() . "/photo/{$photo_hash}-{$smallest}.".$ph->getExt() . '[/zmg]'
|
|
||||||
. '[/zrl]';
|
|
||||||
|
|
||||||
$result = item_store($arr);
|
$result = item_store($arr);
|
||||||
$item_id = $result['item_id'];
|
$item_id = $result['item_id'];
|
||||||
|
@ -341,7 +387,7 @@ function photo_upload($channel, $observer, $args) {
|
||||||
|
|
||||||
$ret['success'] = true;
|
$ret['success'] = true;
|
||||||
$ret['item'] = $arr;
|
$ret['item'] = $arr;
|
||||||
$ret['body'] = $arr['body'];
|
$ret['body'] = $body;
|
||||||
$ret['resource_id'] = $photo_hash;
|
$ret['resource_id'] = $photo_hash;
|
||||||
$ret['photoitem_id'] = $item_id;
|
$ret['photoitem_id'] = $item_id;
|
||||||
|
|
||||||
|
|
|
@ -505,17 +505,20 @@ function script_path() {
|
||||||
else
|
else
|
||||||
$scheme = 'http';
|
$scheme = 'http';
|
||||||
|
|
||||||
if(x($_SERVER,'SERVER_NAME')) {
|
// Some proxy setups may require using http_host
|
||||||
$hostname = $_SERVER['SERVER_NAME'];
|
|
||||||
|
if(intval(get_app()->config['system']['script_path_use_http_host']))
|
||||||
|
$server_var = 'HTTP_HOST';
|
||||||
|
else
|
||||||
|
$server_var = 'SERVER_NAME';
|
||||||
|
|
||||||
|
|
||||||
|
if(x($_SERVER,$server_var)) {
|
||||||
|
$hostname = $_SERVER[$server_var];
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return z_root();
|
return z_root();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(x($_SERVER,'SERVER_PORT') && $_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443) {
|
|
||||||
$hostname .= ':' . $_SERVER['SERVER_PORT'];
|
|
||||||
}
|
|
||||||
|
|
||||||
return $scheme . '://' . $hostname;
|
return $scheme . '://' . $hostname;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
156
include/text.php
156
include/text.php
|
@ -1216,36 +1216,15 @@ function theme_attachments(&$item) {
|
||||||
if(is_array($arr) && count($arr)) {
|
if(is_array($arr) && count($arr)) {
|
||||||
$attaches = array();
|
$attaches = array();
|
||||||
foreach($arr as $r) {
|
foreach($arr as $r) {
|
||||||
$icon = '';
|
|
||||||
$icontype = substr($r['type'],0,strpos($r['type'],'/'));
|
|
||||||
|
|
||||||
/**
|
$icon = getIconFromType($r['type']);
|
||||||
* @FIXME This should probably be a giant "if" statement in the
|
$label = (($r['title']) ? urldecode(htmlspecialchars($r['title'], ENT_COMPAT, 'UTF-8')) : t('Unknown Attachment'));
|
||||||
* template so that we don't have icon names embedded in php code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
switch($icontype) {
|
//some feeds provide an attachment where title an empty space
|
||||||
case 'video':
|
if($label == ' ')
|
||||||
$icon = 'icon-facetime-video';
|
$label = t('Unknown Attachment');
|
||||||
break;
|
|
||||||
case 'audio':
|
|
||||||
$icon = 'icon-volume-up';
|
|
||||||
break;
|
|
||||||
case 'image':
|
|
||||||
$icon = 'icon-picture';
|
|
||||||
break;
|
|
||||||
case 'text':
|
|
||||||
$icon = 'icon-align-justify';
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
$icon = 'icon-question';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
$title = htmlspecialchars($r['title'], ENT_COMPAT,'UTF-8');
|
$title = t('Attachment') . ' - ' . (($r['length']) ? userReadableSize($r['length']) : t('Size Unknown'));
|
||||||
if(! $title)
|
|
||||||
$title = t('unknown.???');
|
|
||||||
$title .= ' ' . (($r['length']) ? $r['length'] . ' ' . t('bytes') : '');
|
|
||||||
|
|
||||||
require_once('include/identity.php');
|
require_once('include/identity.php');
|
||||||
if(is_foreigner($item['author_xchan']))
|
if(is_foreigner($item['author_xchan']))
|
||||||
|
@ -1253,14 +1232,14 @@ function theme_attachments(&$item) {
|
||||||
else
|
else
|
||||||
$url = z_root() . '/magic?f=&hash=' . $item['author_xchan'] . '&dest=' . $r['href'] . '/' . $r['revision'];
|
$url = z_root() . '/magic?f=&hash=' . $item['author_xchan'] . '&dest=' . $r['href'] . '/' . $r['revision'];
|
||||||
|
|
||||||
$s .= '<a href="' . $url . '" title="' . $title . '" class="attachlink" >' . $icon . '</a>';
|
//$s .= '<a href="' . $url . '" title="' . $title . '" class="attachlink" >' . $icon . '</a>';
|
||||||
$attaches[] = array('title' => $title, 'url' => $url, 'icon' => $icon );
|
$attaches[] = array('label' => $label, 'url' => $url, 'icon' => $icon, 'title' => $title);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$s = replace_macros(get_markup_template('item_attach.tpl'), array(
|
$s = replace_macros(get_markup_template('item_attach.tpl'), array(
|
||||||
'$attaches' => $attaches
|
'$attaches' => $attaches
|
||||||
));
|
));
|
||||||
|
}
|
||||||
|
|
||||||
return $s;
|
return $s;
|
||||||
}
|
}
|
||||||
|
@ -1279,11 +1258,12 @@ function format_categories(&$item,$writeable) {
|
||||||
$removelink = (($writeable) ? z_root() . '/filerm/' . $item['id'] . '?f=&cat=' . urlencode($t['term']) : '');
|
$removelink = (($writeable) ? z_root() . '/filerm/' . $item['id'] . '?f=&cat=' . urlencode($t['term']) : '');
|
||||||
$categories[] = array('term' => $term, 'writeable' => $writeable, 'removelink' => $removelink, 'url' => zid($t['url']));
|
$categories[] = array('term' => $term, 'writeable' => $writeable, 'removelink' => $removelink, 'url' => zid($t['url']));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
$s = replace_macros(get_markup_template('item_categories.tpl'),array(
|
$s = replace_macros(get_markup_template('item_categories.tpl'),array(
|
||||||
'$remove' => t('remove category'),
|
'$remove' => t('remove category'),
|
||||||
'$categories' => $categories
|
'$categories' => $categories
|
||||||
));
|
));
|
||||||
|
}
|
||||||
|
|
||||||
return $s;
|
return $s;
|
||||||
}
|
}
|
||||||
|
@ -1294,6 +1274,7 @@ function format_categories(&$item,$writeable) {
|
||||||
* @param[in] array &$item
|
* @param[in] array &$item
|
||||||
* @return string HTML link of hashtag
|
* @return string HTML link of hashtag
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function format_hashtags(&$item) {
|
function format_hashtags(&$item) {
|
||||||
$s = '';
|
$s = '';
|
||||||
|
|
||||||
|
@ -1354,11 +1335,12 @@ function format_filer(&$item) {
|
||||||
$removelink = z_root() . '/filerm/' . $item['id'] . '?f=&term=' . urlencode($t['term']);
|
$removelink = z_root() . '/filerm/' . $item['id'] . '?f=&term=' . urlencode($t['term']);
|
||||||
$categories[] = array('term' => $term, 'removelink' => $removelink);
|
$categories[] = array('term' => $term, 'removelink' => $removelink);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
$s = replace_macros(get_markup_template('item_filer.tpl'),array(
|
$s = replace_macros(get_markup_template('item_filer.tpl'),array(
|
||||||
'$remove' => t('remove from file'),
|
'$remove' => t('remove from file'),
|
||||||
'$categories' => $categories
|
'$categories' => $categories
|
||||||
));
|
));
|
||||||
|
}
|
||||||
|
|
||||||
return $s;
|
return $s;
|
||||||
}
|
}
|
||||||
|
@ -1381,6 +1363,7 @@ function generate_named_map($location) {
|
||||||
|
|
||||||
|
|
||||||
function prepare_body(&$item,$attach = false) {
|
function prepare_body(&$item,$attach = false) {
|
||||||
|
require_once('include/identity.php');
|
||||||
|
|
||||||
// if($item['html']) {
|
// if($item['html']) {
|
||||||
// $s = bb_observer($item['html']);
|
// $s = bb_observer($item['html']);
|
||||||
|
@ -1391,9 +1374,35 @@ function prepare_body(&$item,$attach = false) {
|
||||||
$s = prepare_text($item['body'],$item['mimetype'], false);
|
$s = prepare_text($item['body'],$item['mimetype'], false);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
$prep_arr = array('item' => $item, 'html' => $s);
|
|
||||||
|
$photo = '';
|
||||||
|
$is_photo = (($item['obj_type'] === ACTIVITY_OBJ_PHOTO) ? true : false);
|
||||||
|
|
||||||
|
if($is_photo) {
|
||||||
|
$object = json_decode($item['object'],true);
|
||||||
|
|
||||||
|
// if original photo width is <= 640px prepend it to item body
|
||||||
|
if($object['link'][0]['width'] && $object['link'][0]['width'] <= 640) {
|
||||||
|
$s = '<div class="inline-photo-item-wrapper"><a href="' . zid(rawurldecode($object['id'])) . '" target="_newwin"><img class="inline-photo-item" style="max-width:' . $object['link'][0]['width'] . 'px; width:100%; height:auto;" src="' . zid(rawurldecode($object['link'][0]['href'])) . '"></a></div>' . $s;
|
||||||
|
}
|
||||||
|
|
||||||
|
// if original photo width is > 640px make it a cover photo
|
||||||
|
if($object['link'][0]['width'] && $object['link'][0]['width'] > 640) {
|
||||||
|
$scale = ((($object['link'][1]['width'] == 1024) || ($object['link'][1]['height'] == 1024)) ? 1 : 0);
|
||||||
|
$photo = '<a href="' . zid(rawurldecode($object['id'])) . '" target="_newwin"><img style="max-width:' . $object['link'][$scale]['width'] . 'px; width:100%; height:auto;" src="' . zid(rawurldecode($object['link'][$scale]['href'])) . '"></a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$prep_arr = array(
|
||||||
|
'item' => $item,
|
||||||
|
'html' => $s,
|
||||||
|
'photo' => $photo
|
||||||
|
);
|
||||||
|
|
||||||
call_hooks('prepare_body', $prep_arr);
|
call_hooks('prepare_body', $prep_arr);
|
||||||
|
|
||||||
$s = $prep_arr['html'];
|
$s = $prep_arr['html'];
|
||||||
|
$photo = $prep_arr['photo'];
|
||||||
|
|
||||||
// q("update item set html = '%s' where id = %d",
|
// q("update item set html = '%s' where id = %d",
|
||||||
// dbesc($s),
|
// dbesc($s),
|
||||||
|
@ -1411,19 +1420,19 @@ function prepare_body(&$item,$attach = false) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$s .= theme_attachments($item);
|
$attachments = theme_attachments($item);
|
||||||
|
|
||||||
$writeable = ((get_observer_hash() == $item['owner_xchan']) ? true : false);
|
$writeable = ((get_observer_hash() == $item['owner_xchan']) ? true : false);
|
||||||
|
|
||||||
$s .= format_hashtags($item);
|
$tags = format_hashtags($item);
|
||||||
|
|
||||||
if($item['resource_type'])
|
if($item['resource_type'])
|
||||||
$s .= format_mentions($item);
|
$mentions = format_mentions($item);
|
||||||
|
|
||||||
$s .= format_categories($item,$writeable);
|
$categories = format_categories($item,$writeable);
|
||||||
|
|
||||||
if(local_channel() == $item['uid'])
|
if(local_channel() == $item['uid'])
|
||||||
$s .= format_filer($item);
|
$filer = format_filer($item);
|
||||||
|
|
||||||
$s = sslify($s);
|
$s = sslify($s);
|
||||||
|
|
||||||
|
@ -1456,9 +1465,22 @@ function prepare_body(&$item,$attach = false) {
|
||||||
$s = substr($s, 0, $pos).$authorreplace.substr($s, $pos+strlen($authorsearch));
|
$s = substr($s, 0, $pos).$authorreplace.substr($s, $pos+strlen($authorsearch));
|
||||||
}
|
}
|
||||||
|
|
||||||
$prep_arr = array('item' => $item, 'html' => $s);
|
$prep_arr = array(
|
||||||
|
'item' => $item,
|
||||||
|
'photo' => $photo,
|
||||||
|
'html' => $s,
|
||||||
|
'categories' => $categories,
|
||||||
|
'folders' => $filer,
|
||||||
|
'tags' => $tags,
|
||||||
|
'mentions' => $mentions,
|
||||||
|
'attachments' => $attachments
|
||||||
|
);
|
||||||
|
|
||||||
call_hooks('prepare_body_final', $prep_arr);
|
call_hooks('prepare_body_final', $prep_arr);
|
||||||
return $prep_arr['html'];
|
|
||||||
|
unset($prep_arr['item']);
|
||||||
|
|
||||||
|
return $prep_arr;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1975,15 +1997,15 @@ function xchan_query(&$items,$abook = true,$effective_uid = 0) {
|
||||||
if(count($arr)) {
|
if(count($arr)) {
|
||||||
if($abook) {
|
if($abook) {
|
||||||
$chans = q("select * from xchan left join hubloc on hubloc_hash = xchan_hash left join abook on abook_xchan = xchan_hash and abook_channel = %d
|
$chans = q("select * from xchan left join hubloc on hubloc_hash = xchan_hash left join abook on abook_xchan = xchan_hash and abook_channel = %d
|
||||||
where xchan_hash in (" . implode(',', $arr) . ") and hubloc_primary = 1",
|
where xchan_hash in (" . protect_sprintf(implode(',', $arr)) . ") and hubloc_primary = 1",
|
||||||
intval($item['uid'])
|
intval($item['uid'])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$chans = q("select xchan.*,hubloc.* from xchan left join hubloc on hubloc_hash = xchan_hash
|
$chans = q("select xchan.*,hubloc.* from xchan left join hubloc on hubloc_hash = xchan_hash
|
||||||
where xchan_hash in (" . implode(',', $arr) . ") and hubloc_primary = 1");
|
where xchan_hash in (" . protect_sprintf(implode(',', $arr)) . ") and hubloc_primary = 1");
|
||||||
}
|
}
|
||||||
$xchans = q("select * from xchan where xchan_hash in (" . implode(',',$arr) . ") and xchan_network in ('rss','unknown')");
|
$xchans = q("select * from xchan where xchan_hash in (" . protect_sprintf(implode(',',$arr)) . ") and xchan_network in ('rss','unknown')");
|
||||||
if(! $chans)
|
if(! $chans)
|
||||||
$chans = $xchans;
|
$chans = $xchans;
|
||||||
else
|
else
|
||||||
|
@ -2221,7 +2243,7 @@ function handle_tag($a, &$body, &$access_tag, &$str_tags, $profile_uid, $tag, $d
|
||||||
}
|
}
|
||||||
if($tag == '#getzot') {
|
if($tag == '#getzot') {
|
||||||
$basetag = 'getzot';
|
$basetag = 'getzot';
|
||||||
$url = 'https://redmatrix.me';
|
$url = 'http://hubzilla.org';
|
||||||
$newtag = '#[zrl=' . $url . ']' . $basetag . '[/zrl]';
|
$newtag = '#[zrl=' . $url . ']' . $basetag . '[/zrl]';
|
||||||
$body = str_replace($tag,$newtag,$body);
|
$body = str_replace($tag,$newtag,$body);
|
||||||
$replaced = true;
|
$replaced = true;
|
||||||
|
@ -2490,6 +2512,7 @@ function linkify_tags($a, &$body, $uid, $diaspora = false) {
|
||||||
*
|
*
|
||||||
* @param string $type mime type
|
* @param string $type mime type
|
||||||
* @return string
|
* @return string
|
||||||
|
* @todo rename to get_icon_from_type()
|
||||||
*/
|
*/
|
||||||
function getIconFromType($type) {
|
function getIconFromType($type) {
|
||||||
$iconMap = array(
|
$iconMap = array(
|
||||||
|
@ -2542,6 +2565,7 @@ function getIconFromType($type) {
|
||||||
*
|
*
|
||||||
* @param int $size filesize in bytes
|
* @param int $size filesize in bytes
|
||||||
* @return string human readable formatted filesize
|
* @return string human readable formatted filesize
|
||||||
|
* @todo rename to user_readable_size()
|
||||||
*/
|
*/
|
||||||
function userReadableSize($size) {
|
function userReadableSize($size) {
|
||||||
$ret = '';
|
$ret = '';
|
||||||
|
@ -2564,3 +2588,47 @@ function str_rot47($str) {
|
||||||
'!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~',
|
'!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~',
|
||||||
'PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO');
|
'PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function string_replace($old,$new,&$s) {
|
||||||
|
|
||||||
|
$x = str_replace($old,$new,$s);
|
||||||
|
$replaced = false;
|
||||||
|
if($x !== $s) {
|
||||||
|
$replaced = true;
|
||||||
|
}
|
||||||
|
$s = $x;
|
||||||
|
return $replaced;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function json_url_replace($old,$new,&$s) {
|
||||||
|
|
||||||
|
$old = str_replace('/','\\/',$old);
|
||||||
|
$new = str_replace('/','\\/',$new);
|
||||||
|
|
||||||
|
$x = str_replace($old,$new,$s);
|
||||||
|
$replaced = false;
|
||||||
|
if($x !== $s) {
|
||||||
|
$replaced = true;
|
||||||
|
}
|
||||||
|
$s = $x;
|
||||||
|
return $replaced;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function item_url_replace($channel,&$item,$old,$new) {
|
||||||
|
|
||||||
|
if($item['attach'])
|
||||||
|
json_url_replace($old,$new,$item['attach']);
|
||||||
|
if($item['object'])
|
||||||
|
json_url_replace($old,$new,$item['object']);
|
||||||
|
if($item['target'])
|
||||||
|
json_url_replace($old,$new,$item['target']);
|
||||||
|
|
||||||
|
if(string_replace($old,$new,$item['body'])) {
|
||||||
|
$item['sig'] = base64url_encode(rsa_sign($item['body'],$channel['channel_prvkey']));
|
||||||
|
$item['item_verified'] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -565,12 +565,6 @@ function widget_mailmenu($arr) {
|
||||||
|
|
||||||
return replace_macros(get_markup_template('message_side.tpl'), array(
|
return replace_macros(get_markup_template('message_side.tpl'), array(
|
||||||
'$title' => t('Private Mail Menu'),
|
'$title' => t('Private Mail Menu'),
|
||||||
'$check'=>array(
|
|
||||||
'label' => t('Check Mail'),
|
|
||||||
'url' => $a->get_baseurl(true) . '/mail/combined',
|
|
||||||
'sel' => (argv(1) == ''),
|
|
||||||
),
|
|
||||||
|
|
||||||
'$combined'=>array(
|
'$combined'=>array(
|
||||||
'label' => t('Combined View'),
|
'label' => t('Combined View'),
|
||||||
'url' => $a->get_baseurl(true) . '/mail/combined',
|
'url' => $a->get_baseurl(true) . '/mail/combined',
|
||||||
|
|
|
@ -503,7 +503,7 @@ function zot_refresh($them, $channel = null, $force = false) {
|
||||||
|
|
||||||
if($new_connection) {
|
if($new_connection) {
|
||||||
if($new_perms != $previous_perms)
|
if($new_perms != $previous_perms)
|
||||||
proc_run('php','include/notifier.php','permission_update',$new_connection[0]['abook_id']);
|
proc_run('php','include/notifier.php','permission_create',$new_connection[0]['abook_id']);
|
||||||
require_once('include/enotify.php');
|
require_once('include/enotify.php');
|
||||||
notification(array(
|
notification(array(
|
||||||
'type' => NOTIFY_INTRO,
|
'type' => NOTIFY_INTRO,
|
||||||
|
@ -965,7 +965,7 @@ function zot_process_response($hub, $arr, $outq) {
|
||||||
|
|
||||||
if(is_array($x) && array_key_exists('delivery_report',$x) && is_array($x['delivery_report'])) {
|
if(is_array($x) && array_key_exists('delivery_report',$x) && is_array($x['delivery_report'])) {
|
||||||
foreach($x['delivery_report'] as $xx) {
|
foreach($x['delivery_report'] as $xx) {
|
||||||
if(is_array($xx) && array_key_exists('message_id',$xx)) {
|
if(is_array($xx) && array_key_exists('message_id',$xx) && delivery_report_is_storable($xx)) {
|
||||||
q("insert into dreport ( dreport_mid, dreport_site, dreport_recip, dreport_result, dreport_time, dreport_xchan ) values ( '%s', '%s','%s','%s','%s','%s' ) ",
|
q("insert into dreport ( dreport_mid, dreport_site, dreport_recip, dreport_result, dreport_time, dreport_xchan ) values ( '%s', '%s','%s','%s','%s','%s' ) ",
|
||||||
dbesc($xx['message_id']),
|
dbesc($xx['message_id']),
|
||||||
dbesc($xx['location']),
|
dbesc($xx['location']),
|
||||||
|
@ -2739,6 +2739,7 @@ function import_site($arr, $pubkey) {
|
||||||
$sellpage = htmlspecialchars($arr['sellpage'],ENT_COMPAT,'UTF-8',false);
|
$sellpage = htmlspecialchars($arr['sellpage'],ENT_COMPAT,'UTF-8',false);
|
||||||
$site_location = htmlspecialchars($arr['location'],ENT_COMPAT,'UTF-8',false);
|
$site_location = htmlspecialchars($arr['location'],ENT_COMPAT,'UTF-8',false);
|
||||||
$site_realm = htmlspecialchars($arr['realm'],ENT_COMPAT,'UTF-8',false);
|
$site_realm = htmlspecialchars($arr['realm'],ENT_COMPAT,'UTF-8',false);
|
||||||
|
$site_project = htmlspecialchars($arr['project'],ENT_COMPAT,'UTF-8',false);
|
||||||
|
|
||||||
// You can have one and only one primary directory per realm.
|
// You can have one and only one primary directory per realm.
|
||||||
// Downgrade any others claiming to be primary. As they have
|
// Downgrade any others claiming to be primary. As they have
|
||||||
|
@ -2757,13 +2758,15 @@ function import_site($arr, $pubkey) {
|
||||||
|| ($siterecord['site_sellpage'] != $sellpage)
|
|| ($siterecord['site_sellpage'] != $sellpage)
|
||||||
|| ($siterecord['site_location'] != $site_location)
|
|| ($siterecord['site_location'] != $site_location)
|
||||||
|| ($siterecord['site_register'] != $register_policy)
|
|| ($siterecord['site_register'] != $register_policy)
|
||||||
|
|| ($siterecord['site_project'] != $site_project)
|
||||||
|| ($siterecord['site_realm'] != $site_realm)) {
|
|| ($siterecord['site_realm'] != $site_realm)) {
|
||||||
$update = true;
|
$update = true;
|
||||||
|
|
||||||
// logger('import_site: input: ' . print_r($arr,true));
|
// logger('import_site: input: ' . print_r($arr,true));
|
||||||
// logger('import_site: stored: ' . print_r($siterecord,true));
|
// logger('import_site: stored: ' . print_r($siterecord,true));
|
||||||
|
|
||||||
$r = q("update site set site_dead = 0, site_location = '%s', site_flags = %d, site_access = %d, site_directory = '%s', site_register = %d, site_update = '%s', site_sellpage = '%s', site_realm = '%s', site_type = %d
|
|
||||||
|
$r = q("update site set site_dead = 0, site_location = '%s', site_flags = %d, site_access = %d, site_directory = '%s', site_register = %d, site_update = '%s', site_sellpage = '%s', site_realm = '%s', site_type = %d, site_project = '%s'
|
||||||
where site_url = '%s'",
|
where site_url = '%s'",
|
||||||
dbesc($site_location),
|
dbesc($site_location),
|
||||||
intval($site_directory),
|
intval($site_directory),
|
||||||
|
@ -2774,6 +2777,7 @@ function import_site($arr, $pubkey) {
|
||||||
dbesc($sellpage),
|
dbesc($sellpage),
|
||||||
dbesc($site_realm),
|
dbesc($site_realm),
|
||||||
intval(SITE_TYPE_ZOT),
|
intval(SITE_TYPE_ZOT),
|
||||||
|
dbesc($site_project),
|
||||||
dbesc($url)
|
dbesc($url)
|
||||||
);
|
);
|
||||||
if(! $r) {
|
if(! $r) {
|
||||||
|
@ -2790,8 +2794,9 @@ function import_site($arr, $pubkey) {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$update = true;
|
$update = true;
|
||||||
$r = q("insert into site ( site_location, site_url, site_access, site_flags, site_update, site_directory, site_register, site_sellpage, site_realm, site_type )
|
|
||||||
values ( '%s', '%s', %d, %d, '%s', '%s', %d, '%s', '%s', %d )",
|
$r = q("insert into site ( site_location, site_url, site_access, site_flags, site_update, site_directory, site_register, site_sellpage, site_realm, site_type, site_project )
|
||||||
|
values ( '%s', '%s', %d, %d, '%s', '%s', %d, '%s', '%s', %d, '%s' )",
|
||||||
dbesc($site_location),
|
dbesc($site_location),
|
||||||
dbesc($url),
|
dbesc($url),
|
||||||
intval($access_policy),
|
intval($access_policy),
|
||||||
|
@ -2801,7 +2806,8 @@ function import_site($arr, $pubkey) {
|
||||||
intval($register_policy),
|
intval($register_policy),
|
||||||
dbesc($sellpage),
|
dbesc($sellpage),
|
||||||
dbesc($site_realm),
|
dbesc($site_realm),
|
||||||
intval(SITE_TYPE_ZOT)
|
intval(SITE_TYPE_ZOT),
|
||||||
|
dbesc($site_project)
|
||||||
);
|
);
|
||||||
if(! $r) {
|
if(! $r) {
|
||||||
logger('import_site: record create failed. ' . print_r($arr,true));
|
logger('import_site: record create failed. ' . print_r($arr,true));
|
||||||
|
@ -3002,6 +3008,12 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
|
||||||
if(array_key_exists('chatroom',$arr) && $arr['chatroom'])
|
if(array_key_exists('chatroom',$arr) && $arr['chatroom'])
|
||||||
sync_chatrooms($channel,$arr['chatroom']);
|
sync_chatrooms($channel,$arr['chatroom']);
|
||||||
|
|
||||||
|
if(array_key_exists('conv',$arr) && $arr['conv'])
|
||||||
|
import_conv($channel,$arr['conv']);
|
||||||
|
|
||||||
|
if(array_key_exists('mail',$arr) && $arr['mail'])
|
||||||
|
import_mail($channel,$arr['mail']);
|
||||||
|
|
||||||
if(array_key_exists('event',$arr) && $arr['event'])
|
if(array_key_exists('event',$arr) && $arr['event'])
|
||||||
sync_events($channel,$arr['event']);
|
sync_events($channel,$arr['event']);
|
||||||
|
|
||||||
|
@ -3804,6 +3816,7 @@ function zotinfo($arr) {
|
||||||
$ret['site']['sellpage'] = get_config('system','sellpage');
|
$ret['site']['sellpage'] = get_config('system','sellpage');
|
||||||
$ret['site']['location'] = get_config('system','site_location');
|
$ret['site']['location'] = get_config('system','site_location');
|
||||||
$ret['site']['realm'] = get_directory_realm();
|
$ret['site']['realm'] = get_directory_realm();
|
||||||
|
$ret['site']['project'] = PLATFORM_NAME;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3876,3 +3889,45 @@ function check_zotinfo($channel,$locations,&$ret) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function delivery_report_is_storable($dr) {
|
||||||
|
|
||||||
|
call_hooks('dreport_is_storable',$dr);
|
||||||
|
|
||||||
|
// let plugins accept or reject - if neither, continue on
|
||||||
|
if(array_key_exists('accept',$dr) && intval($dr['accept']))
|
||||||
|
return true;
|
||||||
|
if(array_key_exists('reject',$dr) && intval($dr['reject']))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if(! ($dr['sender']))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// Is the sender one of our channels?
|
||||||
|
|
||||||
|
$c = q("select channel_id from channel where channel_hash = '%s' limit 1",
|
||||||
|
dbesc($dr['sender'])
|
||||||
|
);
|
||||||
|
if(! $c)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// is the recipient one of our connections, or do we want to store every report?
|
||||||
|
|
||||||
|
$r = explode(' ', $dr['recipient']);
|
||||||
|
$rxchan = $r[0];
|
||||||
|
$pcf = get_pconfig($c[0]['channel_id'],'system','dreport_store_all');
|
||||||
|
if($pcf)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
$r = q("select abook_id from abook where abook_xchan = '%s' and abook_channel = %d limit 1",
|
||||||
|
dbesc($rxchan),
|
||||||
|
intval($c[0]['channel_id'])
|
||||||
|
);
|
||||||
|
if($r)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -147,7 +147,12 @@ use SSL, your webserver must not listen on port 443 at all.
|
||||||
|
|
||||||
|
|
||||||
3. Create an empty database and note the access details (hostname, username,
|
3. Create an empty database and note the access details (hostname, username,
|
||||||
password, database name).
|
password, database name). The MySQL client libraries will fallback to socket
|
||||||
|
communication if the hostname is 'localhost' and some people have reported
|
||||||
|
issues with the socket implementation. Use it if your requirements mandate.
|
||||||
|
Otherwise if the database is served on the local server, use '127.0.0.1' for
|
||||||
|
the hostname. See https://dev.mysql.com/doc/refman/5.0/en/connecting.html
|
||||||
|
for more information.
|
||||||
|
|
||||||
4. If you know in advance that it will be impossible for the web server to
|
4. If you know in advance that it will be impossible for the web server to
|
||||||
write or create files in your web directory, create an empty file called
|
write or create files in your web directory, create an empty file called
|
||||||
|
|
|
@ -731,6 +731,7 @@ CREATE TABLE IF NOT EXISTS `likes` (
|
||||||
CREATE TABLE IF NOT EXISTS `mail` (
|
CREATE TABLE IF NOT EXISTS `mail` (
|
||||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
`convid` int(10) unsigned NOT NULL DEFAULT '0',
|
`convid` int(10) unsigned NOT NULL DEFAULT '0',
|
||||||
|
`conv_guid` char(255) NOT NULL DEFAULT '',
|
||||||
`mail_flags` int(10) unsigned NOT NULL DEFAULT '0',
|
`mail_flags` int(10) unsigned NOT NULL DEFAULT '0',
|
||||||
`from_xchan` char(255) NOT NULL DEFAULT '',
|
`from_xchan` char(255) NOT NULL DEFAULT '',
|
||||||
`to_xchan` char(255) NOT NULL DEFAULT '',
|
`to_xchan` char(255) NOT NULL DEFAULT '',
|
||||||
|
@ -761,6 +762,7 @@ CREATE TABLE IF NOT EXISTS `mail` (
|
||||||
KEY `parent_mid` (`parent_mid`),
|
KEY `parent_mid` (`parent_mid`),
|
||||||
KEY `expires` (`expires`),
|
KEY `expires` (`expires`),
|
||||||
KEY `convid` (`convid`),
|
KEY `convid` (`convid`),
|
||||||
|
KEY `conv_guid` (`conv_guid`),
|
||||||
KEY `mail_deleted` (`mail_deleted`),
|
KEY `mail_deleted` (`mail_deleted`),
|
||||||
KEY `mail_replied` (`mail_replied`),
|
KEY `mail_replied` (`mail_replied`),
|
||||||
KEY `mail_isreply` (`mail_isreply`),
|
KEY `mail_isreply` (`mail_isreply`),
|
||||||
|
@ -1132,6 +1134,7 @@ CREATE TABLE IF NOT EXISTS `site` (
|
||||||
`site_valid` smallint NOT NULL DEFAULT '0',
|
`site_valid` smallint NOT NULL DEFAULT '0',
|
||||||
`site_dead` smallint NOT NULL DEFAULT '0',
|
`site_dead` smallint NOT NULL DEFAULT '0',
|
||||||
`site_type` smallint NOT NULL DEFAULT '0',
|
`site_type` smallint NOT NULL DEFAULT '0',
|
||||||
|
`site_project` char(255) NOT NULL DEFAULT '',
|
||||||
PRIMARY KEY (`site_url`),
|
PRIMARY KEY (`site_url`),
|
||||||
KEY `site_flags` (`site_flags`),
|
KEY `site_flags` (`site_flags`),
|
||||||
KEY `site_update` (`site_update`),
|
KEY `site_update` (`site_update`),
|
||||||
|
@ -1143,7 +1146,8 @@ CREATE TABLE IF NOT EXISTS `site` (
|
||||||
KEY `site_realm` (`site_realm`),
|
KEY `site_realm` (`site_realm`),
|
||||||
KEY `site_valid` (`site_valid`),
|
KEY `site_valid` (`site_valid`),
|
||||||
KEY `site_dead` (`site_dead`),
|
KEY `site_dead` (`site_dead`),
|
||||||
KEY `site_type` (`site_type`)
|
KEY `site_type` (`site_type`),
|
||||||
|
KEY `site_project` (`site_project`)
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `source` (
|
CREATE TABLE IF NOT EXISTS `source` (
|
||||||
|
|
|
@ -728,6 +728,7 @@ create index "likes_target_id" on likes ("target_id");
|
||||||
CREATE TABLE "mail" (
|
CREATE TABLE "mail" (
|
||||||
"id" serial NOT NULL,
|
"id" serial NOT NULL,
|
||||||
"convid" bigint NOT NULL DEFAULT '0',
|
"convid" bigint NOT NULL DEFAULT '0',
|
||||||
|
"conv_guid" text NOT NULL,
|
||||||
"mail_flags" bigint NOT NULL DEFAULT '0',
|
"mail_flags" bigint NOT NULL DEFAULT '0',
|
||||||
"from_xchan" text NOT NULL DEFAULT '',
|
"from_xchan" text NOT NULL DEFAULT '',
|
||||||
"to_xchan" text NOT NULL DEFAULT '',
|
"to_xchan" text NOT NULL DEFAULT '',
|
||||||
|
@ -750,6 +751,7 @@ CREATE TABLE "mail" (
|
||||||
PRIMARY KEY ("id")
|
PRIMARY KEY ("id")
|
||||||
);
|
);
|
||||||
create index "mail_convid" on mail ("convid");
|
create index "mail_convid" on mail ("convid");
|
||||||
|
create index "mail_conv_guid" on mail ("conv_guid");
|
||||||
create index "mail_created" on mail ("created");
|
create index "mail_created" on mail ("created");
|
||||||
create index "mail_flags" on mail ("mail_flags");
|
create index "mail_flags" on mail ("mail_flags");
|
||||||
create index "mail_account_id" on mail ("account_id");
|
create index "mail_account_id" on mail ("account_id");
|
||||||
|
@ -1123,6 +1125,7 @@ CREATE TABLE "site" (
|
||||||
"site_valid" smallint NOT NULL DEFAULT '0',
|
"site_valid" smallint NOT NULL DEFAULT '0',
|
||||||
"site_dead" smallint NOT NULL DEFAULT '0',
|
"site_dead" smallint NOT NULL DEFAULT '0',
|
||||||
"site_type" smallint NOT NULL DEFAULT '0',
|
"site_type" smallint NOT NULL DEFAULT '0',
|
||||||
|
"site_project" text NOT NULL DEFAULT '',
|
||||||
PRIMARY KEY ("site_url")
|
PRIMARY KEY ("site_url")
|
||||||
);
|
);
|
||||||
create index "site_flags" on site ("site_flags");
|
create index "site_flags" on site ("site_flags");
|
||||||
|
@ -1135,6 +1138,7 @@ create index "site_realm" on site ("site_realm");
|
||||||
create index "site_valid" on site ("site_valid");
|
create index "site_valid" on site ("site_valid");
|
||||||
create index "site_dead" on site ("site_dead");
|
create index "site_dead" on site ("site_dead");
|
||||||
create index "site_type" on site ("site_type");
|
create index "site_type" on site ("site_type");
|
||||||
|
create index "site_project" on site ("site_project");
|
||||||
|
|
||||||
CREATE TABLE "source" (
|
CREATE TABLE "source" (
|
||||||
"src_id" serial NOT NULL,
|
"src_id" serial NOT NULL,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
define( 'UPDATE_VERSION' , 1156 );
|
define( 'UPDATE_VERSION' , 1158 );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -1885,3 +1885,35 @@ function update_r1155() {
|
||||||
return UPDATE_FAILED;
|
return UPDATE_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function update_r1156() {
|
||||||
|
$r1 = q("ALTER TABLE mail ADD conv_guid CHAR( 255 ) NOT NULL DEFAULT '' ");
|
||||||
|
$r2 = q("create index conv_guid on mail ( conv_guid ) ");
|
||||||
|
|
||||||
|
$r3 = q("select mail.id, mail.convid, conv.guid from mail left join conv on mail.convid = conv.id where true");
|
||||||
|
if($r3) {
|
||||||
|
foreach($r3 as $rr) {
|
||||||
|
if($rr['convid']) {
|
||||||
|
q("update mail set conv_guid = '%s' where id = %d",
|
||||||
|
dbesc($rr['guid']),
|
||||||
|
intval($rr['id'])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($r1 && $r2)
|
||||||
|
return UPDATE_SUCCESS;
|
||||||
|
return UPDATE_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
|
function update_r1157() {
|
||||||
|
$r1 = q("alter table site add site_project char(255) not null default '' ");
|
||||||
|
$r2 = q("create index site_project on site ( site_project ) ");
|
||||||
|
if($r1 && $r2)
|
||||||
|
return UPDATE_SUCCESS;
|
||||||
|
return UPDATE_FAILED;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -173,7 +173,7 @@ function channel_content(&$a, $update = 0, $load = false) {
|
||||||
$r = q("SELECT distinct parent AS `item_id`, created from item
|
$r = q("SELECT distinct parent AS `item_id`, created from item
|
||||||
left join abook on ( item.owner_xchan = abook.abook_xchan $abook_uids )
|
left join abook on ( item.owner_xchan = abook.abook_xchan $abook_uids )
|
||||||
WHERE uid = %d $item_normal
|
WHERE uid = %d $item_normal
|
||||||
AND item_wall = 1 AND item_unseen = 1
|
AND item_wall = 1 $simple_update
|
||||||
AND (abook.abook_blocked = 0 or abook.abook_flags is null)
|
AND (abook.abook_blocked = 0 or abook.abook_flags is null)
|
||||||
$sql_extra
|
$sql_extra
|
||||||
ORDER BY created DESC",
|
ORDER BY created DESC",
|
||||||
|
|
|
@ -59,6 +59,9 @@ function chat_post(&$a) {
|
||||||
|
|
||||||
$arr = $acl->get();
|
$arr = $acl->get();
|
||||||
$arr['name'] = $room;
|
$arr['name'] = $room;
|
||||||
|
$arr['expire'] = intval($_POST['chat_expire']);
|
||||||
|
if(intval($arr['expire']) < 0)
|
||||||
|
$arr['expire'] = 0;
|
||||||
|
|
||||||
chatroom_create($channel,$arr);
|
chatroom_create($channel,$arr);
|
||||||
|
|
||||||
|
@ -204,6 +207,7 @@ function chat_content(&$a) {
|
||||||
$o = replace_macros(get_markup_template('chatroom_new.tpl'),array(
|
$o = replace_macros(get_markup_template('chatroom_new.tpl'),array(
|
||||||
'$header' => t('New Chatroom'),
|
'$header' => t('New Chatroom'),
|
||||||
'$name' => array('room_name',t('Chatroom Name'),'', ''),
|
'$name' => array('room_name',t('Chatroom Name'),'', ''),
|
||||||
|
'$chat_expire' => array('chat_expire',t('Expiration of chats (minutes)'),120,''),
|
||||||
'$permissions' => t('Permissions'),
|
'$permissions' => t('Permissions'),
|
||||||
'$acl' => populate_acl($channel_acl,false),
|
'$acl' => populate_acl($channel_acl,false),
|
||||||
'$submit' => t('Submit')
|
'$submit' => t('Submit')
|
||||||
|
|
|
@ -190,7 +190,7 @@ function connedit_post(&$a) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$abook_pending = $new_friend ? 0 : $orig_record[0]['abook_pending'];
|
$abook_pending = (($new_friend) ? 0 : $orig_record[0]['abook_pending']);
|
||||||
|
|
||||||
$r = q("UPDATE abook SET abook_profile = '%s', abook_my_perms = %d , abook_closeness = %d, abook_pending = %d,
|
$r = q("UPDATE abook SET abook_profile = '%s', abook_my_perms = %d , abook_closeness = %d, abook_pending = %d,
|
||||||
abook_incl = '%s', abook_excl = '%s'
|
abook_incl = '%s', abook_excl = '%s'
|
||||||
|
@ -214,7 +214,6 @@ function connedit_post(&$a) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if($r)
|
if($r)
|
||||||
info( t('Connection updated.') . EOL);
|
info( t('Connection updated.') . EOL);
|
||||||
else
|
else
|
||||||
|
@ -222,7 +221,7 @@ function connedit_post(&$a) {
|
||||||
|
|
||||||
if($a->poi && $a->poi['abook_my_perms'] != $abook_my_perms
|
if($a->poi && $a->poi['abook_my_perms'] != $abook_my_perms
|
||||||
&& (! intval($a->poi['abook_self']))) {
|
&& (! intval($a->poi['abook_self']))) {
|
||||||
proc_run('php', 'include/notifier.php', 'permission_update', $contact_id);
|
proc_run('php', 'include/notifier.php', (($new_friend) ? 'permission_create' : 'permission_update'), $contact_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($new_friend) {
|
if($new_friend) {
|
||||||
|
|
|
@ -436,9 +436,9 @@ function list_public_sites() {
|
||||||
$register = 'closed';
|
$register = 'closed';
|
||||||
|
|
||||||
if(strpos($rr['site_url'],'https://') !== false)
|
if(strpos($rr['site_url'],'https://') !== false)
|
||||||
$ret['sites'][] = array('url' => $rr['site_url'], 'access' => $access, 'register' => $register, 'sellpage' => $rr['site_sellpage'], 'location' => $rr['site_location']);
|
$ret['sites'][] = array('url' => $rr['site_url'], 'access' => $access, 'register' => $register, 'sellpage' => $rr['site_sellpage'], 'location' => $rr['site_location'], 'project' => $rr['site_project']);
|
||||||
else
|
else
|
||||||
$insecure[] = array('url' => $rr['site_url'], 'access' => $access, 'register' => $register, 'sellpage' => $rr['site_sellpage'], 'location' => $rr['site_location']);
|
$insecure[] = array('url' => $rr['site_url'], 'access' => $access, 'register' => $register, 'sellpage' => $rr['site_sellpage'], 'location' => $rr['site_location'], 'project' => $rr['site_project']);
|
||||||
}
|
}
|
||||||
if($insecure) {
|
if($insecure) {
|
||||||
$ret['sites'] = array_merge($ret['sites'],$insecure);
|
$ret['sites'] = array_merge($ret['sites'],$insecure);
|
||||||
|
|
|
@ -129,7 +129,7 @@ function editpost_content(&$a) {
|
||||||
'$consensus' => intval($itm[0]['item_consensus']),
|
'$consensus' => intval($itm[0]['item_consensus']),
|
||||||
'$wait' => t('Please wait'),
|
'$wait' => t('Please wait'),
|
||||||
'$permset' => t('Permission settings'),
|
'$permset' => t('Permission settings'),
|
||||||
'$ptyp' => $itm[0]['type'],
|
'$ptyp' => $itm[0]['obj_type'],
|
||||||
'$content' => undo_post_tagging($itm[0]['body']),
|
'$content' => undo_post_tagging($itm[0]['body']),
|
||||||
'$post_id' => $post_id,
|
'$post_id' => $post_id,
|
||||||
'$parent' => (($itm[0]['parent'] != $itm[0]['id']) ? $itm[0]['parent'] : ''),
|
'$parent' => (($itm[0]['parent'] != $itm[0]['id']) ? $itm[0]['parent'] : ''),
|
||||||
|
|
|
@ -59,12 +59,14 @@ function home_content(&$a, $update = 0, $load = false) {
|
||||||
return $o;
|
return $o;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(strpos($frontpage,'http') !== 0)
|
||||||
|
$frontpage = z_root() . '/' . $frontpage;
|
||||||
if(intval(get_config('system','mirror_frontpage'))) {
|
if(intval(get_config('system','mirror_frontpage'))) {
|
||||||
$o = '<html><head><title>' . t('$Projectname') . '</title></head><body style="margin: 0; padding: 0; border: none;" ><iframe src="' . z_root() . '/' . $frontpage . '" width="100%" height="100%" style="margin: 0; padding: 0; border: none;" ></iframe></body></html>';
|
$o = '<html><head><title>' . t('$Projectname') . '</title></head><body style="margin: 0; padding: 0; border: none;" ><iframe src="' . $frontpage . '" width="100%" height="100%" style="margin: 0; padding: 0; border: none;" ></iframe></body></html>';
|
||||||
echo $o;
|
echo $o;
|
||||||
killme();
|
killme();
|
||||||
}
|
}
|
||||||
goaway(z_root() . '/' . $frontpage);
|
goaway($frontpage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -441,6 +441,12 @@ function import_post(&$a) {
|
||||||
if(is_array($data['chatroom']))
|
if(is_array($data['chatroom']))
|
||||||
import_chatrooms($channel,$data['chatroom']);
|
import_chatrooms($channel,$data['chatroom']);
|
||||||
|
|
||||||
|
if(is_array($data['conv']))
|
||||||
|
import_conv($channel,$data['conv']);
|
||||||
|
|
||||||
|
if(is_array($data['mail']))
|
||||||
|
import_mail($channel,$data['mail']);
|
||||||
|
|
||||||
if(is_array($data['event']))
|
if(is_array($data['event']))
|
||||||
import_events($channel,$data['event']);
|
import_events($channel,$data['event']);
|
||||||
|
|
||||||
|
|
|
@ -96,7 +96,7 @@ function item_post(&$a) {
|
||||||
$owner_hash = null;
|
$owner_hash = null;
|
||||||
|
|
||||||
$message_id = ((x($_REQUEST,'message_id') && $api_source) ? strip_tags($_REQUEST['message_id']) : '');
|
$message_id = ((x($_REQUEST,'message_id') && $api_source) ? strip_tags($_REQUEST['message_id']) : '');
|
||||||
$created = ((x($_REQUEST,'created')) ? datetime_convert('UTC','UTC',$_REQUEST['created']) : datetime_convert());
|
$created = ((x($_REQUEST,'created')) ? datetime_convert(date_default_timezone_get(),'UTC',$_REQUEST['created']) : datetime_convert());
|
||||||
$post_id = ((x($_REQUEST,'post_id')) ? intval($_REQUEST['post_id']) : 0);
|
$post_id = ((x($_REQUEST,'post_id')) ? intval($_REQUEST['post_id']) : 0);
|
||||||
$app = ((x($_REQUEST,'source')) ? strip_tags($_REQUEST['source']) : '');
|
$app = ((x($_REQUEST,'source')) ? strip_tags($_REQUEST['source']) : '');
|
||||||
$return_path = ((x($_REQUEST,'return')) ? $_REQUEST['return'] : '');
|
$return_path = ((x($_REQUEST,'return')) ? $_REQUEST['return'] : '');
|
||||||
|
@ -107,7 +107,6 @@ function item_post(&$a) {
|
||||||
$layout_mid = ((x($_REQUEST,'layout_mid')) ? escape_tags($_REQUEST['layout_mid']): '');
|
$layout_mid = ((x($_REQUEST,'layout_mid')) ? escape_tags($_REQUEST['layout_mid']): '');
|
||||||
$plink = ((x($_REQUEST,'permalink')) ? escape_tags($_REQUEST['permalink']) : '');
|
$plink = ((x($_REQUEST,'permalink')) ? escape_tags($_REQUEST['permalink']) : '');
|
||||||
$obj_type = ((x($_REQUEST,'obj_type')) ? escape_tags($_REQUEST['obj_type']) : ACTIVITY_OBJ_NOTE);
|
$obj_type = ((x($_REQUEST,'obj_type')) ? escape_tags($_REQUEST['obj_type']) : ACTIVITY_OBJ_NOTE);
|
||||||
|
|
||||||
// allow API to bulk load a bunch of imported items with sending out a bunch of posts.
|
// allow API to bulk load a bunch of imported items with sending out a bunch of posts.
|
||||||
$nopush = ((x($_REQUEST,'nopush')) ? intval($_REQUEST['nopush']) : 0);
|
$nopush = ((x($_REQUEST,'nopush')) ? intval($_REQUEST['nopush']) : 0);
|
||||||
|
|
||||||
|
|
86
mod/mail.php
86
mod/mail.php
|
@ -97,7 +97,11 @@ function mail_post(&$a) {
|
||||||
|
|
||||||
$ret = send_message(0, $recipient, $body, $subject, $replyto, $expires);
|
$ret = send_message(0, $recipient, $body, $subject, $replyto, $expires);
|
||||||
|
|
||||||
if(! $ret['success']) {
|
if($ret['success']) {
|
||||||
|
xchan_mail_query($ret['mail']);
|
||||||
|
build_sync_packet(0,array('conv' => array($ret['conv']),'mail' => array(encode_mail($ret['mail'],true))));
|
||||||
|
}
|
||||||
|
else {
|
||||||
notice($ret['message']);
|
notice($ret['message']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -149,6 +153,14 @@ function mail_content(&$a) {
|
||||||
intval(argv(3)),
|
intval(argv(3)),
|
||||||
intval(local_channel())
|
intval(local_channel())
|
||||||
);
|
);
|
||||||
|
$x = q("select * from mail where id = %d and channel_id = %d",
|
||||||
|
intval(argv(3)),
|
||||||
|
intval(local_channel())
|
||||||
|
);
|
||||||
|
if($x) {
|
||||||
|
build_sync_packet(local_channel(),array('mail' => encode_mail($x[0],true)));
|
||||||
|
}
|
||||||
|
|
||||||
proc_run('php','include/notifier.php','mail',intval(argv(3)));
|
proc_run('php','include/notifier.php','mail',intval(argv(3)));
|
||||||
|
|
||||||
if($r) {
|
if($r) {
|
||||||
|
@ -185,68 +197,48 @@ function mail_content(&$a) {
|
||||||
|
|
||||||
$a->page['htmlhead'] .= $header;
|
$a->page['htmlhead'] .= $header;
|
||||||
|
|
||||||
|
$prename = '';
|
||||||
$preselect = (isset($a->argv[2])?array($a->argv[2]):false);
|
$preid = '';
|
||||||
$prename = $preurl = $preid = '';
|
|
||||||
|
|
||||||
if(x($_REQUEST,'hash')) {
|
if(x($_REQUEST,'hash')) {
|
||||||
|
|
||||||
$r = q("select abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash
|
$r = q("select abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash
|
||||||
where abook_channel = %d and abook_xchan = '%s' limit 1",
|
where abook_channel = %d and abook_xchan = '%s' limit 1",
|
||||||
intval(local_channel()),
|
intval(local_channel()),
|
||||||
dbesc($_REQUEST['hash'])
|
dbesc($_REQUEST['hash'])
|
||||||
);
|
);
|
||||||
if($r) {
|
|
||||||
$prename = $r[0]['xchan_name'];
|
|
||||||
$preurl = $r[0]['xchan_url'];
|
|
||||||
$preid = $r[0]['abook_id'];
|
|
||||||
$preselect = array($preid);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if(!$r) {
|
||||||
if($preselect) {
|
$r = q("select * from xchan where xchan_hash = '%s' and xchan_network = 'zot' limit 1",
|
||||||
$r = q("select abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash
|
dbesc($_REQUEST['hash'])
|
||||||
where abook_channel = %d and abook_id = %d limit 1",
|
|
||||||
intval(local_channel()),
|
|
||||||
intval(argv(2))
|
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if($r) {
|
if($r) {
|
||||||
$prename = $r[0]['xchan_name'];
|
$prename = (($r[0]['abook_id']) ? $r[0]['xchan_name'] : $r[0]['xchan_addr']);
|
||||||
$preurl = $r[0]['xchan_url'];
|
$preurl = $r[0]['xchan_url'];
|
||||||
$preid = $r[0]['abook_id'];
|
$preid = (($r[0]['abook_id']) ? ($r[0]['xchan_hash']) : '');
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
notice( t('Requested channel is not in this network') . EOL );
|
||||||
}
|
}
|
||||||
|
|
||||||
$prefill = (($preselect) ? $prename : '');
|
|
||||||
|
|
||||||
if(! $prefill) {
|
|
||||||
if(array_key_exists('to',$_REQUEST))
|
|
||||||
$prefill = $_REQUEST['to'];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// the ugly select box
|
|
||||||
|
|
||||||
$select = contact_select('messageto','message-to-select', $preselect, 4, true, false, false, 10);
|
|
||||||
|
|
||||||
$tpl = get_markup_template('prv_message.tpl');
|
$tpl = get_markup_template('prv_message.tpl');
|
||||||
$o .= replace_macros($tpl,array(
|
$o .= replace_macros($tpl,array(
|
||||||
|
'$new' => true,
|
||||||
'$header' => t('Send Private Message'),
|
'$header' => t('Send Private Message'),
|
||||||
'$to' => t('To:'),
|
'$to' => t('To:'),
|
||||||
'$showinputs' => 'true',
|
'$prefill' => $prename,
|
||||||
'$prefill' => $prefill,
|
|
||||||
'$autocomp' => $autocomp,
|
|
||||||
'$preid' => $preid,
|
'$preid' => $preid,
|
||||||
'$subject' => t('Subject:'),
|
'$subject' => t('Subject:'),
|
||||||
'$subjtxt' => ((x($_REQUEST,'subject')) ? strip_tags($_REQUEST['subject']) : ''),
|
'$subjtxt' => ((x($_REQUEST,'subject')) ? strip_tags($_REQUEST['subject']) : ''),
|
||||||
'$text' => ((x($_REQUEST,'body')) ? htmlspecialchars($_REQUEST['body'], ENT_COMPAT, 'UTF-8') : ''),
|
'$text' => ((x($_REQUEST,'body')) ? htmlspecialchars($_REQUEST['body'], ENT_COMPAT, 'UTF-8') : ''),
|
||||||
'$readonly' => '',
|
|
||||||
'$yourmessage' => t('Your message:'),
|
'$yourmessage' => t('Your message:'),
|
||||||
'$select' => $select,
|
|
||||||
'$parent' => '',
|
'$parent' => '',
|
||||||
'$upload' => t('Upload photo'),
|
|
||||||
'$attach' => t('Attach file'),
|
'$attach' => t('Attach file'),
|
||||||
'$insert' => t('Insert web link'),
|
'$insert' => t('Insert web link'),
|
||||||
'$wait' => t('Please wait'),
|
|
||||||
'$submit' => t('Send'),
|
'$submit' => t('Send'),
|
||||||
'$defexpire' => '',
|
'$defexpire' => '',
|
||||||
'$feature_expire' => ((feature_enabled(local_channel(),'content_expire')) ? true : false),
|
'$feature_expire' => ((feature_enabled(local_channel(),'content_expire')) ? true : false),
|
||||||
|
@ -254,8 +246,6 @@ function mail_content(&$a) {
|
||||||
'$feature_encrypt' => ((feature_enabled(local_channel(),'content_encrypt')) ? true : false),
|
'$feature_encrypt' => ((feature_enabled(local_channel(),'content_encrypt')) ? true : false),
|
||||||
'$encrypt' => t('Encrypt text'),
|
'$encrypt' => t('Encrypt text'),
|
||||||
'$cipher' => $cipher,
|
'$cipher' => $cipher,
|
||||||
|
|
||||||
|
|
||||||
));
|
));
|
||||||
|
|
||||||
return $o;
|
return $o;
|
||||||
|
@ -285,7 +275,14 @@ function mail_content(&$a) {
|
||||||
// if( local_channel() && feature_enabled(local_channel(),'richtext') )
|
// if( local_channel() && feature_enabled(local_channel(),'richtext') )
|
||||||
// $plaintext = false;
|
// $plaintext = false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if($mailbox == 'combined') {
|
||||||
$messages = private_messages_fetch_conversation(local_channel(), $mid, true);
|
$messages = private_messages_fetch_conversation(local_channel(), $mid, true);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$messages = private_messages_fetch_message(local_channel(), $mid, true);
|
||||||
|
}
|
||||||
|
|
||||||
if(! $messages) {
|
if(! $messages) {
|
||||||
//info( t('Message not found.') . EOL);
|
//info( t('Message not found.') . EOL);
|
||||||
|
@ -347,10 +344,6 @@ function mail_content(&$a) {
|
||||||
|
|
||||||
$recp = (($message['from_xchan'] === $channel['channel_hash']) ? 'to' : 'from');
|
$recp = (($message['from_xchan'] === $channel['channel_hash']) ? 'to' : 'from');
|
||||||
|
|
||||||
// FIXME - move this HTML to template
|
|
||||||
|
|
||||||
$select = $message[$recp]['xchan_name'] . '<input type="hidden" name="messageto" value="' . $message[$recp]['xchan_hash'] . '" />';
|
|
||||||
$parent = '<input type="hidden" name="replyto" value="' . $message['parent_mid'] . '" />';
|
|
||||||
$tpl = get_markup_template('mail_display.tpl');
|
$tpl = get_markup_template('mail_display.tpl');
|
||||||
$o = replace_macros($tpl, array(
|
$o = replace_macros($tpl, array(
|
||||||
'$mailbox' => $mailbox,
|
'$mailbox' => $mailbox,
|
||||||
|
@ -366,19 +359,16 @@ function mail_content(&$a) {
|
||||||
// reply
|
// reply
|
||||||
'$header' => t('Send Reply'),
|
'$header' => t('Send Reply'),
|
||||||
'$to' => t('To:'),
|
'$to' => t('To:'),
|
||||||
'$showinputs' => '',
|
'$reply' => true,
|
||||||
'$subject' => t('Subject:'),
|
'$subject' => t('Subject:'),
|
||||||
'$subjtxt' => $message['title'],
|
'$subjtxt' => $message['title'],
|
||||||
'$readonly' => 'readonly="readonly"',
|
'$yourmessage' => sprintf(t('Your message for %s (%s):'), $message[$recp]['xchan_name'], $message[$recp]['xchan_addr']),
|
||||||
'$yourmessage' => t('Your message:'),
|
|
||||||
'$text' => '',
|
'$text' => '',
|
||||||
'$select' => $select,
|
'$parent' => $message['parent_mid'],
|
||||||
'$parent' => $parent,
|
'$recphash' => $message[$recp]['xchan_hash'],
|
||||||
'$upload' => t('Upload photo'),
|
|
||||||
'$attach' => t('Attach file'),
|
'$attach' => t('Attach file'),
|
||||||
'$insert' => t('Insert web link'),
|
'$insert' => t('Insert web link'),
|
||||||
'$submit' => t('Submit'),
|
'$submit' => t('Submit'),
|
||||||
'$wait' => t('Please wait'),
|
|
||||||
'$defexpire' => '',
|
'$defexpire' => '',
|
||||||
'$feature_expire' => ((feature_enabled(local_channel(),'content_expire')) ? true : false),
|
'$feature_expire' => ((feature_enabled(local_channel(),'content_expire')) ? true : false),
|
||||||
'$expires' => t('Set expiration date'),
|
'$expires' => t('Set expiration date'),
|
||||||
|
|
|
@ -149,8 +149,9 @@ function photos_post(&$a) {
|
||||||
if($r) {
|
if($r) {
|
||||||
foreach($r as $i) {
|
foreach($r as $i) {
|
||||||
attach_delete($page_owner_uid, $i['resource_id'], 1 );
|
attach_delete($page_owner_uid, $i['resource_id'], 1 );
|
||||||
drop_item($i['id'],false,DROPITEM_PHASE1,true /* force removal of linked items */);
|
// This is now being done in attach_delete()
|
||||||
proc_run('php','include/notifier.php','drop',$i['id']);
|
// drop_item($i['id'],false,DROPITEM_PHASE1,true /* force removal of linked items */);
|
||||||
|
// proc_run('php','include/notifier.php','drop',$i['id']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -182,12 +183,14 @@ function photos_post(&$a) {
|
||||||
);
|
);
|
||||||
|
|
||||||
if($r) {
|
if($r) {
|
||||||
|
/*
|
||||||
q("DELETE FROM `photo` WHERE `uid` = %d AND `resource_id` = '%s'",
|
q("DELETE FROM `photo` WHERE `uid` = %d AND `resource_id` = '%s'",
|
||||||
intval($page_owner_uid),
|
intval($page_owner_uid),
|
||||||
dbesc($r[0]['resource_id'])
|
dbesc($r[0]['resource_id'])
|
||||||
);
|
);
|
||||||
|
*/
|
||||||
attach_delete($page_owner_uid, $r[0]['resource_id'], 1 );
|
attach_delete($page_owner_uid, $r[0]['resource_id'], 1 );
|
||||||
|
/*
|
||||||
$i = q("SELECT * FROM `item` WHERE `resource_id` = '%s' AND resource_type = 'photo' and `uid` = %d LIMIT 1",
|
$i = q("SELECT * FROM `item` WHERE `resource_id` = '%s' AND resource_type = 'photo' and `uid` = %d LIMIT 1",
|
||||||
dbesc($r[0]['resource_id']),
|
dbesc($r[0]['resource_id']),
|
||||||
intval($page_owner_uid)
|
intval($page_owner_uid)
|
||||||
|
@ -196,6 +199,7 @@ function photos_post(&$a) {
|
||||||
drop_item($i[0]['id'],true,DROPITEM_PHASE1);
|
drop_item($i[0]['id'],true,DROPITEM_PHASE1);
|
||||||
$url = $a->get_baseurl();
|
$url = $a->get_baseurl();
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
goaway($a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/album/' . $_SESSION['album_return']);
|
goaway($a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/album/' . $_SESSION['album_return']);
|
||||||
|
@ -229,7 +233,8 @@ function photos_post(&$a) {
|
||||||
intval($page_owner_uid)
|
intval($page_owner_uid)
|
||||||
);
|
);
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
$ph = photo_factory(dbunescbin($r[0]['data']), $r[0]['type']);
|
$d = (($r[0]['os_storage']) ? @file_get_contents($r[0]['data']) : dbunescbin($r[0]['data']));
|
||||||
|
$ph = photo_factory($d, $r[0]['type']);
|
||||||
if($ph->is_valid()) {
|
if($ph->is_valid()) {
|
||||||
$rotate_deg = ( (intval($_POST['rotate']) == 1) ? 270 : 90 );
|
$rotate_deg = ( (intval($_POST['rotate']) == 1) ? 270 : 90 );
|
||||||
$ph->rotate($rotate_deg);
|
$ph->rotate($rotate_deg);
|
||||||
|
@ -237,16 +242,33 @@ function photos_post(&$a) {
|
||||||
$width = $ph->getWidth();
|
$width = $ph->getWidth();
|
||||||
$height = $ph->getHeight();
|
$height = $ph->getHeight();
|
||||||
|
|
||||||
$x = q("update photo set data = '%s', height = %d, width = %d where `resource_id` = '%s' and uid = %d and scale = 0",
|
if(intval($r[0]['os_storage'])) {
|
||||||
dbescbin($ph->imageString()),
|
@file_put_contents($r[0]['data'],$ph->imageString());
|
||||||
|
$data = $r[0]['data'];
|
||||||
|
$fsize = @filesize($r[0]['data']);
|
||||||
|
q("update attach set filesize = %d where hash = '%s' and uid = %d limit 1",
|
||||||
|
intval($fsize),
|
||||||
|
dbesc($resource_id),
|
||||||
|
intval($page_owner_uid)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$data = $ph->imageString();
|
||||||
|
$fsize = strlen($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
$x = q("update photo set data = '%s', `size` = %d, height = %d, width = %d where `resource_id` = '%s' and uid = %d and scale = 0",
|
||||||
|
dbescbin($data),
|
||||||
|
intval($fsize),
|
||||||
intval($height),
|
intval($height),
|
||||||
intval($width),
|
intval($width),
|
||||||
dbesc($resource_id),
|
dbesc($resource_id),
|
||||||
intval($page_owner_uid)
|
intval($page_owner_uid)
|
||||||
);
|
);
|
||||||
|
|
||||||
if($width > 640 || $height > 640) {
|
if($width > 1024 || $height > 1024)
|
||||||
$ph->scaleImage(640);
|
$ph->scaleImage(1024);
|
||||||
|
|
||||||
$width = $ph->getWidth();
|
$width = $ph->getWidth();
|
||||||
$height = $ph->getHeight();
|
$height = $ph->getHeight();
|
||||||
|
|
||||||
|
@ -257,10 +279,11 @@ function photos_post(&$a) {
|
||||||
dbesc($resource_id),
|
dbesc($resource_id),
|
||||||
intval($page_owner_uid)
|
intval($page_owner_uid)
|
||||||
);
|
);
|
||||||
}
|
|
||||||
|
|
||||||
if($width > 320 || $height > 320) {
|
|
||||||
$ph->scaleImage(320);
|
if($width > 640 || $height > 640)
|
||||||
|
$ph->scaleImage(640);
|
||||||
|
|
||||||
$width = $ph->getWidth();
|
$width = $ph->getWidth();
|
||||||
$height = $ph->getHeight();
|
$height = $ph->getHeight();
|
||||||
|
|
||||||
|
@ -271,12 +294,26 @@ function photos_post(&$a) {
|
||||||
dbesc($resource_id),
|
dbesc($resource_id),
|
||||||
intval($page_owner_uid)
|
intval($page_owner_uid)
|
||||||
);
|
);
|
||||||
}
|
|
||||||
|
|
||||||
|
if($width > 320 || $height > 320)
|
||||||
|
$ph->scaleImage(320);
|
||||||
|
|
||||||
|
$width = $ph->getWidth();
|
||||||
|
$height = $ph->getHeight();
|
||||||
|
|
||||||
|
$x = q("update photo set data = '%s', height = %d, width = %d where `resource_id` = '%s' and uid = %d and scale = 3",
|
||||||
|
dbescbin($ph->imageString()),
|
||||||
|
intval($height),
|
||||||
|
intval($width),
|
||||||
|
dbesc($resource_id),
|
||||||
|
intval($page_owner_uid)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$p = q("SELECT * FROM `photo` WHERE `resource_id` = '%s' AND `uid` = %d ORDER BY `scale` DESC",
|
$p = q("SELECT type, is_nsfw, description, resource_id, scale, allow_cid, allow_gid, deny_cid, deny_gid FROM photo WHERE resource_id = '%s' AND uid = %d ORDER BY scale DESC",
|
||||||
dbesc($resource_id),
|
dbesc($resource_id),
|
||||||
intval($page_owner_uid)
|
intval($page_owner_uid)
|
||||||
);
|
);
|
||||||
|
@ -586,7 +623,9 @@ function photos_content(&$a) {
|
||||||
'$nickname' => $a->data['channel']['channel_address'],
|
'$nickname' => $a->data['channel']['channel_address'],
|
||||||
'$newalbum_label' => t('Enter an album name'),
|
'$newalbum_label' => t('Enter an album name'),
|
||||||
'$newalbum_placeholder' => t('or select an existing album (doubleclick)'),
|
'$newalbum_placeholder' => t('or select an existing album (doubleclick)'),
|
||||||
'$visible' => array('visible', t('Create a status post for this upload'), 0, '', array(t('No'), t('Yes'))),
|
'$visible' => array('visible', t('Create a status post for this upload'), 0,'', array(t('No'), t('Yes')), 'onclick="showHideBodyTextarea();"'),
|
||||||
|
'$caption' => array('description', t('Caption (optional):')),
|
||||||
|
'$body' => array('body', t('Description (optional):'),'', 'Description will only appear in the status post'),
|
||||||
'$albums' => $albums['albums'],
|
'$albums' => $albums['albums'],
|
||||||
'$selname' => $selname,
|
'$selname' => $selname,
|
||||||
'$permissions' => t('Permissions'),
|
'$permissions' => t('Permissions'),
|
||||||
|
@ -982,13 +1021,13 @@ function photos_content(&$a) {
|
||||||
$likebuttons = '';
|
$likebuttons = '';
|
||||||
|
|
||||||
if($can_post || $can_comment) {
|
if($can_post || $can_comment) {
|
||||||
$likebuttons = replace_macros($like_tpl,array(
|
$likebuttons = array(
|
||||||
'$id' => $link_item['id'],
|
'id' => $link_item['id'],
|
||||||
'$likethis' => t("I like this \x28toggle\x29"),
|
'likethis' => t("I like this \x28toggle\x29"),
|
||||||
'$nolike' => t("I don't like this \x28toggle\x29"),
|
'nolike' => t("I don't like this \x28toggle\x29"),
|
||||||
'$share' => t('Share'),
|
'share' => t('Share'),
|
||||||
'$wait' => t('Please wait')
|
'wait' => t('Please wait')
|
||||||
));
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$comments = '';
|
$comments = '';
|
||||||
|
|
|
@ -23,12 +23,12 @@ function pubsites_content(&$a) {
|
||||||
$j = json_decode($ret['body'],true);
|
$j = json_decode($ret['body'],true);
|
||||||
if($j) {
|
if($j) {
|
||||||
$rate_meta = ((local_channel()) ? '<td>' . t('Rate this hub') . '</td>' : '');
|
$rate_meta = ((local_channel()) ? '<td>' . t('Rate this hub') . '</td>' : '');
|
||||||
$o .= '<table border="1"><tr><td>' . t('Site URL') . '</td><td>' . t('Access Type') . '</td><td>' . t('Registration Policy') . '</td><td>' . t('Location') . '</td><td>' . t('View hub ratings') . '</td>' . $rate_meta . '</tr>';
|
$o .= '<table border="1"><tr><td>' . t('Site URL') . '</td><td>' . t('Access Type') . '</td><td>' . t('Registration Policy') . '</td><td>' . t('Location') . '</td><td>' . t('Project') . '</td><td>' . t('View hub ratings') . '</td>' . $rate_meta . '</tr>';
|
||||||
if($j['sites']) {
|
if($j['sites']) {
|
||||||
foreach($j['sites'] as $jj) {
|
foreach($j['sites'] as $jj) {
|
||||||
$host = strtolower(substr($jj['url'],strpos($jj['url'],'://')+3));
|
$host = strtolower(substr($jj['url'],strpos($jj['url'],'://')+3));
|
||||||
$rate_links = ((local_channel()) ? '<td><a href="rate?f=&target=' . $host . '" class="btn-btn-default"><i class="icon-check"></i> ' . t('Rate') . '</a></td>' : '');
|
$rate_links = ((local_channel()) ? '<td><a href="rate?f=&target=' . $host . '" class="btn-btn-default"><i class="icon-check"></i> ' . t('Rate') . '</a></td>' : '');
|
||||||
$o .= '<tr><td>' . '<a href="'. (($jj['sellpage']) ? $jj['sellpage'] : $jj['url'] . '/register' ) . '" >' . $jj['url'] . '</a>' . '</td><td>' . $jj['access'] . '</td><td>' . $jj['register'] . '</td><td>' . $jj['location'] . '</td><td><a href="ratings/' . $host . '" class="btn-btn-default"><i class="icon-eye-open"></i> ' . t('View ratings') . '</a></td>' . $rate_links . '</tr>';
|
$o .= '<tr><td>' . '<a href="'. (($jj['sellpage']) ? $jj['sellpage'] : $jj['url'] . '/register' ) . '" >' . $jj['url'] . '</a>' . '</td><td>' . $jj['access'] . '</td><td>' . $jj['register'] . '</td><td>' . $jj['location'] . '</td><td>' . $jj['project'] . '</td><td><a href="ratings/' . $host . '" class="btn-btn-default"><i class="icon-eye-open"></i> ' . t('View ratings') . '</a></td>' . $rate_links . '</tr>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,8 @@ function search_content(&$a,$update = 0, $load = false) {
|
||||||
|
|
||||||
$o = '<div id="live-search"></div>' . "\r\n";
|
$o = '<div id="live-search"></div>' . "\r\n";
|
||||||
|
|
||||||
|
$o = '<div class="generic-content-wrapper-styled">' . "\r\n";
|
||||||
|
|
||||||
$o .= '<h3>' . t('Search') . '</h3>';
|
$o .= '<h3>' . t('Search') . '</h3>';
|
||||||
|
|
||||||
if(x($a->data,'search'))
|
if(x($a->data,'search'))
|
||||||
|
@ -212,6 +214,8 @@ function search_content(&$a,$update = 0, $load = false) {
|
||||||
|
|
||||||
$o .= conversation($a,$items,'search',$update,'client');
|
$o .= conversation($a,$items,'search',$update,'client');
|
||||||
|
|
||||||
|
$o .= '</div>';
|
||||||
|
|
||||||
return $o;
|
return $o;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -292,7 +292,7 @@ function setup_content(&$a) {
|
||||||
|
|
||||||
case 2: { // Database config
|
case 2: { // Database config
|
||||||
|
|
||||||
$dbhost = ((x($_POST,'dbhost')) ? notags(trim($_POST['dbhost'])) : 'localhost');
|
$dbhost = ((x($_POST,'dbhost')) ? notags(trim($_POST['dbhost'])) : '127.0.0.1');
|
||||||
$dbuser = notags(trim($_POST['dbuser']));
|
$dbuser = notags(trim($_POST['dbuser']));
|
||||||
$dbport = intval(notags(trim($_POST['dbport'])));
|
$dbport = intval(notags(trim($_POST['dbport'])));
|
||||||
$dbpass = notags(trim($_POST['dbpass']));
|
$dbpass = notags(trim($_POST['dbpass']));
|
||||||
|
@ -312,7 +312,7 @@ function setup_content(&$a) {
|
||||||
|
|
||||||
'$status' => $wizard_status,
|
'$status' => $wizard_status,
|
||||||
|
|
||||||
'$dbhost' => array('dbhost', t('Database Server Name'), $dbhost, t('Default is localhost')),
|
'$dbhost' => array('dbhost', t('Database Server Name'), $dbhost, t('Default is 127.0.0.1')),
|
||||||
'$dbport' => array('dbport', t('Database Port'), $dbport, t('Communication port number - use 0 for default')),
|
'$dbport' => array('dbport', t('Database Port'), $dbport, t('Communication port number - use 0 for default')),
|
||||||
'$dbuser' => array('dbuser', t('Database Login Name'), $dbuser, ''),
|
'$dbuser' => array('dbuser', t('Database Login Name'), $dbuser, ''),
|
||||||
'$dbpass' => array('dbpass', t('Database Login Password'), $dbpass, ''),
|
'$dbpass' => array('dbpass', t('Database Login Password'), $dbpass, ''),
|
||||||
|
@ -334,7 +334,7 @@ function setup_content(&$a) {
|
||||||
}; break;
|
}; break;
|
||||||
case 3: { // Site settings
|
case 3: { // Site settings
|
||||||
require_once('include/datetime.php');
|
require_once('include/datetime.php');
|
||||||
$dbhost = ((x($_POST,'dbhost')) ? notags(trim($_POST['dbhost'])) : 'localhost');
|
$dbhost = ((x($_POST,'dbhost')) ? notags(trim($_POST['dbhost'])) : '127.0.0.1');
|
||||||
$dbport = intval(notags(trim($_POST['dbuser'])));
|
$dbport = intval(notags(trim($_POST['dbuser'])));
|
||||||
$dbuser = notags(trim($_POST['dbuser']));
|
$dbuser = notags(trim($_POST['dbuser']));
|
||||||
$dbpass = notags(trim($_POST['dbpass']));
|
$dbpass = notags(trim($_POST['dbpass']));
|
||||||
|
|
|
@ -165,7 +165,7 @@ function siteinfo_content(&$a) {
|
||||||
'$loadavg_all' => $loadavg[0] . ', ' . $loadavg[1] . ', ' . $loadavg[2],
|
'$loadavg_all' => $loadavg[0] . ', ' . $loadavg[1] . ', ' . $loadavg[2],
|
||||||
'$commit' => $commit,
|
'$commit' => $commit,
|
||||||
'$web_location' => t('Running at web location') . ' ' . z_root(),
|
'$web_location' => t('Running at web location') . ' ' . z_root(),
|
||||||
'$visit' => t('Please visit <a href="https://redmatrix.me">redmatrix.me</a> to learn more about $Projectname.'),
|
'$visit' => t('Please visit <a href="http://hubzilla.org">hubzilla.org</a> to learn more about $Projectname.'),
|
||||||
'$bug_text' => t('Bug reports and issues: please visit'),
|
'$bug_text' => t('Bug reports and issues: please visit'),
|
||||||
'$bug_link_url' => 'https://github.com/redmatrix/hubzilla/issues',
|
'$bug_link_url' => 'https://github.com/redmatrix/hubzilla/issues',
|
||||||
'$bug_link_text' => t('$projectname issues'),
|
'$bug_link_text' => t('$projectname issues'),
|
||||||
|
|
|
@ -9,5 +9,4 @@ function zfinger_init(&$a) {
|
||||||
$x = zotinfo($_REQUEST);
|
$x = zotinfo($_REQUEST);
|
||||||
json_return_and_die($x);
|
json_return_and_die($x);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
4226
util/hmessages.po
4226
util/hmessages.po
File diff suppressed because it is too large
Load diff
268
util/messages.po
268
util/messages.po
|
@ -6,9 +6,9 @@
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 2015-09-25.1166\n"
|
"Project-Id-Version: 2015-10-17.1188\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2015-09-25 00:05-0700\n"
|
"POT-Creation-Date: 2015-10-17 16:47-0700\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -416,7 +416,7 @@ msgstr ""
|
||||||
msgid "Edited"
|
msgid "Edited"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/api.php:1234
|
#: ../../include/api.php:1267
|
||||||
msgid "Public Timeline"
|
msgid "Public Timeline"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -828,7 +828,8 @@ msgstr ""
|
||||||
msgid "April"
|
msgid "April"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/text.php:1201
|
#: ../../include/text.php:1201 ../../mod/uexport.php:58
|
||||||
|
#: ../../mod/uexport.php:59
|
||||||
msgid "May"
|
msgid "May"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1374,7 +1375,7 @@ msgstr ""
|
||||||
|
|
||||||
#: ../../include/widgets.php:136 ../../include/widgets.php:175
|
#: ../../include/widgets.php:136 ../../include/widgets.php:175
|
||||||
#: ../../include/Contact.php:107 ../../include/conversation.php:956
|
#: ../../include/Contact.php:107 ../../include/conversation.php:956
|
||||||
#: ../../include/identity.php:933 ../../mod/directory.php:316
|
#: ../../include/identity.php:956 ../../mod/directory.php:316
|
||||||
#: ../../mod/match.php:64 ../../mod/suggest.php:52
|
#: ../../mod/match.php:64 ../../mod/suggest.php:52
|
||||||
msgid "Connect"
|
msgid "Connect"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1551,7 +1552,7 @@ msgid "Finishes:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/event.php:50 ../../include/bb2diaspora.php:481
|
#: ../../include/event.php:50 ../../include/bb2diaspora.php:481
|
||||||
#: ../../include/identity.php:984 ../../mod/directory.php:302
|
#: ../../include/identity.php:1007 ../../mod/directory.php:302
|
||||||
#: ../../mod/events.php:684
|
#: ../../mod/events.php:684
|
||||||
msgid "Location:"
|
msgid "Location:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1855,7 +1856,7 @@ msgid "View all"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/ItemObject.php:179 ../../include/taxonomy.php:396
|
#: ../../include/ItemObject.php:179 ../../include/taxonomy.php:396
|
||||||
#: ../../include/conversation.php:1712 ../../include/identity.php:1243
|
#: ../../include/conversation.php:1712 ../../include/identity.php:1266
|
||||||
#: ../../mod/photos.php:1019
|
#: ../../mod/photos.php:1019
|
||||||
msgctxt "noun"
|
msgctxt "noun"
|
||||||
msgid "Like"
|
msgid "Like"
|
||||||
|
@ -2107,7 +2108,7 @@ msgstr ""
|
||||||
msgid "Manage/Edit profiles"
|
msgid "Manage/Edit profiles"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/nav.php:95 ../../include/identity.php:956
|
#: ../../include/nav.php:95 ../../include/identity.php:979
|
||||||
msgid "Edit Profile"
|
msgid "Edit Profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3037,14 +3038,14 @@ msgstr ""
|
||||||
msgid "Visible to specific connections."
|
msgid "Visible to specific connections."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/items.php:4286 ../../mod/thing.php:74
|
#: ../../include/items.php:4310 ../../mod/thing.php:74
|
||||||
#: ../../mod/filestorage.php:27 ../../mod/viewsrc.php:20
|
#: ../../mod/filestorage.php:27 ../../mod/viewsrc.php:20
|
||||||
#: ../../mod/admin.php:167 ../../mod/admin.php:1025 ../../mod/admin.php:1225
|
#: ../../mod/admin.php:167 ../../mod/admin.php:1025 ../../mod/admin.php:1225
|
||||||
#: ../../mod/display.php:36
|
#: ../../mod/display.php:36
|
||||||
msgid "Item not found."
|
msgid "Item not found."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/items.php:4359 ../../include/attach.php:137
|
#: ../../include/items.php:4383 ../../include/attach.php:137
|
||||||
#: ../../include/attach.php:184 ../../include/attach.php:247
|
#: ../../include/attach.php:184 ../../include/attach.php:247
|
||||||
#: ../../include/attach.php:261 ../../include/attach.php:305
|
#: ../../include/attach.php:261 ../../include/attach.php:305
|
||||||
#: ../../include/attach.php:319 ../../include/attach.php:350
|
#: ../../include/attach.php:319 ../../include/attach.php:350
|
||||||
|
@ -3087,38 +3088,38 @@ msgstr ""
|
||||||
msgid "Permission denied."
|
msgid "Permission denied."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/items.php:4763 ../../mod/group.php:38 ../../mod/group.php:140
|
#: ../../include/items.php:4787 ../../mod/group.php:38 ../../mod/group.php:140
|
||||||
#: ../../mod/bulksetclose.php:51
|
#: ../../mod/bulksetclose.php:51
|
||||||
msgid "Collection not found."
|
msgid "Collection not found."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/items.php:4779
|
#: ../../include/items.php:4803
|
||||||
msgid "Collection is empty."
|
msgid "Collection is empty."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/items.php:4786
|
#: ../../include/items.php:4810
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Collection: %s"
|
msgid "Collection: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/items.php:4796 ../../mod/connedit.php:674
|
#: ../../include/items.php:4820 ../../mod/connedit.php:674
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Connection: %s"
|
msgid "Connection: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/items.php:4798
|
#: ../../include/items.php:4822
|
||||||
msgid "Connection not found."
|
msgid "Connection not found."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/zot.php:678
|
#: ../../include/zot.php:684
|
||||||
msgid "Invalid data packet"
|
msgid "Invalid data packet"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/zot.php:694
|
#: ../../include/zot.php:700
|
||||||
msgid "Unable to verify channel signature"
|
msgid "Unable to verify channel signature"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/zot.php:2184
|
#: ../../include/zot.php:2208
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Unable to verify site signature for %s"
|
msgid "Unable to verify site signature for %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -3316,11 +3317,11 @@ msgstr ""
|
||||||
msgid "Default Profile"
|
msgid "Default Profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:736
|
#: ../../include/identity.php:759
|
||||||
msgid "Requested channel is not available."
|
msgid "Requested channel is not available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:783 ../../mod/profile.php:16
|
#: ../../include/identity.php:806 ../../mod/profile.php:16
|
||||||
#: ../../mod/achievements.php:11 ../../mod/webpages.php:29
|
#: ../../mod/achievements.php:11 ../../mod/webpages.php:29
|
||||||
#: ../../mod/connect.php:13 ../../mod/hcard.php:8 ../../mod/blocks.php:29
|
#: ../../mod/connect.php:13 ../../mod/hcard.php:8 ../../mod/blocks.php:29
|
||||||
#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28
|
#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28
|
||||||
|
@ -3329,193 +3330,193 @@ msgstr ""
|
||||||
msgid "Requested profile is not available."
|
msgid "Requested profile is not available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:946 ../../mod/profiles.php:774
|
#: ../../include/identity.php:969 ../../mod/profiles.php:774
|
||||||
msgid "Change profile photo"
|
msgid "Change profile photo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:952
|
#: ../../include/identity.php:975
|
||||||
msgid "Profiles"
|
msgid "Profiles"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:952
|
#: ../../include/identity.php:975
|
||||||
msgid "Manage/edit profiles"
|
msgid "Manage/edit profiles"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:953 ../../mod/profiles.php:775
|
#: ../../include/identity.php:976 ../../mod/profiles.php:775
|
||||||
msgid "Create New Profile"
|
msgid "Create New Profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:968 ../../mod/profiles.php:786
|
#: ../../include/identity.php:991 ../../mod/profiles.php:786
|
||||||
msgid "Profile Image"
|
msgid "Profile Image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:971
|
#: ../../include/identity.php:994
|
||||||
msgid "visible to everybody"
|
msgid "visible to everybody"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:972 ../../mod/profiles.php:669
|
#: ../../include/identity.php:995 ../../mod/profiles.php:669
|
||||||
#: ../../mod/profiles.php:790
|
#: ../../mod/profiles.php:790
|
||||||
msgid "Edit visibility"
|
msgid "Edit visibility"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:988 ../../include/identity.php:1227
|
#: ../../include/identity.php:1011 ../../include/identity.php:1250
|
||||||
msgid "Gender:"
|
msgid "Gender:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:989 ../../include/identity.php:1271
|
#: ../../include/identity.php:1012 ../../include/identity.php:1294
|
||||||
msgid "Status:"
|
msgid "Status:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:990 ../../include/identity.php:1282
|
#: ../../include/identity.php:1013 ../../include/identity.php:1305
|
||||||
msgid "Homepage:"
|
msgid "Homepage:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:991
|
#: ../../include/identity.php:1014
|
||||||
msgid "Online Now"
|
msgid "Online Now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1074 ../../include/identity.php:1152
|
#: ../../include/identity.php:1097 ../../include/identity.php:1175
|
||||||
#: ../../mod/ping.php:324
|
#: ../../mod/ping.php:324
|
||||||
msgid "g A l F d"
|
msgid "g A l F d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1075 ../../include/identity.php:1153
|
#: ../../include/identity.php:1098 ../../include/identity.php:1176
|
||||||
msgid "F d"
|
msgid "F d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1120 ../../include/identity.php:1192
|
#: ../../include/identity.php:1143 ../../include/identity.php:1215
|
||||||
#: ../../mod/ping.php:346
|
#: ../../mod/ping.php:346
|
||||||
msgid "[today]"
|
msgid "[today]"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1131
|
#: ../../include/identity.php:1154
|
||||||
msgid "Birthday Reminders"
|
msgid "Birthday Reminders"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1132
|
#: ../../include/identity.php:1155
|
||||||
msgid "Birthdays this week:"
|
msgid "Birthdays this week:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1185
|
#: ../../include/identity.php:1208
|
||||||
msgid "[No description]"
|
msgid "[No description]"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1203
|
#: ../../include/identity.php:1226
|
||||||
msgid "Event Reminders"
|
msgid "Event Reminders"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1204
|
#: ../../include/identity.php:1227
|
||||||
msgid "Events this week:"
|
msgid "Events this week:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1217 ../../include/identity.php:1334
|
#: ../../include/identity.php:1240 ../../include/identity.php:1357
|
||||||
#: ../../include/apps.php:138 ../../mod/profperm.php:112
|
#: ../../include/apps.php:138 ../../mod/profperm.php:112
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1225 ../../mod/settings.php:1056
|
#: ../../include/identity.php:1248 ../../mod/settings.php:1056
|
||||||
msgid "Full Name:"
|
msgid "Full Name:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1232
|
#: ../../include/identity.php:1255
|
||||||
msgid "Like this channel"
|
msgid "Like this channel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1256
|
#: ../../include/identity.php:1279
|
||||||
msgid "j F, Y"
|
msgid "j F, Y"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1257
|
#: ../../include/identity.php:1280
|
||||||
msgid "j F"
|
msgid "j F"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1264
|
#: ../../include/identity.php:1287
|
||||||
msgid "Birthday:"
|
msgid "Birthday:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1268 ../../mod/directory.php:297
|
#: ../../include/identity.php:1291 ../../mod/directory.php:297
|
||||||
msgid "Age:"
|
msgid "Age:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1277
|
#: ../../include/identity.php:1300
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "for %1$d %2$s"
|
msgid "for %1$d %2$s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1280 ../../mod/profiles.php:691
|
#: ../../include/identity.php:1303 ../../mod/profiles.php:691
|
||||||
msgid "Sexual Preference:"
|
msgid "Sexual Preference:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1284 ../../mod/directory.php:313
|
#: ../../include/identity.php:1307 ../../mod/directory.php:313
|
||||||
#: ../../mod/profiles.php:693
|
#: ../../mod/profiles.php:693
|
||||||
msgid "Hometown:"
|
msgid "Hometown:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1286
|
#: ../../include/identity.php:1309
|
||||||
msgid "Tags:"
|
msgid "Tags:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1288 ../../mod/profiles.php:694
|
#: ../../include/identity.php:1311 ../../mod/profiles.php:694
|
||||||
msgid "Political Views:"
|
msgid "Political Views:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1290
|
#: ../../include/identity.php:1313
|
||||||
msgid "Religion:"
|
msgid "Religion:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1292 ../../mod/directory.php:315
|
#: ../../include/identity.php:1315 ../../mod/directory.php:315
|
||||||
msgid "About:"
|
msgid "About:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1294
|
#: ../../include/identity.php:1317
|
||||||
msgid "Hobbies/Interests:"
|
msgid "Hobbies/Interests:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1296 ../../mod/profiles.php:697
|
#: ../../include/identity.php:1319 ../../mod/profiles.php:697
|
||||||
msgid "Likes:"
|
msgid "Likes:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1298 ../../mod/profiles.php:698
|
#: ../../include/identity.php:1321 ../../mod/profiles.php:698
|
||||||
msgid "Dislikes:"
|
msgid "Dislikes:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1300
|
#: ../../include/identity.php:1323
|
||||||
msgid "Contact information and Social Networks:"
|
msgid "Contact information and Social Networks:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1302
|
#: ../../include/identity.php:1325
|
||||||
msgid "My other channels:"
|
msgid "My other channels:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1304
|
#: ../../include/identity.php:1327
|
||||||
msgid "Musical interests:"
|
msgid "Musical interests:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1306
|
#: ../../include/identity.php:1329
|
||||||
msgid "Books, literature:"
|
msgid "Books, literature:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1308
|
#: ../../include/identity.php:1331
|
||||||
msgid "Television:"
|
msgid "Television:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1310
|
#: ../../include/identity.php:1333
|
||||||
msgid "Film/dance/culture/entertainment:"
|
msgid "Film/dance/culture/entertainment:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1312
|
#: ../../include/identity.php:1335
|
||||||
msgid "Love/Romance:"
|
msgid "Love/Romance:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1314
|
#: ../../include/identity.php:1337
|
||||||
msgid "Work/employment:"
|
msgid "Work/employment:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1316
|
#: ../../include/identity.php:1339
|
||||||
msgid "School/education:"
|
msgid "School/education:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../include/identity.php:1336
|
#: ../../include/identity.php:1359
|
||||||
msgid "Like this thing"
|
msgid "Like this thing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -4602,7 +4603,7 @@ msgstr ""
|
||||||
msgid "No installed plugins/addons/apps"
|
msgid "No installed plugins/addons/apps"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../mod/siteinfo.php:155 ../../mod/home.php:58 ../../mod/home.php:64
|
#: ../../mod/siteinfo.php:155 ../../mod/home.php:58 ../../mod/home.php:66
|
||||||
msgid "$Projectname"
|
msgid "$Projectname"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -6521,30 +6522,6 @@ msgstr ""
|
||||||
msgid "%1$s tagged %2$s's %3$s with %4$s"
|
msgid "%1$s tagged %2$s's %3$s with %4$s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../mod/uexport.php:45 ../../mod/uexport.php:46
|
|
||||||
msgid "Export Channel"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../../mod/uexport.php:47
|
|
||||||
msgid ""
|
|
||||||
"Export your basic channel information to a small file. This acts as a "
|
|
||||||
"backup of your connections, permissions, profile and basic data, which can "
|
|
||||||
"be used to import your data to a new hub, but\tdoes not contain your content."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../../mod/uexport.php:48
|
|
||||||
msgid "Export Content"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../../mod/uexport.php:49
|
|
||||||
msgid ""
|
|
||||||
"Export your channel information and all the content to a JSON backup. This "
|
|
||||||
"backs up all of your connections, permissions, profile data and all of your "
|
|
||||||
"content, but is generally not suitable for importing a channel to a new hub "
|
|
||||||
"as this file may be VERY large. Please be patient - it may take several "
|
|
||||||
"minutes for this download to begin."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../../mod/viewconnections.php:62
|
#: ../../mod/viewconnections.php:62
|
||||||
msgid "No connections."
|
msgid "No connections."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -8155,6 +8132,113 @@ msgstr ""
|
||||||
msgid "D, d M Y - g:i A"
|
msgid "D, d M Y - g:i A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:50 ../../mod/uexport.php:51
|
||||||
|
msgid "Export Channel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:52
|
||||||
|
msgid ""
|
||||||
|
"Export your basic channel information to a file. This acts as a backup of "
|
||||||
|
"your connections, permissions, profile and basic data, which can be used to "
|
||||||
|
"import your data to a new server hub, but does not contain your content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:53
|
||||||
|
msgid "Export Content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:54
|
||||||
|
msgid ""
|
||||||
|
"Export your channel information and recent content to a JSON backup that can "
|
||||||
|
"be restored or imported to another server hub. This backs up all of your "
|
||||||
|
"connections, permissions, profile data and several months of posts. This "
|
||||||
|
"file may be VERY large. Please be patient - it may take several minutes for "
|
||||||
|
"this download to begin."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:55
|
||||||
|
msgid "Export your posts from a given year or month:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:57
|
||||||
|
msgid ""
|
||||||
|
"You may also export your posts and conversations for a particular year or "
|
||||||
|
"month. Click on one of the recent years or months below."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Jan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Feb"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Mar"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Apr"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Jun"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Jul"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Aug"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Sep"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Oct"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Nov"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Dec"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:60
|
||||||
|
msgid ""
|
||||||
|
"If the export fails (possibly due to memory exhaustion on your server hub), "
|
||||||
|
"please try again selecting a more limited date range."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:61
|
||||||
|
#, php-format
|
||||||
|
msgid ""
|
||||||
|
"Or adjust the date in your browser location bar to select other dates. For "
|
||||||
|
"example the year 2013; <a href=\"%1$s/2013\">%1$s/2013</a> or the month "
|
||||||
|
"September 2013; <a href=\"%1$s/2013/9\">%1$s/2013/9</a>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:62
|
||||||
|
msgid "Please visit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:62
|
||||||
|
msgid "on another hub to import the backup files(s)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:63
|
||||||
|
msgid ""
|
||||||
|
"We advise you to clone the channel on the new hub first and than to import "
|
||||||
|
"the backup file(s) (from the same channel) in chronological order. Importing "
|
||||||
|
"the backup files into another channel will certainly give permission issues."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ../../mod/mood.php:131
|
#: ../../mod/mood.php:131
|
||||||
msgid "Set your current mood and tell your friends"
|
msgid "Set your current mood and tell your friends"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -8672,7 +8756,7 @@ msgstr ""
|
||||||
msgid "Download PDL file"
|
msgid "Download PDL file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../mod/home.php:73
|
#: ../../mod/home.php:75
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Welcome to %s"
|
msgid "Welcome to %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
2015-10-01.1172
|
2015-10-25.1196
|
||||||
|
|
4
view/css/bootstrap-red.css
vendored
4
view/css/bootstrap-red.css
vendored
|
@ -87,6 +87,10 @@ code {
|
||||||
font-size: unset;
|
font-size: unset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.panel-group {
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
/* Bootstrap assumes that checkboxes are on the left of labels, while it's usually the opposite in Red */
|
/* Bootstrap assumes that checkboxes are on the left of labels, while it's usually the opposite in Red */
|
||||||
.field.checkbox input[type="checkbox"] { margin-left: 0px; }
|
.field.checkbox input[type="checkbox"] { margin-left: 0px; }
|
||||||
.field.checkbox label { padding-left: 0px; font-weight: 700}
|
.field.checkbox label { padding-left: 0px; font-weight: 700}
|
||||||
|
|
|
@ -83,15 +83,6 @@ code {
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.wall-item-photo-wrapper {
|
|
||||||
margin-top: 0px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.comment .wall-item-photo-wrapper {
|
|
||||||
margin-bottom: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.wall-item-wrapper {
|
.wall-item-wrapper {
|
||||||
margin-left:10px;
|
margin-left:10px;
|
||||||
}
|
}
|
||||||
|
@ -153,27 +144,8 @@ a.wall-item-name-link {
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
.body-tag, .filesavetags, .categorytags {
|
.body-tags {
|
||||||
opacity: 0.5;
|
margin-top: 5px;
|
||||||
filter:alpha(opacity=50);
|
|
||||||
}
|
|
||||||
|
|
||||||
.body-tag:hover, .filesavetags:hover, .categorytags:hover {
|
|
||||||
opacity: 1.0 !important;
|
|
||||||
filter:alpha(opacity=100) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.body-tag {
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.categorytags {
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.wall-item-tools {
|
|
||||||
width: 100%;
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.item-tool {
|
.item-tool {
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#chatTopBar {
|
#chatTopBar {
|
||||||
float: left;
|
float: left;
|
||||||
height: 400px;
|
height: 400px;
|
||||||
width: 650px;
|
width: 400px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
.search-input {
|
.search-input {
|
||||||
padding: 4px 12px;
|
padding: 4px 12px;
|
||||||
margin: 3px;
|
margin: 3px;
|
||||||
|
@ -111,8 +110,8 @@
|
||||||
|
|
||||||
.contact-entry-wrapper {
|
.contact-entry-wrapper {
|
||||||
float: left;
|
float: left;
|
||||||
width: 120px;
|
width: auto;
|
||||||
height: 150px;
|
height: auto;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
margin: 8px 10px 0 0;
|
margin: 8px 10px 0 0;
|
||||||
border-top: 1px solid #eee;
|
border-top: 1px solid #eee;
|
||||||
|
@ -137,9 +136,14 @@
|
||||||
margin-left: 0px;
|
margin-left: 0px;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
width: 120px;
|
width: 147px;
|
||||||
height: 36px;
|
height: auto;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contact-entry-name-end {
|
||||||
|
clear:both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.contact-entry-end {
|
.contact-entry-end {
|
||||||
|
|
|
@ -29,3 +29,6 @@
|
||||||
margin-top: -2px;
|
margin-top: -2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.directory-collapse {
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
|
@ -1,50 +1,26 @@
|
||||||
/* message/new */
|
|
||||||
|
|
||||||
#prvmail-to-label,
|
|
||||||
#prvmail-subject-label,
|
|
||||||
#prvmail-expires-label,
|
|
||||||
#prvmail-message-label {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
margin-top: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#prvmail-submit {
|
|
||||||
float: left;
|
|
||||||
margin-top: 10px;
|
|
||||||
margin-right: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#prvmail-upload-wrapper,
|
|
||||||
#prvmail-attach-wrapper,
|
|
||||||
#prvmail-link-wrapper,
|
|
||||||
#prvmail-expire-wrapper,
|
|
||||||
#prvmail-encrypt-wrapper,
|
|
||||||
#prvmail-rotator-wrapper {
|
|
||||||
float: left;
|
|
||||||
margin-top: 10px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* message/id */
|
|
||||||
|
|
||||||
.mail-conv-outside-wrapper {
|
|
||||||
display: table;
|
|
||||||
table-layout: fixed;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mail-conv-sender {
|
.mail-conv-sender {
|
||||||
display: table-cell;
|
float: left;
|
||||||
vertical-align: top;
|
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mail-conv-sender img{
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mail-conv-sender-name {
|
.mail-conv-sender-name {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mail-conv-detail {
|
.mail-conv-body {
|
||||||
display: table-cell;
|
margin-bottom: 10px;
|
||||||
vertical-align: top;
|
}
|
||||||
width: 100%;
|
|
||||||
padding-left: 10px;
|
.mail-conv-body img {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#prvmail-rotator {
|
||||||
|
margin: 15px;
|
||||||
}
|
}
|
||||||
|
|
15119
view/es/hmessages.po
15119
view/es/hmessages.po
File diff suppressed because it is too large
Load diff
3380
view/es/hstrings.php
3380
view/es/hstrings.php
File diff suppressed because it is too large
Load diff
|
@ -13,8 +13,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Redmatrix\n"
|
"Project-Id-Version: Redmatrix\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2015-09-18 00:04-0700\n"
|
"POT-Creation-Date: 2015-10-17 16:47-0700\n"
|
||||||
"PO-Revision-Date: 2015-09-22 14:10+0000\n"
|
"PO-Revision-Date: 2015-10-18 15:17+0000\n"
|
||||||
"Last-Translator: Manuel Jiménez Friaza <mjfriaza@openmailbox.org>\n"
|
"Last-Translator: Manuel Jiménez Friaza <mjfriaza@openmailbox.org>\n"
|
||||||
"Language-Team: Spanish (http://www.transifex.com/Friendica/red-matrix/language/es/)\n"
|
"Language-Team: Spanish (http://www.transifex.com/Friendica/red-matrix/language/es/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
@ -422,7 +422,7 @@ msgstr "Creado"
|
||||||
msgid "Edited"
|
msgid "Edited"
|
||||||
msgstr "Editado"
|
msgstr "Editado"
|
||||||
|
|
||||||
#: ../../include/api.php:1234
|
#: ../../include/api.php:1267
|
||||||
msgid "Public Timeline"
|
msgid "Public Timeline"
|
||||||
msgstr "Cronología pública"
|
msgstr "Cronología pública"
|
||||||
|
|
||||||
|
@ -660,7 +660,7 @@ msgstr "Guardar"
|
||||||
|
|
||||||
#: ../../include/text.php:990
|
#: ../../include/text.php:990
|
||||||
msgid "poke"
|
msgid "poke"
|
||||||
msgstr "dar un toque"
|
msgstr "un toque"
|
||||||
|
|
||||||
#: ../../include/text.php:990 ../../include/conversation.php:243
|
#: ../../include/text.php:990 ../../include/conversation.php:243
|
||||||
msgid "poked"
|
msgid "poked"
|
||||||
|
@ -668,7 +668,7 @@ msgstr "ha recibido un toque"
|
||||||
|
|
||||||
#: ../../include/text.php:991
|
#: ../../include/text.php:991
|
||||||
msgid "ping"
|
msgid "ping"
|
||||||
msgstr "avisar"
|
msgstr "un \"ping\""
|
||||||
|
|
||||||
#: ../../include/text.php:991
|
#: ../../include/text.php:991
|
||||||
msgid "pinged"
|
msgid "pinged"
|
||||||
|
@ -692,19 +692,19 @@ msgstr "abofeteado/a"
|
||||||
|
|
||||||
#: ../../include/text.php:994
|
#: ../../include/text.php:994
|
||||||
msgid "finger"
|
msgid "finger"
|
||||||
msgstr "señalar"
|
msgstr "un \"finger\""
|
||||||
|
|
||||||
#: ../../include/text.php:994
|
#: ../../include/text.php:994
|
||||||
msgid "fingered"
|
msgid "fingered"
|
||||||
msgstr "señalado/a"
|
msgstr "ha recibido un \"finger\""
|
||||||
|
|
||||||
#: ../../include/text.php:995
|
#: ../../include/text.php:995
|
||||||
msgid "rebuff"
|
msgid "rebuff"
|
||||||
msgstr "desairar"
|
msgstr "un rechazo"
|
||||||
|
|
||||||
#: ../../include/text.php:995
|
#: ../../include/text.php:995
|
||||||
msgid "rebuffed"
|
msgid "rebuffed"
|
||||||
msgstr "desairado/a"
|
msgstr "ha sido rechazado/a"
|
||||||
|
|
||||||
#: ../../include/text.php:1005
|
#: ../../include/text.php:1005
|
||||||
msgid "happy"
|
msgid "happy"
|
||||||
|
@ -834,7 +834,8 @@ msgstr "marzo"
|
||||||
msgid "April"
|
msgid "April"
|
||||||
msgstr "abril"
|
msgstr "abril"
|
||||||
|
|
||||||
#: ../../include/text.php:1201
|
#: ../../include/text.php:1201 ../../mod/uexport.php:58
|
||||||
|
#: ../../mod/uexport.php:59
|
||||||
msgid "May"
|
msgid "May"
|
||||||
msgstr "mayo"
|
msgstr "mayo"
|
||||||
|
|
||||||
|
@ -926,7 +927,7 @@ msgstr "evento"
|
||||||
#: ../../include/conversation.php:148 ../../mod/like.php:349
|
#: ../../include/conversation.php:148 ../../mod/like.php:349
|
||||||
#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
|
#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
|
||||||
msgid "status"
|
msgid "status"
|
||||||
msgstr "estado"
|
msgstr "el mensaje de estado"
|
||||||
|
|
||||||
#: ../../include/text.php:1892 ../../include/conversation.php:150
|
#: ../../include/text.php:1892 ../../include/conversation.php:150
|
||||||
#: ../../mod/tagger.php:53
|
#: ../../mod/tagger.php:53
|
||||||
|
@ -1091,7 +1092,7 @@ msgstr "Gracias,"
|
||||||
#: ../../include/network.php:1590 ../../include/enotify.php:63
|
#: ../../include/network.php:1590 ../../include/enotify.php:63
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Administrator"
|
msgid "%s Administrator"
|
||||||
msgstr "%s Administrador"
|
msgstr "Administrador de %s"
|
||||||
|
|
||||||
#: ../../include/network.php:1646
|
#: ../../include/network.php:1646
|
||||||
msgid "No Subject"
|
msgid "No Subject"
|
||||||
|
@ -1380,7 +1381,7 @@ msgstr "Editar una aplicación personal"
|
||||||
|
|
||||||
#: ../../include/widgets.php:136 ../../include/widgets.php:175
|
#: ../../include/widgets.php:136 ../../include/widgets.php:175
|
||||||
#: ../../include/Contact.php:107 ../../include/conversation.php:956
|
#: ../../include/Contact.php:107 ../../include/conversation.php:956
|
||||||
#: ../../include/identity.php:933 ../../mod/directory.php:316
|
#: ../../include/identity.php:956 ../../mod/directory.php:316
|
||||||
#: ../../mod/match.php:64 ../../mod/suggest.php:52
|
#: ../../mod/match.php:64 ../../mod/suggest.php:52
|
||||||
msgid "Connect"
|
msgid "Connect"
|
||||||
msgstr "Conectar"
|
msgstr "Conectar"
|
||||||
|
@ -1557,7 +1558,7 @@ msgid "Finishes:"
|
||||||
msgstr "Finaliza:"
|
msgstr "Finaliza:"
|
||||||
|
|
||||||
#: ../../include/event.php:50 ../../include/bb2diaspora.php:481
|
#: ../../include/event.php:50 ../../include/bb2diaspora.php:481
|
||||||
#: ../../include/identity.php:984 ../../mod/directory.php:302
|
#: ../../include/identity.php:1007 ../../mod/directory.php:302
|
||||||
#: ../../mod/events.php:684
|
#: ../../mod/events.php:684
|
||||||
msgid "Location:"
|
msgid "Location:"
|
||||||
msgstr "Ubicación:"
|
msgstr "Ubicación:"
|
||||||
|
@ -1603,12 +1604,12 @@ msgstr "%1$s, %2$s ha comentado sobre [zrl=%3$s]%4$s[/zrl]"
|
||||||
#: ../../include/enotify.php:166
|
#: ../../include/enotify.php:166
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
|
msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
|
||||||
msgstr "%1$s, %2$s ha comentado sobre el [zrl=%3$s]%5$s de %4$s[/zrl]"
|
msgstr "%1$s, %2$s ha comentado [zrl=%3$s]%5$s de %4$s[/zrl]"
|
||||||
|
|
||||||
#: ../../include/enotify.php:175
|
#: ../../include/enotify.php:175
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
|
msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
|
||||||
msgstr "%1$s, %2$s ha comentado [zrl=%3$s]su %4$s[/zrl]"
|
msgstr "%1$s, %2$s ha comentado [zrl=%3$s]%4$s creado por usted[/zrl]"
|
||||||
|
|
||||||
#: ../../include/enotify.php:186
|
#: ../../include/enotify.php:186
|
||||||
#, php-format
|
#, php-format
|
||||||
|
@ -1665,7 +1666,7 @@ msgstr "[Red:Aviso] %1$s le ha dado un toque"
|
||||||
#: ../../include/enotify.php:239
|
#: ../../include/enotify.php:239
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%1$s, %2$s poked you at %3$s"
|
msgid "%1$s, %2$s poked you at %3$s"
|
||||||
msgstr "%1$s, %2$s le dio un toque sobre %3$s"
|
msgstr "%1$s, %2$s le dio un toque en %3$s"
|
||||||
|
|
||||||
#: ../../include/enotify.php:240
|
#: ../../include/enotify.php:240
|
||||||
#, php-format
|
#, php-format
|
||||||
|
@ -1680,7 +1681,7 @@ msgstr "[Red:Aviso] %s etiquetó su entrada"
|
||||||
#: ../../include/enotify.php:257
|
#: ../../include/enotify.php:257
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%1$s, %2$s tagged your post at %3$s"
|
msgid "%1$s, %2$s tagged your post at %3$s"
|
||||||
msgstr "%1$s, %2$s ha etiquetado su publicación sobre %3$s"
|
msgstr "%1$s, %2$s ha etiquetado su publicación en %3$s"
|
||||||
|
|
||||||
#: ../../include/enotify.php:258
|
#: ../../include/enotify.php:258
|
||||||
#, php-format
|
#, php-format
|
||||||
|
@ -1862,7 +1863,7 @@ msgid "View all"
|
||||||
msgstr "Ver todo"
|
msgstr "Ver todo"
|
||||||
|
|
||||||
#: ../../include/ItemObject.php:179 ../../include/taxonomy.php:396
|
#: ../../include/ItemObject.php:179 ../../include/taxonomy.php:396
|
||||||
#: ../../include/conversation.php:1712 ../../include/identity.php:1243
|
#: ../../include/conversation.php:1712 ../../include/identity.php:1266
|
||||||
#: ../../mod/photos.php:1019
|
#: ../../mod/photos.php:1019
|
||||||
msgctxt "noun"
|
msgctxt "noun"
|
||||||
msgid "Like"
|
msgid "Like"
|
||||||
|
@ -2114,7 +2115,7 @@ msgstr "Editar perfiles"
|
||||||
msgid "Manage/Edit profiles"
|
msgid "Manage/Edit profiles"
|
||||||
msgstr "Administrar/editar perfiles"
|
msgstr "Administrar/editar perfiles"
|
||||||
|
|
||||||
#: ../../include/nav.php:95 ../../include/identity.php:956
|
#: ../../include/nav.php:95 ../../include/identity.php:979
|
||||||
msgid "Edit Profile"
|
msgid "Edit Profile"
|
||||||
msgstr "Editar perfil"
|
msgstr "Editar perfil"
|
||||||
|
|
||||||
|
@ -2416,7 +2417,7 @@ msgstr "Pueden verse mis conexiones"
|
||||||
|
|
||||||
#: ../../include/permissions.php:30
|
#: ../../include/permissions.php:30
|
||||||
msgid "Can view my file storage"
|
msgid "Can view my file storage"
|
||||||
msgstr "Pueden verse mis ficheros compartidos"
|
msgstr "Puede verse mi repositorio de ficheros"
|
||||||
|
|
||||||
#: ../../include/permissions.php:31
|
#: ../../include/permissions.php:31
|
||||||
msgid "Can view my webpages"
|
msgid "Can view my webpages"
|
||||||
|
@ -2464,7 +2465,7 @@ msgstr "Se puede charlar conmigo (cuando esté disponible)"
|
||||||
|
|
||||||
#: ../../include/permissions.php:43
|
#: ../../include/permissions.php:43
|
||||||
msgid "Can write to my file storage"
|
msgid "Can write to my file storage"
|
||||||
msgstr "Puede escribirse en mi carpeta de ficheros"
|
msgstr "Puede escribirse en mi repositorio de ficheros"
|
||||||
|
|
||||||
#: ../../include/permissions.php:44
|
#: ../../include/permissions.php:44
|
||||||
msgid "Can edit my webpages"
|
msgid "Can edit my webpages"
|
||||||
|
@ -2589,12 +2590,12 @@ msgstr "Abstención"
|
||||||
#: ../../include/conversation.php:585 ../../mod/photos.php:998
|
#: ../../include/conversation.php:585 ../../mod/photos.php:998
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Attending"
|
msgid "Attending"
|
||||||
msgstr "Participar"
|
msgstr "Participaré"
|
||||||
|
|
||||||
#: ../../include/conversation.php:585 ../../mod/photos.php:998
|
#: ../../include/conversation.php:585 ../../mod/photos.php:998
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
msgid "Not attending"
|
msgid "Not attending"
|
||||||
msgstr "No participar"
|
msgstr "No participaré"
|
||||||
|
|
||||||
#: ../../include/conversation.php:585 ../../mod/photos.php:998
|
#: ../../include/conversation.php:585 ../../mod/photos.php:998
|
||||||
msgctxt "title"
|
msgctxt "title"
|
||||||
|
@ -2636,7 +2637,7 @@ msgstr "Seguir el hilo"
|
||||||
|
|
||||||
#: ../../include/conversation.php:952
|
#: ../../include/conversation.php:952
|
||||||
msgid "View Status"
|
msgid "View Status"
|
||||||
msgstr "Ver estado"
|
msgstr "Estado actual"
|
||||||
|
|
||||||
#: ../../include/conversation.php:954
|
#: ../../include/conversation.php:954
|
||||||
msgid "View Photos"
|
msgid "View Photos"
|
||||||
|
@ -2656,7 +2657,7 @@ msgstr "Enviar Mensaje Privado"
|
||||||
|
|
||||||
#: ../../include/conversation.php:959 ../../include/apps.php:145
|
#: ../../include/conversation.php:959 ../../include/apps.php:145
|
||||||
msgid "Poke"
|
msgid "Poke"
|
||||||
msgstr "Dar un toque"
|
msgstr "Toques y otras cosas"
|
||||||
|
|
||||||
#: ../../include/conversation.php:1073
|
#: ../../include/conversation.php:1073
|
||||||
#, php-format
|
#, php-format
|
||||||
|
@ -2946,7 +2947,7 @@ msgstr "Álbumes de fotos"
|
||||||
|
|
||||||
#: ../../include/conversation.php:1623
|
#: ../../include/conversation.php:1623
|
||||||
msgid "Files and Storage"
|
msgid "Files and Storage"
|
||||||
msgstr "Ficheros y carpetas"
|
msgstr "Repositorio de ficheros"
|
||||||
|
|
||||||
#: ../../include/conversation.php:1633 ../../include/conversation.php:1636
|
#: ../../include/conversation.php:1633 ../../include/conversation.php:1636
|
||||||
msgid "Chatrooms"
|
msgid "Chatrooms"
|
||||||
|
@ -2965,14 +2966,14 @@ msgctxt "noun"
|
||||||
msgid "Attending"
|
msgid "Attending"
|
||||||
msgid_plural "Attending"
|
msgid_plural "Attending"
|
||||||
msgstr[0] "Asistir"
|
msgstr[0] "Asistir"
|
||||||
msgstr[1] "Participar"
|
msgstr[1] "Participaré"
|
||||||
|
|
||||||
#: ../../include/conversation.php:1721
|
#: ../../include/conversation.php:1721
|
||||||
msgctxt "noun"
|
msgctxt "noun"
|
||||||
msgid "Not Attending"
|
msgid "Not Attending"
|
||||||
msgid_plural "Not Attending"
|
msgid_plural "Not Attending"
|
||||||
msgstr[0] "No asistir"
|
msgstr[0] "No asistir"
|
||||||
msgstr[1] "No participar"
|
msgstr[1] "No participaré"
|
||||||
|
|
||||||
#: ../../include/conversation.php:1724
|
#: ../../include/conversation.php:1724
|
||||||
msgctxt "noun"
|
msgctxt "noun"
|
||||||
|
@ -3008,51 +3009,51 @@ msgstr[1] "Se abstienen"
|
||||||
msgid "Permission denied"
|
msgid "Permission denied"
|
||||||
msgstr "Permiso denegado"
|
msgstr "Permiso denegado"
|
||||||
|
|
||||||
#: ../../include/items.php:1038 ../../include/items.php:1084
|
#: ../../include/items.php:1101 ../../include/items.php:1147
|
||||||
msgid "(Unknown)"
|
msgid "(Unknown)"
|
||||||
msgstr "(Desconocido)"
|
msgstr "(Desconocido)"
|
||||||
|
|
||||||
#: ../../include/items.php:1310
|
#: ../../include/items.php:1373
|
||||||
msgid "Visible to anybody on the internet."
|
msgid "Visible to anybody on the internet."
|
||||||
msgstr "Visible para cualquiera en internet."
|
msgstr "Visible para cualquiera en internet."
|
||||||
|
|
||||||
#: ../../include/items.php:1312
|
#: ../../include/items.php:1375
|
||||||
msgid "Visible to you only."
|
msgid "Visible to you only."
|
||||||
msgstr "Visible sólo para usted."
|
msgstr "Visible sólo para usted."
|
||||||
|
|
||||||
#: ../../include/items.php:1314
|
#: ../../include/items.php:1377
|
||||||
msgid "Visible to anybody in this network."
|
msgid "Visible to anybody in this network."
|
||||||
msgstr "Visible para cualquiera en esta red."
|
msgstr "Visible para cualquiera en esta red."
|
||||||
|
|
||||||
#: ../../include/items.php:1316
|
#: ../../include/items.php:1379
|
||||||
msgid "Visible to anybody authenticated."
|
msgid "Visible to anybody authenticated."
|
||||||
msgstr "Visible para cualquiera que haya sido autenticado."
|
msgstr "Visible para cualquiera que haya sido autenticado."
|
||||||
|
|
||||||
#: ../../include/items.php:1318
|
#: ../../include/items.php:1381
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Visible to anybody on %s."
|
msgid "Visible to anybody on %s."
|
||||||
msgstr "Visible para cualquiera en %s."
|
msgstr "Visible para cualquiera en %s."
|
||||||
|
|
||||||
#: ../../include/items.php:1320
|
#: ../../include/items.php:1383
|
||||||
msgid "Visible to all connections."
|
msgid "Visible to all connections."
|
||||||
msgstr "Visible para todas las conexiones."
|
msgstr "Visible para todas las conexiones."
|
||||||
|
|
||||||
#: ../../include/items.php:1322
|
#: ../../include/items.php:1385
|
||||||
msgid "Visible to approved connections."
|
msgid "Visible to approved connections."
|
||||||
msgstr "Visible para las conexiones permitidas."
|
msgstr "Visible para las conexiones permitidas."
|
||||||
|
|
||||||
#: ../../include/items.php:1324
|
#: ../../include/items.php:1387
|
||||||
msgid "Visible to specific connections."
|
msgid "Visible to specific connections."
|
||||||
msgstr "Visible para conexiones específicas."
|
msgstr "Visible para conexiones específicas."
|
||||||
|
|
||||||
#: ../../include/items.php:4223 ../../mod/thing.php:74
|
#: ../../include/items.php:4310 ../../mod/thing.php:74
|
||||||
#: ../../mod/filestorage.php:27 ../../mod/viewsrc.php:20
|
#: ../../mod/filestorage.php:27 ../../mod/viewsrc.php:20
|
||||||
#: ../../mod/admin.php:167 ../../mod/admin.php:1025 ../../mod/admin.php:1225
|
#: ../../mod/admin.php:167 ../../mod/admin.php:1025 ../../mod/admin.php:1225
|
||||||
#: ../../mod/display.php:36
|
#: ../../mod/display.php:36
|
||||||
msgid "Item not found."
|
msgid "Item not found."
|
||||||
msgstr "Elemento no encontrado."
|
msgstr "Elemento no encontrado."
|
||||||
|
|
||||||
#: ../../include/items.php:4296 ../../include/attach.php:137
|
#: ../../include/items.php:4383 ../../include/attach.php:137
|
||||||
#: ../../include/attach.php:184 ../../include/attach.php:247
|
#: ../../include/attach.php:184 ../../include/attach.php:247
|
||||||
#: ../../include/attach.php:261 ../../include/attach.php:305
|
#: ../../include/attach.php:261 ../../include/attach.php:305
|
||||||
#: ../../include/attach.php:319 ../../include/attach.php:350
|
#: ../../include/attach.php:319 ../../include/attach.php:350
|
||||||
|
@ -3095,38 +3096,38 @@ msgstr "Elemento no encontrado."
|
||||||
msgid "Permission denied."
|
msgid "Permission denied."
|
||||||
msgstr "Acceso denegado."
|
msgstr "Acceso denegado."
|
||||||
|
|
||||||
#: ../../include/items.php:4700 ../../mod/group.php:38 ../../mod/group.php:140
|
#: ../../include/items.php:4787 ../../mod/group.php:38 ../../mod/group.php:140
|
||||||
#: ../../mod/bulksetclose.php:51
|
#: ../../mod/bulksetclose.php:51
|
||||||
msgid "Collection not found."
|
msgid "Collection not found."
|
||||||
msgstr "Colección no encontrada."
|
msgstr "Colección no encontrada."
|
||||||
|
|
||||||
#: ../../include/items.php:4716
|
#: ../../include/items.php:4803
|
||||||
msgid "Collection is empty."
|
msgid "Collection is empty."
|
||||||
msgstr "La colección está vacía."
|
msgstr "La colección está vacía."
|
||||||
|
|
||||||
#: ../../include/items.php:4723
|
#: ../../include/items.php:4810
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Collection: %s"
|
msgid "Collection: %s"
|
||||||
msgstr "Colección: %s"
|
msgstr "Colección: %s"
|
||||||
|
|
||||||
#: ../../include/items.php:4733 ../../mod/connedit.php:674
|
#: ../../include/items.php:4820 ../../mod/connedit.php:674
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Connection: %s"
|
msgid "Connection: %s"
|
||||||
msgstr "Conexión: %s"
|
msgstr "Conexión: %s"
|
||||||
|
|
||||||
#: ../../include/items.php:4735
|
#: ../../include/items.php:4822
|
||||||
msgid "Connection not found."
|
msgid "Connection not found."
|
||||||
msgstr "Conexión no encontrada"
|
msgstr "Conexión no encontrada"
|
||||||
|
|
||||||
#: ../../include/zot.php:677
|
#: ../../include/zot.php:684
|
||||||
msgid "Invalid data packet"
|
msgid "Invalid data packet"
|
||||||
msgstr "Paquete de datos no válido"
|
msgstr "Paquete de datos no válido"
|
||||||
|
|
||||||
#: ../../include/zot.php:693
|
#: ../../include/zot.php:700
|
||||||
msgid "Unable to verify channel signature"
|
msgid "Unable to verify channel signature"
|
||||||
msgstr "No ha sido posible de verificar la signatura del canal"
|
msgstr "No ha sido posible de verificar la signatura del canal"
|
||||||
|
|
||||||
#: ../../include/zot.php:2161
|
#: ../../include/zot.php:2208
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Unable to verify site signature for %s"
|
msgid "Unable to verify site signature for %s"
|
||||||
msgstr "No ha sido posible de verificar la signatura del sitio para %s"
|
msgstr "No ha sido posible de verificar la signatura del sitio para %s"
|
||||||
|
@ -3324,11 +3325,11 @@ msgstr "No ha sido posible recuperar la identidad creada"
|
||||||
msgid "Default Profile"
|
msgid "Default Profile"
|
||||||
msgstr "Perfil principal"
|
msgstr "Perfil principal"
|
||||||
|
|
||||||
#: ../../include/identity.php:736
|
#: ../../include/identity.php:759
|
||||||
msgid "Requested channel is not available."
|
msgid "Requested channel is not available."
|
||||||
msgstr "El canal solicitado no está disponible."
|
msgstr "El canal solicitado no está disponible."
|
||||||
|
|
||||||
#: ../../include/identity.php:783 ../../mod/profile.php:16
|
#: ../../include/identity.php:806 ../../mod/profile.php:16
|
||||||
#: ../../mod/achievements.php:11 ../../mod/webpages.php:29
|
#: ../../mod/achievements.php:11 ../../mod/webpages.php:29
|
||||||
#: ../../mod/connect.php:13 ../../mod/hcard.php:8 ../../mod/blocks.php:29
|
#: ../../mod/connect.php:13 ../../mod/hcard.php:8 ../../mod/blocks.php:29
|
||||||
#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28
|
#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28
|
||||||
|
@ -3337,193 +3338,193 @@ msgstr "El canal solicitado no está disponible."
|
||||||
msgid "Requested profile is not available."
|
msgid "Requested profile is not available."
|
||||||
msgstr "El perfil solicitado no está disponible."
|
msgstr "El perfil solicitado no está disponible."
|
||||||
|
|
||||||
#: ../../include/identity.php:946 ../../mod/profiles.php:774
|
#: ../../include/identity.php:969 ../../mod/profiles.php:774
|
||||||
msgid "Change profile photo"
|
msgid "Change profile photo"
|
||||||
msgstr "Cambiar foto de perfil"
|
msgstr "Cambiar foto de perfil"
|
||||||
|
|
||||||
#: ../../include/identity.php:952
|
#: ../../include/identity.php:975
|
||||||
msgid "Profiles"
|
msgid "Profiles"
|
||||||
msgstr "Perfiles"
|
msgstr "Perfiles"
|
||||||
|
|
||||||
#: ../../include/identity.php:952
|
#: ../../include/identity.php:975
|
||||||
msgid "Manage/edit profiles"
|
msgid "Manage/edit profiles"
|
||||||
msgstr "Administrar/editar perfiles"
|
msgstr "Administrar/editar perfiles"
|
||||||
|
|
||||||
#: ../../include/identity.php:953 ../../mod/profiles.php:775
|
#: ../../include/identity.php:976 ../../mod/profiles.php:775
|
||||||
msgid "Create New Profile"
|
msgid "Create New Profile"
|
||||||
msgstr "Crear nuevo perfil"
|
msgstr "Crear nuevo perfil"
|
||||||
|
|
||||||
#: ../../include/identity.php:968 ../../mod/profiles.php:786
|
#: ../../include/identity.php:991 ../../mod/profiles.php:786
|
||||||
msgid "Profile Image"
|
msgid "Profile Image"
|
||||||
msgstr "Imagen de perfil"
|
msgstr "Imagen de perfil"
|
||||||
|
|
||||||
#: ../../include/identity.php:971
|
#: ../../include/identity.php:994
|
||||||
msgid "visible to everybody"
|
msgid "visible to everybody"
|
||||||
msgstr "visible para cualquiera"
|
msgstr "visible para cualquiera"
|
||||||
|
|
||||||
#: ../../include/identity.php:972 ../../mod/profiles.php:669
|
#: ../../include/identity.php:995 ../../mod/profiles.php:669
|
||||||
#: ../../mod/profiles.php:790
|
#: ../../mod/profiles.php:790
|
||||||
msgid "Edit visibility"
|
msgid "Edit visibility"
|
||||||
msgstr "Editar visibilidad"
|
msgstr "Editar visibilidad"
|
||||||
|
|
||||||
#: ../../include/identity.php:988 ../../include/identity.php:1227
|
#: ../../include/identity.php:1011 ../../include/identity.php:1250
|
||||||
msgid "Gender:"
|
msgid "Gender:"
|
||||||
msgstr "Género:"
|
msgstr "Género:"
|
||||||
|
|
||||||
#: ../../include/identity.php:989 ../../include/identity.php:1271
|
#: ../../include/identity.php:1012 ../../include/identity.php:1294
|
||||||
msgid "Status:"
|
msgid "Status:"
|
||||||
msgstr "Estado:"
|
msgstr "Estado:"
|
||||||
|
|
||||||
#: ../../include/identity.php:990 ../../include/identity.php:1282
|
#: ../../include/identity.php:1013 ../../include/identity.php:1305
|
||||||
msgid "Homepage:"
|
msgid "Homepage:"
|
||||||
msgstr "Página personal:"
|
msgstr "Página personal:"
|
||||||
|
|
||||||
#: ../../include/identity.php:991
|
#: ../../include/identity.php:1014
|
||||||
msgid "Online Now"
|
msgid "Online Now"
|
||||||
msgstr "Ahora en línea"
|
msgstr "Ahora en línea"
|
||||||
|
|
||||||
#: ../../include/identity.php:1074 ../../include/identity.php:1152
|
#: ../../include/identity.php:1097 ../../include/identity.php:1175
|
||||||
#: ../../mod/ping.php:324
|
#: ../../mod/ping.php:324
|
||||||
msgid "g A l F d"
|
msgid "g A l F d"
|
||||||
msgstr "g A l d F"
|
msgstr "g A l d F"
|
||||||
|
|
||||||
#: ../../include/identity.php:1075 ../../include/identity.php:1153
|
#: ../../include/identity.php:1098 ../../include/identity.php:1176
|
||||||
msgid "F d"
|
msgid "F d"
|
||||||
msgstr "d F"
|
msgstr "d F"
|
||||||
|
|
||||||
#: ../../include/identity.php:1120 ../../include/identity.php:1192
|
#: ../../include/identity.php:1143 ../../include/identity.php:1215
|
||||||
#: ../../mod/ping.php:346
|
#: ../../mod/ping.php:346
|
||||||
msgid "[today]"
|
msgid "[today]"
|
||||||
msgstr "[hoy]"
|
msgstr "[hoy]"
|
||||||
|
|
||||||
#: ../../include/identity.php:1131
|
#: ../../include/identity.php:1154
|
||||||
msgid "Birthday Reminders"
|
msgid "Birthday Reminders"
|
||||||
msgstr "Recordatorios de cumpleaños"
|
msgstr "Recordatorios de cumpleaños"
|
||||||
|
|
||||||
#: ../../include/identity.php:1132
|
#: ../../include/identity.php:1155
|
||||||
msgid "Birthdays this week:"
|
msgid "Birthdays this week:"
|
||||||
msgstr "Cumpleaños esta semana:"
|
msgstr "Cumpleaños esta semana:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1185
|
#: ../../include/identity.php:1208
|
||||||
msgid "[No description]"
|
msgid "[No description]"
|
||||||
msgstr "[Sin descripción]"
|
msgstr "[Sin descripción]"
|
||||||
|
|
||||||
#: ../../include/identity.php:1203
|
#: ../../include/identity.php:1226
|
||||||
msgid "Event Reminders"
|
msgid "Event Reminders"
|
||||||
msgstr "Recordatorios de eventos"
|
msgstr "Recordatorios de eventos"
|
||||||
|
|
||||||
#: ../../include/identity.php:1204
|
#: ../../include/identity.php:1227
|
||||||
msgid "Events this week:"
|
msgid "Events this week:"
|
||||||
msgstr "Eventos de esta semana:"
|
msgstr "Eventos de esta semana:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1217 ../../include/identity.php:1334
|
#: ../../include/identity.php:1240 ../../include/identity.php:1357
|
||||||
#: ../../include/apps.php:138 ../../mod/profperm.php:112
|
#: ../../include/apps.php:138 ../../mod/profperm.php:112
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Perfil"
|
msgstr "Perfil"
|
||||||
|
|
||||||
#: ../../include/identity.php:1225 ../../mod/settings.php:1056
|
#: ../../include/identity.php:1248 ../../mod/settings.php:1056
|
||||||
msgid "Full Name:"
|
msgid "Full Name:"
|
||||||
msgstr "Nombre completo:"
|
msgstr "Nombre completo:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1232
|
#: ../../include/identity.php:1255
|
||||||
msgid "Like this channel"
|
msgid "Like this channel"
|
||||||
msgstr "Me gusta este canal"
|
msgstr "Me gusta este canal"
|
||||||
|
|
||||||
#: ../../include/identity.php:1256
|
#: ../../include/identity.php:1279
|
||||||
msgid "j F, Y"
|
msgid "j F, Y"
|
||||||
msgstr "j F Y"
|
msgstr "j F Y"
|
||||||
|
|
||||||
#: ../../include/identity.php:1257
|
#: ../../include/identity.php:1280
|
||||||
msgid "j F"
|
msgid "j F"
|
||||||
msgstr "j F"
|
msgstr "j F"
|
||||||
|
|
||||||
#: ../../include/identity.php:1264
|
#: ../../include/identity.php:1287
|
||||||
msgid "Birthday:"
|
msgid "Birthday:"
|
||||||
msgstr "Cumpleaños:"
|
msgstr "Cumpleaños:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1268 ../../mod/directory.php:297
|
#: ../../include/identity.php:1291 ../../mod/directory.php:297
|
||||||
msgid "Age:"
|
msgid "Age:"
|
||||||
msgstr "Edad:"
|
msgstr "Edad:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1277
|
#: ../../include/identity.php:1300
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "for %1$d %2$s"
|
msgid "for %1$d %2$s"
|
||||||
msgstr "por %1$d %2$s"
|
msgstr "por %1$d %2$s"
|
||||||
|
|
||||||
#: ../../include/identity.php:1280 ../../mod/profiles.php:691
|
#: ../../include/identity.php:1303 ../../mod/profiles.php:691
|
||||||
msgid "Sexual Preference:"
|
msgid "Sexual Preference:"
|
||||||
msgstr "Orientación sexual:"
|
msgstr "Orientación sexual:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1284 ../../mod/directory.php:313
|
#: ../../include/identity.php:1307 ../../mod/directory.php:313
|
||||||
#: ../../mod/profiles.php:693
|
#: ../../mod/profiles.php:693
|
||||||
msgid "Hometown:"
|
msgid "Hometown:"
|
||||||
msgstr "Ciudad de origen:"
|
msgstr "Ciudad de origen:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1286
|
#: ../../include/identity.php:1309
|
||||||
msgid "Tags:"
|
msgid "Tags:"
|
||||||
msgstr "Etiquetas:"
|
msgstr "Etiquetas:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1288 ../../mod/profiles.php:694
|
#: ../../include/identity.php:1311 ../../mod/profiles.php:694
|
||||||
msgid "Political Views:"
|
msgid "Political Views:"
|
||||||
msgstr "Posición política:"
|
msgstr "Posición política:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1290
|
#: ../../include/identity.php:1313
|
||||||
msgid "Religion:"
|
msgid "Religion:"
|
||||||
msgstr "Religión:"
|
msgstr "Religión:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1292 ../../mod/directory.php:315
|
#: ../../include/identity.php:1315 ../../mod/directory.php:315
|
||||||
msgid "About:"
|
msgid "About:"
|
||||||
msgstr "Sobre mí:"
|
msgstr "Sobre mí:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1294
|
#: ../../include/identity.php:1317
|
||||||
msgid "Hobbies/Interests:"
|
msgid "Hobbies/Interests:"
|
||||||
msgstr "Aficciones/Intereses:"
|
msgstr "Aficciones/Intereses:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1296 ../../mod/profiles.php:697
|
#: ../../include/identity.php:1319 ../../mod/profiles.php:697
|
||||||
msgid "Likes:"
|
msgid "Likes:"
|
||||||
msgstr "Me gusta:"
|
msgstr "Me gusta:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1298 ../../mod/profiles.php:698
|
#: ../../include/identity.php:1321 ../../mod/profiles.php:698
|
||||||
msgid "Dislikes:"
|
msgid "Dislikes:"
|
||||||
msgstr "No me gusta:"
|
msgstr "No me gusta:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1300
|
#: ../../include/identity.php:1323
|
||||||
msgid "Contact information and Social Networks:"
|
msgid "Contact information and Social Networks:"
|
||||||
msgstr "Información de contacto y redes sociales:"
|
msgstr "Información de contacto y redes sociales:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1302
|
#: ../../include/identity.php:1325
|
||||||
msgid "My other channels:"
|
msgid "My other channels:"
|
||||||
msgstr "Mis otros canales:"
|
msgstr "Mis otros canales:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1304
|
#: ../../include/identity.php:1327
|
||||||
msgid "Musical interests:"
|
msgid "Musical interests:"
|
||||||
msgstr "Intereses musicales:"
|
msgstr "Intereses musicales:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1306
|
#: ../../include/identity.php:1329
|
||||||
msgid "Books, literature:"
|
msgid "Books, literature:"
|
||||||
msgstr "Libros, literatura:"
|
msgstr "Libros, literatura:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1308
|
#: ../../include/identity.php:1331
|
||||||
msgid "Television:"
|
msgid "Television:"
|
||||||
msgstr "Televisión:"
|
msgstr "Televisión:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1310
|
#: ../../include/identity.php:1333
|
||||||
msgid "Film/dance/culture/entertainment:"
|
msgid "Film/dance/culture/entertainment:"
|
||||||
msgstr "Cine/danza/cultura/entretenimiento:"
|
msgstr "Cine/danza/cultura/entretenimiento:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1312
|
#: ../../include/identity.php:1335
|
||||||
msgid "Love/Romance:"
|
msgid "Love/Romance:"
|
||||||
msgstr "Vida sentimental/amorosa:"
|
msgstr "Vida sentimental/amorosa:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1314
|
#: ../../include/identity.php:1337
|
||||||
msgid "Work/employment:"
|
msgid "Work/employment:"
|
||||||
msgstr "Trabajo:"
|
msgstr "Trabajo:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1316
|
#: ../../include/identity.php:1339
|
||||||
msgid "School/education:"
|
msgid "School/education:"
|
||||||
msgstr "Estudios:"
|
msgstr "Estudios:"
|
||||||
|
|
||||||
#: ../../include/identity.php:1336
|
#: ../../include/identity.php:1359
|
||||||
msgid "Like this thing"
|
msgid "Like this thing"
|
||||||
msgstr "Me gusta esto"
|
msgstr "Me gusta esto"
|
||||||
|
|
||||||
|
@ -4273,7 +4274,7 @@ msgstr "Omitir este paso"
|
||||||
|
|
||||||
#: ../../mod/profile_photo.php:366
|
#: ../../mod/profile_photo.php:366
|
||||||
msgid "select a photo from your photo albums"
|
msgid "select a photo from your photo albums"
|
||||||
msgstr "Seleccione una foto de sus álbumes de fotos"
|
msgstr "Seleccione una foto de sus álbumes"
|
||||||
|
|
||||||
#: ../../mod/profile_photo.php:382
|
#: ../../mod/profile_photo.php:382
|
||||||
msgid "Crop Image"
|
msgid "Crop Image"
|
||||||
|
@ -4610,7 +4611,7 @@ msgstr "Extensiones/Aplicaciones instaladas:"
|
||||||
msgid "No installed plugins/addons/apps"
|
msgid "No installed plugins/addons/apps"
|
||||||
msgstr "Extensiones/Aplicaciones no instaladas:"
|
msgstr "Extensiones/Aplicaciones no instaladas:"
|
||||||
|
|
||||||
#: ../../mod/siteinfo.php:155 ../../mod/home.php:58 ../../mod/home.php:64
|
#: ../../mod/siteinfo.php:155 ../../mod/home.php:58 ../../mod/home.php:66
|
||||||
msgid "$Projectname"
|
msgid "$Projectname"
|
||||||
msgstr "$Projectname"
|
msgstr "$Projectname"
|
||||||
|
|
||||||
|
@ -4875,12 +4876,12 @@ msgstr "El acceso a este elemento está restringido."
|
||||||
#: ../../mod/photos.php:535
|
#: ../../mod/photos.php:535
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%1$.2f MB of %2$.2f MB photo storage used."
|
msgid "%1$.2f MB of %2$.2f MB photo storage used."
|
||||||
msgstr "%1$.2f MB de %2$.2f MB de almacenamiento de fotos utilizado."
|
msgstr "%1$.2f MB de %2$.2f MB usados de la capacidad de almacenamiento de fotos."
|
||||||
|
|
||||||
#: ../../mod/photos.php:538
|
#: ../../mod/photos.php:538
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%1$.2f MB photo storage used."
|
msgid "%1$.2f MB photo storage used."
|
||||||
msgstr "%1$.2f MB de almacenamiento de fotos utilizado."
|
msgstr "%1$.2f MB utilizados de la capacidad de almacenamiento de fotos."
|
||||||
|
|
||||||
#: ../../mod/photos.php:562
|
#: ../../mod/photos.php:562
|
||||||
msgid "Upload Photos"
|
msgid "Upload Photos"
|
||||||
|
@ -5787,7 +5788,7 @@ msgstr "Servidor no encontrado"
|
||||||
|
|
||||||
#: ../../mod/poke.php:159
|
#: ../../mod/poke.php:159
|
||||||
msgid "Poke/Prod"
|
msgid "Poke/Prod"
|
||||||
msgstr "Dar un toque/Incitar"
|
msgstr "Toque/Incitación"
|
||||||
|
|
||||||
#: ../../mod/poke.php:160
|
#: ../../mod/poke.php:160
|
||||||
msgid "poke, prod or do other things to somebody"
|
msgid "poke, prod or do other things to somebody"
|
||||||
|
@ -6524,7 +6525,7 @@ msgstr "IMPORTANTE: Debe crear [manualmente] una tarea programada para las actua
|
||||||
msgid "OpenID protocol error. No ID returned."
|
msgid "OpenID protocol error. No ID returned."
|
||||||
msgstr "Error del protocolo OpenID. Ningún ID recibido como respuesta."
|
msgstr "Error del protocolo OpenID. Ningún ID recibido como respuesta."
|
||||||
|
|
||||||
#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:286
|
#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:287
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Welcome %s. Remote authentication successful."
|
msgid "Welcome %s. Remote authentication successful."
|
||||||
msgstr "Bienvenido %s. La identificación desde su servidor se ha llevado a cabo correctamente."
|
msgstr "Bienvenido %s. La identificación desde su servidor se ha llevado a cabo correctamente."
|
||||||
|
@ -6534,31 +6535,6 @@ msgstr "Bienvenido %s. La identificación desde su servidor se ha llevado a cabo
|
||||||
msgid "%1$s tagged %2$s's %3$s with %4$s"
|
msgid "%1$s tagged %2$s's %3$s with %4$s"
|
||||||
msgstr "%1$s ha etiquetado la %3$s de %2$s con %4$s"
|
msgstr "%1$s ha etiquetado la %3$s de %2$s con %4$s"
|
||||||
|
|
||||||
#: ../../mod/uexport.php:45 ../../mod/uexport.php:46
|
|
||||||
msgid "Export Channel"
|
|
||||||
msgstr "Exportar el canal"
|
|
||||||
|
|
||||||
#: ../../mod/uexport.php:47
|
|
||||||
msgid ""
|
|
||||||
"Export your basic channel information to a small file. This acts as a "
|
|
||||||
"backup of your connections, permissions, profile and basic data, which can "
|
|
||||||
"be used to import your data to a new hub, but\tdoes not contain your "
|
|
||||||
"content."
|
|
||||||
msgstr "Exportar la base de datos de su canal a un pequeño fichero. Este podrá servir como una copia de seguridad de sus conexiones, permisos, perfil y datos básicos, que podrá importar a un nuevo canal, pero sin sus contenidos."
|
|
||||||
|
|
||||||
#: ../../mod/uexport.php:48
|
|
||||||
msgid "Export Content"
|
|
||||||
msgstr "Exportar contenidos"
|
|
||||||
|
|
||||||
#: ../../mod/uexport.php:49
|
|
||||||
msgid ""
|
|
||||||
"Export your channel information and all the content to a JSON backup. This "
|
|
||||||
"backs up all of your connections, permissions, profile data and all of your "
|
|
||||||
"content, but is generally not suitable for importing a channel to a new hub "
|
|
||||||
"as this file may be VERY large. Please be patient - it may take several "
|
|
||||||
"minutes for this download to begin."
|
|
||||||
msgstr "Exportar toda la información del canal y todo su contenido a un fichero JSON. Este contendrá todas sus conexiones, permisos, información del perfil y todo su contenido, Sin embargo, a menudo, no será una buena solución para importarlo en una nueva instancia, pues el fichero será MUY voluminoso. Por favor, tenga paciencia - pueden pasar muchos minutos antes de que comience la carga."
|
|
||||||
|
|
||||||
#: ../../mod/viewconnections.php:62
|
#: ../../mod/viewconnections.php:62
|
||||||
msgid "No connections."
|
msgid "No connections."
|
||||||
msgstr "Sin conexiones."
|
msgstr "Sin conexiones."
|
||||||
|
@ -7989,7 +7965,7 @@ msgstr "Usted ha sido etiquetado en una publicación"
|
||||||
|
|
||||||
#: ../../mod/settings.php:1109
|
#: ../../mod/settings.php:1109
|
||||||
msgid "You are poked/prodded/etc. in a post"
|
msgid "You are poked/prodded/etc. in a post"
|
||||||
msgstr "Recibir un toque o incitación en una publicación"
|
msgstr "Reciba un toque o incitación en una entrada"
|
||||||
|
|
||||||
#: ../../mod/settings.php:1112
|
#: ../../mod/settings.php:1112
|
||||||
msgid "Show visual notifications including:"
|
msgid "Show visual notifications including:"
|
||||||
|
@ -8171,6 +8147,114 @@ msgstr "Eliminar conversación"
|
||||||
msgid "D, d M Y - g:i A"
|
msgid "D, d M Y - g:i A"
|
||||||
msgstr "D d M Y - G:i"
|
msgstr "D d M Y - G:i"
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:50 ../../mod/uexport.php:51
|
||||||
|
msgid "Export Channel"
|
||||||
|
msgstr "Exportar el canal"
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:52
|
||||||
|
msgid ""
|
||||||
|
"Export your basic channel information to a file. This acts as a backup of "
|
||||||
|
"your connections, permissions, profile and basic data, which can be used to "
|
||||||
|
"import your data to a new server hub, but does not contain your content."
|
||||||
|
msgstr "Exportar la información básica del canal a un fichero. Este equivale a una copia de seguridad de sus conexiones, el perfil y datos fundamentales, que puede usarse para importar sus datos a un nuevo servidor, pero no incluye su contenido."
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:53
|
||||||
|
msgid "Export Content"
|
||||||
|
msgstr "Exportar contenidos"
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:54
|
||||||
|
msgid ""
|
||||||
|
"Export your channel information and recent content to a JSON backup that can"
|
||||||
|
" be restored or imported to another server hub. This backs up all of your "
|
||||||
|
"connections, permissions, profile data and several months of posts. This "
|
||||||
|
"file may be VERY large. Please be patient - it may take several minutes for"
|
||||||
|
" this download to begin."
|
||||||
|
msgstr "Exportar la información sobre su canal y el contenido reciente a un fichero de respaldo JSON, que puede ser restaurado o importado a otro servidor. Este fichero incluye todas sus conexiones, permisos, datos del perfil y publicaciones de varios meses. Puede llegar a ser MUY grande. Por favor, sea paciente, la descarga puede tardar varios minutos en comenzar."
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:55
|
||||||
|
msgid "Export your posts from a given year or month:"
|
||||||
|
msgstr "Exporta sus entradas de un año o mes determinados."
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:57
|
||||||
|
msgid ""
|
||||||
|
"You may also export your posts and conversations for a particular year or "
|
||||||
|
"month. Click on one of the recent years or months below."
|
||||||
|
msgstr "También puede exportar sus entradas y conversaciones de un año o mes en particular. Hágalo en primer lugar con uno de los años o meses más recientes."
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Jan"
|
||||||
|
msgstr "Ene"
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Feb"
|
||||||
|
msgstr "Feb"
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Mar"
|
||||||
|
msgstr "Mar"
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Apr"
|
||||||
|
msgstr "Abr"
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Jun"
|
||||||
|
msgstr "Jun"
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Jul"
|
||||||
|
msgstr "Jul"
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Aug"
|
||||||
|
msgstr "Ago"
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Sep"
|
||||||
|
msgstr "Sep"
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Oct"
|
||||||
|
msgstr "Oct"
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Nov"
|
||||||
|
msgstr "Nov"
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:58 ../../mod/uexport.php:59
|
||||||
|
msgid "Dec"
|
||||||
|
msgstr "Dic"
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:60
|
||||||
|
msgid ""
|
||||||
|
"If the export fails (possibly due to memory exhaustion on your server hub), "
|
||||||
|
"please try again selecting a more limited date range."
|
||||||
|
msgstr "Si la exportación falla (posiblemente debido al agotamiento de la memoria del servidor hub), por favor, inténtelo de nuevo seleccionando un rango de fechas más pequeño."
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:61
|
||||||
|
#, php-format
|
||||||
|
msgid ""
|
||||||
|
"Or adjust the date in your browser location bar to select other dates. For "
|
||||||
|
"example the year 2013; <a href=\"%1$s/2013\">%1$s/2013</a> or the month "
|
||||||
|
"September 2013; <a href=\"%1$s/2013/9\">%1$s/2013/9</a>"
|
||||||
|
msgstr "Ajuste la fecha en la barra de direcciones del navegador para seleccionar otras fechas. Por ejemlo, el año 2013: <a href=\"%1$s/2013\">%1$s/2013</a> o el mes de septiembre de 2013: <a href=\"%1$s/2013/9\">%1$s/2013/9</a>"
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:62
|
||||||
|
msgid "Please visit"
|
||||||
|
msgstr "Por favor, visite"
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:62
|
||||||
|
msgid "on another hub to import the backup files(s)."
|
||||||
|
msgstr "en otro servidor hub para importar el fichero (s) de copia de seguridad."
|
||||||
|
|
||||||
|
#: ../../mod/uexport.php:63
|
||||||
|
msgid ""
|
||||||
|
"We advise you to clone the channel on the new hub first and than to import "
|
||||||
|
"the backup file(s) (from the same channel) in chronological order. Importing"
|
||||||
|
" the backup files into another channel will certainly give permission "
|
||||||
|
"issues."
|
||||||
|
msgstr "Aviso: al clonar el canal en un nuevo servidor hub, en primer lugar tiene que importar el fichero (s) con las copias de seguridad (desde el mismo canal) en orden cronológico. Importar los ficheros de copia de seguridad en otro canal le dará, con toda seguridad, problemas de permisos."
|
||||||
|
|
||||||
#: ../../mod/mood.php:131
|
#: ../../mod/mood.php:131
|
||||||
msgid "Set your current mood and tell your friends"
|
msgid "Set your current mood and tell your friends"
|
||||||
msgstr "Describir su estado de ánimo para comunicárselo a sus amigos"
|
msgstr "Describir su estado de ánimo para comunicárselo a sus amigos"
|
||||||
|
@ -8504,7 +8588,7 @@ msgstr "Mensaje eliminado."
|
||||||
|
|
||||||
#: ../../mod/mail.php:156
|
#: ../../mod/mail.php:156
|
||||||
msgid "Message recalled."
|
msgid "Message recalled."
|
||||||
msgstr "Mensaje recuperado."
|
msgstr "Mensaje revocado."
|
||||||
|
|
||||||
#: ../../mod/mail.php:225
|
#: ../../mod/mail.php:225
|
||||||
msgid "Send Private Message"
|
msgid "Send Private Message"
|
||||||
|
@ -8532,11 +8616,11 @@ msgstr "Mensaje eliminado"
|
||||||
|
|
||||||
#: ../../mod/mail.php:313
|
#: ../../mod/mail.php:313
|
||||||
msgid "Recall message"
|
msgid "Recall message"
|
||||||
msgstr "Recuperar el mensaje"
|
msgstr "Revocar el mensaje"
|
||||||
|
|
||||||
#: ../../mod/mail.php:315
|
#: ../../mod/mail.php:315
|
||||||
msgid "Message has been recalled."
|
msgid "Message has been recalled."
|
||||||
msgstr "El mensaje ha sido recuperado."
|
msgstr "El mensaje ha sido revocado."
|
||||||
|
|
||||||
#: ../../mod/mail.php:332
|
#: ../../mod/mail.php:332
|
||||||
msgid "Private Conversation"
|
msgid "Private Conversation"
|
||||||
|
@ -8564,7 +8648,7 @@ msgstr "Descartar"
|
||||||
msgid "Please login."
|
msgid "Please login."
|
||||||
msgstr "Por favor, inicie sesión."
|
msgstr "Por favor, inicie sesión."
|
||||||
|
|
||||||
#: ../../mod/post.php:235
|
#: ../../mod/post.php:236
|
||||||
msgid ""
|
msgid ""
|
||||||
"Remote authentication blocked. You are logged into this site locally. Please"
|
"Remote authentication blocked. You are logged into this site locally. Please"
|
||||||
" logout and retry."
|
" logout and retry."
|
||||||
|
@ -8686,7 +8770,7 @@ msgstr "Descripción del formato"
|
||||||
msgid "Download PDL file"
|
msgid "Download PDL file"
|
||||||
msgstr "Descargar el fichero PDL"
|
msgstr "Descargar el fichero PDL"
|
||||||
|
|
||||||
#: ../../mod/home.php:73
|
#: ../../mod/home.php:75
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Welcome to %s"
|
msgid "Welcome to %s"
|
||||||
msgstr "Bienvenido a %s"
|
msgstr "Bienvenido a %s"
|
||||||
|
@ -8897,11 +8981,11 @@ msgstr "Ancho de la sección"
|
||||||
|
|
||||||
#: ../../view/theme/apw/php/config.php:289
|
#: ../../view/theme/apw/php/config.php:289
|
||||||
msgid "Left offset of the aside"
|
msgid "Left offset of the aside"
|
||||||
msgstr "Desplazamiento izquierdo del lateral"
|
msgstr "Desplazamiento izquierdo del panel lateral"
|
||||||
|
|
||||||
#: ../../view/theme/apw/php/config.php:290
|
#: ../../view/theme/apw/php/config.php:290
|
||||||
msgid "Right offset of the aside element"
|
msgid "Right offset of the aside element"
|
||||||
msgstr "Desplazamiento derecho del elemento lateral"
|
msgstr "Desplazamiento derecho del elemento del panel lateral"
|
||||||
|
|
||||||
#: ../../view/theme/redbasic/php/config.php:82
|
#: ../../view/theme/redbasic/php/config.php:82
|
||||||
msgid "Light (Red Matrix default)"
|
msgid "Light (Red Matrix default)"
|
||||||
|
@ -9073,7 +9157,7 @@ msgstr "[red] Error SSL del sitio web en %s"
|
||||||
|
|
||||||
#: ../../boot.php:2352
|
#: ../../boot.php:2352
|
||||||
msgid "Cron/Scheduled tasks not running."
|
msgid "Cron/Scheduled tasks not running."
|
||||||
msgstr "Las tareas del Planificador/Cron no se están funcionando."
|
msgstr "Las tareas del Planificador/Cron no están funcionando."
|
||||||
|
|
||||||
#: ../../boot.php:2356
|
#: ../../boot.php:2356
|
||||||
#, php-format
|
#, php-format
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
Una cuenta ha sido creada en {{$sitename}} con esta dirección de correo electrónico.
|
Una cuenta ha sido creada en {{$sitename}} con esta dirección de correo electrónico.
|
||||||
Los detalles del inicio de sesión son los siguientes:
|
Los detalles del inicio de sesión son los siguientes:
|
||||||
|
|
||||||
Localización del Sitio: {{$siteurl}}
|
Localización del sitio:⇥{{$siteurl}}
|
||||||
Nombre de usuario: {{$email}}
|
Nombre de usuario:⇥{{$email}}
|
||||||
Contraseña: (la contraseña que proporcionó durante el proceso de registro)
|
Contraseña: (la contraseña que proporcionó durante el proceso de registro)
|
||||||
|
|
||||||
Si esta cuenta se creó sin su consentimiento y no es deseada, puedes
|
Si esta cuenta se creó sin su consentimiento, y no es deseada, puede
|
||||||
visitar el sitio y cambiar la contraseña. Esto le permitirá eliminar la
|
visitar el sitio y cambiar la contraseña. Esto le permitirá eliminar la
|
||||||
cuenta de los enlaces en la página de Ajustes, le
|
cuenta en la página de Ajustes del perfil, le
|
||||||
pedimos disculpas por cualquier inconveniente que hayamos podido causar.
|
pedimos disculpas por cualquier inconveniente que hayamos podido causarle.
|
||||||
|
|
||||||
gracias y bienvenido a {{$sitename}}.
|
Gracias y bienvenido a {{$sitename}}.
|
||||||
|
|
||||||
Atentamente,
|
Atentamente,
|
||||||
Administrador de {{$sitename}}
|
Administrador de {{$sitename}}
|
||||||
|
|
|
@ -5,8 +5,8 @@ su aprobación.
|
||||||
|
|
||||||
Los detalles del inicio de sesión son los siguientes:
|
Los detalles del inicio de sesión son los siguientes:
|
||||||
|
|
||||||
Localización del Sitio: {{$siteurl}}
|
Localización del sitio:⇥{{$siteurl}}
|
||||||
Nombre de usuario: {{$email}}
|
Nombre de usuario:⇥{{$email}}
|
||||||
Dirección IP: {{$details}}
|
Dirección IP: {{$details}}
|
||||||
|
|
||||||
Para aprobar la petición siga el enlace:
|
Para aprobar la petición siga el enlace:
|
||||||
|
@ -15,7 +15,7 @@ Para aprobar la petición siga el enlace:
|
||||||
{{$siteurl}}/regmod/allow/{{$hash}}
|
{{$siteurl}}/regmod/allow/{{$hash}}
|
||||||
|
|
||||||
|
|
||||||
Para denegar la petición y eliminar la cuenta , siga:
|
Para rechazar la petición y eliminar la cuenta , siga:
|
||||||
|
|
||||||
|
|
||||||
{{$siteurl}}/regmod/deny/{{$hash}}
|
{{$siteurl}}/regmod/deny/{{$hash}}
|
||||||
|
|
|
@ -3,10 +3,10 @@ Gracias por registrarse en {{$sitename}}.
|
||||||
|
|
||||||
Los detalles del inicio de sesión son los siguientes:
|
Los detalles del inicio de sesión son los siguientes:
|
||||||
|
|
||||||
Localización del Sitio: {{$siteurl}}
|
Localización del sitio:⇥{{$siteurl}}
|
||||||
Nombre de usuario: {{$email}}
|
Nombre de usuario:⇥{{$email}}
|
||||||
|
|
||||||
inicie la sesión con la contraseña que elegió durante el registro.
|
Inicie la sesión con la contraseña que eligió durante el registro.
|
||||||
|
|
||||||
Necesitamos verificar su correo electrónico para poder darle pleno acceso.
|
Necesitamos verificar su correo electrónico para poder darle pleno acceso.
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ Si registró esta cuenta, por favor, siga el enlace:
|
||||||
{{$siteurl}}/regver/allow/{{$hash}}
|
{{$siteurl}}/regver/allow/{{$hash}}
|
||||||
|
|
||||||
|
|
||||||
Para denegar la petición y eliminar la cuenta , siga:
|
Para rechazar la petición y eliminar la cuenta , siga:
|
||||||
|
|
||||||
|
|
||||||
{{$siteurl}}/regver/deny/{{$hash}}
|
{{$siteurl}}/regver/deny/{{$hash}}
|
||||||
|
|
|
@ -145,18 +145,18 @@ $a->strings["%d Connection"] = array(
|
||||||
$a->strings["View Connections"] = "Ver conexiones";
|
$a->strings["View Connections"] = "Ver conexiones";
|
||||||
$a->strings["Search"] = "Buscar";
|
$a->strings["Search"] = "Buscar";
|
||||||
$a->strings["Save"] = "Guardar";
|
$a->strings["Save"] = "Guardar";
|
||||||
$a->strings["poke"] = "dar un toque";
|
$a->strings["poke"] = "un toque";
|
||||||
$a->strings["poked"] = "ha recibido un toque";
|
$a->strings["poked"] = "ha recibido un toque";
|
||||||
$a->strings["ping"] = "avisar";
|
$a->strings["ping"] = "un \"ping\"";
|
||||||
$a->strings["pinged"] = "avisado/a";
|
$a->strings["pinged"] = "avisado/a";
|
||||||
$a->strings["prod"] = "incitar";
|
$a->strings["prod"] = "incitar";
|
||||||
$a->strings["prodded"] = "incitado/a";
|
$a->strings["prodded"] = "incitado/a";
|
||||||
$a->strings["slap"] = "abofetear";
|
$a->strings["slap"] = "abofetear";
|
||||||
$a->strings["slapped"] = "abofeteado/a";
|
$a->strings["slapped"] = "abofeteado/a";
|
||||||
$a->strings["finger"] = "señalar";
|
$a->strings["finger"] = "un \"finger\"";
|
||||||
$a->strings["fingered"] = "señalado/a";
|
$a->strings["fingered"] = "ha recibido un \"finger\"";
|
||||||
$a->strings["rebuff"] = "desairar";
|
$a->strings["rebuff"] = "un rechazo";
|
||||||
$a->strings["rebuffed"] = "desairado/a";
|
$a->strings["rebuffed"] = "ha sido rechazado/a";
|
||||||
$a->strings["happy"] = "feliz";
|
$a->strings["happy"] = "feliz";
|
||||||
$a->strings["sad"] = "triste";
|
$a->strings["sad"] = "triste";
|
||||||
$a->strings["mellow"] = "amable";
|
$a->strings["mellow"] = "amable";
|
||||||
|
@ -210,7 +210,7 @@ $a->strings["Page content type"] = "Tipo de contenido de página";
|
||||||
$a->strings["Select an alternate language"] = "Selecciona un idioma alternativo";
|
$a->strings["Select an alternate language"] = "Selecciona un idioma alternativo";
|
||||||
$a->strings["photo"] = "foto";
|
$a->strings["photo"] = "foto";
|
||||||
$a->strings["event"] = "evento";
|
$a->strings["event"] = "evento";
|
||||||
$a->strings["status"] = "estado";
|
$a->strings["status"] = "el mensaje de estado";
|
||||||
$a->strings["comment"] = "comentario";
|
$a->strings["comment"] = "comentario";
|
||||||
$a->strings["activity"] = "actividad";
|
$a->strings["activity"] = "actividad";
|
||||||
$a->strings["Design Tools"] = "Herramientas de diseño";
|
$a->strings["Design Tools"] = "Herramientas de diseño";
|
||||||
|
@ -245,7 +245,7 @@ $a->strings["view full size"] = "Ver en el tamaño original";
|
||||||
$a->strings["\$Projectname Notification"] = "Notificación de \$Projectname";
|
$a->strings["\$Projectname Notification"] = "Notificación de \$Projectname";
|
||||||
$a->strings["\$projectname"] = "\$projectname";
|
$a->strings["\$projectname"] = "\$projectname";
|
||||||
$a->strings["Thank You,"] = "Gracias,";
|
$a->strings["Thank You,"] = "Gracias,";
|
||||||
$a->strings["%s Administrator"] = "%s Administrador";
|
$a->strings["%s Administrator"] = "Administrador de %s";
|
||||||
$a->strings["No Subject"] = "Sin asunto";
|
$a->strings["No Subject"] = "Sin asunto";
|
||||||
$a->strings["General Features"] = "Características generales";
|
$a->strings["General Features"] = "Características generales";
|
||||||
$a->strings["Content Expiration"] = "Caducidad del contenido";
|
$a->strings["Content Expiration"] = "Caducidad del contenido";
|
||||||
|
@ -365,8 +365,8 @@ $a->strings["%1\$s sent you %2\$s."] = "%1\$s le envió %2\$s.";
|
||||||
$a->strings["a private message"] = "un mensaje privado";
|
$a->strings["a private message"] = "un mensaje privado";
|
||||||
$a->strings["Please visit %s to view and/or reply to your private messages."] = "Por favor visite %s para ver y/o responder a su mensaje privado.";
|
$a->strings["Please visit %s to view and/or reply to your private messages."] = "Por favor visite %s para ver y/o responder a su mensaje privado.";
|
||||||
$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s ha comentado sobre [zrl=%3\$s]%4\$s[/zrl]";
|
$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s ha comentado sobre [zrl=%3\$s]%4\$s[/zrl]";
|
||||||
$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s ha comentado sobre el [zrl=%3\$s]%5\$s de %4\$s[/zrl]";
|
$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s ha comentado [zrl=%3\$s]%5\$s de %4\$s[/zrl]";
|
||||||
$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s ha comentado [zrl=%3\$s]su %4\$s[/zrl]";
|
$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s ha comentado [zrl=%3\$s]%4\$s creado por usted[/zrl]";
|
||||||
$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Aviso] Nuevo comentario de %2\$s en la conversación #%1\$d";
|
$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Aviso] Nuevo comentario de %2\$s en la conversación #%1\$d";
|
||||||
$a->strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s comentó un elemento/conversación que ha estado siguiendo.";
|
$a->strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s comentó un elemento/conversación que ha estado siguiendo.";
|
||||||
$a->strings["Please visit %s to view and/or reply to the conversation."] = "Para ver o comentar la conversación, visite %s";
|
$a->strings["Please visit %s to view and/or reply to the conversation."] = "Para ver o comentar la conversación, visite %s";
|
||||||
|
@ -377,10 +377,10 @@ $a->strings["[Red:Notify] %s tagged you"] = "[Red:Aviso] %s le etiquetó";
|
||||||
$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s le etiquetó en %3\$s";
|
$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s le etiquetó en %3\$s";
|
||||||
$a->strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]le etiquetó[/zrl].";
|
$a->strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]le etiquetó[/zrl].";
|
||||||
$a->strings["[Red:Notify] %1\$s poked you"] = "[Red:Aviso] %1\$s le ha dado un toque";
|
$a->strings["[Red:Notify] %1\$s poked you"] = "[Red:Aviso] %1\$s le ha dado un toque";
|
||||||
$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s le dio un toque sobre %3\$s";
|
$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s le dio un toque en %3\$s";
|
||||||
$a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]le dio un toque[/zrl].";
|
$a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]le dio un toque[/zrl].";
|
||||||
$a->strings["[Red:Notify] %s tagged your post"] = "[Red:Aviso] %s etiquetó su entrada";
|
$a->strings["[Red:Notify] %s tagged your post"] = "[Red:Aviso] %s etiquetó su entrada";
|
||||||
$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s ha etiquetado su publicación sobre %3\$s";
|
$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s ha etiquetado su publicación en %3\$s";
|
||||||
$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s ha etiquetado [zrl=%3\$s]su publicación[/zrl]";
|
$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s ha etiquetado [zrl=%3\$s]su publicación[/zrl]";
|
||||||
$a->strings["[Red:Notify] Introduction received"] = "[Red:Aviso] Solicitud de conexión recibida";
|
$a->strings["[Red:Notify] Introduction received"] = "[Red:Aviso] Solicitud de conexión recibida";
|
||||||
$a->strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, ha recibido una nueva solicitud de conexión de '%2\$s' en %3\$s";
|
$a->strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, ha recibido una nueva solicitud de conexión de '%2\$s' en %3\$s";
|
||||||
|
@ -557,7 +557,7 @@ $a->strings["Can view my normal stream and posts"] = "Pueden verse mi flujo de a
|
||||||
$a->strings["Can view my default channel profile"] = "Puede verse mi perfil de canal predeterminado.";
|
$a->strings["Can view my default channel profile"] = "Puede verse mi perfil de canal predeterminado.";
|
||||||
$a->strings["Can view my photo albums"] = "Pueden verse mis álbumes de fotos";
|
$a->strings["Can view my photo albums"] = "Pueden verse mis álbumes de fotos";
|
||||||
$a->strings["Can view my connections"] = "Pueden verse mis conexiones";
|
$a->strings["Can view my connections"] = "Pueden verse mis conexiones";
|
||||||
$a->strings["Can view my file storage"] = "Pueden verse mis ficheros compartidos";
|
$a->strings["Can view my file storage"] = "Puede verse mi repositorio de ficheros";
|
||||||
$a->strings["Can view my webpages"] = "Pueden verse mis páginas web";
|
$a->strings["Can view my webpages"] = "Pueden verse mis páginas web";
|
||||||
$a->strings["Can send me their channel stream and posts"] = "Me pueden enviar sus entradas y flujo de actividad su canal";
|
$a->strings["Can send me their channel stream and posts"] = "Me pueden enviar sus entradas y flujo de actividad su canal";
|
||||||
$a->strings["Can post on my channel page (\"wall\")"] = "Pueden crear entradas en mi página de inicio del canal (“muro”)";
|
$a->strings["Can post on my channel page (\"wall\")"] = "Pueden crear entradas en mi página de inicio del canal (“muro”)";
|
||||||
|
@ -569,7 +569,7 @@ $a->strings["Profiles and things other than posts/comments"] = "Perfiles y otras
|
||||||
$a->strings["Can forward to all my channel contacts via post @mentions"] = "Puede enviarse una entrada a todos mis contactos del canal mediante una @mención";
|
$a->strings["Can forward to all my channel contacts via post @mentions"] = "Puede enviarse una entrada a todos mis contactos del canal mediante una @mención";
|
||||||
$a->strings["Advanced - useful for creating group forum channels"] = "Avanzado - útil para crear canales de foro o grupos";
|
$a->strings["Advanced - useful for creating group forum channels"] = "Avanzado - útil para crear canales de foro o grupos";
|
||||||
$a->strings["Can chat with me (when available)"] = "Se puede charlar conmigo (cuando esté disponible)";
|
$a->strings["Can chat with me (when available)"] = "Se puede charlar conmigo (cuando esté disponible)";
|
||||||
$a->strings["Can write to my file storage"] = "Puede escribirse en mi carpeta de ficheros";
|
$a->strings["Can write to my file storage"] = "Puede escribirse en mi repositorio de ficheros";
|
||||||
$a->strings["Can edit my webpages"] = "Puede editar mis páginas web";
|
$a->strings["Can edit my webpages"] = "Puede editar mis páginas web";
|
||||||
$a->strings["Can source my public posts in derived channels"] = "Pueden utilizarse mis publicaciones públicas como origen de contenidos en canales derivados";
|
$a->strings["Can source my public posts in derived channels"] = "Pueden utilizarse mis publicaciones públicas como origen de contenidos en canales derivados";
|
||||||
$a->strings["Somewhat advanced - very useful in open communities"] = "Algo avanzado - muy útil en comunidades abiertas";
|
$a->strings["Somewhat advanced - very useful in open communities"] = "Algo avanzado - muy útil en comunidades abiertas";
|
||||||
|
@ -596,8 +596,8 @@ $a->strings["__ctx:title__ Dislikes"] = "No me gusta";
|
||||||
$a->strings["__ctx:title__ Agree"] = "De acuerdo";
|
$a->strings["__ctx:title__ Agree"] = "De acuerdo";
|
||||||
$a->strings["__ctx:title__ Disagree"] = "En desacuerdo";
|
$a->strings["__ctx:title__ Disagree"] = "En desacuerdo";
|
||||||
$a->strings["__ctx:title__ Abstain"] = "Abstención";
|
$a->strings["__ctx:title__ Abstain"] = "Abstención";
|
||||||
$a->strings["__ctx:title__ Attending"] = "Participar";
|
$a->strings["__ctx:title__ Attending"] = "Participaré";
|
||||||
$a->strings["__ctx:title__ Not attending"] = "No participar";
|
$a->strings["__ctx:title__ Not attending"] = "No participaré";
|
||||||
$a->strings["__ctx:title__ Might attend"] = "Quizá participe";
|
$a->strings["__ctx:title__ Might attend"] = "Quizá participe";
|
||||||
$a->strings["View %s's profile @ %s"] = "Ver el perfil @ %s de %s";
|
$a->strings["View %s's profile @ %s"] = "Ver el perfil @ %s de %s";
|
||||||
$a->strings["Categories:"] = "Categorías:";
|
$a->strings["Categories:"] = "Categorías:";
|
||||||
|
@ -607,12 +607,12 @@ $a->strings["remove"] = "eliminar";
|
||||||
$a->strings["Delete Selected Items"] = "Eliminar elementos seleccionados";
|
$a->strings["Delete Selected Items"] = "Eliminar elementos seleccionados";
|
||||||
$a->strings["View Source"] = "Ver la fuente original de la entrada";
|
$a->strings["View Source"] = "Ver la fuente original de la entrada";
|
||||||
$a->strings["Follow Thread"] = "Seguir el hilo";
|
$a->strings["Follow Thread"] = "Seguir el hilo";
|
||||||
$a->strings["View Status"] = "Ver estado";
|
$a->strings["View Status"] = "Estado actual";
|
||||||
$a->strings["View Photos"] = "Ver fotos";
|
$a->strings["View Photos"] = "Ver fotos";
|
||||||
$a->strings["Matrix Activity"] = "Actividad en la red de esta conexión";
|
$a->strings["Matrix Activity"] = "Actividad en la red de esta conexión";
|
||||||
$a->strings["Edit Contact"] = "Editar contacto";
|
$a->strings["Edit Contact"] = "Editar contacto";
|
||||||
$a->strings["Send PM"] = "Enviar Mensaje Privado";
|
$a->strings["Send PM"] = "Enviar Mensaje Privado";
|
||||||
$a->strings["Poke"] = "Dar un toque";
|
$a->strings["Poke"] = "Toques y otras cosas";
|
||||||
$a->strings["%s likes this."] = "a %s 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["%s doesn't like this."] = "a %s no le gusta esto.";
|
||||||
$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
|
$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
|
||||||
|
@ -683,17 +683,17 @@ $a->strings["Status Messages and Posts"] = "Mensajes de estado y publicaciones";
|
||||||
$a->strings["About"] = "Sobre mí";
|
$a->strings["About"] = "Sobre mí";
|
||||||
$a->strings["Profile Details"] = "Detalles del perfil";
|
$a->strings["Profile Details"] = "Detalles del perfil";
|
||||||
$a->strings["Photo Albums"] = "Álbumes de fotos";
|
$a->strings["Photo Albums"] = "Álbumes de fotos";
|
||||||
$a->strings["Files and Storage"] = "Ficheros y carpetas";
|
$a->strings["Files and Storage"] = "Repositorio de ficheros";
|
||||||
$a->strings["Chatrooms"] = "Salas de chat";
|
$a->strings["Chatrooms"] = "Salas de chat";
|
||||||
$a->strings["Saved Bookmarks"] = "Marcadores guardados";
|
$a->strings["Saved Bookmarks"] = "Marcadores guardados";
|
||||||
$a->strings["Manage Webpages"] = "Administrar páginas web";
|
$a->strings["Manage Webpages"] = "Administrar páginas web";
|
||||||
$a->strings["__ctx:noun__ Attending"] = array(
|
$a->strings["__ctx:noun__ Attending"] = array(
|
||||||
0 => "Asistir",
|
0 => "Asistir",
|
||||||
1 => "Participar",
|
1 => "Participaré",
|
||||||
);
|
);
|
||||||
$a->strings["__ctx:noun__ Not Attending"] = array(
|
$a->strings["__ctx:noun__ Not Attending"] = array(
|
||||||
0 => "No asistir",
|
0 => "No asistir",
|
||||||
1 => "No participar",
|
1 => "No participaré",
|
||||||
);
|
);
|
||||||
$a->strings["__ctx:noun__ Undecided"] = array(
|
$a->strings["__ctx:noun__ Undecided"] = array(
|
||||||
0 => "Indeciso/a",
|
0 => "Indeciso/a",
|
||||||
|
@ -1007,7 +1007,7 @@ $a->strings["Select a profile:"] = "Seleccionar un perfil:";
|
||||||
$a->strings["Upload Profile Photo"] = "Subir foto de perfil";
|
$a->strings["Upload Profile Photo"] = "Subir foto de perfil";
|
||||||
$a->strings["or"] = "o";
|
$a->strings["or"] = "o";
|
||||||
$a->strings["skip this step"] = "Omitir este paso";
|
$a->strings["skip this step"] = "Omitir este paso";
|
||||||
$a->strings["select a photo from your photo albums"] = "Seleccione una foto de sus álbumes de fotos";
|
$a->strings["select a photo from your photo albums"] = "Seleccione una foto de sus álbumes";
|
||||||
$a->strings["Crop Image"] = "Recortar imagen";
|
$a->strings["Crop Image"] = "Recortar imagen";
|
||||||
$a->strings["Please adjust the image cropping for optimum viewing."] = "Por favor ajuste el recorte de la imagen para una visión óptima.";
|
$a->strings["Please adjust the image cropping for optimum viewing."] = "Por favor ajuste el recorte de la imagen para una visión óptima.";
|
||||||
$a->strings["Done Editing"] = "Edición completada";
|
$a->strings["Done Editing"] = "Edición completada";
|
||||||
|
@ -1149,8 +1149,8 @@ $a->strings["Delete Album"] = "Borrar álbum";
|
||||||
$a->strings["Delete Photo"] = "Borrar foto";
|
$a->strings["Delete Photo"] = "Borrar foto";
|
||||||
$a->strings["No photos selected"] = "No hay fotos seleccionadas";
|
$a->strings["No photos selected"] = "No hay fotos seleccionadas";
|
||||||
$a->strings["Access to this item is restricted."] = "El acceso a este elemento está restringido.";
|
$a->strings["Access to this item is restricted."] = "El acceso a este elemento está restringido.";
|
||||||
$a->strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB de %2$.2f MB de almacenamiento de fotos utilizado.";
|
$a->strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB de %2$.2f MB usados de la capacidad de almacenamiento de fotos.";
|
||||||
$a->strings["%1$.2f MB photo storage used."] = "%1$.2f MB de almacenamiento de fotos utilizado.";
|
$a->strings["%1$.2f MB photo storage used."] = "%1$.2f MB utilizados de la capacidad de almacenamiento de fotos.";
|
||||||
$a->strings["Upload Photos"] = "Subir fotos";
|
$a->strings["Upload Photos"] = "Subir fotos";
|
||||||
$a->strings["Enter a new album name"] = "Introducir un nuevo nombre de álbum";
|
$a->strings["Enter a new album name"] = "Introducir un nuevo nombre de álbum";
|
||||||
$a->strings["or select an existing one (doubleclick)"] = "o seleccionar uno (doble click) existente";
|
$a->strings["or select an existing one (doubleclick)"] = "o seleccionar uno (doble click) existente";
|
||||||
|
@ -1370,7 +1370,7 @@ $a->strings["Friend suggestion sent."] = "Enviar sugerencia a un amigo.";
|
||||||
$a->strings["Suggest Friends"] = "Sugerir amigos";
|
$a->strings["Suggest Friends"] = "Sugerir amigos";
|
||||||
$a->strings["Suggest a friend for %s"] = "Sugerir un amigo a %s";
|
$a->strings["Suggest a friend for %s"] = "Sugerir un amigo a %s";
|
||||||
$a->strings["Hub not found."] = "Servidor no encontrado";
|
$a->strings["Hub not found."] = "Servidor no encontrado";
|
||||||
$a->strings["Poke/Prod"] = "Dar un toque/Incitar";
|
$a->strings["Poke/Prod"] = "Toque/Incitación";
|
||||||
$a->strings["poke, prod or do other things to somebody"] = "dar un toque, incitar u otras cosas a alguien";
|
$a->strings["poke, prod or do other things to somebody"] = "dar un toque, incitar u otras cosas a alguien";
|
||||||
$a->strings["Recipient"] = "Destinatario";
|
$a->strings["Recipient"] = "Destinatario";
|
||||||
$a->strings["Choose what you wish to do to recipient"] = "Elegir qué desea enviar al destinatario";
|
$a->strings["Choose what you wish to do to recipient"] = "Elegir qué desea enviar al destinatario";
|
||||||
|
@ -1538,10 +1538,6 @@ $a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for t
|
||||||
$a->strings["OpenID protocol error. No ID returned."] = "Error del protocolo OpenID. Ningún ID recibido como respuesta.";
|
$a->strings["OpenID protocol error. No ID returned."] = "Error del protocolo OpenID. Ningún ID recibido como respuesta.";
|
||||||
$a->strings["Welcome %s. Remote authentication successful."] = "Bienvenido %s. La identificación desde su servidor se ha llevado a cabo correctamente.";
|
$a->strings["Welcome %s. Remote authentication successful."] = "Bienvenido %s. La identificación desde su servidor se ha llevado a cabo correctamente.";
|
||||||
$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha etiquetado la %3\$s de %2\$s con %4\$s";
|
$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha etiquetado la %3\$s de %2\$s con %4\$s";
|
||||||
$a->strings["Export Channel"] = "Exportar el canal";
|
|
||||||
$a->strings["Export your basic channel information to a small file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new hub, but\tdoes not contain your content."] = "Exportar la base de datos de su canal a un pequeño fichero. Este podrá servir como una copia de seguridad de sus conexiones, permisos, perfil y datos básicos, que podrá importar a un nuevo canal, pero sin sus contenidos.";
|
|
||||||
$a->strings["Export Content"] = "Exportar contenidos";
|
|
||||||
$a->strings["Export your channel information and all the content to a JSON backup. This backs up all of your connections, permissions, profile data and all of your content, but is generally not suitable for importing a channel to a new hub as this file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Exportar toda la información del canal y todo su contenido a un fichero JSON. Este contendrá todas sus conexiones, permisos, información del perfil y todo su contenido, Sin embargo, a menudo, no será una buena solución para importarlo en una nueva instancia, pues el fichero será MUY voluminoso. Por favor, tenga paciencia - pueden pasar muchos minutos antes de que comience la carga.";
|
|
||||||
$a->strings["No connections."] = "Sin conexiones.";
|
$a->strings["No connections."] = "Sin conexiones.";
|
||||||
$a->strings["Visit %s's profile [%s]"] = "Visitar el perfil de %s [%s]";
|
$a->strings["Visit %s's profile [%s]"] = "Visitar el perfil de %s [%s]";
|
||||||
$a->strings["invalid target signature"] = "La firma recibida no es válida";
|
$a->strings["invalid target signature"] = "La firma recibida no es válida";
|
||||||
|
@ -1888,7 +1884,7 @@ $a->strings["Someone writes a followup comment"] = "Alguien escriba un comentari
|
||||||
$a->strings["You receive a private message"] = "Reciba un mensaje privado";
|
$a->strings["You receive a private message"] = "Reciba un mensaje privado";
|
||||||
$a->strings["You receive a friend suggestion"] = "Reciba una sugerencia de amistad";
|
$a->strings["You receive a friend suggestion"] = "Reciba una sugerencia de amistad";
|
||||||
$a->strings["You are tagged in a post"] = "Usted ha sido etiquetado en una publicación";
|
$a->strings["You are tagged in a post"] = "Usted ha sido etiquetado en una publicación";
|
||||||
$a->strings["You are poked/prodded/etc. in a post"] = "Recibir un toque o incitación en una publicación";
|
$a->strings["You are poked/prodded/etc. in a post"] = "Reciba un toque o incitación en una entrada";
|
||||||
$a->strings["Show visual notifications including:"] = "Mostrar notificaciones visuales que incluyan:";
|
$a->strings["Show visual notifications including:"] = "Mostrar notificaciones visuales que incluyan:";
|
||||||
$a->strings["Unseen matrix activity"] = "Actividad no vista en la red";
|
$a->strings["Unseen matrix activity"] = "Actividad no vista en la red";
|
||||||
$a->strings["Unseen channel activity"] = "Actividad no vista en el canal";
|
$a->strings["Unseen channel activity"] = "Actividad no vista en el canal";
|
||||||
|
@ -1933,6 +1929,28 @@ $a->strings["Conversation removed."] = "Conversación eliminada.";
|
||||||
$a->strings["No messages."] = "Sin mensajes.";
|
$a->strings["No messages."] = "Sin mensajes.";
|
||||||
$a->strings["Delete conversation"] = "Eliminar conversación";
|
$a->strings["Delete conversation"] = "Eliminar conversación";
|
||||||
$a->strings["D, d M Y - g:i A"] = "D d M Y - G:i";
|
$a->strings["D, d M Y - g:i A"] = "D d M Y - G:i";
|
||||||
|
$a->strings["Export Channel"] = "Exportar el canal";
|
||||||
|
$a->strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "Exportar la información básica del canal a un fichero. Este equivale a una copia de seguridad de sus conexiones, el perfil y datos fundamentales, que puede usarse para importar sus datos a un nuevo servidor, pero no incluye su contenido.";
|
||||||
|
$a->strings["Export Content"] = "Exportar contenidos";
|
||||||
|
$a->strings["Export your channel information and recent content to a JSON backup that can be restored or imported to another server hub. This backs up all of your connections, permissions, profile data and several months of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Exportar la información sobre su canal y el contenido reciente a un fichero de respaldo JSON, que puede ser restaurado o importado a otro servidor. Este fichero incluye todas sus conexiones, permisos, datos del perfil y publicaciones de varios meses. Puede llegar a ser MUY grande. Por favor, sea paciente, la descarga puede tardar varios minutos en comenzar.";
|
||||||
|
$a->strings["Export your posts from a given year or month:"] = "Exporta sus entradas de un año o mes determinados.";
|
||||||
|
$a->strings["You may also export your posts and conversations for a particular year or month. Click on one of the recent years or months below."] = "También puede exportar sus entradas y conversaciones de un año o mes en particular. Hágalo en primer lugar con uno de los años o meses más recientes.";
|
||||||
|
$a->strings["Jan"] = "Ene";
|
||||||
|
$a->strings["Feb"] = "Feb";
|
||||||
|
$a->strings["Mar"] = "Mar";
|
||||||
|
$a->strings["Apr"] = "Abr";
|
||||||
|
$a->strings["Jun"] = "Jun";
|
||||||
|
$a->strings["Jul"] = "Jul";
|
||||||
|
$a->strings["Aug"] = "Ago";
|
||||||
|
$a->strings["Sep"] = "Sep";
|
||||||
|
$a->strings["Oct"] = "Oct";
|
||||||
|
$a->strings["Nov"] = "Nov";
|
||||||
|
$a->strings["Dec"] = "Dic";
|
||||||
|
$a->strings["If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "Si la exportación falla (posiblemente debido al agotamiento de la memoria del servidor hub), por favor, inténtelo de nuevo seleccionando un rango de fechas más pequeño.";
|
||||||
|
$a->strings["Or adjust the date in your browser location bar to select other dates. For example the year 2013; <a href=\"%1\$s/2013\">%1\$s/2013</a> or the month September 2013; <a href=\"%1\$s/2013/9\">%1\$s/2013/9</a>"] = "Ajuste la fecha en la barra de direcciones del navegador para seleccionar otras fechas. Por ejemlo, el año 2013: <a href=\"%1\$s/2013\">%1\$s/2013</a> o el mes de septiembre de 2013: <a href=\"%1\$s/2013/9\">%1\$s/2013/9</a>";
|
||||||
|
$a->strings["Please visit"] = "Por favor, visite";
|
||||||
|
$a->strings["on another hub to import the backup files(s)."] = "en otro servidor hub para importar el fichero (s) de copia de seguridad.";
|
||||||
|
$a->strings["We advise you to clone the channel on the new hub first and than to import the backup file(s) (from the same channel) in chronological order. Importing the backup files into another channel will certainly give permission issues."] = "Aviso: al clonar el canal en un nuevo servidor hub, en primer lugar tiene que importar el fichero (s) con las copias de seguridad (desde el mismo canal) en orden cronológico. Importar los ficheros de copia de seguridad en otro canal le dará, con toda seguridad, problemas de permisos.";
|
||||||
$a->strings["Set your current mood and tell your friends"] = "Describir su estado de ánimo para comunicárselo a sus amigos";
|
$a->strings["Set your current mood and tell your friends"] = "Describir su estado de ánimo para comunicárselo a sus amigos";
|
||||||
$a->strings["Total votes"] = "Total de votos";
|
$a->strings["Total votes"] = "Total de votos";
|
||||||
$a->strings["Average Rating"] = "Valoración media";
|
$a->strings["Average Rating"] = "Valoración media";
|
||||||
|
@ -2009,15 +2027,15 @@ $a->strings["Unable to communicate with requested channel."] = "Imposible comuni
|
||||||
$a->strings["Cannot verify requested channel."] = "No se puede verificar el canal solicitado.";
|
$a->strings["Cannot verify requested channel."] = "No se puede verificar el canal solicitado.";
|
||||||
$a->strings["Selected channel has private message restrictions. Send failed."] = "El canal seleccionado tiene restricciones sobre los mensajes privados. El envío falló.";
|
$a->strings["Selected channel has private message restrictions. Send failed."] = "El canal seleccionado tiene restricciones sobre los mensajes privados. El envío falló.";
|
||||||
$a->strings["Message deleted."] = "Mensaje eliminado.";
|
$a->strings["Message deleted."] = "Mensaje eliminado.";
|
||||||
$a->strings["Message recalled."] = "Mensaje recuperado.";
|
$a->strings["Message recalled."] = "Mensaje revocado.";
|
||||||
$a->strings["Send Private Message"] = "Enviar un mensaje privado";
|
$a->strings["Send Private Message"] = "Enviar un mensaje privado";
|
||||||
$a->strings["To:"] = "Para:";
|
$a->strings["To:"] = "Para:";
|
||||||
$a->strings["Subject:"] = "Asunto:";
|
$a->strings["Subject:"] = "Asunto:";
|
||||||
$a->strings["Send"] = "Enviar";
|
$a->strings["Send"] = "Enviar";
|
||||||
$a->strings["Message not found."] = "No se encuentra el mensaje.";
|
$a->strings["Message not found."] = "No se encuentra el mensaje.";
|
||||||
$a->strings["Delete message"] = "Mensaje eliminado";
|
$a->strings["Delete message"] = "Mensaje eliminado";
|
||||||
$a->strings["Recall message"] = "Recuperar el mensaje";
|
$a->strings["Recall message"] = "Revocar el mensaje";
|
||||||
$a->strings["Message has been recalled."] = "El mensaje ha sido recuperado.";
|
$a->strings["Message has been recalled."] = "El mensaje ha sido revocado.";
|
||||||
$a->strings["Private Conversation"] = "Conversación privada";
|
$a->strings["Private Conversation"] = "Conversación privada";
|
||||||
$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Comunicación segura no disponible. Pero <strong>puede</strong> responder desde la página de perfil del remitente.";
|
$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Comunicación segura no disponible. Pero <strong>puede</strong> responder desde la página de perfil del remitente.";
|
||||||
$a->strings["Send Reply"] = "Responder";
|
$a->strings["Send Reply"] = "Responder";
|
||||||
|
@ -2102,8 +2120,8 @@ $a->strings["Item float"] = "Elemento flotante";
|
||||||
$a->strings["Left offset of the section element"] = "Desplazamiento izquierdo del elemento de la sección";
|
$a->strings["Left offset of the section element"] = "Desplazamiento izquierdo del elemento de la sección";
|
||||||
$a->strings["Right offset of the section element"] = "Desplazamiento derecho del elemento de la sección";
|
$a->strings["Right offset of the section element"] = "Desplazamiento derecho del elemento de la sección";
|
||||||
$a->strings["Section width"] = "Ancho de la sección";
|
$a->strings["Section width"] = "Ancho de la sección";
|
||||||
$a->strings["Left offset of the aside"] = "Desplazamiento izquierdo del lateral";
|
$a->strings["Left offset of the aside"] = "Desplazamiento izquierdo del panel lateral";
|
||||||
$a->strings["Right offset of the aside element"] = "Desplazamiento derecho del elemento lateral";
|
$a->strings["Right offset of the aside element"] = "Desplazamiento derecho del elemento del panel lateral";
|
||||||
$a->strings["Light (Red Matrix default)"] = "Ligero (predeterminado de RedMatrix)";
|
$a->strings["Light (Red Matrix default)"] = "Ligero (predeterminado de RedMatrix)";
|
||||||
$a->strings["Select scheme"] = "Elegir un esquema";
|
$a->strings["Select scheme"] = "Elegir un esquema";
|
||||||
$a->strings["Narrow navbar"] = "Estrechar la barra de navegación";
|
$a->strings["Narrow navbar"] = "Estrechar la barra de navegación";
|
||||||
|
@ -2145,5 +2163,5 @@ $a->strings["Forgot your password?"] = "¿Olvidó su contraseña?";
|
||||||
$a->strings["toggle mobile"] = "cambiar a modo móvil";
|
$a->strings["toggle mobile"] = "cambiar a modo móvil";
|
||||||
$a->strings["Website SSL certificate is not valid. Please correct."] = "El certificado SSL del sitio web no es válido. Por favor, corríjalo.";
|
$a->strings["Website SSL certificate is not valid. Please correct."] = "El certificado SSL del sitio web no es válido. Por favor, corríjalo.";
|
||||||
$a->strings["[red] Website SSL error for %s"] = "[red] Error SSL del sitio web en %s";
|
$a->strings["[red] Website SSL error for %s"] = "[red] Error SSL del sitio web en %s";
|
||||||
$a->strings["Cron/Scheduled tasks not running."] = "Las tareas del Planificador/Cron no se están funcionando.";
|
$a->strings["Cron/Scheduled tasks not running."] = "Las tareas del Planificador/Cron no están funcionando.";
|
||||||
$a->strings["[red] Cron tasks not running on %s"] = "[red] Las tareas de Cron no están funcionando en %s";
|
$a->strings["[red] Cron tasks not running on %s"] = "[red] Las tareas de Cron no están funcionando en %s";
|
||||||
|
|
4410
view/it/hmessages.po
4410
view/it/hmessages.po
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
6455
view/it/messages.po
6455
view/it/messages.po
File diff suppressed because it is too large
Load diff
|
@ -88,6 +88,14 @@ function basic_replace(item) {
|
||||||
return '$1'+item.name+' ';
|
return '$1'+item.name+' ';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function trim_replace(item) {
|
||||||
|
if(typeof item.replace !== 'undefined')
|
||||||
|
return '$1'+item.replace;
|
||||||
|
|
||||||
|
return '$1'+item.name;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function submit_form(e) {
|
function submit_form(e) {
|
||||||
$(e).parents('form').submit();
|
$(e).parents('form').submit();
|
||||||
}
|
}
|
||||||
|
@ -163,3 +171,29 @@ function submit_form(e) {
|
||||||
a.on('textComplete:select', function(e, value, strategy) { onselect(value); });
|
a.on('textComplete:select', function(e, value, strategy) { onselect(value); });
|
||||||
};
|
};
|
||||||
})( jQuery );
|
})( jQuery );
|
||||||
|
|
||||||
|
|
||||||
|
(function( $ ) {
|
||||||
|
$.fn.name_autocomplete = function(backend_url, typ, autosubmit, onselect) {
|
||||||
|
if(typeof typ === 'undefined') typ = '';
|
||||||
|
if(typeof autosubmit === 'undefined') autosubmit = false;
|
||||||
|
|
||||||
|
// Autocomplete contacts
|
||||||
|
names = {
|
||||||
|
match: /(^)([^\n]+)$/,
|
||||||
|
index: 2,
|
||||||
|
search: function(term, callback) { contact_search(term, callback, backend_url, typ,[], spinelement=false); },
|
||||||
|
replace: trim_replace,
|
||||||
|
template: contact_format,
|
||||||
|
};
|
||||||
|
|
||||||
|
this.attr('autocomplete','off');
|
||||||
|
var a = this.textcomplete([names], {className:'acpopup', zIndex:1020});
|
||||||
|
|
||||||
|
if(autosubmit)
|
||||||
|
a.on('textComplete:select', function(e,value,strategy) { submit_form(this); });
|
||||||
|
|
||||||
|
if(typeof onselect !== 'undefined')
|
||||||
|
a.on('textComplete:select', function(e, value, strategy) { onselect(value); });
|
||||||
|
};
|
||||||
|
})( jQuery );
|
|
@ -112,12 +112,12 @@ function insertbbcomment(comment, BBcode, id) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function inserteditortag(BBcode) {
|
function inserteditortag(BBcode, id) {
|
||||||
// allow themes to override this
|
// allow themes to override this
|
||||||
if(typeof(insertEditorFormatting) != 'undefined')
|
if(typeof(insertEditorFormatting) != 'undefined')
|
||||||
return(insertEditorFormatting(BBcode));
|
return(insertEditorFormatting(BBcode));
|
||||||
|
|
||||||
textarea = document.getElementById('profile-jot-text');
|
textarea = document.getElementById(id);
|
||||||
if (document.selection) {
|
if (document.selection) {
|
||||||
textarea.focus();
|
textarea.focus();
|
||||||
selected = document.selection.createRange();
|
selected = document.selection.createRange();
|
||||||
|
@ -616,11 +616,12 @@ function updateConvItems(mode,data) {
|
||||||
|
|
||||||
function collapseHeight() {
|
function collapseHeight() {
|
||||||
$(".wall-item-content, .directory-collapse").each(function() {
|
$(".wall-item-content, .directory-collapse").each(function() {
|
||||||
var orgHeight = $(this).height();
|
var orgHeight = $(this).outerHeight(true);
|
||||||
if(orgHeight > divmore_height + 10) {
|
if(orgHeight > divmore_height + 10) {
|
||||||
if(! $(this).hasClass('divmore')) {
|
if(! $(this).hasClass('divmore')) {
|
||||||
$(this).readmore({
|
$(this).readmore({
|
||||||
speed: 0,
|
speed: 0,
|
||||||
|
heightMargin: 50,
|
||||||
collapsedHeight: divmore_height,
|
collapsedHeight: divmore_height,
|
||||||
moreLink: '<a href="#" class="divgrow-showmore">' + aStr.divgrowmore + '</a>',
|
moreLink: '<a href="#" class="divgrow-showmore">' + aStr.divgrowmore + '</a>',
|
||||||
lessLink: '<a href="#" class="divgrow-showmore">' + aStr.divgrowless + '</a>',
|
lessLink: '<a href="#" class="divgrow-showmore">' + aStr.divgrowless + '</a>',
|
||||||
|
@ -745,12 +746,12 @@ function justifyPhotos() {
|
||||||
margins: 3,
|
margins: 3,
|
||||||
border: 0,
|
border: 0,
|
||||||
sizeRangeSuffixes: {
|
sizeRangeSuffixes: {
|
||||||
'lt100': '-2',
|
'lt100': '-3',
|
||||||
'lt240': '-2',
|
'lt240': '-3',
|
||||||
'lt320': '-2',
|
'lt320': '-3',
|
||||||
'lt500': '',
|
'lt500': '-2',
|
||||||
'lt640': '-1',
|
'lt640': '-2',
|
||||||
'lt1024': '-0'
|
'lt1024': '-1'
|
||||||
}
|
}
|
||||||
}).on('jg.complete', function(e){ justifiedGalleryActive = false; });
|
}).on('jg.complete', function(e){ justifiedGalleryActive = false; });
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$("#recip").contact_autocomplete(baseurl + '/acl', '', false, function(data) {
|
$("#recip").name_autocomplete(baseurl + '/acl', '', false, function(data) {
|
||||||
$("#recip-complete").val(data.xid);
|
$("#recip-complete").val(data.xid);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -6,11 +6,10 @@
|
||||||
var ispublic = aStr.everybody;
|
var ispublic = aStr.everybody;
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$(document).ready(function() {
|
|
||||||
$("#photo-edit-newtag").contact_autocomplete(baseurl + '/acl', 'p', false, function(data) {
|
$("#photo-edit-newtag").contact_autocomplete(baseurl + '/acl', 'p', false, function(data) {
|
||||||
$("#photo-edit-newtag").val('@' + data.name);
|
$("#photo-edit-newtag").val('@' + data.name);
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
|
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
|
||||||
var selstr;
|
var selstr;
|
||||||
|
@ -24,4 +23,14 @@ $(document).ready(function() {
|
||||||
$('#jot-public').show();
|
$('#jot-public').show();
|
||||||
}
|
}
|
||||||
}).trigger('change');
|
}).trigger('change');
|
||||||
|
|
||||||
|
showHideBodyTextarea();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function showHideBodyTextarea() {
|
||||||
|
if( $('#id_visible').is(':checked'))
|
||||||
|
$('#body-textarea').slideDown();
|
||||||
|
else
|
||||||
|
$('#body-textarea').slideUp();
|
||||||
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$("#poke-recip").contact_autocomplete(baseurl + '/acl', 'a', false, function(data) {
|
$("#poke-recip").name_autocomplete(baseurl + '/acl', 'a', false, function(data) {
|
||||||
$("#poke-recip-complete").val(data.id);
|
$("#poke-recip-complete").val(data.id);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
4390
view/nl/hmessages.po
4390
view/nl/hmessages.po
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
6267
view/nl/messages.po
6267
view/nl/messages.po
File diff suppressed because it is too large
Load diff
1421
view/nl/strings.php
1421
view/nl/strings.php
File diff suppressed because it is too large
Load diff
|
@ -1,10 +1,10 @@
|
||||||
Hey,
|
Hey,
|
||||||
I'm the RedMatrix hub at {{$sitename}};
|
I'm the Hubzilla hub at {{$sitename}};
|
||||||
|
|
||||||
The Red atrix developers released update {{$update}} recently,
|
The Hubzilla developers released update {{$update}} recently,
|
||||||
but when I tried to install it, something went terribly wrong.
|
but when I tried to install it, something went terribly wrong.
|
||||||
This needs to be fixed soon and it requires human intervention.
|
This needs to be fixed soon and it requires human intervention.
|
||||||
Please contact a RedMatrix developer if you can not figure out how to
|
Please contact a Hubzilla developer if you can not figure out how to
|
||||||
fix it on your own. My database might be invalid.
|
fix it on your own. My database might be invalid.
|
||||||
|
|
||||||
The error message is '{{$error}}'.
|
The error message is '{{$error}}'.
|
||||||
|
|
|
@ -129,7 +129,7 @@ pre code {
|
||||||
|
|
||||||
code {
|
code {
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
padding: 5px;
|
padding: 1em;
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
background: #ccc;
|
background: #ccc;
|
||||||
color: #000;
|
color: #000;
|
||||||
|
@ -794,11 +794,11 @@ a.rateme, div.rateme {
|
||||||
}
|
}
|
||||||
|
|
||||||
#nav-search-text::-webkit-input-placeholder {
|
#nav-search-text::-webkit-input-placeholder {
|
||||||
font-family: FontAwesome;
|
font-family: FontAwesome, sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
#nav-search-text::-moz-placeholder {
|
#nav-search-text::-moz-placeholder {
|
||||||
font-family: FontAwesome;
|
font-family: FontAwesome, sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
nav .acpopup {
|
nav .acpopup {
|
||||||
|
@ -1432,7 +1432,10 @@ a.rconnect:hover, a.rateme:hover, div.rateme:hover {
|
||||||
.profile-match-connect { margin-top: 5px; }
|
.profile-match-connect { margin-top: 5px; }
|
||||||
|
|
||||||
.reshared-content { margin-left: 20px; }
|
.reshared-content { margin-left: 20px; }
|
||||||
.shared_header img { margin-right: 10px; }
|
.shared_header img {
|
||||||
|
border-radius: $radiuspx;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
.tag1 {
|
.tag1 {
|
||||||
font-size : 0.9em !important;
|
font-size : 0.9em !important;
|
||||||
|
@ -1527,22 +1530,6 @@ a .drop-icons:hover {
|
||||||
color: #FF0000;
|
color: #FF0000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.attachlink {
|
|
||||||
float: left;
|
|
||||||
border: 1px solid black;
|
|
||||||
padding: 5px;
|
|
||||||
margin-right: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.attach-icons {
|
|
||||||
font-size: 1.4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.attach-clip {
|
|
||||||
margin-right: 3px;
|
|
||||||
font-size: 1.8em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#menulist {
|
#menulist {
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
}
|
}
|
||||||
|
@ -1634,40 +1621,56 @@ img.mail-conv-sender-photo {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* conversation */
|
/* conversation */
|
||||||
|
.nsfw-wrap {
|
||||||
|
text-align: center;
|
||||||
|
font-size: $body_font_size;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wall-item-head {
|
||||||
|
padding: 10px 10px 0.5em 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wall-item-content {
|
||||||
|
padding: 0.5em 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wall-photo-item {
|
||||||
|
/*padding: 0.5em 10px;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
.wall-photo-item img {
|
||||||
|
max-width: 100% !important;
|
||||||
|
border-top-right-radius: $radiuspx;
|
||||||
|
border-top-left-radius: $radiuspx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wall-item-tools {
|
||||||
|
padding: 0.5em 10px 10px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.wall-item-title {
|
.wall-item-title {
|
||||||
font-size: $font_size;
|
font-size: $font_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hide-comments-outer,
|
|
||||||
.thread-wrapper .wall-item-comment-wrapper,
|
|
||||||
.wall-item-content-wrapper.comment {
|
|
||||||
margin-left: $comment_indent;
|
|
||||||
}
|
|
||||||
|
|
||||||
.wall-item-content-wrapper {
|
.wall-item-content-wrapper {
|
||||||
background-color: $item_colour;
|
background-color: $item_colour;
|
||||||
padding: 10px;
|
|
||||||
border-top-right-radius: $radiuspx;
|
border-top-right-radius: $radiuspx;
|
||||||
border-top-left-radius: $radiuspx;
|
border-top-left-radius: $radiuspx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.wall-item-content-wrapper.comment {
|
.wall-item-content-wrapper.comment {
|
||||||
background-color: $comment_item_colour;
|
background-color: $comment_item_colour;
|
||||||
border-color: $comment_border_colour;
|
border-top-right-radius: 0px;
|
||||||
border-style: solid;
|
border-top-left-radius: 0px;
|
||||||
border-width: 0px 0px 0px 3px;
|
|
||||||
border-radius: 0px;
|
|
||||||
padding: 7px 10px 7px 7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.hide-comments-outer {
|
.hide-comments-outer {
|
||||||
background-color: $comment_item_colour;
|
background-color: $comment_item_colour;
|
||||||
border-color: $comment_border_colour;
|
|
||||||
border-top-color: #ccc;
|
border-top-color: #ccc;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-top-style: dashed;
|
border-top-style: dashed;
|
||||||
border-width: 1px 0px 0px 3px;
|
border-width: 1px 0px 0px 0px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-radius: 0px;
|
border-radius: 0px;
|
||||||
}
|
}
|
||||||
|
@ -1682,11 +1685,11 @@ img.mail-conv-sender-photo {
|
||||||
border-radius: 0px;
|
border-radius: 0px;
|
||||||
border-bottom-right-radius: $radiuspx;
|
border-bottom-right-radius: $radiuspx;
|
||||||
border-bottom-left-radius: $radiuspx;
|
border-bottom-left-radius: $radiuspx;
|
||||||
margin-top: 3px;
|
border-top: 3px solid $comment_item_colour;
|
||||||
}
|
}
|
||||||
|
|
||||||
.wall-item-comment-wrapper-wc {
|
.wall-item-comment-wrapper-wc {
|
||||||
margin-top: 0px;
|
border-top: 0px solid $comment_item_colour;
|
||||||
}
|
}
|
||||||
|
|
||||||
.wall-item-like,
|
.wall-item-like,
|
||||||
|
@ -1722,6 +1725,7 @@ img.mail-conv-sender-photo {
|
||||||
}
|
}
|
||||||
|
|
||||||
.wall-item-content,
|
.wall-item-content,
|
||||||
|
.mail-conv-body,
|
||||||
.page-body {
|
.page-body {
|
||||||
font-size: $font_size;
|
font-size: $font_size;
|
||||||
clear: both;
|
clear: both;
|
||||||
|
@ -1770,7 +1774,6 @@ img.mail-conv-sender-photo {
|
||||||
|
|
||||||
.divgrow-showmore:hover {
|
.divgrow-showmore:hover {
|
||||||
border-top: 1px dashed #adadad;
|
border-top: 1px dashed #adadad;
|
||||||
text-decoration: underline;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1868,7 +1871,6 @@ nav .dropdown-menu {
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
box-shadow: 0px 0px 5px 1px rgba(0,0,0,0.2);
|
box-shadow: 0px 0px 5px 1px rgba(0,0,0,0.2);
|
||||||
border-radius: $radiuspx;
|
border-radius: $radiuspx;
|
||||||
background-color: #fff;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.section-title-wrapper {
|
.section-title-wrapper {
|
||||||
|
@ -1876,7 +1878,7 @@ nav .dropdown-menu {
|
||||||
background-color: $item_colour;
|
background-color: $item_colour;
|
||||||
border-top-left-radius: $radiuspx;
|
border-top-left-radius: $radiuspx;
|
||||||
border-top-right-radius: $radiuspx;
|
border-top-right-radius: $radiuspx;
|
||||||
margin-bottom: 3px;
|
border-bottom: 3px solid $comment_item_colour;
|
||||||
}
|
}
|
||||||
|
|
||||||
.section-title-wrapper h2,
|
.section-title-wrapper h2,
|
||||||
|
@ -1891,20 +1893,20 @@ nav .dropdown-menu {
|
||||||
.section-subtitle-wrapper {
|
.section-subtitle-wrapper {
|
||||||
padding: 7px 10px;
|
padding: 7px 10px;
|
||||||
background-color: $item_colour;
|
background-color: $item_colour;
|
||||||
margin-bottom: 3px;
|
border-bottom: 3px solid $comment_item_colour;
|
||||||
}
|
}
|
||||||
|
|
||||||
.section-content-tools-wrapper {
|
.section-content-tools-wrapper {
|
||||||
padding: 7px 10px;
|
padding: 7px 10px;
|
||||||
background-color: $comment_item_colour;
|
background-color: $comment_item_colour;
|
||||||
margin-bottom: 3px
|
border-bottom: 3px solid $comment_item_colour;
|
||||||
}
|
}
|
||||||
|
|
||||||
.section-content-info-wrapper {
|
.section-content-info-wrapper {
|
||||||
padding: 21px 10px;
|
padding: 21px 10px;
|
||||||
color: #31708f;
|
color: #31708f;
|
||||||
background-color: #d9edf7;
|
background-color: #d9edf7;
|
||||||
margin-bottom: 3px;
|
border-bottom: 3px solid $comment_item_colour;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1912,7 +1914,7 @@ nav .dropdown-menu {
|
||||||
padding: 21px 10px;
|
padding: 21px 10px;
|
||||||
color: #8a6d3b;
|
color: #8a6d3b;
|
||||||
background-color: #fcf8e3;
|
background-color: #fcf8e3;
|
||||||
margin-bottom: 3px;
|
border-bottom: 3px solid $comment_item_colour;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1920,7 +1922,7 @@ nav .dropdown-menu {
|
||||||
padding: 21px 10px;
|
padding: 21px 10px;
|
||||||
color: #a94442;
|
color: #a94442;
|
||||||
background-color: #f2dede;
|
background-color: #f2dede;
|
||||||
margin-bottom: 3px;
|
border-bottom: 3px solid $comment_item_colour;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,13 +5,26 @@
|
||||||
|
|
||||||
.vcard, #contact-block, .widget {
|
.vcard, #contact-block, .widget {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border-bottom: 1px solid #fff;
|
border-bottom: 1px solid #333;
|
||||||
|
border-radius: 0px
|
||||||
|
}
|
||||||
|
|
||||||
|
#profile-photo-wrapper {
|
||||||
|
border:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.photo {
|
||||||
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.abook-pending-contact, .abook-permschange {
|
.abook-pending-contact, .abook-permschange {
|
||||||
background: #402900;
|
background: #402900;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.contact-entry-wrapper {
|
||||||
|
border: 1px solid #333;
|
||||||
|
}
|
||||||
|
|
||||||
#cboxContent a {
|
#cboxContent a {
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
|
@ -75,7 +88,7 @@
|
||||||
background-color: #111;
|
background-color: #111;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-default {
|
.btn {
|
||||||
background-color: #1e1e1e;
|
background-color: #1e1e1e;
|
||||||
border-color: #222;
|
border-color: #222;
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
|
@ -83,7 +96,7 @@
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-default:hover, .btn-default:focus, .btn-default:active .btn-default.active {
|
.btn:hover, .btn:focus, .btn:active {
|
||||||
background-color: #222;
|
background-color: #222;
|
||||||
border-color: #222;
|
border-color: #222;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
@ -94,6 +107,40 @@
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.btn-primary, input#event-submit, input#rmagic-submit-button, input#lostpass-submit-button {
|
||||||
|
background-color: #337AB7;
|
||||||
|
color: #FFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary:hover, .btn-primary:focus, input#event-submit:hover, input#event-submit:focus, input#rmagic-submit-button:hover, input#rmagic-submit-button:focus, input#lostpass-submit-button:hover, input#lostpass-submit-button:focus {
|
||||||
|
border-color: #204D74;
|
||||||
|
background-color: #286090;
|
||||||
|
color: #FFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-success {
|
||||||
|
color: #FFF;
|
||||||
|
background-color: #5CB85C;
|
||||||
|
border-color: #4CAE4C;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-success:hover, .btn-success:focus {
|
||||||
|
color: #FFF;
|
||||||
|
background-color: #449D44;
|
||||||
|
border-color: #398439;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-danger {
|
||||||
|
background-color: #D9534F;
|
||||||
|
border-color: #D43F3A;
|
||||||
|
color: #FFF;
|
||||||
|
}
|
||||||
|
.btn-danger:hover, .btn-danger:focus {
|
||||||
|
color: #FFF;
|
||||||
|
background-color: #C9302C;
|
||||||
|
border-color: #AC2925;
|
||||||
|
}
|
||||||
|
|
||||||
.pager_first,
|
.pager_first,
|
||||||
.pager_last,
|
.pager_last,
|
||||||
.pager_prev,
|
.pager_prev,
|
||||||
|
@ -177,6 +224,7 @@ nav .dropdown-menu {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
background-color: #222;
|
background-color: #222;
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
|
border-color: #333;
|
||||||
}
|
}
|
||||||
|
|
||||||
aside .nav > li > a:hover, aside .nav > li > a:focus {
|
aside .nav > li > a:hover, aside .nav > li > a:focus {
|
||||||
|
@ -251,6 +299,18 @@ pre {
|
||||||
background: url('../img/gray_and_black_diagonal_stripes_background_seamless.gif');
|
background: url('../img/gray_and_black_diagonal_stripes_background_seamless.gif');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.xdsoft_datepicker.active {
|
||||||
|
color: #222 !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.xdsoft_datepicker.active:hover, .xdsoft_datepicker.active:focus {
|
||||||
|
color: #222 !important;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@media (min-width: 768px) {
|
@media (min-width: 768px) {
|
||||||
.nav-tabs.nav-justified > li > a {
|
.nav-tabs.nav-justified > li > a {
|
||||||
border-bottom: 1px solid #333;
|
border-bottom: 1px solid #333;
|
||||||
|
|
|
@ -16,8 +16,8 @@
|
||||||
{{include file="field_colorinput.tpl" field=$background_image}}
|
{{include file="field_colorinput.tpl" field=$background_image}}
|
||||||
{{include file="field_colorinput.tpl" field=$item_colour}}
|
{{include file="field_colorinput.tpl" field=$item_colour}}
|
||||||
{{include file="field_colorinput.tpl" field=$comment_item_colour}}
|
{{include file="field_colorinput.tpl" field=$comment_item_colour}}
|
||||||
{{include file="field_colorinput.tpl" field=$comment_border_colour}}
|
{{*include file="field_colorinput.tpl" field=$comment_border_colour*}}
|
||||||
{{include file="field_input.tpl" field=$comment_indent}}
|
{{*include file="field_input.tpl" field=$comment_indent*}}
|
||||||
{{include file="field_input.tpl" field=$body_font_size}}
|
{{include file="field_input.tpl" field=$body_font_size}}
|
||||||
{{include file="field_input.tpl" field=$font_size}}
|
{{include file="field_input.tpl" field=$font_size}}
|
||||||
{{include file="field_colorinput.tpl" field=$font_colour}}
|
{{include file="field_colorinput.tpl" field=$font_colour}}
|
||||||
|
|
|
@ -3,11 +3,13 @@
|
||||||
<a href="{{$app.url}}" {{if $ap.target}}target="{{$ap.target}}" {{/if}}{{if $app.desc}}title="{{$app.desc}}{{if $app.price}} ({{$app.price}}){{/if}}"{{else}}title="{{$app.name}}"{{/if}}><img src="{{$app.photo}}" width="80" height="80" />
|
<a href="{{$app.url}}" {{if $ap.target}}target="{{$ap.target}}" {{/if}}{{if $app.desc}}title="{{$app.desc}}{{if $app.price}} ({{$app.price}}){{/if}}"{{else}}title="{{$app.name}}"{{/if}}><img src="{{$app.photo}}" width="80" height="80" />
|
||||||
<div class="app-name" style="text-align:center;">{{$app.name}}</div>
|
<div class="app-name" style="text-align:center;">{{$app.name}}</div>
|
||||||
</a>
|
</a>
|
||||||
|
</div>
|
||||||
{{if $app.type !== 'system'}}
|
{{if $app.type !== 'system'}}
|
||||||
{{if $purchase}}
|
{{if $purchase}}
|
||||||
|
<div class="app-purchase">
|
||||||
<a href="{{$app.page}}" class="btn btn-default" title="{{$purchase}}" ><i class="icon-external"></i></a>
|
<a href="{{$app.page}}" class="btn btn-default" title="{{$purchase}}" ><i class="icon-external"></i></a>
|
||||||
{{/if}}
|
|
||||||
</div>
|
</div>
|
||||||
|
{{/if}}
|
||||||
{{if $install || $update || $delete }}
|
{{if $install || $update || $delete }}
|
||||||
<div class="app-tools">
|
<div class="app-tools">
|
||||||
<form action="{{$hosturl}}appman" method="post">
|
<form action="{{$hosturl}}appman" method="post">
|
||||||
|
@ -16,8 +18,8 @@
|
||||||
{{if $edit}}<input type="hidden" name="appid" value="{{$app.guid}}" /><button type="submit" name="edit" value="{{$edit}}" class="btn btn-default" title="{{$edit}}" ><i class="icon-pencil" ></i></button>{{/if}}
|
{{if $edit}}<input type="hidden" name="appid" value="{{$app.guid}}" /><button type="submit" name="edit" value="{{$edit}}" class="btn btn-default" title="{{$edit}}" ><i class="icon-pencil" ></i></button>{{/if}}
|
||||||
{{if $delete}}<button type="submit" name="delete" value="{{$delete}}" class="btn btn-default" title="{{$delete}}" ><i class="icon-trash drop-icons"></i></button>{{/if}}
|
{{if $delete}}<button type="submit" name="delete" value="{{$delete}}" class="btn btn-default" title="{{$delete}}" ><i class="icon-trash drop-icons"></i></button>{{/if}}
|
||||||
</form>
|
</form>
|
||||||
{{/if}}
|
|
||||||
{{/if}}
|
|
||||||
</div>
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
<form action="chat" method="post" >
|
<form action="chat" method="post" >
|
||||||
{{include file="field_input.tpl" field=$name}}
|
{{include file="field_input.tpl" field=$name}}
|
||||||
|
{{include file="field_input.tpl" field=$chat_expire}}
|
||||||
<button id="dbtn-acl" class="btn btn-default" data-toggle="modal" data-target="#aclModal" onclick="return false;" >{{$permissions}}</button>
|
<button id="dbtn-acl" class="btn btn-default" data-toggle="modal" data-target="#aclModal" onclick="return false;" >{{$permissions}}</button>
|
||||||
{{$acl}}
|
{{$acl}}
|
||||||
<div class="clear"></div>
|
<div class="clear"></div>
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
<div class="clear"></div>
|
<div class="clear"></div>
|
||||||
</div>
|
</div>
|
||||||
<div id="files-upload-tools" class="section-content-tools-wrapper form-group">
|
<div id="files-upload-tools" class="section-content-tools-wrapper form-group">
|
||||||
|
{{if $quota.limit || $quota.used}}<div class="{{if $quota.warning}}section-content-danger-wrapper{{else}}section-content-info-wrapper{{/if}}">{{if $quota.warning}}<strong>{{$quota.warning}} </strong>{{/if}}{{$quota.desc}}</div>{{/if}}
|
||||||
<label for="files-upload">{{$upload_header}}</label>
|
<label for="files-upload">{{$upload_header}}</label>
|
||||||
<form method="post" action="" enctype="multipart/form-data">
|
<form method="post" action="" enctype="multipart/form-data">
|
||||||
<input type="hidden" name="sabreAction" value="put">
|
<input type="hidden" name="sabreAction" value="put">
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
{{if $is_owner}}
|
{{if $is_owner}}
|
||||||
<a href="/sharedwithme" class="btn btn-xs btn-default"><i class="icon-cloud-download"></i> {{$shared}}</a>
|
<a href="/sharedwithme" class="btn btn-xs btn-default"><i class="icon-cloud-download"></i> {{$shared}}</a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<button id="files-create-btn" class="btn btn-xs btn-primary" title="{{if $quota.limit || $quota.used}}{{$quota.desc}}{{/if}}" onclick="openClose('files-mkdir-tools'); closeMenu('files-upload-tools');"><i class="icon-folder-close-alt"></i> {{$create}}</button>
|
<button id="files-create-btn" class="btn btn-xs btn-primary" onclick="openClose('files-mkdir-tools'); closeMenu('files-upload-tools');"><i class="icon-folder-close-alt"></i> {{$create}}</button>
|
||||||
<button id="files-upload-btn" class="btn btn-xs btn-success" title="{{if $quota.limit || $quota.used}}{{$quota.desc}}{{/if}}" onclick="openClose('files-upload-tools'); closeMenu('files-mkdir-tools');"><i class="icon-upload"></i> {{$upload}}</button>
|
<button id="files-upload-btn" class="btn btn-xs btn-success" onclick="openClose('files-upload-tools'); closeMenu('files-mkdir-tools');"><i class="icon-upload"></i> {{$upload}}</button>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<h2>{{$header}}</h2>
|
<h2>{{$header}}</h2>
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="contact-entry-photo-end" ></div>
|
<div class="contact-entry-photo-end" ></div>
|
||||||
<a href="{{$contact.url}}" title="{{$contact.img_hover}}" ><div class="contact-entry-name" id="contact-entry-name-{{$contact.id}}" >{{$contact.name}}</div></a>
|
<a href="{{$contact.url}}" title="{{$contact.img_hover}}" ><div class="contact-entry-name" id="contact-entry-name-{{$contact.id}}" >{{$contact.name}}</div></a>
|
||||||
|
<div class="contact-entry-name-end" ></div>
|
||||||
<div class="contact-entry-edit btn btn-default"><a href="{{$contact.link}}"><i class="icon-pencil connection-edit-icons"></i> {{$contact.edit}}</a></div>
|
<div class="contact-entry-edit btn btn-default"><a href="{{$contact.link}}"><i class="icon-pencil connection-edit-icons"></i> {{$contact.edit}}</a></div>
|
||||||
<div class="contact-entry-end" ></div>
|
<div class="contact-entry-end" ></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue