mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-18 19:40:55 +01:00
Correctly implementing mailkey for Phurl
Summary: Re T6049, Correctly implementing mailkey for Phurl Test Plan: Edit Phurl URL, receive email. Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley, #blessed_reviewers Subscribers: Korvin Differential Revision: https://secure.phabricator.com/D14605
This commit is contained in:
parent
9d59086d01
commit
47a5ebb4fe
5 changed files with 34 additions and 7 deletions
2
resources/sql/autopatches/20151130.phurl.mailkey.1.sql
Normal file
2
resources/sql/autopatches/20151130.phurl.mailkey.1.sql
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
ALTER TABLE {$NAMESPACE}_phurl.phurl_url
|
||||||
|
ADD mailKey binary(20) NOT NULL;
|
18
resources/sql/autopatches/20151130.phurl.mailkey.2.php
Normal file
18
resources/sql/autopatches/20151130.phurl.mailkey.2.php
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$table = new PhabricatorPhurlURL();
|
||||||
|
$conn_w = $table->establishConnection('w');
|
||||||
|
$iterator = new LiskMigrationIterator($table);
|
||||||
|
foreach ($iterator as $url) {
|
||||||
|
$id = $url->getID();
|
||||||
|
|
||||||
|
echo pht('Adding mail key for Phurl %d...', $id);
|
||||||
|
echo "\n";
|
||||||
|
|
||||||
|
queryfx(
|
||||||
|
$conn_w,
|
||||||
|
'UPDATE %T SET mailKey = %s WHERE id = %d',
|
||||||
|
$table->getTableName(),
|
||||||
|
Filesystem::readRandomCharacters(20),
|
||||||
|
$id);
|
||||||
|
}
|
|
@ -211,11 +211,9 @@ final class PhabricatorPhurlURLEditor
|
||||||
|
|
||||||
public function getMailTagsMap() {
|
public function getMailTagsMap() {
|
||||||
return array(
|
return array(
|
||||||
PhabricatorPhurlURLTransaction::MAILTAG_CONTENT =>
|
PhabricatorPhurlURLTransaction::MAILTAG_DETAILS =>
|
||||||
pht(
|
pht(
|
||||||
"A URL's name or path changes."),
|
"A URL's details change."),
|
||||||
PhabricatorPhurlURLTransaction::MAILTAG_OTHER =>
|
|
||||||
pht('Other event activity not listed above occurs.'),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,8 @@ final class PhabricatorPhurlURL extends PhabricatorPhurlDAO
|
||||||
protected $authorPHID;
|
protected $authorPHID;
|
||||||
protected $spacePHID;
|
protected $spacePHID;
|
||||||
|
|
||||||
|
protected $mailKey;
|
||||||
|
|
||||||
const DEFAULT_ICON = 'fa-compress';
|
const DEFAULT_ICON = 'fa-compress';
|
||||||
|
|
||||||
public static function initializeNewPhurlURL(PhabricatorUser $actor) {
|
public static function initializeNewPhurlURL(PhabricatorUser $actor) {
|
||||||
|
@ -45,6 +47,7 @@ final class PhabricatorPhurlURL extends PhabricatorPhurlDAO
|
||||||
'alias' => 'sort64?',
|
'alias' => 'sort64?',
|
||||||
'longURL' => 'text',
|
'longURL' => 'text',
|
||||||
'description' => 'text',
|
'description' => 'text',
|
||||||
|
'mailKey' => 'bytes20',
|
||||||
),
|
),
|
||||||
self::CONFIG_KEY_SCHEMA => array(
|
self::CONFIG_KEY_SCHEMA => array(
|
||||||
'key_instance' => array(
|
'key_instance' => array(
|
||||||
|
@ -58,6 +61,13 @@ final class PhabricatorPhurlURL extends PhabricatorPhurlDAO
|
||||||
) + parent::getConfiguration();
|
) + parent::getConfiguration();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function save() {
|
||||||
|
if (!$this->getMailKey()) {
|
||||||
|
$this->setMailKey(Filesystem::readRandomCharacters(20));
|
||||||
|
}
|
||||||
|
return parent::save();
|
||||||
|
}
|
||||||
|
|
||||||
public function generatePHID() {
|
public function generatePHID() {
|
||||||
return PhabricatorPHID::generateNewPHID(
|
return PhabricatorPHID::generateNewPHID(
|
||||||
PhabricatorPhurlURLPHIDType::TYPECONST);
|
PhabricatorPhurlURLPHIDType::TYPECONST);
|
||||||
|
|
|
@ -8,8 +8,7 @@ final class PhabricatorPhurlURLTransaction
|
||||||
const TYPE_ALIAS = 'phurl.alias';
|
const TYPE_ALIAS = 'phurl.alias';
|
||||||
const TYPE_DESCRIPTION = 'phurl.description';
|
const TYPE_DESCRIPTION = 'phurl.description';
|
||||||
|
|
||||||
const MAILTAG_CONTENT = 'phurl:content';
|
const MAILTAG_DETAILS = 'phurl-details';
|
||||||
const MAILTAG_OTHER = 'phurl:other';
|
|
||||||
|
|
||||||
public function getApplicationName() {
|
public function getApplicationName() {
|
||||||
return 'phurl';
|
return 'phurl';
|
||||||
|
@ -235,7 +234,7 @@ final class PhabricatorPhurlURLTransaction
|
||||||
case self::TYPE_DESCRIPTION:
|
case self::TYPE_DESCRIPTION:
|
||||||
case self::TYPE_URL:
|
case self::TYPE_URL:
|
||||||
case self::TYPE_ALIAS:
|
case self::TYPE_ALIAS:
|
||||||
$tags[] = self::MAILTAG_CONTENT;
|
$tags[] = self::MAILTAG_DETAILS;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return $tags;
|
return $tags;
|
||||||
|
|
Loading…
Reference in a new issue