/** * Get list of all available permissions on the system */ public static function availablePermissions() { $permissions = array('Super admin', 'Content', 'Pages', 'Design', 'Plugins', 'Config', 'Config advanced', 'Languages', 'System', 'Administrators', 'Log', 'Email', 'Repository', 'Repository upload'); $plugins = \Ip\Internal\Plugins\Model::getActivePluginNames(); foreach ($plugins as $plugin) { if (is_file(ipFile('Plugin/' . $plugin . '/AdminController.php'))) { array_push($permissions, $plugin); } } $permissions = ipFilter('ipAvailablePermissions', $permissions); return $permissions; }
public function pluginPropertiesForm() { $pluginName = ipRequest()->getQuery('pluginName'); if (!$pluginName) { throw new \Ip\Exception('Missing required parameters'); } $variables = array('plugin' => Helper::getPluginData($pluginName)); if (in_array($pluginName, Model::getActivePluginNames())) { $variables['form'] = Helper::pluginPropertiesForm($pluginName); } $variables['icon'] = $this->pluginIcon($pluginName); $layout = ipView('view/pluginProperties.php', $variables)->render(); $layout = ipFilter('ipPluginPropertiesHtml', $layout, array('pluginName' => $pluginName)); $data = array('html' => $layout); return new \Ip\Response\Json($data); }