Merge remote-tracking branch 'mike/master' into dev
This commit is contained in:
commit
f3a753bda6
27
Zotlabs/Module/Hashtags.php
Normal file
27
Zotlabs/Module/Hashtags.php
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Zotlabs\Module;
|
||||
|
||||
|
||||
class Hashtags extends \Zotlabs\Web\Controller {
|
||||
|
||||
function init() {
|
||||
$result = [];
|
||||
|
||||
$t = escape_tags($_REQUEST['t']);
|
||||
if(! $t)
|
||||
json_return_and_die($result);
|
||||
|
||||
$r = q("select distinct(term) from term where term like '%s' and ttype = %d order by term",
|
||||
dbesc($t . '%'),
|
||||
intval(TERM_HASHTAG)
|
||||
);
|
||||
if($r) {
|
||||
foreach($r as $rv) {
|
||||
$result[] = [ 'text' => strtolower($rv['term']) ];
|
||||
}
|
||||
}
|
||||
|
||||
json_return_and_die($result);
|
||||
}
|
||||
}
|
26
Zotlabs/Update/_1209.php
Normal file
26
Zotlabs/Update/_1209.php
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Zotlabs\Update;
|
||||
|
||||
class _1209 {
|
||||
|
||||
function run() {
|
||||
|
||||
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
|
||||
$r1 = q("ALTER TABLE poll_elm ADD pelm_order numeric(6) NOT NULL DEFAULT '0' ");
|
||||
$r2 = q("create index \"pelm_order_idx\" on poll_elm \"pelm_order\"");
|
||||
|
||||
$r = ($r1 && $r2);
|
||||
}
|
||||
else {
|
||||
$r = q("ALTER TABLE `poll_elm` ADD `pelm_order` int(11) NOT NULL DEFAULT 0,
|
||||
ADD INDEX `pelm_order` (`pelm_order`)");
|
||||
}
|
||||
|
||||
if($r)
|
||||
return UPDATE_SUCCESS;
|
||||
return UPDATE_FAILED;
|
||||
|
||||
}
|
||||
|
||||
}
|
2
boot.php
2
boot.php
@ -54,7 +54,7 @@ define ( 'STD_VERSION', '3.3.2' );
|
||||
define ( 'ZOT_REVISION', '6.0a' );
|
||||
|
||||
|
||||
define ( 'DB_UPDATE_VERSION', 1208 );
|
||||
define ( 'DB_UPDATE_VERSION', 1209 );
|
||||
|
||||
define ( 'PROJECT_BASE', __DIR__ );
|
||||
|
||||
|
@ -988,10 +988,12 @@ CREATE TABLE IF NOT EXISTS `poll_elm` (
|
||||
`pelm_desc` text NOT NULL,
|
||||
`pelm_flags` int(11) NOT NULL DEFAULT 0 ,
|
||||
`pelm_result` float NOT NULL DEFAULT 0 ,
|
||||
`pelm_order` int(11) NOT NULL DEFAULT 0 ,
|
||||
PRIMARY KEY (`pelm_id`),
|
||||
KEY `pelm_guid` (`pelm_guid`),
|
||||
KEY `pelm_poll` (`pelm_poll`),
|
||||
KEY `pelm_result` (`pelm_result`)
|
||||
KEY `pelm_result` (`pelm_result`),
|
||||
KEY `pelm_order` (`pelm_order`),
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `profdef` (
|
||||
|
@ -963,11 +963,13 @@ CREATE TABLE "poll_elm" (
|
||||
"pelm_desc" text NOT NULL,
|
||||
"pelm_flags" bigint NOT NULL DEFAULT '0',
|
||||
"pelm_result" float NOT NULL DEFAULT '0',
|
||||
"pelm_order" numeric(6) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY ("pelm_id")
|
||||
);
|
||||
create index "pelm_guid" on poll_elm ("pelm_guid");
|
||||
create index "pelm_poll" on poll_elm ("pelm_poll");
|
||||
create index "pelm_result" on poll_elm ("pelm_result");
|
||||
create index "pelm_order" on poll_elm ("pelm_order");
|
||||
|
||||
CREATE TABLE "profdef" (
|
||||
"id" serial NOT NULL,
|
||||
|
@ -74,6 +74,10 @@ function bbco_format(item) {
|
||||
return "<div class='dropdown-item'>" + item + "</div>";
|
||||
}
|
||||
|
||||
function tag_format(item) {
|
||||
return "<div class='dropdown-item'>" + '#' + item.text + "</div>";
|
||||
}
|
||||
|
||||
function editor_replace(item) {
|
||||
if(typeof item.replace !== 'undefined') {
|
||||
return '$1$2' + item.replace;
|
||||
@ -202,6 +206,16 @@ function string2bb(element) {
|
||||
};
|
||||
|
||||
|
||||
// Autocomplete hashtags
|
||||
tags = {
|
||||
match: /(^|\s)(\#)([^ \n]{2,})$/,
|
||||
index: 3,
|
||||
search: function(term, callback) { $.getJSON('/hashtags/' + '$f=&t=' + term).done(function(data) { callback($.map(data, function(entry) { return entry.text.indexOf(term) === 0 ? entry : null; })); }); },
|
||||
replace: function(item) { return "$1$2" + item.text + ' '; },
|
||||
template: tag_format
|
||||
};
|
||||
|
||||
|
||||
smilies = {
|
||||
match: /(^|\s)(:[a-z_:]{2,})$/,
|
||||
index: 2,
|
||||
@ -211,7 +225,7 @@ function string2bb(element) {
|
||||
template: smiley_format
|
||||
};
|
||||
this.attr('autocomplete','off');
|
||||
this.textcomplete([contacts,forums,smilies], {className:'acpopup', zIndex:1020});
|
||||
this.textcomplete([contacts,forums,smilies,tags], {className:'acpopup', zIndex:1020});
|
||||
};
|
||||
})( jQuery );
|
||||
|
||||
|
Reference in New Issue
Block a user