[DATABASE] Various table schema related fixes
This commit is contained in:
parent
bc97f34f5a
commit
2b0251213f
|
@ -19,7 +19,6 @@ defined('GNUSOCIAL') || die();
|
||||||
/**
|
/**
|
||||||
* Table Definition for file_redirection
|
* Table Definition for file_redirection
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class File_redirection extends Managed_DataObject
|
class File_redirection extends Managed_DataObject
|
||||||
{
|
{
|
||||||
###START_AUTOCODE
|
###START_AUTOCODE
|
||||||
|
@ -51,7 +50,7 @@ class File_redirection extends Managed_DataObject
|
||||||
),
|
),
|
||||||
'primary key' => array('urlhash'),
|
'primary key' => array('urlhash'),
|
||||||
'foreign keys' => array(
|
'foreign keys' => array(
|
||||||
'file_redirection_file_id_fkey' => array('file' => array('file_id' => 'id')),
|
'file_redirection_file_id_fkey' => array('file', array('file_id' => 'id')),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,26 @@
|
||||||
<?php
|
<?php
|
||||||
|
// This file is part of GNU social - https://www.gnu.org/software/social
|
||||||
|
//
|
||||||
|
// GNU social is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// GNU social is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with GNU social. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
defined('GNUSOCIAL') || die();
|
||||||
|
|
||||||
|
require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Table Definition for notice_source
|
* Table Definition for notice_source
|
||||||
*/
|
*/
|
||||||
require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
|
|
||||||
|
|
||||||
class Notice_source extends Managed_DataObject
|
class Notice_source extends Managed_DataObject
|
||||||
{
|
{
|
||||||
###START_AUTOCODE
|
###START_AUTOCODE
|
||||||
|
@ -26,7 +43,7 @@ class Notice_source extends Managed_DataObject
|
||||||
'code' => array('type' => 'varchar', 'length' => 32, 'not null' => true, 'description' => 'source code'),
|
'code' => array('type' => 'varchar', 'length' => 32, 'not null' => true, 'description' => 'source code'),
|
||||||
'name' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'name of the source'),
|
'name' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'name of the source'),
|
||||||
'url' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'url to link to'),
|
'url' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'url to link to'),
|
||||||
'notice_id' => array('type' => 'int', 'not null' => true, 'description' => 'date this record was created'),
|
'notice_id' => array('type' => 'int', 'not null' => true, 'default' => 0, 'description' => 'date this record was created'),
|
||||||
'created' => array('type' => 'datetime', 'not null' => true, 'default' => '0000-00-00 00:00:00', 'description' => 'date this record was created'),
|
'created' => array('type' => 'datetime', 'not null' => true, 'default' => '0000-00-00 00:00:00', 'description' => 'date this record was created'),
|
||||||
'modified' => array('type' => 'datetime', 'not null' => true, 'default' => 'CURRENT_TIMESTAMP', 'description' => 'date this record was modified'),
|
'modified' => array('type' => 'datetime', 'not null' => true, 'default' => 'CURRENT_TIMESTAMP', 'description' => 'date this record was modified'),
|
||||||
),
|
),
|
||||||
|
|
|
@ -1,9 +1,26 @@
|
||||||
<?php
|
<?php
|
||||||
|
// This file is part of GNU social - https://www.gnu.org/software/social
|
||||||
|
//
|
||||||
|
// GNU social is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// GNU social is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with GNU social. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
defined('GNUSOCIAL') || die();
|
||||||
|
|
||||||
|
require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Table Definition for oauth_association
|
* Table Definition for oauth_association
|
||||||
*/
|
*/
|
||||||
require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
|
|
||||||
|
|
||||||
class Oauth_token_association extends Managed_DataObject
|
class Oauth_token_association extends Managed_DataObject
|
||||||
{
|
{
|
||||||
###START_AUTOCODE
|
###START_AUTOCODE
|
||||||
|
@ -19,7 +36,7 @@ class Oauth_token_association extends Managed_DataObject
|
||||||
/* the code above is auto generated do not remove the tag below */
|
/* the code above is auto generated do not remove the tag below */
|
||||||
###END_AUTOCODE
|
###END_AUTOCODE
|
||||||
|
|
||||||
static function getByUserAndToken($user, $token)
|
public static function getByUserAndToken($user, $token)
|
||||||
{
|
{
|
||||||
if (empty($user) || empty($token)) {
|
if (empty($user) || empty($token)) {
|
||||||
return null;
|
return null;
|
||||||
|
@ -49,8 +66,8 @@ class Oauth_token_association extends Managed_DataObject
|
||||||
),
|
),
|
||||||
'primary key' => array('profile_id', 'application_id', 'token'),
|
'primary key' => array('profile_id', 'application_id', 'token'),
|
||||||
'foreign keys' => array(
|
'foreign keys' => array(
|
||||||
'oauth_token_association_profile_fkey' => array('profile_id', array('profile' => 'id')),
|
'oauth_token_association_profile_fkey' => array('profile', array('profile_id' => 'id')),
|
||||||
'oauth_token_association_application_fkey' => array('application_id', array('application' => 'id')),
|
'oauth_token_association_application_fkey' => array('oauth_application', array('application_id' => 'id')),
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,8 @@ class Profile_list extends Managed_DataObject
|
||||||
),
|
),
|
||||||
'primary key' => array('tagger', 'tag'),
|
'primary key' => array('tagger', 'tag'),
|
||||||
'unique keys' => array(
|
'unique keys' => array(
|
||||||
'profile_list_id_key' => array('id')
|
'profile_list_id_key' => array('id'),
|
||||||
|
'profile_list_tag_key' => array('tag'),
|
||||||
),
|
),
|
||||||
'foreign keys' => array(
|
'foreign keys' => array(
|
||||||
'profile_list_tagger_fkey' => array('profile', array('tagger' => 'id')),
|
'profile_list_tagger_fkey' => array('profile', array('tagger' => 'id')),
|
||||||
|
|
|
@ -51,8 +51,8 @@ class Activitypub_pending_follow_requests extends Managed_DataObject
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'fields' => [
|
'fields' => [
|
||||||
'local_profile_id' => ['type' => 'integer', 'not null' => true],
|
'local_profile_id' => ['type' => 'int', 'not null' => true],
|
||||||
'remote_profile_id' => ['type' => 'integer', 'not null' => true],
|
'remote_profile_id' => ['type' => 'int', 'not null' => true],
|
||||||
'relation_id' => ['type' => 'serial', 'not null' => true],
|
'relation_id' => ['type' => 'serial', 'not null' => true],
|
||||||
],
|
],
|
||||||
'primary key' => ['relation_id'],
|
'primary key' => ['relation_id'],
|
||||||
|
|
|
@ -61,7 +61,7 @@ class Activitypub_profile extends Managed_DataObject
|
||||||
return [
|
return [
|
||||||
'fields' => [
|
'fields' => [
|
||||||
'uri' => ['type' => 'text', 'not null' => true],
|
'uri' => ['type' => 'text', 'not null' => true],
|
||||||
'profile_id' => ['type' => 'integer'],
|
'profile_id' => ['type' => 'int', 'not null' => true],
|
||||||
'inboxuri' => ['type' => 'text', 'not null' => true],
|
'inboxuri' => ['type' => 'text', 'not null' => true],
|
||||||
'sharedInboxuri' => ['type' => 'text'],
|
'sharedInboxuri' => ['type' => 'text'],
|
||||||
'created' => ['type' => 'datetime', 'not null' => true, 'default' => 'CURRENT_TIMESTAMP', 'description' => 'date this record was created'],
|
'created' => ['type' => 'datetime', 'not null' => true, 'default' => 'CURRENT_TIMESTAMP', 'description' => 'date this record was created'],
|
||||||
|
|
|
@ -53,7 +53,7 @@ class Activitypub_rsa extends Managed_DataObject
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'fields' => [
|
'fields' => [
|
||||||
'profile_id' => ['type' => 'integer'],
|
'profile_id' => ['type' => 'int', 'not null' => true],
|
||||||
'private_key' => ['type' => 'text'],
|
'private_key' => ['type' => 'text'],
|
||||||
'public_key' => ['type' => 'text', 'not null' => true],
|
'public_key' => ['type' => 'text', 'not null' => true],
|
||||||
'created' => ['type' => 'datetime', 'not null' => true, 'default' => 'CURRENT_TIMESTAMP', 'description' => 'date this record was created'],
|
'created' => ['type' => 'datetime', 'not null' => true, 'default' => 'CURRENT_TIMESTAMP', 'description' => 'date this record was created'],
|
||||||
|
|
|
@ -1,31 +1,31 @@
|
||||||
<?php
|
<?php
|
||||||
|
// This file is part of GNU social - https://www.gnu.org/software/social
|
||||||
|
//
|
||||||
|
// GNU social is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// GNU social is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with GNU social. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* StatusNet - the distributed open-source microblogging tool
|
|
||||||
* Copyright (C) 2011, StatusNet, Inc.
|
|
||||||
*
|
|
||||||
* Data class for email reminders
|
* Data class for email reminders
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU Affero General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU Affero General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Affero General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
* @category Data
|
* @category Data
|
||||||
* @package EmailReminder
|
* @package EmailReminder
|
||||||
* @author Zach Copley <zach@status.net>
|
* @author Zach Copley <zach@status.net>
|
||||||
* @copyright 2011 StatusNet, Inc.
|
* @copyright 2011 StatusNet, Inc.
|
||||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
|
* @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
|
||||||
* @link http://status.net/
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
defined('GNUSOCIAL') || die();
|
||||||
|
|
||||||
class Email_reminder extends Managed_DataObject
|
class Email_reminder extends Managed_DataObject
|
||||||
{
|
{
|
||||||
public $__table = 'email_reminder';
|
public $__table = 'email_reminder';
|
||||||
|
@ -46,8 +46,8 @@ class Email_reminder extends Managed_DataObject
|
||||||
* @param int $days Number of days after the code was created
|
* @param int $days Number of days after the code was created
|
||||||
* @return boolean true if any Email_reminder records were found
|
* @return boolean true if any Email_reminder records were found
|
||||||
*/
|
*/
|
||||||
static function needsReminder($type, $object, $days = null) {
|
public static function needsReminder($type, $object, $days = null)
|
||||||
|
{
|
||||||
$reminder = new Email_reminder();
|
$reminder = new Email_reminder();
|
||||||
$reminder->type = $type;
|
$reminder->type = $type;
|
||||||
$reminder->code = $object->code;
|
$reminder->code = $object->code;
|
||||||
|
@ -72,8 +72,8 @@ class Email_reminder extends Managed_DataObject
|
||||||
* @param int $days Number of days after the code was created
|
* @param int $days Number of days after the code was created
|
||||||
* @return int $result row ID of the new reminder record
|
* @return int $result row ID of the new reminder record
|
||||||
*/
|
*/
|
||||||
static function recordReminder($type, $object, $days) {
|
public static function recordReminder($type, $object, $days)
|
||||||
|
{
|
||||||
$reminder = new Email_reminder();
|
$reminder = new Email_reminder();
|
||||||
$reminder->type = $type;
|
$reminder->type = $type;
|
||||||
$reminder->code = $object->code;
|
$reminder->code = $object->code;
|
||||||
|
@ -108,13 +108,13 @@ class Email_reminder extends Managed_DataObject
|
||||||
),
|
),
|
||||||
'code' => array(
|
'code' => array(
|
||||||
'type' => 'varchar',
|
'type' => 'varchar',
|
||||||
'not null' => 'true',
|
'not null' => true,
|
||||||
'length' => 191,
|
'length' => 191,
|
||||||
'description' => 'confirmation code'
|
'description' => 'confirmation code'
|
||||||
),
|
),
|
||||||
'days' => array(
|
'days' => array(
|
||||||
'type' => 'int',
|
'type' => 'int',
|
||||||
'not null' => 'true',
|
'not null' => true,
|
||||||
'description' => 'number of days since code creation'
|
'description' => 'number of days since code creation'
|
||||||
),
|
),
|
||||||
'sent' => array(
|
'sent' => array(
|
||||||
|
|
|
@ -94,8 +94,10 @@ class Happening extends Managed_DataObject
|
||||||
'unique keys' => array(
|
'unique keys' => array(
|
||||||
'happening_uri_key' => array('uri'),
|
'happening_uri_key' => array('uri'),
|
||||||
),
|
),
|
||||||
'foreign keys' => array('happening_profile_id__key' => array('profile', array('profile_id' => 'id')),
|
'foreign keys' => array(
|
||||||
'happening_uri__key' => array('notice', array('uri' => 'uri'))),
|
'happening_profile_id_fkey' => array('profile', array('profile_id' => 'id')),
|
||||||
|
'happening_uri_fkey' => array('notice', array('uri' => 'uri'))
|
||||||
|
),
|
||||||
'indexes' => array('happening_created_idx' => array('created'),
|
'indexes' => array('happening_created_idx' => array('created'),
|
||||||
'happening_start_end_idx' => array('start_time', 'end_time')),
|
'happening_start_end_idx' => array('start_time', 'end_time')),
|
||||||
);
|
);
|
||||||
|
|
|
@ -85,8 +85,10 @@ class RSVP extends Managed_DataObject
|
||||||
'rsvp_uri_key' => array('uri'),
|
'rsvp_uri_key' => array('uri'),
|
||||||
'rsvp_profile_event_key' => array('profile_id', 'event_uri'),
|
'rsvp_profile_event_key' => array('profile_id', 'event_uri'),
|
||||||
),
|
),
|
||||||
'foreign keys' => array('rsvp_event_uri_key' => array('happening', array('event_uri' => 'uri')),
|
'foreign keys' => array(
|
||||||
'rsvp_profile_id__key' => array('profile', array('profile_id' => 'id'))),
|
'rsvp_event_uri_fkey' => array('happening', array('event_uri' => 'uri')),
|
||||||
|
'rsvp_profile_id_fkey' => array('profile', array('profile_id' => 'id'))
|
||||||
|
),
|
||||||
'indexes' => array('rsvp_created_idx' => array('created')),
|
'indexes' => array('rsvp_created_idx' => array('created')),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,7 +73,7 @@ class ModLog extends Managed_DataObject
|
||||||
'primary key' => array('id'),
|
'primary key' => array('id'),
|
||||||
'foreign keys' => array(
|
'foreign keys' => array(
|
||||||
'mod_log_profile_id_fkey' => array('profile', array('profile_id' => 'id')),
|
'mod_log_profile_id_fkey' => array('profile', array('profile_id' => 'id')),
|
||||||
'mod_log_moderator_id_fkey' => array('user', array('user_id' => 'id'))
|
'mod_log_moderator_id_fkey' => array('user', array('moderator_id' => 'id'))
|
||||||
),
|
),
|
||||||
'indexes' => array(
|
'indexes' => array(
|
||||||
'mod_log_profile_id_created_idx' => array('profile_id', 'created'),
|
'mod_log_profile_id_created_idx' => array('profile_id', 'created'),
|
||||||
|
|
|
@ -57,7 +57,7 @@ class HubSub extends Managed_DataObject
|
||||||
'secret' => array('type' => 'text', 'description' => 'HubSub stored secret'),
|
'secret' => array('type' => 'text', 'description' => 'HubSub stored secret'),
|
||||||
'sub_start' => array('type' => 'datetime', 'description' => 'subscription start'),
|
'sub_start' => array('type' => 'datetime', 'description' => 'subscription start'),
|
||||||
'sub_end' => array('type' => 'datetime', 'description' => 'subscription end'),
|
'sub_end' => array('type' => 'datetime', 'description' => 'subscription end'),
|
||||||
'errors' => array('type' => 'integer', 'not null' => true, 'default' => 0, 'description' => 'Queue handling error count, is reset on success.'),
|
'errors' => array('type' => 'int', 'not null' => true, 'default' => 0, 'description' => 'Queue handling error count, is reset on success.'),
|
||||||
'error_start' => array('type' => 'datetime', 'default' => null, 'description' => 'time of first error since latest success, should be null if no errors have been counted'),
|
'error_start' => array('type' => 'datetime', 'default' => null, 'description' => 'time of first error since latest success, should be null if no errors have been counted'),
|
||||||
'last_error' => array('type' => 'datetime', 'default' => null, 'description' => 'time of last failure, if ever'),
|
'last_error' => array('type' => 'datetime', 'default' => null, 'description' => 'time of last failure, if ever'),
|
||||||
'last_error_msg' => array('type' => 'text', 'default' => null, 'description' => 'Last error _message_'),
|
'last_error_msg' => array('type' => 'text', 'default' => null, 'description' => 'Last error _message_'),
|
||||||
|
|
|
@ -51,9 +51,9 @@ class Ostatus_profile extends Managed_DataObject
|
||||||
return array(
|
return array(
|
||||||
'fields' => array(
|
'fields' => array(
|
||||||
'uri' => array('type' => 'varchar', 'length' => 191, 'not null' => true),
|
'uri' => array('type' => 'varchar', 'length' => 191, 'not null' => true),
|
||||||
'profile_id' => array('type' => 'integer'),
|
'profile_id' => array('type' => 'int'),
|
||||||
'group_id' => array('type' => 'integer'),
|
'group_id' => array('type' => 'int'),
|
||||||
'peopletag_id' => array('type' => 'integer'),
|
'peopletag_id' => array('type' => 'int'),
|
||||||
'feeduri' => array('type' => 'varchar', 'length' => 191),
|
'feeduri' => array('type' => 'varchar', 'length' => 191),
|
||||||
'salmonuri' => array('type' => 'varchar', 'length' => 191),
|
'salmonuri' => array('type' => 'varchar', 'length' => 191),
|
||||||
'avatar' => array('type' => 'text'),
|
'avatar' => array('type' => 'text'),
|
||||||
|
|
|
@ -63,12 +63,12 @@ class User_openid_prefs extends Managed_DataObject
|
||||||
'description' => 'Per-user preferences for OpenID display',
|
'description' => 'Per-user preferences for OpenID display',
|
||||||
'fields' => [
|
'fields' => [
|
||||||
'user_id' => [
|
'user_id' => [
|
||||||
'type' => 'integer',
|
'type' => 'int',
|
||||||
'not null' => true,
|
'not null' => true,
|
||||||
'description' => 'User whose prefs we are saving'
|
'description' => 'User whose prefs we are saving'
|
||||||
],
|
],
|
||||||
'hide_profile_link' => [
|
'hide_profile_link' => [
|
||||||
'type' => 'integer',
|
'type' => 'int',
|
||||||
'not null' => true,
|
'not null' => true,
|
||||||
'default' => 0,
|
'default' => 0,
|
||||||
'description' => 'Whether to hide profile links from profile block'
|
'description' => 'Whether to hide profile links from profile block'
|
||||||
|
|
|
@ -1,44 +1,36 @@
|
||||||
<?php
|
<?php
|
||||||
|
// This file is part of GNU social - https://www.gnu.org/software/social
|
||||||
|
//
|
||||||
|
// GNU social is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// GNU social is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with GNU social. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Data class to record responses to polls
|
* Data class to record responses to polls
|
||||||
*
|
*
|
||||||
* PHP version 5
|
|
||||||
*
|
|
||||||
* @category PollPlugin
|
* @category PollPlugin
|
||||||
* @package StatusNet
|
* @package GNUsocial
|
||||||
* @author Brion Vibber <brion@status.net>
|
* @author Brion Vibber <brion@status.net>
|
||||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
* @copyright 2011, StatusNet, Inc.
|
||||||
* @link http://status.net/
|
* @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
|
||||||
*
|
|
||||||
* StatusNet - the distributed open-source microblogging tool
|
|
||||||
* Copyright (C) 2011, StatusNet, Inc.
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU Affero General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU Affero General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Affero General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (!defined('STATUSNET')) {
|
defined('GNUSOCIAL') || die();
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For storing the poll options and such
|
* For storing the poll options and such
|
||||||
*
|
*
|
||||||
* @category PollPlugin
|
* @copyright 2011, StatusNet, Inc.
|
||||||
* @package StatusNet
|
* @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
|
||||||
* @author Brion Vibber <brion@status.net>
|
|
||||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
|
||||||
* @link http://status.net/
|
|
||||||
*
|
*
|
||||||
* @see DB_DataObject
|
* @see DB_DataObject
|
||||||
*/
|
*/
|
||||||
|
@ -69,7 +61,7 @@ class Poll_response extends Managed_DataObject
|
||||||
),
|
),
|
||||||
'primary key' => array('id'),
|
'primary key' => array('id'),
|
||||||
'unique keys' => array(
|
'unique keys' => array(
|
||||||
'poll_uri_key' => array('uri'),
|
'poll_response_uri_key' => array('uri'),
|
||||||
'poll_response_poll_id_profile_id_key' => array('poll_id', 'profile_id'),
|
'poll_response_poll_id_profile_id_key' => array('poll_id', 'profile_id'),
|
||||||
),
|
),
|
||||||
'indexes' => array(
|
'indexes' => array(
|
||||||
|
|
|
@ -81,11 +81,11 @@ class QnA_Answer extends Managed_DataObject
|
||||||
),
|
),
|
||||||
'primary key' => array('id'),
|
'primary key' => array('id'),
|
||||||
'unique keys' => array(
|
'unique keys' => array(
|
||||||
'question_uri_key' => array('uri'),
|
'qna_answer_uri_key' => array('uri'),
|
||||||
'question_id_profile_id_key' => array('question_id', 'profile_id'),
|
'qna_answer_question_id_profile_id_key' => array('question_id', 'profile_id'),
|
||||||
),
|
),
|
||||||
'indexes' => array(
|
'indexes' => array(
|
||||||
'profile_id_question_id_index' => array('profile_id', 'question_id'),
|
'qna_answer_profile_id_question_id_idx' => array('profile_id', 'question_id'),
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,7 @@ class QnA_Question extends Managed_DataObject
|
||||||
),
|
),
|
||||||
'primary key' => array('id'),
|
'primary key' => array('id'),
|
||||||
'unique keys' => array(
|
'unique keys' => array(
|
||||||
'question_uri_key' => array('uri'),
|
'qna_question_uri_key' => array('uri'),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,44 +1,36 @@
|
||||||
<?php
|
<?php
|
||||||
|
// This file is part of GNU social - https://www.gnu.org/software/social
|
||||||
|
//
|
||||||
|
// GNU social is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// GNU social is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with GNU social. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Data class to save users votes for
|
* Data class to save users votes for
|
||||||
*
|
*
|
||||||
* PHP version 5
|
|
||||||
*
|
|
||||||
* @category QnA
|
* @category QnA
|
||||||
* @package StatusNet
|
* @package GNUsocial
|
||||||
* @author Zach Copley <zach@status.net>
|
* @author Zach Copley <zach@status.net>
|
||||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
* @copyright 2011 StatusNet, Inc.
|
||||||
* @link http://status.net/
|
* @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
|
||||||
*
|
|
||||||
* StatusNet - the distributed open-source microblogging tool
|
|
||||||
* Copyright (C) 2011, StatusNet, Inc.
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU Affero General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU Affero General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Affero General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (!defined('STATUSNET')) {
|
defined('GNUSOCIAL') || die();
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For storing votes on question and answers
|
* For storing votes on question and answers
|
||||||
*
|
*
|
||||||
* @category QnA
|
* @copyright 2011 StatusNet, Inc.
|
||||||
* @package StatusNet
|
* @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
|
||||||
* @author Zach Copley <zach@status.net>
|
|
||||||
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
|
|
||||||
* @link http://status.net/
|
|
||||||
*
|
*
|
||||||
* @see DB_DataObject
|
* @see DB_DataObject
|
||||||
*/
|
*/
|
||||||
|
@ -87,11 +79,11 @@ class QnA_Vote extends Managed_DataObject
|
||||||
),
|
),
|
||||||
'primary key' => array('id'),
|
'primary key' => array('id'),
|
||||||
'indexes' => array(
|
'indexes' => array(
|
||||||
'profile_id_question_Id_index' => array(
|
'qna_vote_profile_id_question_id_idx' => array(
|
||||||
'profile_id',
|
'profile_id',
|
||||||
'question_id'
|
'question_id'
|
||||||
),
|
),
|
||||||
'profile_id_question_Id_index' => array(
|
'qna_vote_profile_id_question_id_idx' => array(
|
||||||
'profile_id',
|
'profile_id',
|
||||||
'answer_id'
|
'answer_id'
|
||||||
)
|
)
|
||||||
|
@ -110,7 +102,7 @@ class QnA_Vote extends Managed_DataObject
|
||||||
*
|
*
|
||||||
* @return Void
|
* @return Void
|
||||||
*/
|
*/
|
||||||
static function save($profile, $question, $answer, $vote)
|
public static function save($profile, $question, $answer, $vote)
|
||||||
{
|
{
|
||||||
$v = new QnA_Vote();
|
$v = new QnA_Vote();
|
||||||
$v->id = UUID::gen();
|
$v->id = UUID::gen();
|
||||||
|
|
|
@ -79,7 +79,7 @@ class Realtime_channel extends Managed_DataObject
|
||||||
'length' => 32,
|
'length' => 32,
|
||||||
'not null' => true,
|
'not null' => true,
|
||||||
'description' => 'shared secret key for this channel'),
|
'description' => 'shared secret key for this channel'),
|
||||||
'audience' => array('type' => 'integer',
|
'audience' => array('type' => 'int',
|
||||||
'not null' => true,
|
'not null' => true,
|
||||||
'default' => 0,
|
'default' => 0,
|
||||||
'description' => 'reference count'),
|
'description' => 'reference count'),
|
||||||
|
|
|
@ -1,55 +1,43 @@
|
||||||
<?php
|
<?php
|
||||||
|
// This file is part of GNU social - https://www.gnu.org/software/social
|
||||||
|
//
|
||||||
|
// GNU social is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// GNU social is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with GNU social. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* StatusNet, the distributed open-source microblogging tool
|
|
||||||
*
|
|
||||||
* Plugin that requires the user to have a validated email address before they
|
* Plugin that requires the user to have a validated email address before they
|
||||||
* can post notices
|
* can post notices
|
||||||
*
|
*
|
||||||
* PHP version 5
|
|
||||||
*
|
|
||||||
* LICENCE: This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU Affero General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU Affero General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Affero General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
* @category Plugin
|
* @category Plugin
|
||||||
* @package StatusNet
|
* @package GNUsocial
|
||||||
* @author Craig Andrews <candrews@integralblue.com>
|
* @author Craig Andrews <candrews@integralblue.com>
|
||||||
* @author Brion Vibber <brion@status.net>
|
* @author Brion Vibber <brion@status.net>
|
||||||
* @author Evan Prodromou <evan@status.net>
|
* @author Evan Prodromou <evan@status.net>
|
||||||
|
* @author Mikael Nordfeldth <mmn@hethane.se>
|
||||||
* @copyright 2011 StatusNet Inc. http://status.net/
|
* @copyright 2011 StatusNet Inc. http://status.net/
|
||||||
* @copyright 2009 Free Software Foundation, Inc http://www.fsf.org
|
* @copyright 2009-2013 Free Software Foundation, Inc http://www.fsf.org
|
||||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
* @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
|
||||||
* @link http://status.net/
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
defined('GNUSOCIAL') || die();
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Plugin for requiring a validated email before posting.
|
* Plugin for requiring a validated email before posting.
|
||||||
*
|
*
|
||||||
* Enable this plugin using addPlugin('RequireValidatedEmail');
|
* Enable this plugin using addPlugin('RequireValidatedEmail');
|
||||||
*
|
|
||||||
* @category Plugin
|
|
||||||
* @package StatusNet
|
|
||||||
* @author Craig Andrews <candrews@integralblue.com>
|
|
||||||
* @author Brion Vibber <brion@status.net>
|
|
||||||
* @author Evan Prodromou <evan@status.net>
|
|
||||||
* @author Mikael Nordfeldth <mmn@hethane.se>
|
|
||||||
* @copyright 2009-2013 Free Software Foundation, Inc http://www.fsf.org
|
* @copyright 2009-2013 Free Software Foundation, Inc http://www.fsf.org
|
||||||
* @copyright 2009-2010 StatusNet, Inc.
|
* @copyright 2009-2010 StatusNet, Inc.
|
||||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
* @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
|
||||||
* @link http://status.net/
|
|
||||||
*/
|
*/
|
||||||
class RequireValidatedEmailPlugin extends Plugin
|
class RequireValidatedEmailPlugin extends Plugin
|
||||||
{
|
{
|
||||||
|
@ -84,8 +72,10 @@ class RequireValidatedEmailPlugin extends Plugin
|
||||||
|
|
||||||
public function onRouterInitialized(URLMapper $m)
|
public function onRouterInitialized(URLMapper $m)
|
||||||
{
|
{
|
||||||
$m->('main/confirmfirst/:code',
|
$m->connect(
|
||||||
['action' => 'confirmfirstemail']);
|
'main/confirmfirst/:code',
|
||||||
|
['action' => 'confirmfirstemail']
|
||||||
|
);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,7 +111,7 @@ class RequireValidatedEmailPlugin extends Plugin
|
||||||
*
|
*
|
||||||
* @return bool hook result code
|
* @return bool hook result code
|
||||||
*/
|
*/
|
||||||
function onStartRegisterUser(&$user, &$profile)
|
public function onStartRegisterUser(&$user, &$profile)
|
||||||
{
|
{
|
||||||
$email = $user->email;
|
$email = $user->email;
|
||||||
|
|
||||||
|
@ -153,8 +143,10 @@ class RequireValidatedEmailPlugin extends Plugin
|
||||||
// that somebody's ok despite a non-validated email.
|
// that somebody's ok despite a non-validated email.
|
||||||
|
|
||||||
// @todo FIXME: This isn't how to do it! Use Start*/End* instead
|
// @todo FIXME: This isn't how to do it! Use Start*/End* instead
|
||||||
Event::handle('RequireValidatedEmailPlugin_Override',
|
Event::handle(
|
||||||
array($user, &$knownGood));
|
'RequireValidatedEmailPlugin_Override',
|
||||||
|
[$user, &$knownGood]
|
||||||
|
);
|
||||||
|
|
||||||
return $knownGood;
|
return $knownGood;
|
||||||
}
|
}
|
||||||
|
@ -188,7 +180,7 @@ class RequireValidatedEmailPlugin extends Plugin
|
||||||
*
|
*
|
||||||
* @return bool true if user has a trusted OpenID.
|
* @return bool true if user has a trusted OpenID.
|
||||||
*/
|
*/
|
||||||
function hasTrustedOpenID(User $user)
|
public function hasTrustedOpenID(User $user)
|
||||||
{
|
{
|
||||||
if ($this->trustedOpenIDs && class_exists('User_openid')) {
|
if ($this->trustedOpenIDs && class_exists('User_openid')) {
|
||||||
foreach ($this->trustedOpenIDs as $regex) {
|
foreach ($this->trustedOpenIDs as $regex) {
|
||||||
|
@ -240,7 +232,7 @@ class RequireValidatedEmailPlugin extends Plugin
|
||||||
*
|
*
|
||||||
* @return boolean hook value
|
* @return boolean hook value
|
||||||
*/
|
*/
|
||||||
function onStartMakeEntryForm($tag, $action, &$form)
|
public function onStartMakeEntryForm($tag, $action, &$form)
|
||||||
{
|
{
|
||||||
$user = common_current_user();
|
$user = common_current_user();
|
||||||
if (!empty($user)) {
|
if (!empty($user)) {
|
||||||
|
@ -259,7 +251,7 @@ class RequireValidatedEmailPlugin extends Plugin
|
||||||
* @param boolean $result if overriding, set to true/false has right
|
* @param boolean $result if overriding, set to true/false has right
|
||||||
* @return boolean hook result value
|
* @return boolean hook result value
|
||||||
*/
|
*/
|
||||||
function onUserRightsCheck(Profile $profile, $right, &$result)
|
public function onUserRightsCheck(Profile $profile, $right, &$result)
|
||||||
{
|
{
|
||||||
if ($right == Right::CREATEGROUP ||
|
if ($right == Right::CREATEGROUP ||
|
||||||
($this->disallowLogin && ($right == Right::WEBLOGIN || $right == Right::API))) {
|
($this->disallowLogin && ($right == Right::WEBLOGIN || $right == Right::API))) {
|
||||||
|
@ -272,7 +264,7 @@ class RequireValidatedEmailPlugin extends Plugin
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function onLoginAction($action, &$login)
|
public function onLoginAction($action, &$login)
|
||||||
{
|
{
|
||||||
if ($action == 'confirmfirstemail') {
|
if ($action == 'confirmfirstemail') {
|
||||||
$login = true;
|
$login = true;
|
||||||
|
|
|
@ -1,48 +1,35 @@
|
||||||
<?php
|
<?php
|
||||||
|
// This file is part of GNU social - https://www.gnu.org/software/social
|
||||||
|
//
|
||||||
|
// GNU social is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// GNU social is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with GNU social. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* StatusNet - the distributed open-source microblogging tool
|
|
||||||
* Copyright (C) 2010, StatusNet, Inc.
|
|
||||||
*
|
|
||||||
* Creates a dynamic sitemap for a StatusNet site
|
* Creates a dynamic sitemap for a StatusNet site
|
||||||
*
|
*
|
||||||
* PHP version 5
|
* @package GNUsocial
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU Affero General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU Affero General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Affero General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
* @category Sample
|
|
||||||
* @package StatusNet
|
|
||||||
* @author Evan Prodromou <evan@status.net>
|
* @author Evan Prodromou <evan@status.net>
|
||||||
* @copyright 2010 StatusNet, Inc.
|
* @copyright 2010 StatusNet, Inc.
|
||||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
|
* @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
|
||||||
* @link http://status.net/
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (!defined('STATUSNET')) {
|
defined('GNUSOCIAL') || die();
|
||||||
// This check helps protect against security problems;
|
|
||||||
// your code file can't be executed directly from the web.
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sitemap plugin
|
* Sitemap plugin
|
||||||
*
|
*
|
||||||
* @category Sample
|
|
||||||
* @package StatusNet
|
|
||||||
* @author Evan Prodromou <evan@status.net>
|
|
||||||
* @copyright 2010 StatusNet, Inc.
|
* @copyright 2010 StatusNet, Inc.
|
||||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
|
* @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
|
||||||
* @link http://status.net/
|
|
||||||
*/
|
*/
|
||||||
class SitemapPlugin extends Plugin
|
class SitemapPlugin extends Plugin
|
||||||
{
|
{
|
||||||
|
@ -58,7 +45,7 @@ class SitemapPlugin extends Plugin
|
||||||
*
|
*
|
||||||
* @return boolean hook value.
|
* @return boolean hook value.
|
||||||
*/
|
*/
|
||||||
function onEndRobotsTxt($action)
|
public function onEndRobotsTxt($action)
|
||||||
{
|
{
|
||||||
$url = common_local_url('sitemapindex');
|
$url = common_local_url('sitemapindex');
|
||||||
|
|
||||||
|
@ -76,25 +63,37 @@ class SitemapPlugin extends Plugin
|
||||||
*/
|
*/
|
||||||
public function onRouterInitialized(URLMapper $m)
|
public function onRouterInitialized(URLMapper $m)
|
||||||
{
|
{
|
||||||
$m->connect('sitemapindex.xml',
|
$m->connect(
|
||||||
['action' => 'sitemapindex']);
|
'sitemapindex.xml',
|
||||||
|
['action' => 'sitemapindex']
|
||||||
|
);
|
||||||
|
|
||||||
$m->connect('notice-sitemap-:year-:month-:day-:index.xml',
|
$m->connect(
|
||||||
|
'notice-sitemap-:year-:month-:day-:index.xml',
|
||||||
['action' => 'noticesitemap'],
|
['action' => 'noticesitemap'],
|
||||||
['year' => '[0-9]{4}',
|
[
|
||||||
|
'year' => '[0-9]{4}',
|
||||||
'month' => '[01][0-9]',
|
'month' => '[01][0-9]',
|
||||||
'day' => '[0123][0-9]',
|
'day' => '[0123][0-9]',
|
||||||
'index' => '[1-9][0-9]*']);
|
'index' => '[1-9][0-9]*',
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
$m->connect('user-sitemap-:year-:month-:day-:index.xml',
|
$m->connect(
|
||||||
['action' => 'usersitemap'),
|
'user-sitemap-:year-:month-:day-:index.xml',
|
||||||
['year' => '[0-9]{4}',
|
['action' => 'usersitemap'],
|
||||||
|
[
|
||||||
|
'year' => '[0-9]{4}',
|
||||||
'month' => '[01][0-9]',
|
'month' => '[01][0-9]',
|
||||||
'day' => '[0123][0-9]',
|
'day' => '[0123][0-9]',
|
||||||
'index' => '[1-9][0-9]*']);
|
'index' => '[1-9][0-9]*',
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
$m->connect('panel/sitemap',
|
$m->connect(
|
||||||
['action' => 'sitemapadminpanel']);
|
'panel/sitemap',
|
||||||
|
['action' => 'sitemapadminpanel']
|
||||||
|
);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -109,7 +108,7 @@ class SitemapPlugin extends Plugin
|
||||||
*
|
*
|
||||||
* @return boolean hook value.
|
* @return boolean hook value.
|
||||||
*/
|
*/
|
||||||
function onStartShowHeadElements($action)
|
public function onStartShowHeadElements($action)
|
||||||
{
|
{
|
||||||
$actionName = $action->trimmed('action');
|
$actionName = $action->trimmed('action');
|
||||||
|
|
||||||
|
@ -119,7 +118,6 @@ class SitemapPlugin extends Plugin
|
||||||
|
|
||||||
if (($singleUser && $actionName == 'showstream') ||
|
if (($singleUser && $actionName == 'showstream') ||
|
||||||
(!$singleUser && $actionName == 'public')) {
|
(!$singleUser && $actionName == 'public')) {
|
||||||
|
|
||||||
$keys = array('yahookey' => 'y_key',
|
$keys = array('yahookey' => 'y_key',
|
||||||
'bingkey' => 'msvalidate.01'); // XXX: is this the same for all sites?
|
'bingkey' => 'msvalidate.01'); // XXX: is this the same for all sites?
|
||||||
|
|
||||||
|
@ -146,7 +144,7 @@ class SitemapPlugin extends Plugin
|
||||||
*
|
*
|
||||||
* @return boolean hook value; true means continue processing, false means stop.
|
* @return boolean hook value; true means continue processing, false means stop.
|
||||||
*/
|
*/
|
||||||
function onCheckSchema()
|
public function onCheckSchema()
|
||||||
{
|
{
|
||||||
$schema = Schema::get();
|
$schema = Schema::get();
|
||||||
|
|
||||||
|
@ -155,13 +153,19 @@ class SitemapPlugin extends Plugin
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function onEndAdminPanelNav($menu) {
|
public function onEndAdminPanelNav($menu)
|
||||||
|
{
|
||||||
if (AdminPanelAction::canAdmin('sitemap')) {
|
if (AdminPanelAction::canAdmin('sitemap')) {
|
||||||
// TRANS: Menu item title/tooltip
|
// TRANS: Menu item title/tooltip
|
||||||
$menu_title = _m('Sitemap configuration');
|
$menu_title = _m('Sitemap configuration');
|
||||||
// TRANS: Menu item for site administration
|
// TRANS: Menu item for site administration
|
||||||
$menu->out->menuItem(common_local_url('sitemapadminpanel'), _m('MENU','Sitemap'),
|
$menu->out->menuItem(
|
||||||
$menu_title, $action_name == 'sitemapadminpanel', 'nav_sitemap_admin_panel');
|
common_local_url('sitemapadminpanel'),
|
||||||
|
_m('MENU', 'Sitemap'),
|
||||||
|
$menu_title,
|
||||||
|
($action_name === 'sitemapadminpanel'),
|
||||||
|
'nav_sitemap_admin_panel'
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user