{"label":"Action","syntax":"php"} toArray();{{:links}} $row['{{value.key}}'] = ${{entity}}->join('{{value.key}}')->toArray();{{/:links}} $response['rows'][] = $row; } {{~ Export de la recherche}} /* Mode export */ if($_['export'] == 'true'){ $stream = Excel::exportArray($response['rows'],null,'Export'); File::downloadStream($stream,'export-demandes-'.date('d-m-Y').'.xlsx'); exit(); } {{/~}} }); break; //Ajout ou modification d'élément {{entity}} case '{{plugin}}_{{entity_readable}}_save': Action::write(function(&$response){ global $myUser,$_; User::check_access('{{plugin}}','edit'); require_once(__DIR__.SLASH.'{{Entity}}.class.php'); $item = {{Entity}}::provide();{{:fields}} $item->{{value.key}} = $_['{{value.key}}'];{{/:fields}} $item->save(); }); break; {{~ Formulaire dans le tableau de liste }}//Récuperation ou edition d'élément {{entity}} case '{{plugin}}_{{entity_readable}}_edit': Action::write(function(&$response){ global $myUser,$_; User::check_access('{{plugin}}','edit'); require_once(__DIR__.SLASH.'{{Entity}}.class.php');{{:links}} require_once(__DIR__.SLASH.'{{value.entity}}.class.php');{{/:links}} $response = {{Entity}}::getById($_['id'],{{linksCount}}); }); break;{{/~}} //Suppression d'élement {{entity}} case '{{plugin}}_{{entity_readable}}_delete': Action::write(function(&$response){ global $myUser,$_; User::check_access('{{plugin}}','delete'); require_once(__DIR__.SLASH.'{{Entity}}.class.php'); {{~! Suppression logique}}{{Entity}}::deleteById($_['id']);{{/~}} {{~ Suppression logique}}$item = {{Entity}}::getById($_['id']); $item->state = {{Entity}}::INACTIVE; $item->save();{{/~}} }); break; {{~! Pas de page réglages }} //Sauvegarde des configurations de {{plugin}} case '{{plugin}}_setting_save': Action::write(function(&$response){ global $myUser,$_,$conf; User::check_access('{{plugin}}','configure'); foreach(Configuration::setting('{{plugin}}') as $key=>$value){ if(!is_array($value)) continue; $allowed[] = $key; } foreach ($_['fields'] as $key => $value) { if(in_array($key, $allowed)) $conf->put($key,$value); } }); break; {{/~}} {{~ Widget de dashboard }} case '{{plugin}}_widget_load': global $myUser; require_once(__DIR__.SLASH.'..'.SLASH.'dashboard'.SLASH.'DashboardWidget.class.php'); $widget = DashboardWidget::current(); $widget->title = 'Widget {{Plugin}}'; ob_start(); //Décommenter après avoir créé widget.php //require_once(__DIR__.SLASH.'widget.php'); //$widget->content = ob_get_clean(); $widget->content = 'Widget non développé'; echo json_encode($widget); break; {{/~}} } ?>