mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-20 14:35:16 +00:00
Merge branch 'dev' of https://github.com/redmatrix/hubzilla into dev
This commit is contained in:
commit
f4d9d34bbc
47 changed files with 22981 additions and 1200 deletions
|
@ -34,6 +34,7 @@ Hubzilla 1.8
|
|||
Apps:
|
||||
Synchronise app list with changes to system apps
|
||||
Preserve existing app categories on app updates/edits
|
||||
Regression: fixed translated system app names
|
||||
Architecture:
|
||||
Provide autoloaded class files and libraries for plugins.
|
||||
Further refactoring of session driver to sort out some cookie anomolies
|
||||
|
@ -61,6 +62,9 @@ Hubzilla 1.8
|
|||
Block 'sys' channels from being 'random profile' candidates
|
||||
DB update failed email could be sent in the wrong language under rare circumstances
|
||||
Openid remote authentication used incorrect namespace
|
||||
URL attached to profile "things" was not linked, always showing the "thing" manage page
|
||||
New connection wasn't added to default privacy group when "auto-accept" was enabled
|
||||
Regression: iconfig sharing wasn't working properly
|
||||
Plugins:
|
||||
CalDAV/CardDAV plugin provided
|
||||
Issue sending Diaspora 'like' activities from sources that did not propagate the DCV
|
||||
|
|
|
@ -26,7 +26,7 @@ class Thing extends \Zotlabs\Web\Controller {
|
|||
$verb = escape_tags($_REQUEST['verb']);
|
||||
$activity = intval($_REQUEST['activity']);
|
||||
$profile_guid = escape_tags($_REQUEST['profile_assign']);
|
||||
$url = $_REQUEST['link'];
|
||||
$url = $_REQUEST['url'];
|
||||
$photo = $_REQUEST['img'];
|
||||
|
||||
$hash = random_string();
|
||||
|
|
9
boot.php
9
boot.php
|
@ -48,7 +48,7 @@ define ( 'PLATFORM_NAME', 'hubzilla' );
|
|||
define ( 'STD_VERSION', '1.9' );
|
||||
define ( 'ZOT_REVISION', 1.1 );
|
||||
|
||||
define ( 'DB_UPDATE_VERSION', 1177 );
|
||||
define ( 'DB_UPDATE_VERSION', 1178 );
|
||||
|
||||
|
||||
/**
|
||||
|
@ -771,6 +771,7 @@ class App {
|
|||
public static $groups;
|
||||
public static $language;
|
||||
public static $langsave;
|
||||
public static $rtl = false;
|
||||
public static $plugins_admin;
|
||||
public static $module_loaded = false;
|
||||
public static $query_string;
|
||||
|
@ -2282,6 +2283,12 @@ function construct_page(&$a) {
|
|||
$page = App::$page;
|
||||
$profile = App::$profile;
|
||||
|
||||
// There's some experimental support for right-to-left text in the view/php/default.php page template.
|
||||
// In v1.9 we started providing direction preference in the per language hstrings.php file
|
||||
// This requires somebody with fluency in a RTL language to make happen
|
||||
|
||||
$page['direction'] = 0; // ((App::$rtl) ? 1 : 0);
|
||||
|
||||
header("Content-type: text/html; charset=utf-8");
|
||||
|
||||
// security headers - see https://securityheaders.io
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<li>[img float=right]https://zothub.com/images/default_profile_photos/rainbow_man/48.jpg[/img] <img src="https://zothub.com/images/default_profile_photos/rainbow_man/48.jpg" style="float:right;" alt="Image/photo" /><br />
|
||||
<div style="clear:both;"></div>
|
||||
<li>[code]code[/code] <code>code</code><br />
|
||||
<li>[code=xxx]syntax highlighted code[/code] <code>supported languages php, css, mysql, sql, abap, diff, html, perl, ruby, vbscript, avrc, dtd, java, xml, cpp, python, javascript, js, json, sh</code><br />
|
||||
<li>[quote]quote[/quote] <blockquote>quote</blockquote><br />
|
||||
<li>[quote=Author]Author? Me? No, no, no...[/quote] <br /><strong class="author">Author wrote:</strong><blockquote>Author? Me? No, no, no...</blockquote><br />
|
||||
<li> [nobb] may be used to escape bbcode.</ul><br />
|
||||
|
@ -83,7 +84,7 @@ or<br /><br />[dl terms="b"]<br />[*= First element term] First element descript
|
|||
<li>[spoiler] for hiding spoilers<br /><br /></li>
|
||||
|
||||
<li>[rpost=title]Text to post[/rpost] The observer will be returned to their home hub to enter a post with the specified title and body. Both are optional</li>
|
||||
<li>[qr]text to post[/qr] - create a QR code.</li>
|
||||
<li>[qr]text to post[/qr] - create a QR code (if the qrator plugin is installed).</li>
|
||||
<li>[toc] - create a table of content in a webpage. Please refer to the <a href="http://ndabas.github.io/toc/" target="_blank">original jquery toc</a> to get more explanations.
|
||||
<ul>
|
||||
<li>Optional param: 'data-toc'. If ommited the default is 'body'</li>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
[h2]Database Tables[/h2]
|
||||
[table]
|
||||
[tr][th]Table[/th][th]Description[/th][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_abconfig]abconfig[/zrl][/td][td]arbitrary storage for connections of local channels[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_abook]abook[/zrl][/td][td]connections of local channels[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_account]account[/zrl][/td][td]service provider account[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_addon]addon[/zrl][/td][td]registered plugins[/td][/tr]
|
||||
|
@ -8,6 +9,7 @@
|
|||
[tr][td][zrl=[baseurl]/help/database/db_attach]attach[/zrl][/td][td]file attachments[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_auth_codes]auth_codes[/zrl][/td][td]OAuth usage[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_cache]cache[/zrl][/td][td]OEmbed cache[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_cal]cal[/zrl][/td][td]CalDAV containers for events[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_channel]channel[/zrl][/td][td]local channels[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_chat]chat[/zrl][/td][td]chat room content[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_chatpresence]chatpresence[/zrl][/td][td]channel presence information for chat[/td][/tr]
|
||||
|
@ -16,17 +18,14 @@
|
|||
[tr][td][zrl=[baseurl]/help/database/db_config]config[/zrl][/td][td]main configuration storage[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_conv]conv[/zrl][/td][td]Diaspora private messages meta conversation structure[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_event]event[/zrl][/td][td]Events[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_fcontact]fcontact[/zrl][/td][td]friend suggestion stuff (obsolete)[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_ffinder]ffinder[/zrl][/td][td]friend suggestion stuff (obsolete)[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_fserver]fserver[/zrl][/td][td]obsolete[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_fsuggest]fsuggest[/zrl][/td][td]friend suggestion stuff (unused)[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_group_member]group_member[/zrl][/td][td]privacy groups (collections), group info[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_groups]groups[/zrl][/td][td]privacy groups (collections), member info[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_hook]hook[/zrl][/td][td]plugin hook registry[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_hubloc]hubloc[/zrl][/td][td]xchan location storage, ties a hub location to an xchan[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_iconfig]iconfig[/zrl][/td][td]extensible arbitrary storage for items[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_issue]issue[/zrl][/td][td]future bug/issue database[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_item]item[/zrl][/td][td]all posts and webpages[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_item_id]item_id[/zrl][/td][td]other identifiers on other services for posts[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_item_id]item_id[/zrl][/td][td](deprecated by iconfig) other identifiers on other services for posts[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_likes]likes[/zrl][/td][td]likes of 'things'[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_mail]mail[/zrl][/td][td]private messages[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_menu]menu[/zrl][/td][td]webpage menu data[/td][/tr]
|
||||
|
@ -48,7 +47,6 @@
|
|||
[tr][td][zrl=[baseurl]/help/database/db_sign]sign[/zrl][/td][td]Diaspora signatures. To be phased out.[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_site]site[/zrl][/td][td]site table to find directory peers[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_source]source[/zrl][/td][td]channel sources data[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_spam]spam[/zrl][/td][td]unfinished[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_sys_perms]sys_perms[/zrl][/td][td]extensible permissions for OAuth[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_term]term[/zrl][/td][td]item taxonomy (categories, tags, etc.) table[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_tokens]tokens[/zrl][/td][td]OAuth usage[/td][/tr]
|
||||
|
@ -60,6 +58,7 @@
|
|||
[tr][td][zrl=[baseurl]/help/database/db_xconfig]xconfig[/zrl][/td][td]as pconfig but for channels with no local account[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_xign]xign[/zrl][/td][td]channels ignored by friend suggestions[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_xlink]xlink[/zrl][/td][td]"friends of friends" linkages derived from poco, also ratings storage[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_xperm]xperm[/zrl][/td][td]OAuth/OpenID-Connect extensible permissions permissions storage[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_xprof]xprof[/zrl][/td][td]if this hub is a directory server, contains basic public profile info of everybody in the network[/td][/tr]
|
||||
[tr][td][zrl=[baseurl]/help/database/db_xtag]xtag[/zrl][/td][td]if this hub is a directory server, contains tags or interests of everybody in the network[/td][/tr]
|
||||
[/table]
|
||||
|
|
|
@ -15,10 +15,6 @@
|
|||
[/td][/tr]
|
||||
[tr][td]abook_closeness[/td][td]"closeness" value for optional affinity tool, 0-99[/td][td]tinyint(3) unsigned[/td][td]NO[/td][td]MUL[/td][td]99[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]abook_rating[/td][td]The channel owner's (public) rating of this connection -10 to +10, default 0 or unrated[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]abook_rating_text[/td][td]The channel owner's (public) rating of this connection free form text[/td][td]text[/td][td]NO[/td][td]MUL[/td][td][/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]abook_created[/td][td]Datetime this record was created[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]abook_updated[/td][td]Datetime this record was modified[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
|
||||
|
@ -32,16 +28,27 @@
|
|||
[tr][td]abook_profile[/td][td]profile.guid of profile to display to this connection if authenticated[/td][td]char(64)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]abook_blocked[/td][td]Bi-directional communications with this channel are blocked, regardless of other permissions. [/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]abook_ignored[/td][td]Incoming communications from this channel are blocked, regardless of other permissions. [/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]abook_hidden[/td][td]This connection will not be shown as a connection to anybody but the channel owner[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]abook_archived[/td][td]This connection is likely non-functioning and the entry and conversations are preserved, but further polled communications will not be attempted. [/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]abook_pending[/td][td]A connection request was received from this channel but has not been approved by the channel owner, public communications may still be visible but no additional permissions have been granted. [/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]abook_unconnected[/td][td]currently unused. Projected usage is to indicate "one-way" connections which were insitgated on this end but are still pending on the remote end. [/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]abook_self[/td][td]is a special case where the owner is the target. Every channel has one abook entry with abook_self and with a target abook_xchan set to channel.channel_hash . When this flag is present, abook_my_perms is the default permissions granted to all new connections and several other fields are unused.[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]abook_feed[/td][td]indicates this connection is an RSS/Atom feed and may trigger special handling.[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]abook_incl[/td][td]connection filter allow rules separated by LF[/td][td]text[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]abook_excl[/td][td]connection filter deny rules separated by LF[/td][td]text[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]abook_instance[/td][td]comma separated list of site urls of all channel clones that this connection is connected with (used only for singleton networks which don't support cloning)[/td][td]text[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[/table]
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
[/th][/tr]
|
||||
[tr][td]id[/td][td][/td]generated index[td]int(11)[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
|
||||
[/td][/tr]
|
||||
[tr][td]name[/td][td]plugin base (file)name[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[tr][td]aname[/td][td]plugin base (file)name[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]version[/td][td]currently unused[/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
|
@ -11,7 +11,7 @@
|
|||
[/td][/tr]
|
||||
[tr][td]hidden[/td][td]currently unused[/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]timestamp[/td][td]file timestamp to check for reloads[/td][td]bigint(20)[/td][td]NO[/td][td][/td][td]0[/td][td]
|
||||
[tr][td]tstamp[/td][td]file timestamp to check for reloads[/td][td]bigint(20)[/td][td]NO[/td][td][/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]plugin_admin[/td][td]1 = has admin config, 0 = has no admin config[/td][td]tinyint(1)[/td][td]NO[/td][td][/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
|
|
|
@ -27,8 +27,20 @@
|
|||
[/td][/tr]
|
||||
[tr][td]app_page[/td][td]currently unused[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]app_requires[/td][td]currently unused[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
|
||||
[tr][td]app_requires[/td][td]access rules[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
|
||||
[/td][/tr]
|
||||
|
||||
[tr][td]app_created[/td][td]datetime of app creation[/td][td]datetime[/td][td]NO[/td][td][/td][td][/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]app_edited[/td][td]datetime of last app edit[/td][td]datetime[/td][td]NO[/td][td][/td][td][/td][td]
|
||||
[/td][/tr]
|
||||
|
||||
[tr][td]app_deleted[/td][td]1 = deleted, 0 = normal[/td][td]int(11)[/td][td]NO[/td][td][/td][td][/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]app_system[/td][td]1 = imported system app, 0 = member created app[/td][td]int(11)[/td][td]NO[/td][td][/td][td][/td][td]
|
||||
[/td][/tr]
|
||||
|
||||
|
||||
[/table]
|
||||
|
||||
Storage for personal apps
|
||||
|
|
|
@ -29,9 +29,11 @@
|
|||
[/td][/tr]
|
||||
[tr][td]os_storage[/td][td]if 0, data contains content; if 1 data contains path to content (always 1 in hubzilla)[/td][td]tinyint[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]os_path[/td][td]under construction, store the system path[/td][td]mediumtext[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]display_path[/td][td]under construction, store the human readable path[/td][td]mediumtext[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]data[/td][td]file data or pathname to stored data if ATTACH_FLAG_OS[/td][td]longblob[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[tr][td]content[/td][td]file data or pathname to stored data if ATTACH_FLAG_OS[/td][td]longblob[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]created[/td][td]creation time[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
|
||||
[/td][/tr]
|
||||
|
|
|
@ -35,6 +35,8 @@
|
|||
[/td][/tr]
|
||||
[tr][td]channel_dirdate[/td][td]time when directory was last pinged. Must do this once a month[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]channel_lastpost[/td][td]date of last post for this channel. May not be fully implemented[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]channel_deleted[/td][td]time when channel was deleted[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]channel_max_anon_mail[/td][td]unused[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]10[/td][td]
|
||||
|
@ -95,6 +97,8 @@
|
|||
[/td][/tr]
|
||||
[tr][td]channel_system[/td][td]if 1, this is the special system channel on this site[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]channel_moved[/td][td]URL of relocated channel, making this instance abandoned if set[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
|
||||
[/td][/tr]
|
||||
[/table]
|
||||
|
||||
Return to [zrl=[baseurl]/help/database]database documentation[/zrl]
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
[/td][/tr]
|
||||
[tr][td]cp_status[/td][td]text status description e.g. "online"[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]cp_client[/td][td][/td]IP address of this client[td]char(128)[/td][td]NO[/td][td][/td][td][/td][td]
|
||||
[tr][td]cp_client[/td][td]IP address of this client[/td][td]char(128)[/td][td]NO[/td][td][/td][td][/td][td]
|
||||
[/td][/tr]
|
||||
[/table]
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
[/td][/tr]
|
||||
[tr][td]redirect_uri[/td][td][/td][td]varchar(200)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]name[/td][td][/td][td]text[/td][td]YES[/td][td][/td][td]NULL[/td][td]
|
||||
[tr][td]clname[/td][td][/td][td]text[/td][td]YES[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]icon[/td][td][/td][td]text[/td][td]YES[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
|
|
|
@ -15,9 +15,9 @@
|
|||
[/td][/tr]
|
||||
[tr][td]edited[/td][td][/td][td]datetime[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]start[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[tr][td]dtstart[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]finish[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[tr][td]dtend[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]summary[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
|
@ -25,13 +25,13 @@
|
|||
[/td][/tr]
|
||||
[tr][td]location[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]type[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[tr][td]etype[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]nofinish[/td][td][/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]adjust[/td][td][/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]1[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]ignore[/td][td][/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[tr][td]dismissed[/td][td][/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]allow_cid[/td][td][/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
|
@ -41,6 +41,24 @@
|
|||
[/td][/tr]
|
||||
[tr][td]deny_gid[/td][td][/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
|
||||
[tr][td]event_status[/td][td][/td][td]charr(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]event_status_date[/td][td][/td][td]datetime[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]event_percent[/td][td][/td][td]smallint(6)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]event_repeat[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]event_sequence[/td][td][/td][td]smallint[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]event_priority[/td][td][/td][td]smallint[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]event_vdata[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]cal_id[/td][td][/td][td]int(10)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
|
||||
[/table]
|
||||
|
||||
Return to [zrl=[baseurl]/help/database]database documentation[/zrl]
|
|
@ -11,7 +11,7 @@
|
|||
[/td][/tr]
|
||||
[tr][td]deleted[/td][td]1 indicates the group has been deleted[/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]name[/td][td]human readable name of group[/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[tr][td]gname[/td][td]human readable name of group[/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[/table]
|
||||
|
||||
|
|
|
@ -7,9 +7,11 @@
|
|||
[/td][/tr]
|
||||
[tr][td]file[/td][td]relative filename of hook handler[/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]function[/td][td]function name of hook handler[/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[tr][td]fn[/td][td]function name of hook handler[/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]priority[/td][td]not yet implemented - can be used to sort conflicts in hook handling by calling handlers in priority order[/td][td]int(11) unsigned[/td][td]NO[/td][td][/td][td]0[/td][td]
|
||||
[tr][td]priority[/td][td]can be used to sort conflicts in hook handling by calling handlers in priority order[/td][td]int(11) unsigned[/td][td]NO[/td][td][/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]hook_version[/td][td]version 0 hooks must have two arguments, the App and the hook data. version 1 hooks have 1 argument - the hook data[/td][td]int(11) unsigned[/td][td]NO[/td][td][/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[/table]
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
[/td][/tr]
|
||||
[tr][td]obj_type[/td][td]ActivityStreams object type (old style URI)[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]object[/td][td]JSON encoded object structure unless it is an implied object (normal post)[/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[tr][td]obj[/td][td]JSON encoded object structure unless it is an implied object (normal post)[/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]tgt_type[/td][td]ActivityStreams target type if applicable (URI)[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
|
||||
[/td][/tr]
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
[/td][/tr]
|
||||
[tr][td]hash[/td][td][/td][td]char(64)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]name[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[tr][td]xname[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]url[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
|
@ -25,7 +25,7 @@
|
|||
[/td][/tr]
|
||||
[tr][td]seen[/td][td][/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]type[/td][td][/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[tr][td]ntype[/td][td][/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]verb[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
|
|
|
@ -23,15 +23,15 @@
|
|||
[/td][/tr]
|
||||
[tr][td]filename[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]type[/td][td][/td][td]char(128)[/td][td]NO[/td][td]MUL[/td][td]image/jpeg[/td][td]
|
||||
[tr][td]mimetype[/td][td][/td][td]char(128)[/td][td]NO[/td][td]MUL[/td][td]image/jpeg[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]height[/td][td][/td][td]smallint(6)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]width[/td][td][/td][td]smallint(6)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]size[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[tr][td]filesize[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]data[/td][td][/td][td]mediumblob[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[tr][td]content[/td][td][/td][td]mediumblob[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]scale[/td][td][/td][td]tinyint(3)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
[/td][/tr]
|
||||
[tr][td]hide_friends[/td][td][/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]name[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[tr][td]fullname[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]pdesc[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
|
@ -41,7 +41,7 @@
|
|||
[/td][/tr]
|
||||
[tr][td]marital[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]with[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[tr][td]partner[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]howlong[/td][td][/td][td]datetime[/td][td]NO[/td][td][/td][td]0000-00-00 00:00:00[/td][td]
|
||||
[/td][/tr]
|
||||
|
@ -73,7 +73,7 @@
|
|||
[/td][/tr]
|
||||
[tr][td]romance[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]work[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[tr][td]employment[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]education[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
[/td][/tr]
|
||||
[tr][td]otype[/td][td]type of linked thing[/td][td]tinyint(3) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]type[/td][td]taxonomy type (See Tag/term types in boot.php)[/td][td]tinyint(3) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[tr][td]ttype[/td][td]taxonomy type (See Tag/term types in boot.php)[/td][td]tinyint(3) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
[tr][td]term[/td][td]the actual taxonomy term[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
|
||||
[/td][/tr]
|
||||
|
|
|
@ -423,6 +423,8 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||
|
||||
$observer = array();
|
||||
|
||||
$dosync = ((array_key_exists('nosync',$arr) && $arr['nosync']) ? 0 : 1);
|
||||
|
||||
if($observer_hash) {
|
||||
$x = q("select * from xchan where xchan_hash = '%s' limit 1",
|
||||
dbesc($observer_hash)
|
||||
|
@ -829,6 +831,8 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||
if($arr['description'])
|
||||
$args['description'] = $arr['description'];
|
||||
|
||||
$args['deliver'] = $dosync;
|
||||
|
||||
$p = photo_upload($channel,$observer,$args);
|
||||
if($p['success']) {
|
||||
$ret['body'] = $p['body'];
|
||||
|
@ -865,10 +869,12 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||
call_hooks('photo_upload_end',$ret);
|
||||
}
|
||||
|
||||
if($dosync) {
|
||||
$sync = attach_export_data($channel,$hash);
|
||||
|
||||
if($sync)
|
||||
build_sync_packet($channel['channel_id'],array('file' => array($sync)));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
|
|
@ -493,7 +493,7 @@ function bb_code($match) {
|
|||
|
||||
function bb_highlight($match) {
|
||||
if(in_array(strtolower($match[1]),['php','css','mysql','sql','abap','diff','html','perl','ruby',
|
||||
'vbscript','avrc','dtd','java','xml','cpp','python','javascript','js','sh']))
|
||||
'vbscript','avrc','dtd','java','xml','cpp','python','javascript','js','json','sh']))
|
||||
return text_highlight($match[2],strtolower($match[1]));
|
||||
return $match[0];
|
||||
}
|
||||
|
|
|
@ -1224,6 +1224,7 @@ function advanced_profile(&$a) {
|
|||
|
||||
$things = get_things(App::$profile['profile_guid'],App::$profile['profile_uid']);
|
||||
|
||||
|
||||
// logger('mod_profile: things: ' . print_r($things,true), LOGGER_DATA);
|
||||
|
||||
return replace_macros($tpl, array(
|
||||
|
|
|
@ -17,7 +17,7 @@ function group_add($uid,$name,$public = 0) {
|
|||
$z = q("SELECT * FROM `groups` WHERE `id` = %d LIMIT 1",
|
||||
intval($r)
|
||||
);
|
||||
if(count($z) && $z[0]['deleted']) {
|
||||
if(($z) && $z[0]['deleted']) {
|
||||
/*$r = q("UPDATE `groups` SET `deleted` = 0 WHERE `uid` = %d AND `gname` = '%s' LIMIT 1",
|
||||
intval($uid),
|
||||
dbesc($name)
|
||||
|
@ -129,7 +129,7 @@ function group_byname($uid,$name) {
|
|||
intval($uid),
|
||||
dbesc($name)
|
||||
);
|
||||
if(count($r))
|
||||
if($r)
|
||||
return $r[0]['id'];
|
||||
return false;
|
||||
}
|
||||
|
@ -178,11 +178,11 @@ function group_add_member($uid,$name,$member,$gid = 0) {
|
|||
intval($gid),
|
||||
dbesc($member)
|
||||
);
|
||||
if(count($r))
|
||||
if($r)
|
||||
return true; // You might question this, but
|
||||
// we indicate success because the group member was in fact created
|
||||
// -- It was just created at another time
|
||||
if(! count($r))
|
||||
if(! $r)
|
||||
$r = q("INSERT INTO `group_member` (`uid`, `gid`, `xchan`)
|
||||
VALUES( %d, %d, '%s' ) ",
|
||||
intval($uid),
|
||||
|
@ -205,7 +205,7 @@ function group_get_members($gid) {
|
|||
intval(local_channel()),
|
||||
intval(local_channel())
|
||||
);
|
||||
if(count($r))
|
||||
if($r)
|
||||
$ret = $r;
|
||||
}
|
||||
return $ret;
|
||||
|
@ -218,7 +218,7 @@ function group_get_members_xchan($gid) {
|
|||
intval($gid),
|
||||
intval(local_channel())
|
||||
);
|
||||
if(count($r)) {
|
||||
if($r) {
|
||||
foreach($r as $rr) {
|
||||
$ret[] = $rr['xchan'];
|
||||
}
|
||||
|
@ -236,7 +236,7 @@ function mini_group_select($uid,$group = '') {
|
|||
intval($uid)
|
||||
);
|
||||
$grps[] = array('name' => '', 'hash' => '0', 'selected' => '');
|
||||
if(count($r)) {
|
||||
if($r) {
|
||||
foreach($r as $rr) {
|
||||
$grps[] = array('name' => $rr['gname'], 'id' => $rr['hash'], 'selected' => (($group == $rr['hash']) ? 'true' : ''));
|
||||
}
|
||||
|
@ -279,7 +279,7 @@ function group_side($every="connections",$each="group",$edit = false, $group_id
|
|||
$member_of = groups_containing(local_channel(),$cid);
|
||||
}
|
||||
|
||||
if(count($r)) {
|
||||
if($r) {
|
||||
foreach($r as $rr) {
|
||||
$selected = (($group_id == $rr['id']) ? ' group-selected' : '');
|
||||
|
||||
|
@ -356,7 +356,7 @@ function groups_containing($uid,$c) {
|
|||
);
|
||||
|
||||
$ret = array();
|
||||
if(count($r)) {
|
||||
if($r) {
|
||||
foreach($r as $rr)
|
||||
$ret[] = $rr['gid'];
|
||||
}
|
||||
|
|
|
@ -29,6 +29,8 @@ function get_capath() {
|
|||
* * \b nobody => only return the header
|
||||
* * \b filep => stream resource to write body to. header and body are not returned when using this option.
|
||||
* * \b custom => custom request method: e.g. 'PUT', 'DELETE'
|
||||
* * \b cookiejar => cookie file (write)
|
||||
* * \B cookiefile => cookie file (read)
|
||||
*
|
||||
* @return array an associative array with:
|
||||
* * \e int \b return_code => HTTP return code or 0 if timeout or failure
|
||||
|
@ -60,6 +62,8 @@ function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) {
|
|||
@curl_setopt($ch, CURLOPT_HEADER, $false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(x($opts,'headers'))
|
||||
@curl_setopt($ch, CURLOPT_HTTPHEADER, $opts['headers']);
|
||||
|
||||
|
@ -82,6 +86,11 @@ function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) {
|
|||
@curl_setopt($ch, CURLOPT_USERPWD, $opts['http_auth']);
|
||||
}
|
||||
|
||||
if(x($opts,'cookiejar'))
|
||||
@curl_setopt($ch, CURLOPT_COOKIEJAR, $opts['cookiejar']);
|
||||
if(x($opts,'cookiefile'))
|
||||
@curl_setopt($ch, CURLOPT_COOKIEFILE, $opts['cookiefile']);
|
||||
|
||||
@curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,
|
||||
((x($opts,'novalidate') && intval($opts['novalidate'])) ? false : true));
|
||||
|
||||
|
@ -180,6 +189,10 @@ function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) {
|
|||
*/
|
||||
function z_post_url($url,$params, $redirects = 0, $opts = array()) {
|
||||
|
||||
// logger('url: ' . $url);
|
||||
// logger('params: ' . print_r($params,true));
|
||||
// logger('opts: ' . print_r($opts,true));
|
||||
|
||||
$ret = array('return_code' => 0, 'success' => false, 'header' => "", 'body' => "");
|
||||
|
||||
$ch = curl_init($url);
|
||||
|
@ -205,14 +218,15 @@ function z_post_url($url,$params, $redirects = 0, $opts = array()) {
|
|||
|
||||
if(x($opts,'headers')) {
|
||||
@curl_setopt($ch, CURLOPT_HTTPHEADER, $opts['headers']);
|
||||
logger('headers: ' . print_r($opts['headers'],true) . 'redir: ' . $redirects);
|
||||
}
|
||||
|
||||
if(x($opts,'nobody'))
|
||||
@curl_setopt($ch, CURLOPT_NOBODY, $opts['nobody']);
|
||||
|
||||
if(x($opts,'custom'))
|
||||
if(x($opts,'custom')) {
|
||||
@curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $opts['custom']);
|
||||
@curl_setopt($ch, CURLOPT_POST,0);
|
||||
}
|
||||
|
||||
|
||||
if(x($opts,'timeout') && intval($opts['timeout'])) {
|
||||
|
@ -228,6 +242,12 @@ logger('headers: ' . print_r($opts['headers'],true) . 'redir: ' . $redirects);
|
|||
@curl_setopt($ch, CURLOPT_USERPWD, $opts['http_auth']);
|
||||
}
|
||||
|
||||
|
||||
if(x($opts,'cookiejar'))
|
||||
@curl_setopt($ch, CURLOPT_COOKIEJAR, $opts['cookiejar']);
|
||||
if(x($opts,'cookiefile'))
|
||||
@curl_setopt($ch, CURLOPT_COOKIEFILE, $opts['cookiefile']);
|
||||
|
||||
@curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,
|
||||
((x($opts,'novalidate') && intval($opts['novalidate'])) ? false : true));
|
||||
|
||||
|
|
|
@ -41,6 +41,10 @@ function photo_upload($channel, $observer, $args) {
|
|||
else
|
||||
$visible = 0;
|
||||
|
||||
$deliver = true;
|
||||
if(array_key_exists('deliver',$args))
|
||||
$deliver = intval($args['deliver']);
|
||||
|
||||
// Set to default channel permissions. If the parent directory (album) has permissions set,
|
||||
// use those instead. If we have specific permissions supplied, they take precedence over
|
||||
// all other settings. 'allow_cid' being passed from an external source takes priority over channel settings.
|
||||
|
@ -330,7 +334,7 @@ function photo_upload($channel, $observer, $args) {
|
|||
|
||||
if($item['mid'] === $item['parent_mid']) {
|
||||
|
||||
$item['body'] = $args['body'];
|
||||
$item['body'] = $summary;
|
||||
$item['obj_type'] = ACTIVITY_OBJ_PHOTO;
|
||||
$item['obj'] = json_encode($object);
|
||||
|
||||
|
@ -355,14 +359,14 @@ function photo_upload($channel, $observer, $args) {
|
|||
if(($item['edited'] > $r[0]['edited']) || $force) {
|
||||
$item['id'] = $r[0]['id'];
|
||||
$item['uid'] = $channel['channel_id'];
|
||||
item_store_update($item);
|
||||
item_store_update($item,false,$deliver);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$item['aid'] = $channel['channel_account_id'];
|
||||
$item['uid'] = $channel['channel_id'];
|
||||
$item_result = item_store($item);
|
||||
$item_result = item_store($item,false,$deliver);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -414,10 +418,10 @@ function photo_upload($channel, $observer, $args) {
|
|||
|
||||
|
||||
|
||||
$result = item_store($arr);
|
||||
$result = item_store($arr,false,$deliver);
|
||||
$item_id = $result['item_id'];
|
||||
|
||||
if($visible)
|
||||
if($visible && $deliver)
|
||||
Zotlabs\Daemon\Master::Summon(array('Notifier', 'wall-new', $item_id));
|
||||
}
|
||||
|
||||
|
|
|
@ -400,7 +400,7 @@ function get_things($profile_hash,$uid) {
|
|||
if(! $things[$rr['obj_verb']])
|
||||
$things[$rr['obj_verb']] = array();
|
||||
|
||||
$things[$rr['obj_verb']][] = array('term' => $rr['obj_term'],'url' => $rr['obj_url'],'img' => $rr['obj_imgurl'], 'profile' => $rr['profile_name'],'term_hash' => $rr['obj_obj'], 'likes' => $l,'like_count' => count($l),'like_label' => tt('Like','Likes',count($l),'noun'));
|
||||
$things[$rr['obj_verb']][] = array('term' => $rr['obj_term'],'url' => $rr['obj_url'],'img' => $rr['obj_imgurl'], 'editurl' => z_root() . '/thing/' . $rr['obj_obj'], 'profile' => $rr['profile_name'],'term_hash' => $rr['obj_obj'], 'likes' => $l,'like_count' => count($l),'like_label' => tt('Like','Likes',count($l),'noun'));
|
||||
}
|
||||
$sorted_things = array();
|
||||
if($things) {
|
||||
|
|
|
@ -2887,6 +2887,12 @@ function text_highlight($s,$lang) {
|
|||
if($lang === 'js')
|
||||
$lang = 'javascript';
|
||||
|
||||
if($lang === 'json') {
|
||||
$lang = 'javascript';
|
||||
if(! strpos(trim($s),"\n"))
|
||||
$s = jindent($s);
|
||||
}
|
||||
|
||||
if(! strpos('Text_Highlighter',get_include_path())) {
|
||||
set_include_path(get_include_path() . PATH_SEPARATOR . 'library/Text_Highlighter');
|
||||
}
|
||||
|
|
|
@ -199,6 +199,26 @@ CREATE TABLE IF NOT EXISTS `cache` (
|
|||
PRIMARY KEY (`k`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cal` (
|
||||
`cal_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`cal_aid` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`cal_uid` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`cal_hash` varchar(255) NOT NULL DEFAULT '',
|
||||
`cal_name` varchar(255) NOT NULL DEFAULT '',
|
||||
`uri` varchar(255) NOT NULL DEFAULT '',
|
||||
`logname` varchar(255) NOT NULL DEFAULT '',
|
||||
`pass` varchar(255) NOT NULL DEFAULT '',
|
||||
`ctag` varchar(255) NOT NULL DEFAULT '',
|
||||
`synctoken` varchar(255) NOT NULL DEFAULT '',
|
||||
`cal_types` varchar(255) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`cal_id`),
|
||||
KEY `cal_aid` (`cal_aid`),
|
||||
KEY `cal_uid` (`cal_uid`),
|
||||
KEY `cal_hash` (`cal_hash`),
|
||||
KEY `cal_name` (`cal_name`),
|
||||
KEY `cal_types` (`cal_types`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `channel` (
|
||||
`channel_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`channel_account_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
|
@ -394,6 +414,7 @@ CREATE TABLE IF NOT EXISTS `event` (
|
|||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`aid` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`uid` int(11) NOT NULL DEFAULT '0',
|
||||
`cal_id` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`event_xchan` char(255) NOT NULL DEFAULT '',
|
||||
`event_hash` char(255) NOT NULL DEFAULT '',
|
||||
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
|
@ -420,6 +441,7 @@ CREATE TABLE IF NOT EXISTS `event` (
|
|||
`event_vdata` text NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `uid` (`uid`),
|
||||
KEY `cal_id` (`cal_id`),
|
||||
KEY `etype` (`etype`),
|
||||
KEY `dtstart` (`dtstart`),
|
||||
KEY `dtend` (`dtend`),
|
||||
|
|
|
@ -193,6 +193,26 @@ CREATE TABLE "cache" (
|
|||
"updated" timestamp NOT NULL,
|
||||
PRIMARY KEY ("k")
|
||||
);
|
||||
CREATE TABLE "cal" (
|
||||
"cal_id" serial NOT NULL,
|
||||
"cal_aid" bigint NOT NULL DEFAULT '0',
|
||||
"cal_uid" bigint NOT NULL DEFAULT '0',
|
||||
"cal_hash" text NOT NULL,
|
||||
"cal_name" text NOT NULL,
|
||||
"uri" text NOT NULL,
|
||||
"logname" text NOT NULL,
|
||||
"pass" text NOT NULL,
|
||||
"ctag" text NOT NULL,
|
||||
"synctoken" text NOT NULL,
|
||||
"cal_types" text NOT NULL DEFAULT "0",
|
||||
PRIMARY KEY ("cal_id")
|
||||
);
|
||||
create index "cal_hash_idx" on cal ("cal_hash");
|
||||
create index "cal_name_idx" on cal ("cal_name");
|
||||
create index "cal_types_idx" on cal ("cal_types");
|
||||
create index "cal_aid_idx" on cal ("cal_aid");
|
||||
create index "cal_uid_idx" on cal ("cal_uid");
|
||||
|
||||
CREATE TABLE "channel" (
|
||||
"channel_id" serial NOT NULL,
|
||||
"channel_account_id" bigint NOT NULL DEFAULT '0',
|
||||
|
@ -380,14 +400,11 @@ create index "dreport_xchan" on dreport ("dreport_xchan");
|
|||
create index "dreport_queue" on dreport ("dreport_queue");
|
||||
create index "dreport_channel" on dreport ("dreport_channel");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CREATE TABLE "event" (
|
||||
"id" serial NOT NULL,
|
||||
"aid" bigint NOT NULL DEFAULT '0',
|
||||
"uid" bigint NOT NULL,
|
||||
"cal_id" bigint NOT NULL DEFAULT '0',
|
||||
"event_xchan" text NOT NULL DEFAULT '',
|
||||
"event_hash" text NOT NULL DEFAULT '',
|
||||
"created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
|
@ -415,6 +432,7 @@ CREATE TABLE "event" (
|
|||
PRIMARY KEY ("id")
|
||||
);
|
||||
create index "event_uid_idx" on event ("uid");
|
||||
create index "event_cal_idx" on event ("cal_id");
|
||||
create index "event_etype_idx" on event ("etype");
|
||||
create index "event_dtstart_idx" on event ("dtstart");
|
||||
create index "event_dtend_idx" on event ("dtend");
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
define( 'UPDATE_VERSION' , 1177 );
|
||||
define( 'UPDATE_VERSION' , 1178 );
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -2267,3 +2267,61 @@ function update_r1176() {
|
|||
return UPDATE_SUCCESS;
|
||||
|
||||
}
|
||||
|
||||
function update_r1177() {
|
||||
|
||||
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
|
||||
$r1 = q("alter table event add cal_id bigint NOT NULL DEFAULT '0'");
|
||||
$r2 = q("create index \"event_cal_idx\" on event (\"cal_id\") ");
|
||||
|
||||
$r3 = q("CREATE TABLE \"cal\" (
|
||||
\"cal_id\" serial NOT NULL,
|
||||
\"cal_aid\" bigint NOT NULL DEFAULT '0',
|
||||
\"cal_uid\" bigint NOT NULL DEFAULT '0',
|
||||
\"cal_hash\" text NOT NULL,
|
||||
\"cal_name\" text NOT NULL,
|
||||
\"uri\" text NOT NULL,
|
||||
\"logname\" text NOT NULL,
|
||||
\"pass\" text NOT NULL,
|
||||
\"ctag\" text NOT NULL,
|
||||
\"synctoken\" text NOT NULL,
|
||||
\"cal_types\" text NOT NULL,
|
||||
PRIMARY KEY (\"cal_id\") ");
|
||||
$r4 = q("create index \"cal_hash_idx\" on cal (\"cal_hash\") ");
|
||||
$r5 = q("create index \"cal_name_idx\" on cal (\"cal_name\") ");
|
||||
$r6 = q("create index \"cal_types_idx\" on cal (\"cal_types\") ");
|
||||
$r7 = q("create index \"cal_aid_idx\" on cal (\"cal_aid\") ");
|
||||
$r8 = q("create index \"cal_uid_idx\" on cal (\"cal_uid\") ");
|
||||
$r = $r1 && $r2 && $r3 && $r4 && $r5 && $r6 && $r7 && $r8;
|
||||
}
|
||||
else {
|
||||
$r1 = q("alter table event add cal_id int(10) unsigned NOT NULL DEFAULT '0',
|
||||
add index ( cal_id ) ");
|
||||
|
||||
$r2 = q("CREATE TABLE IF NOT EXISTS `cal` (
|
||||
`cal_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`cal_aid` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`cal_uid` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`cal_hash` varchar(255) NOT NULL DEFAULT '',
|
||||
`cal_name` varchar(255) NOT NULL DEFAULT '',
|
||||
`uri` varchar(255) NOT NULL DEFAULT '',
|
||||
`logname` varchar(255) NOT NULL DEFAULT '',
|
||||
`pass` varchar(255) NOT NULL DEFAULT '',
|
||||
`ctag` varchar(255) NOT NULL DEFAULT '',
|
||||
`synctoken` varchar(255) NOT NULL DEFAULT '',
|
||||
`cal_types` varchar(255) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`cal_id`),
|
||||
KEY `cal_aid` (`cal_aid`),
|
||||
KEY `cal_uid` (`cal_uid`),
|
||||
KEY `cal_hash` (`cal_hash`),
|
||||
KEY `cal_name` (`cal_name`),
|
||||
KEY `cal_types` (`cal_types`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ");
|
||||
|
||||
$r = $r1 && $r2;
|
||||
}
|
||||
|
||||
if($r)
|
||||
return UPDATE_SUCCESS;
|
||||
return UPDATE_FAILED;
|
||||
}
|
||||
|
|
2323
util/hmessages.po
2323
util/hmessages.po
File diff suppressed because it is too large
Load diff
|
@ -3,14 +3,21 @@
|
|||
|
||||
function po2php_run($argc,$argv) {
|
||||
|
||||
if ($argc!=2) {
|
||||
if ($argc < 2) {
|
||||
print "Usage: ".$argv[0]." <file.po>\n\n";
|
||||
return;
|
||||
}
|
||||
|
||||
$rtl = false;
|
||||
|
||||
$pofile = $argv[1];
|
||||
$outfile = dirname($pofile)."/hstrings.php";
|
||||
|
||||
if($argc > 2) {
|
||||
if($argv[2] === 'rtl')
|
||||
$rtl = true;
|
||||
}
|
||||
|
||||
if(strstr($outfile,'util'))
|
||||
$lang = 'en';
|
||||
else
|
||||
|
@ -53,6 +60,7 @@ function po2php_run($argc,$argv) {
|
|||
$out .= ' return '.$cond.';'."\n";
|
||||
$out .= '}}'."\n";
|
||||
}
|
||||
$out .= 'App::$rtl = ' . intval($rtl) . ';';
|
||||
|
||||
if ($k!="" && substr($l,0,7)=="msgstr "){
|
||||
if ($ink) { $ink = False; $out .= 'App::$strings["'.$k.'"] = '; }
|
||||
|
|
9893
view/he/hmessages.po
Normal file
9893
view/he/hmessages.po
Normal file
File diff suppressed because it is too large
Load diff
2319
view/he/hstrings.php
Normal file
2319
view/he/hstrings.php
Normal file
File diff suppressed because it is too large
Load diff
32
view/he/lostpass_eml.tpl
Normal file
32
view/he/lostpass_eml.tpl
Normal file
|
@ -0,0 +1,32 @@
|
|||
|
||||
לכבוד {{$username}},
|
||||
התקבלה לאחרונה בקשה באתר {{$sitename}} לאפס את סיסמת
|
||||
חשבונך. על מנת לאמת את בקשה זו, עליך לבחור קישור אימות להלן
|
||||
או להדביק אותו לתוך שורת הכתובת של דפדפן הרשת שלך.
|
||||
|
||||
אם לא ביקשת את שינוי זה, אבקשך שלא לעקוב אחר הקישור
|
||||
המסופק ואבקש גם את התעלמותך ו/או מחיקת דוא״ל זה.
|
||||
|
||||
הסיסמה שלך לא תשתנה אלא אם כן אנחנו יכולים
|
||||
לוודא כי הינך המקור אשר הנפיק את בקשה זו.
|
||||
|
||||
עקוב אחר קישור זה כדי לאמת את זהותך:
|
||||
|
||||
{{$reset_link}}
|
||||
|
||||
תישלח אליך הודעת מעקב (follow-up) המכילה את הסיסמה החדשה.
|
||||
|
||||
באפשרותך לשנות את סיסמה זו מתוך עמוד הגדרות חשבון לאחר התחברותך.
|
||||
|
||||
פרטי ההתחברות שלך הם כדלקמן:
|
||||
|
||||
מיקום אתר: {{$siteurl}}
|
||||
שם התחברות: {{$email}}
|
||||
|
||||
|
||||
|
||||
|
||||
בכבוד רב,
|
||||
מנהל {{$sitename}}
|
||||
|
||||
|
9168
view/he/messages.po
Normal file
9168
view/he/messages.po
Normal file
File diff suppressed because it is too large
Load diff
20
view/he/passchanged_eml.tpl
Normal file
20
view/he/passchanged_eml.tpl
Normal file
|
@ -0,0 +1,20 @@
|
|||
|
||||
לכבוד {{$username}},
|
||||
הסיסמה שלך שונתה כמבוקש. עליך לשמור את מידע זה
|
||||
לצורכי היסטוריה (או לשנות את הסיסמה שלך מיידית
|
||||
למשהו אשר יהיה ביכולתך לזכור.
|
||||
|
||||
|
||||
פרטי ההתחברות שלך הם כדלקמן:
|
||||
|
||||
מיקום אתר: {{$siteurl}}
|
||||
שם התחברות: {{$email}}
|
||||
הסיסמה שלך: {{$new_password}}
|
||||
|
||||
באפשרותך לשנות את סיסמה זו מתוך עמוד הגדרות חשבון לאחר התחברותך.
|
||||
|
||||
|
||||
בכבוד רב,
|
||||
מנהל {{$sitename}}
|
||||
|
||||
|
19
view/he/register_open_eml.tpl
Normal file
19
view/he/register_open_eml.tpl
Normal file
|
@ -0,0 +1,19 @@
|
|||
|
||||
חשבון נוצר באתר {{$sitename}} לכתובת דוא״ל זו.
|
||||
פרטי ההתחברות שלך הם כדלקמן:
|
||||
|
||||
מיקום אתר: {{$siteurl}}
|
||||
שם התחברות: {{$email}}
|
||||
סיסמה: (הסיסמה אשר סופקה במהלך רישום)
|
||||
|
||||
אם חשבון זה נוצר ללא ידיעתך ואיננו רצוי, באפשרותך
|
||||
לבקר באתר זה ולאפס את הסיסמה. פעולה זו תתיר לך
|
||||
להסיר את החשבון מתוך הקישורים בעמוד הגדרות, ואנחנו
|
||||
מתנצלים על כל אי נעימות כלשהי.
|
||||
|
||||
תודה לך וברוך בואך אל {{$sitename}}.
|
||||
|
||||
בכבוד רב,
|
||||
מנהל {{$sitename}}
|
||||
|
||||
|
24
view/he/register_verify_eml.tpl
Normal file
24
view/he/register_verify_eml.tpl
Normal file
|
@ -0,0 +1,24 @@
|
|||
|
||||
בקשת רישום משתמש חדשה התקבלה באתר {{$sitename}} אשר מצריכה
|
||||
את אישורך.
|
||||
|
||||
|
||||
פרטי ההתחברות שלך הם כדלקמן:
|
||||
|
||||
מיקום אתר: {{$siteurl}}
|
||||
שם התחברות: {{$email}}
|
||||
כתובת IP: {{$details}}
|
||||
|
||||
כדי לאשר את בקשה זו אנא פנה לקישור הבא:
|
||||
|
||||
|
||||
{{$siteurl}}/regmod/allow/{{$hash}}
|
||||
|
||||
|
||||
כדי לדחות את הבקשה ולהסיר את החשבון, פנה:
|
||||
|
||||
|
||||
{{$siteurl}}/regmod/deny/{{$hash}}
|
||||
|
||||
|
||||
תודה.
|
24
view/he/register_verify_member.tpl
Normal file
24
view/he/register_verify_member.tpl
Normal file
|
@ -0,0 +1,24 @@
|
|||
|
||||
תודה לך על שנרשמת לאתר {{$sitename}}.
|
||||
|
||||
פרטי ההתחברות שלך הם כדלקמן:
|
||||
|
||||
מיקום אתר: {{$siteurl}}
|
||||
שם התחברות: {{$email}}
|
||||
|
||||
התחברת בעזרת הסיסמה שבחרת בזמן רישום.
|
||||
|
||||
עלינו לאמת את כתובת הדוא״ל שלך על מנת להעניק לך גישה מלאה.
|
||||
|
||||
אם רשמת את חשבון זה, אנא פנה לקישור הבא:
|
||||
|
||||
{{$siteurl}}/regver/allow/{{$hash}}
|
||||
|
||||
|
||||
כדי לדחות את הבקשה ולהסיר את החשבון, פנה:
|
||||
|
||||
|
||||
{{$siteurl}}/regver/deny/{{$hash}}
|
||||
|
||||
|
||||
תודה.
|
13
view/he/update_fail_eml.tpl
Normal file
13
view/he/update_fail_eml.tpl
Normal file
|
@ -0,0 +1,13 @@
|
|||
שלום,
|
||||
אני שרת הרשת באתר {{$sitename}};
|
||||
|
||||
מפתחי Red Matrix שחררו עדכון {{$update}} לאחרונה,
|
||||
אולם כאשר ניסיתי להתקין אותו, משהו השתבש נורא.
|
||||
זה צריך להסתדר בקרוב וגם מצריך התערבות אנושית.
|
||||
אנא צור קשר עם מפתחי Red developer אם ביכולתך להבין כיצד
|
||||
לתקן זאת בעצמך. המסד נתונים שלי עלול להיות פגום.
|
||||
|
||||
הודעת השגיאה היא '{{$error}}'.
|
||||
|
||||
סליחה על האי נוחות.
|
||||
שרת הרשת שלך באתר at {{$siteurl}}
|
|
@ -17,6 +17,6 @@ function on_fullscreen() {
|
|||
function on_inline() {
|
||||
var view = $('#events-calendar').fullCalendar('getView');
|
||||
if(view.type === 'month') {
|
||||
$('#events-calendar').fullCalendar('option', 'height', 'auto');
|
||||
$('#events-calendar').fullCalendar('option', 'height', '');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,6 +28,6 @@ function on_fullscreen() {
|
|||
function on_inline() {
|
||||
var view = $('#events-calendar').fullCalendar('getView');
|
||||
if(view.type === 'month') {
|
||||
$('#events-calendar').fullCalendar('option', 'height', 'auto');
|
||||
$('#events-calendar').fullCalendar('option', 'height', '');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<script>var baseurl="<?php echo z_root() ?>";</script>
|
||||
<?php if(x($page,'htmlhead')) echo $page['htmlhead'] ?>
|
||||
</head>
|
||||
<body>
|
||||
<body <?php if($page['direction']) echo 'dir="rtl"' ?> >
|
||||
<?php if(x($page,'banner')) echo $page['banner']; ?>
|
||||
<header><?php if(x($page,'header')) echo $page['header']; ?></header>
|
||||
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation"><?php if(x($page,'nav')) echo $page['nav']; ?></nav>
|
||||
|
|
|
@ -30,6 +30,12 @@
|
|||
function changeView(action, viewName) {
|
||||
$('#events-calendar').fullCalendar(action, viewName);
|
||||
var view = $('#events-calendar').fullCalendar('getView');
|
||||
if(view.type === 'agendaDay' || view.type === 'agendaWeek') {
|
||||
$('#events-calendar').fullCalendar('option', 'height', 'auto');
|
||||
}
|
||||
else {
|
||||
$('#events-calendar').fullCalendar('option', 'height', '');
|
||||
}
|
||||
$('#title').text(view.title);
|
||||
}
|
||||
|
||||
|
@ -42,7 +48,6 @@
|
|||
firstDay: {{$first_day}},
|
||||
|
||||
eventLimit: 3,
|
||||
height: 'auto',
|
||||
|
||||
monthNames: aStr['monthNames'],
|
||||
monthNamesShort: aStr['monthNamesShort'],
|
||||
|
|
|
@ -282,7 +282,7 @@
|
|||
<ul class="profile-thing-list">
|
||||
{{foreach $items as $item}}
|
||||
<li>{{if $item.img}}<a href="{{$item.url}}" ><img src="{{$item.img}}" class="profile-thing-img" width="100" height="100" alt="{{$item.term}}" /></a>{{/if}}
|
||||
<a href="{{$item.url}}" >{{$item.term}}</a>
|
||||
<a href="{{$item.editurl}}" >{{$item.term}}</a>
|
||||
{{if $profile.canlike}}<br />
|
||||
<button type="button" class="btn btn-default btn-sm" onclick="doprofilelike('thing/' + '{{$item.term_hash}}','like'); return false;" title="{{$likethis}}" >
|
||||
<i class="fa fa-thumbs-o-up" title="{{$likethis}}"></i>
|
||||
|
|
Loading…
Reference in a new issue