use App\Models\Base\ToolboxModel;
use Cubist\Backpack\Magic\Fields\SelectFromArray;
use Cubist\Backpack\Magic\Fields\Text;
+use Cubist\Backpack\Magic\Fields\URL;
use Cubist\Backpack\Magic\Traits\CustomDataSource;
use DateTime;
protected $_enableRevisions = false;
- protected $primaryKey = 'shorturl';
+ protected $primaryKey = 'id';
public $incrementing = false;
protected $keyType = 'string';
parent::setFields();
$this->addField('server', SelectFromArray::class, __('Serveur'), ['options' => LinkShortener::getAvaiableShorteners()]);
- $this->addField('url', Text::class, __('URL'), ['column' => true]);
+ $this->addField('url', URL::class, __('URL'), ['column' => true]);
+ $this->addField('shortlink', URL::class, __('Short URL'), ['column' => true, 'database_unique' => true]);
$this->addOwnerField(['column' => false]);
+
}
/**
$shorturl = 'https://' . $s['domain'] . '/' . $i->keyword;
$time = new DateTime($i->timestamp);
$d = [
- 'shorturl' => $shorturl,
+ 'id' => hash('sha256', $id . '/' . $i->keyword),
+ 'shortlink' => $shorturl,
'url' => $i->url,
'server' => $id,
'created_at' => $time,
'created_ok' => '1',
'owner' => $s['owner'],
];
- $data[$shorturl] = $d;
+ $data[$d['id']] = $d;
}
} catch (\Exception $e) {
{
return true;
}
+
+
}