<?php
|
|
use JVBase\registrar\Registrar;
|
|
if (!defined('ABSPATH')) {
|
exit;
|
}
|
|
//add_action('login_init', 'jvbLoginFormText');
|
function jvbLoginFormText()
|
{
|
add_filter('gettext', 'jvbTranslations', 10, 2);
|
add_filter('ngettext', 'jvbTranslations', 10, 2);
|
}
|
|
function jvbTranslations($translation, $text)
|
{
|
if (!$GLOBALS['pagenow'] == 'wp-login.php') {
|
return $translation;
|
}
|
global $_GET;
|
if (array_key_exists('action', $_GET) && $_GET['action'] == 'register') {
|
$translation = str_ireplace('Register', 'Join the Scene', $translation);
|
$translation = str_ireplace('Log in', 'Already joined? Log in', $translation);
|
} else {
|
$translation = str_ireplace('Register', 'No account? Join In!', $translation);
|
$translation = str_ireplace('Log in', 'Get In', $translation);
|
}
|
|
return $translation;
|
}
|
|
add_filter('login_title', 'jvbLoginTitle');
|
function jvbLoginTitle($title):string
|
{
|
global $_GET;
|
// return (array_key_exists('action', $_GET) &&
|
// $_GET['action'] === 'register') ?
|
// 'Join the Scene | edmonton.ink' :
|
// 'Get Backstage | edmonton.ink';
|
return (array_key_exists('action', $_GET) &&
|
$_GET['action'] === 'register') ?
|
'Register | North\'eh Smoke & Smash' :
|
'Log in | North\'eh Smoke & Smash';
|
}
|
|
|
/**
|
* Checks if the logged in user is one of us
|
* @return bool
|
*/
|
function isOurPeople():bool
|
{
|
if (!is_user_logged_in()) {
|
return false;
|
}
|
$user = wp_get_current_user();
|
|
return count(
|
array_intersect(
|
array_values($user->roles),
|
array_map(function ($role) {
|
return BASE.$role;
|
},
|
Registrar::getFeatured('has_dashboard', 'user'))
|
)
|
)>0;
|
}
|
|
|
|
|
/**
|
* Feed Block Helpers
|
*/
|
function jvbGetUserContentTypes(int $postID):array
|
{
|
$types = get_post_meta($postID, BASE.'content_types', true);
|
if ($types === '') {
|
$types = [];
|
$link = (int) get_post_meta($postID, BASE.'profile_link', true);
|
if ($link === '' || !is_numeric($link)) {
|
return $types;
|
}
|
|
$user = get_userdata($link);
|
|
if (!$user) {
|
return $types;
|
}
|
|
$role = jvbUserRole((int) $link);
|
$registrar = Registrar::getInstance($role);
|
if ($registrar && !empty($registrar->getCreatable())){
|
foreach ($registrar->getCreatable() as $type) {
|
if (is_array($type)) {
|
$types = array_unique(array_merge($types, array_values($type)[0]));
|
} else {
|
$types[] = $type;
|
}
|
}
|
}
|
|
$temp = [];
|
foreach ($types as $t) {
|
$permission = JVB()->roles()->getPermission('edit',$t);
|
if (user_can($link, $permission)){
|
$temp[] = $t;
|
}
|
}
|
|
$types = Registrar::getFeatured('show_feed');
|
$types = array_filter($temp, function ($type) use ($types) {
|
return in_array($type, $types);
|
});
|
|
update_post_meta($postID, BASE.'content_types', $types);
|
}
|
|
return $types;
|
}
|