forked from GNUsocial/gnu-social
save the notice title when the notice is saved
This commit is contained in:
parent
7dd46222a8
commit
e2128b2019
@ -70,7 +70,7 @@ class NoticeTitlePlugin extends Plugin
|
|||||||
|
|
||||||
$schema->ensureTable('notice_title',
|
$schema->ensureTable('notice_title',
|
||||||
array(new ColumnDef('notice_id', 'integer', null, true, 'PRI'),
|
array(new ColumnDef('notice_id', 'integer', null, true, 'PRI'),
|
||||||
new ColumnDef('title', 'varchar', 255, false)));
|
new ColumnDef('title', 'varchar', Notice_title::MAXCHARS, false)));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -114,11 +114,42 @@ class NoticeTitlePlugin extends Plugin
|
|||||||
'id' => 'notice_title',
|
'id' => 'notice_title',
|
||||||
'name' => 'notice_title',
|
'name' => 'notice_title',
|
||||||
'size' => 40,
|
'size' => 40,
|
||||||
|
'maxlength' => Notice_title::MAXCHARS,
|
||||||
'value' => _m('Title'),
|
'value' => _m('Title'),
|
||||||
'style' => 'color: 333333',
|
'style' => 'color: 333333',
|
||||||
'onFocus' => 'this.value = ""; this.style = \'color: black\';'));
|
'onFocus' => 'this.value = ""; this.style = \'color: black\';'));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onStartNoticeSaveWeb($action, &$authorId, &$text, &$options)
|
||||||
|
{
|
||||||
|
$title = $action->trimmed('notice_title');
|
||||||
|
if (!empty($title)) {
|
||||||
|
if (mb_strlen($title) > Notice_title::MAXCHARS) {
|
||||||
|
throw new Exception(sprintf(_m("Notice title too long (max %d chars)", Notice_title::MAXCHARS)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function onEndNoticeSaveWeb($action, $notice)
|
||||||
|
{
|
||||||
|
if (!empty($notice)) {
|
||||||
|
|
||||||
|
$title = $action->trimmed('notice_title');
|
||||||
|
|
||||||
|
if (!empty($title)) {
|
||||||
|
|
||||||
|
$nt = new Notice_title();
|
||||||
|
|
||||||
|
$nt->notice_id = $notice->id;
|
||||||
|
$nt->title = $title;
|
||||||
|
|
||||||
|
$nt->insert();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,6 +47,8 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
|
|||||||
|
|
||||||
class Notice_title extends Memcached_DataObject
|
class Notice_title extends Memcached_DataObject
|
||||||
{
|
{
|
||||||
|
const MAXCHARS = 255;
|
||||||
|
|
||||||
public $__table = 'notice_title'; // table name
|
public $__table = 'notice_title'; // table name
|
||||||
public $notice_id; // int(4) primary_key not_null
|
public $notice_id; // int(4) primary_key not_null
|
||||||
public $title; // varchar(255)
|
public $title; // varchar(255)
|
||||||
|
Loading…
Reference in New Issue
Block a user