Hi,
just droping here to tell i coded myself a plugin for interacting with forminator and enabling some user cap to only see the submissions. In case someone needs the plugin code is below:
BTW: You should replace “ufsm – admin” with the permission you want to be able to see the submissions, in case you want this custom cap to be able to create forms all you have to do is remove the remove_submenu_page parts or give the cap the manage_options permission
<?php
/**
* Plugin Name: UFSM - Forminator Configura??es Personalizadas
* Version: 1
* Description: Addon para extender as funcionalidades do Plugin Forminator da WPMUDEV
* Author: UFSM
* Author URI: https://www.ufsm.br
* Text Domain: ufsmforminator
*/
//Essa classe permite modificar o comportamento padr?o do plugin Forminator da empresa WPMUDEV para às necessidades da UFSM.
class Forminator_Admin_Custom {
// Inicia os filtros
public function __construct() {
add_action( 'admin_menu', array($this,'run_filters'),1);
}
public function run_filters()
{
//Tradu??o para os menus básicos
add_filter( 'gettext', array($this,'translate_forminator_menus'), 20, 3 );
//Remover as permiss?es para usuários sem permiss?o de manage_options
add_action( 'admin_menu', array($this,'forminator_menu_permissions'), 999 );
//Aqui hookamos na permiss?o que possibilita o usuário de criar
add_filter( 'forminator_admin_cap', array($this,'my_cap_forms') );
}
public function my_cap_forms()
{
//Aqui é a nova permiss?o mínima de acesso ao forminator, esse usuário poderá ver as submiss?es, porém apenas
//usuários com permiss?o de "manage_options" poder?o criar forms, polls e quizes.
return 'ufsm - admin';
}
public function forminator_menu_permissions() {
//Se o usuário n?o tiver a permiss?o de gerenciar op??es removemos o acesso aos menus.
if ( ! current_user_can( 'manage_options' ) ) {
remove_submenu_page( 'forminator','forminator' );
remove_submenu_page( 'forminator','forminator-cform' );
remove_submenu_page( 'forminator','forminator-quiz' );
remove_submenu_page( 'forminator','forminator-poll' );
remove_submenu_page( 'forminator','forminator-settings' );
remove_submenu_page( 'forminator','forminator-integrations' );
remove_submenu_page( 'forminator','forminator-cform-wizard' );
remove_submenu_page( 'forminator','forminator-poll-wizard' );
remove_submenu_page( 'forminator','forminator-nowrong-wizard' );
remove_submenu_page( 'forminator','forminator-knowledge-wizard' );
remove_submenu_page( 'forminator', 'forminator-settings' );
}
}
//Tradu??o dos menus básicos do forminator para pt-br enquanto n?o sai a tradu??o.
public function translate_forminator_menus( $translated_text, $text, $domain ) {
switch ( $translated_text ) {
case 'Forminator' :
$translated_text = __( 'Forms', 'forminator' );
break;
case 'Submissions' :
$translated_text = __( 'Envios', 'submissions' );
break;
}
return $translated_text;
}
}
//Instanciamos o objeto
$ufsm_forms = new Forminator_Admin_Custom();