bookmarks + bug #140
This commit is contained in:
parent
481853d2cc
commit
82f7f33cf5
9 changed files with 48 additions and 9 deletions
2
boot.php
2
boot.php
|
@ -9,7 +9,7 @@ require_once("include/pgettext.php");
|
||||||
|
|
||||||
define ( 'FRIENDIKA_VERSION', '2.2.1093' );
|
define ( 'FRIENDIKA_VERSION', '2.2.1093' );
|
||||||
define ( 'DFRN_PROTOCOL_VERSION', '2.21' );
|
define ( 'DFRN_PROTOCOL_VERSION', '2.21' );
|
||||||
define ( 'DB_UPDATE_VERSION', 1086 );
|
define ( 'DB_UPDATE_VERSION', 1087 );
|
||||||
|
|
||||||
define ( 'EOL', "<br />\r\n" );
|
define ( 'EOL', "<br />\r\n" );
|
||||||
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
|
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
|
||||||
|
|
|
@ -206,6 +206,7 @@ CREATE TABLE IF NOT EXISTS `item` (
|
||||||
`pubmail` tinyint(1) NOT NULL DEFAULT '0',
|
`pubmail` tinyint(1) NOT NULL DEFAULT '0',
|
||||||
`visible` tinyint(1) NOT NULL DEFAULT '0',
|
`visible` tinyint(1) NOT NULL DEFAULT '0',
|
||||||
`starred` tinyint(1) NOT NULL DEFAULT '0',
|
`starred` tinyint(1) NOT NULL DEFAULT '0',
|
||||||
|
`bookmark` tinyint(1) NOT NULL DEFAULT '0',
|
||||||
`unseen` tinyint(1) NOT NULL DEFAULT '1',
|
`unseen` tinyint(1) NOT NULL DEFAULT '1',
|
||||||
`deleted` tinyint(1) NOT NULL DEFAULT '0',
|
`deleted` tinyint(1) NOT NULL DEFAULT '0',
|
||||||
`last-child` tinyint(1) unsigned NOT NULL DEFAULT '1',
|
`last-child` tinyint(1) unsigned NOT NULL DEFAULT '1',
|
||||||
|
|
|
@ -378,6 +378,10 @@ function get_atom_elements($feed,$item) {
|
||||||
if($dguid)
|
if($dguid)
|
||||||
$res['guid'] = unxmlify($dguid[0]['data']);
|
$res['guid'] = unxmlify($dguid[0]['data']);
|
||||||
|
|
||||||
|
$bm = $item->get_item_tags(NAMESPACE_DFRN,'bookmark');
|
||||||
|
if($bm)
|
||||||
|
$res['bookmark'] = ((unxmlify($bm[0]['data']) === 'true') ? 1 : 0);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If there's a copy of the body content which is guaranteed to have survived mangling in transit, use it.
|
* If there's a copy of the body content which is guaranteed to have survived mangling in transit, use it.
|
||||||
|
@ -733,6 +737,7 @@ function item_store($arr,$force_parent = false) {
|
||||||
$arr['deny_cid'] = ((x($arr,'deny_cid')) ? trim($arr['deny_cid']) : '');
|
$arr['deny_cid'] = ((x($arr,'deny_cid')) ? trim($arr['deny_cid']) : '');
|
||||||
$arr['deny_gid'] = ((x($arr,'deny_gid')) ? trim($arr['deny_gid']) : '');
|
$arr['deny_gid'] = ((x($arr,'deny_gid')) ? trim($arr['deny_gid']) : '');
|
||||||
$arr['private'] = ((x($arr,'private')) ? intval($arr['private']) : 0 );
|
$arr['private'] = ((x($arr,'private')) ? intval($arr['private']) : 0 );
|
||||||
|
$arr['bookmark'] = ((x($arr,'bookmark')) ? intval($arr['bookmark']) : 0 );
|
||||||
$arr['body'] = ((x($arr,'body')) ? trim($arr['body']) : '');
|
$arr['body'] = ((x($arr,'body')) ? trim($arr['body']) : '');
|
||||||
$arr['tag'] = ((x($arr,'tag')) ? notags(trim($arr['tag'])) : '');
|
$arr['tag'] = ((x($arr,'tag')) ? notags(trim($arr['tag'])) : '');
|
||||||
$arr['attach'] = ((x($arr,'attach')) ? notags(trim($arr['attach'])) : '');
|
$arr['attach'] = ((x($arr,'attach')) ? notags(trim($arr['attach'])) : '');
|
||||||
|
@ -1706,6 +1711,8 @@ function atom_entry($item,$type,$author,$owner,$comment = false) {
|
||||||
|
|
||||||
if($item['extid'])
|
if($item['extid'])
|
||||||
$o .= '<dfrn:extid>' . xmlify($item['extid']) . '</dfrn:extid>' . "\r\n";
|
$o .= '<dfrn:extid>' . xmlify($item['extid']) . '</dfrn:extid>' . "\r\n";
|
||||||
|
if($item['bookmark'])
|
||||||
|
$o .= '<dfrn:bookmark>true</dfrn:bookmark>' . "\r\n";
|
||||||
|
|
||||||
if($item['app'])
|
if($item['app'])
|
||||||
$o .= '<statusnet:notice_info local_id="' . $item['id'] . '" source="' . xmlify($item['app']) . '" ></statusnet:notice_info>' . "\r\n";
|
$o .= '<statusnet:notice_info local_id="' . $item['id'] . '" source="' . xmlify($item['app']) . '" ></statusnet:notice_info>' . "\r\n";
|
||||||
|
|
|
@ -70,6 +70,7 @@
|
||||||
|
|
||||||
|
|
||||||
// example: <strong> to [b]
|
// example: <strong> to [b]
|
||||||
|
rep(/<a class=\"bookmark\" href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[bookmark=$1]$2[/bookmark]");
|
||||||
rep(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]");
|
rep(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]");
|
||||||
rep(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi,"[size=$1]$2[/size]");
|
rep(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi,"[size=$1]$2[/size]");
|
||||||
rep(/<span style=\"color:(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]");
|
rep(/<span style=\"color:(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]");
|
||||||
|
@ -119,6 +120,7 @@
|
||||||
rep(/\[\/i\]/gi,"</em>");
|
rep(/\[\/i\]/gi,"</em>");
|
||||||
rep(/\[u\]/gi,"<u>");
|
rep(/\[u\]/gi,"<u>");
|
||||||
rep(/\[\/u\]/gi,"</u>");
|
rep(/\[\/u\]/gi,"</u>");
|
||||||
|
rep(/\[bookmark=([^\]]+)\](.*?)\[\/bookmark\]/gi,"<a class=\"bookmark\" href=\"$1\">$2</a>");
|
||||||
rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,"<a href=\"$1\">$2</a>");
|
rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,"<a href=\"$1\">$2</a>");
|
||||||
rep(/\[url\](.*?)\[\/url\]/gi,"<a href=\"$1\">$1</a>");
|
rep(/\[url\](.*?)\[\/url\]/gi,"<a href=\"$1\">$1</a>");
|
||||||
rep(/\[img=(.*?)x(.*?)\](.*?)\[\/img\]/gi,"<img width=\"$1\" height=\"$2\" src=\"$3\" />");
|
rep(/\[img=(.*?)x(.*?)\](.*?)\[\/img\]/gi,"<img width=\"$1\" height=\"$2\" src=\"$3\" />");
|
||||||
|
|
17
mod/item.php
17
mod/item.php
|
@ -332,6 +332,15 @@ function item_post(&$a) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// embedded bookmark in post? convert to regular url and set bookmark flag
|
||||||
|
|
||||||
|
$bookmark = 0;
|
||||||
|
if(preg_match_all("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/m",$body,$match)) {
|
||||||
|
$bookmark = 1;
|
||||||
|
$body = preg_replace("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/m",'[url=$1]$2[/url]',$body);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fold multi-line [code] sequences
|
* Fold multi-line [code] sequences
|
||||||
*/
|
*/
|
||||||
|
@ -509,6 +518,7 @@ function item_post(&$a) {
|
||||||
$datarray['private'] = $private;
|
$datarray['private'] = $private;
|
||||||
$datarray['pubmail'] = $pubmail_enable;
|
$datarray['pubmail'] = $pubmail_enable;
|
||||||
$datarray['attach'] = $attachments;
|
$datarray['attach'] = $attachments;
|
||||||
|
$datarray['bookmark'] = intval($bookmark);
|
||||||
$datarray['thr-parent'] = $thr_parent;
|
$datarray['thr-parent'] = $thr_parent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -551,8 +561,8 @@ function item_post(&$a) {
|
||||||
|
|
||||||
$r = q("INSERT INTO `item` (`guid`, `uid`,`type`,`wall`,`gravity`,`contact-id`,`owner-name`,`owner-link`,`owner-avatar`,
|
$r = q("INSERT INTO `item` (`guid`, `uid`,`type`,`wall`,`gravity`,`contact-id`,`owner-name`,`owner-link`,`owner-avatar`,
|
||||||
`author-name`, `author-link`, `author-avatar`, `created`, `edited`, `received`, `changed`, `uri`, `thr-parent`, `title`, `body`, `app`, `location`, `coord`,
|
`author-name`, `author-link`, `author-avatar`, `created`, `edited`, `received`, `changed`, `uri`, `thr-parent`, `title`, `body`, `app`, `location`, `coord`,
|
||||||
`tag`, `inform`, `verb`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`, `private`, `pubmail`, `attach` )
|
`tag`, `inform`, `verb`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`, `private`, `pubmail`, `attach`, `bookmark` )
|
||||||
VALUES( '%s', %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s' )",
|
VALUES( '%s', %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d )",
|
||||||
dbesc($datarray['guid']),
|
dbesc($datarray['guid']),
|
||||||
intval($datarray['uid']),
|
intval($datarray['uid']),
|
||||||
dbesc($datarray['type']),
|
dbesc($datarray['type']),
|
||||||
|
@ -585,7 +595,8 @@ function item_post(&$a) {
|
||||||
dbesc($datarray['deny_gid']),
|
dbesc($datarray['deny_gid']),
|
||||||
intval($datarray['private']),
|
intval($datarray['private']),
|
||||||
intval($datarray['pubmail']),
|
intval($datarray['pubmail']),
|
||||||
dbesc($datarray['attach'])
|
dbesc($datarray['attach']),
|
||||||
|
intval($datarray['bookmark'])
|
||||||
);
|
);
|
||||||
|
|
||||||
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' LIMIT 1",
|
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' LIMIT 1",
|
||||||
|
|
|
@ -14,7 +14,10 @@ function network_init(&$a) {
|
||||||
$a->page['aside'] = '';
|
$a->page['aside'] = '';
|
||||||
|
|
||||||
$search = ((x($_GET,'search')) ? escape_tags($_GET['search']) : '');
|
$search = ((x($_GET,'search')) ? escape_tags($_GET['search']) : '');
|
||||||
$srchurl = '/network' . ((x($_GET,'cid')) ? '?cid=' . $_GET['cid'] : '') . ((x($_GET,'star')) ? '?star=' . $_GET['star'] : '');
|
$srchurl = '/network'
|
||||||
|
. ((x($_GET,'cid')) ? '?cid=' . $_GET['cid'] : '')
|
||||||
|
. ((x($_GET,'star')) ? '?star=' . $_GET['star'] : '')
|
||||||
|
. ((x($_GET,'bmark')) ? '?bmark=' . $_GET['bmark'] : '');
|
||||||
|
|
||||||
if(x($_GET,'save')) {
|
if(x($_GET,'save')) {
|
||||||
$r = q("select * from `search` where `uid` = %d and `term` = '%s' limit 1",
|
$r = q("select * from `search` where `uid` = %d and `term` = '%s' limit 1",
|
||||||
|
@ -114,6 +117,7 @@ function network_content(&$a, $update = 0) {
|
||||||
|
|
||||||
$cid = ((x($_GET['cid'])) ? intval($_GET['cid']) : 0);
|
$cid = ((x($_GET['cid'])) ? intval($_GET['cid']) : 0);
|
||||||
$star = ((x($_GET['star'])) ? intval($_GET['star']) : 0);
|
$star = ((x($_GET['star'])) ? intval($_GET['star']) : 0);
|
||||||
|
$bmark = ((x($_GET['bmark'])) ? intval($_GET['bmark']) : 0);
|
||||||
|
|
||||||
if(($a->argc > 2) && $a->argv[2] === 'new')
|
if(($a->argc > 2) && $a->argv[2] === 'new')
|
||||||
$nouveau = true;
|
$nouveau = true;
|
||||||
|
@ -174,6 +178,7 @@ function network_content(&$a, $update = 0) {
|
||||||
. ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : '')
|
. ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : '')
|
||||||
. ((x($_GET,'search')) ? '&search=' . $_GET['search'] : '')
|
. ((x($_GET,'search')) ? '&search=' . $_GET['search'] : '')
|
||||||
. ((x($_GET,'star')) ? '&star=' . $_GET['star'] : '')
|
. ((x($_GET,'star')) ? '&star=' . $_GET['star'] : '')
|
||||||
|
. ((x($_GET,'bmark')) ? '&bmark=' . $_GET['bmark'] : '')
|
||||||
. "'; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
|
. "'; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -195,6 +200,9 @@ function network_content(&$a, $update = 0) {
|
||||||
|
|
||||||
$star_sql = (($star) ? " AND `starred` = 1 " : '');
|
$star_sql = (($star) ? " AND `starred` = 1 " : '');
|
||||||
|
|
||||||
|
if($bmark)
|
||||||
|
$star_sql .= " AND `bookmark` = 1 ";
|
||||||
|
|
||||||
$sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` $star_sql ) ";
|
$sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` $star_sql ) ";
|
||||||
|
|
||||||
if($group) {
|
if($group) {
|
||||||
|
|
|
@ -13,7 +13,7 @@ function parse_url_content(&$a) {
|
||||||
|
|
||||||
$text = null;
|
$text = null;
|
||||||
|
|
||||||
$template = "<br /><a href=\"%s\" >%s</a>%s<br />";
|
$template = "<br /><a class=\"bookmark\" href=\"%s\" >%s</a>%s<br />";
|
||||||
|
|
||||||
|
|
||||||
$arr = array('url' => $url, 'text' => '');
|
$arr = array('url' => $url, 'text' => '');
|
||||||
|
@ -121,6 +121,10 @@ function parse_url_content(&$a) {
|
||||||
|
|
||||||
$title = str_replace("\n",'',$title);
|
$title = str_replace("\n",'',$title);
|
||||||
|
|
||||||
echo sprintf($template,$url,($title) ? $title : $url,$text);
|
$result = sprintf($template,$url,($title) ? $title : $url,$text);
|
||||||
|
|
||||||
|
logger('parse_url: returns: ' . $result);
|
||||||
|
|
||||||
|
echo $result;
|
||||||
killme();
|
killme();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
define( 'UPDATE_VERSION' , 1086 );
|
define( 'UPDATE_VERSION' , 1087 );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -721,3 +721,8 @@ function update_1085() {
|
||||||
INDEX ( `term` )
|
INDEX ( `term` )
|
||||||
) ENGINE = MYISAM ");
|
) ENGINE = MYISAM ");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function update_1086() {
|
||||||
|
q("ALTER TABLE `item` ADD `bookmark` tinyint(1) NOT NULL DEFAULT '0' AFTER `starred` ");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -2424,7 +2424,8 @@ a.mail-list-link {
|
||||||
}
|
}
|
||||||
|
|
||||||
#netsearch-box {
|
#netsearch-box {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
|
width: 150px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#netsearch-box #search-submit {
|
#netsearch-box #search-submit {
|
||||||
|
|
Loading…
Reference in a new issue