202 lines
8.5 KiB
PHP
202 lines
8.5 KiB
PHP
<?php
|
|
class Rights extends Modules {
|
|
public static function __uninstall($confirm): void {
|
|
if ($confirm) {
|
|
$sql = SQL::current();
|
|
|
|
$sql->delete(
|
|
"post_attributes",
|
|
array("name" => "rights_title")
|
|
);
|
|
$sql->delete(
|
|
"post_attributes",
|
|
array("name" => "rights_holder")
|
|
);
|
|
$sql->delete(
|
|
"post_attributes",
|
|
array("name" => "rights_licence")
|
|
);
|
|
}
|
|
}
|
|
|
|
public function post_options($fields, $post = null): array {
|
|
$licences = array(
|
|
array(
|
|
"name" => __("All rights reserved", "rights"),
|
|
"value" => "All rights reserved",
|
|
"selected" => isset($post) ?
|
|
($post->rights_licence == "All rights reserved") :
|
|
true
|
|
),
|
|
array(
|
|
"name" => __("Creative Commons BY", "rights"),
|
|
"value" => "Creative Commons BY",
|
|
"selected" => isset($post) ?
|
|
($post->rights_licence == "Creative Commons BY") :
|
|
false
|
|
),
|
|
array(
|
|
"name" => __("Creative Commons BY-ND", "rights"),
|
|
"value" => "Creative Commons BY-ND",
|
|
"selected" => isset($post) ?
|
|
($post->rights_licence == "Creative Commons BY-ND") :
|
|
false
|
|
),
|
|
array(
|
|
"name" => __("Creative Commons BY-SA", "rights"),
|
|
"value" => "Creative Commons BY-SA",
|
|
"selected" => isset($post) ?
|
|
($post->rights_licence == "Creative Commons BY-SA") :
|
|
false
|
|
),
|
|
array(
|
|
"name" => __("Creative Commons BY-NC", "rights"),
|
|
"value" => "Creative Commons BY-NC",
|
|
"selected" => isset($post) ?
|
|
($post->rights_licence == "Creative Commons BY-NC") :
|
|
false
|
|
),
|
|
array(
|
|
"name" => __("Creative Commons BY-NC-ND", "rights"),
|
|
"value" => "Creative Commons BY-NC-ND",
|
|
"selected" => isset($post) ?
|
|
($post->rights_licence == "Creative Commons BY-NC-ND") :
|
|
false
|
|
),
|
|
array(
|
|
"name" => __("Creative Commons BY-NC-SA", "rights"),
|
|
"value" => "Creative Commons BY-NC-SA",
|
|
"selected" => isset($post) ?
|
|
($post->rights_licence == "Creative Commons BY-NC-SA") :
|
|
false
|
|
),
|
|
array(
|
|
"name" => __("Creative Commons CC0", "rights"),
|
|
"value" => "Creative Commons CC0",
|
|
"selected" => isset($post) ?
|
|
($post->rights_licence == "Creative Commons CC0") :
|
|
false
|
|
),
|
|
array(
|
|
"name" => __("Orphan Work", "rights"),
|
|
"value" => "Orphan Work",
|
|
"selected" => isset($post) ?
|
|
($post->rights_licence == "Orphan Work") :
|
|
false
|
|
),
|
|
array(
|
|
"name" => __("Public Domain", "rights"),
|
|
"value" => "Public Domain",
|
|
"selected" => isset($post) ?
|
|
($post->rights_licence == "Public Domain") :
|
|
false
|
|
),
|
|
array(
|
|
"name" => __("Crown Copyright", "rights"),
|
|
"value" => "Crown Copyright",
|
|
"selected" => isset($post) ?
|
|
($post->rights_licence == "Crown Copyright") :
|
|
false
|
|
)
|
|
);
|
|
|
|
$fields[] = array(
|
|
"attr" => "option[rights_title]",
|
|
"label" => __("Original Work", "rights"),
|
|
"type" => "text",
|
|
"value" => isset($post->rights_title) ?
|
|
$post->rights_title :
|
|
""
|
|
);
|
|
|
|
$fields[] = array(
|
|
"attr" => "option[rights_holder]",
|
|
"label" => __("Rights Holder", "rights"),
|
|
"type" => "text",
|
|
"value" => isset($post->rights_holder) ?
|
|
$post->rights_holder :
|
|
""
|
|
);
|
|
|
|
$fields[] = array(
|
|
"attr" => "option[rights_licence]",
|
|
"label" => __("License", "rights"),
|
|
"help" => "choosing_a_licence",
|
|
"type" => "select",
|
|
"options" => $licences
|
|
);
|
|
|
|
return $fields;
|
|
}
|
|
|
|
public function feed_item($post, $feed): void {
|
|
if (!empty($post->rights_licence))
|
|
$feed->rights($post->rights_licence);
|
|
}
|
|
|
|
public function post_licence_link_attr($attr, $post): string {
|
|
switch ($post->rights_licence) {
|
|
case "Creative Commons BY":
|
|
$mark = '<a rel="license"'.
|
|
' href="http://creativecommons.org/licenses/by/4.0"'.
|
|
' target="_blank" class="rights_licence_link">'.
|
|
__("Creative Commons BY", "rights").
|
|
'</a>';
|
|
break;
|
|
case "Creative Commons BY-ND":
|
|
$mark = '<a rel="license"'.
|
|
' href="http://creativecommons.org/licenses/by-nd/4.0"'.
|
|
' target="_blank" class="rights_licence_link">'.
|
|
__("Creative Commons BY-ND", "rights").
|
|
'</a>';
|
|
break;
|
|
case "Creative Commons BY-SA":
|
|
$mark = '<a rel="license"'.
|
|
' href="http://creativecommons.org/licenses/by-sa/4.0"'.
|
|
' target="_blank" class="rights_licence_link">'.
|
|
__("Creative Commons BY-SA", "rights").
|
|
'</a>';
|
|
break;
|
|
case "Creative Commons BY-NC":
|
|
$mark = '<a rel="license"'.
|
|
' href="http://creativecommons.org/licenses/by-nc/4.0"'.
|
|
' target="_blank" class="rights_licence_link">'.
|
|
__("Creative Commons BY-NC", "rights").
|
|
'</a>';
|
|
break;
|
|
case "Creative Commons BY-NC-ND":
|
|
$mark = '<a rel="license"'.
|
|
' href="http://creativecommons.org/licenses/by-nc-nd/4.0"'.
|
|
' target="_blank" class="rights_licence_link">'.
|
|
__("Creative Commons BY-NC-ND", "rights").
|
|
'</a>';
|
|
break;
|
|
case "Creative Commons BY-NC-SA":
|
|
$mark = '<a rel="license"'.
|
|
' href="http://creativecommons.org/licenses/by-nc-sa/4.0"'.
|
|
' target="_blank" class="rights_licence_link">'.
|
|
__("Creative Commons BY-NC-SA", "rights").
|
|
'</a>';
|
|
break;
|
|
case "Creative Commons CC0":
|
|
$mark = '<a rel="license"'.
|
|
' href="http://creativecommons.org/publicdomain/zero/1.0"'.
|
|
' target="_blank" class="rights_licence_link">'.
|
|
__("Creative Commons CC0", "rights").
|
|
'</a>';
|
|
break;
|
|
case "Public Domain":
|
|
$mark = '<a rel="license"'.
|
|
' href="http://wiki.creativecommons.org/Public_domain"'.
|
|
' target="_blank" class="rights_licence_link">'.
|
|
__("Public Domain", "rights").
|
|
'</a>';
|
|
break;
|
|
default:
|
|
$mark = __("All rights reserved", "rights");
|
|
}
|
|
|
|
return $mark;
|
|
}
|
|
}
|