/** * @param $target */ public function renderTo($target) { $this->_target = $target; if ($this->_isValid()) { // enqueue scripts and styles IfwPsn_Wp_Proxy_Script::loadAdmin('wp-pointer', false, array('jquery')); IfwPsn_Wp_Proxy_Style::loadAdmin('wp-pointer'); IfwPsn_Wp_Proxy_Action::addAdminFooterCurrentScreen(array($this, 'renderScript')); IfwPsn_Wp_Proxy_Action::add('admin_footer-post-new.php', array($this, 'renderScript')); IfwPsn_Wp_Proxy_Action::add('admin_footer-edit.php', array($this, 'renderScript')); } }
/** * */ public function loadSkin() { if ($this->_pm->getEnv()->hasSkin()) { $files = array('style.css'); if ($this->_pm->isProduction()) { $files = array_merge(array('style.min.css'), $files); } foreach ($files as $styleCssFile) { if (file_exists($this->_pm->getPathinfo()->getRootSkin() . 'default/' . $styleCssFile)) { IfwPsn_Wp_Proxy_Style::loadAdmin('admin-style', $this->_pm->getEnv()->getSkinUrl() . $styleCssFile, array(), $this->_pm->getEnv()->getVersion()); if ($this->_pm->hasPremium() && $this->_pm->isPremium() == false) { IfwPsn_Wp_Proxy_Style::loadAdmin('premiumad-style', $this->_pm->getEnv()->getSkinUrl() . 'premiumad.css', array(), $this->_pm->getEnv()->getVersion()); } break; } } } }
public function init() { IfwPsn_Wp_Proxy_Script::loadAdminMinimized($this->_pm, 'opt-render-tabs', $this->_pm->getEnv()->getUrl() . 'lib/IfwPsn/Wp/Options/Renderer/sources/tabs/tabs.js', array('jquery')); IfwPsn_Wp_Proxy_Style::loadAdminMinimized($this->_pm, 'opt-render-tabs', $this->_pm->getEnv()->getUrl() . 'lib/IfwPsn/Wp/Options/Renderer/sources/tabs/tabs.css'); }
public function enqueueScripts() { IfwPsn_Wp_Proxy_Script::loadAdmin('jquery-ui-dialog'); IfwPsn_Wp_Proxy_Style::loadAdmin('wp-jquery-ui'); IfwPsn_Wp_Proxy_Style::loadAdmin('wp-jquery-ui-dialog'); }
/** * Initializes commonly used properties */ protected function _initFormView() { require_once $this->_pm->getPathinfo()->getRootLib() . 'Psn/Patch/Database.php'; require_once $this->_pm->getPathinfo()->getRootLib() . 'Psn/Admin/Form/NotificationRule.php'; require_once $this->_pm->getPathinfo()->getRootLib() . 'Psn/Notification/Placeholders.php'; require_once $this->_pm->getPathinfo()->getRootLib() . 'IfwPsn/Wp/Plugin/Menu/Help.php'; $dbPatcher = new Psn_Patch_Database(); $this->view->dbPatcher = $dbPatcher; if (!$this->_pm->isPremium()) { IfwPsn_Wp_Proxy_Filter::add('psn_rule_form_description_cc', create_function('$var', 'return $var . " " . __("Limited to 1. Get the Premium version for unlimited Cc emails.", "psn");')); IfwPsn_Wp_Proxy_Filter::add('psn_rule_form_description_bcc', create_function('$var', 'return $var . " " . __("(Premium feature)", "psn");')); } $formOptions = array(); if ($this->_pm->getOptionsManager()->getOption('psn_hide_nonpublic_posttypes') != null) { $formOptions['hide_nonpublic_posttypes'] = true; } $this->_form = new Psn_Admin_Form_NotificationRule($formOptions); if (!$this->_pm->isPremium()) { $this->_form->getElement('recipient')->setDescription(__('Get additional recipients like user roles (including custom roles) or all users with the Premium version.', 'psn')); } $this->_helper->viewRenderer('form'); $placeholders = new Psn_Notification_Placeholders(); $help = new IfwPsn_Wp_Plugin_Menu_Help($this->_pm); $help->setTitle(__('Placeholders', 'psn'))->setId('placeholders')->setHelp($placeholders->getOnScreenHelp())->setSidebar($this->_getHelpSidebar())->load(); $help = new IfwPsn_Wp_Plugin_Menu_Help($this->_pm); $help->setTitle(__('Conditions', 'psn'))->setId('conditions')->setHelp(IfwPsn_Wp_Tpl::getFilesytemInstance($this->_pm)->render('admin_help_conditions.html.twig', array('pm' => $this->_pm)))->setSidebar($this->_getHelpSidebar())->load(); $this->view->langListOfPlaceholdersLabel = __('Show list of placeholders available for subject and text', 'psn'); $this->view->langListOfPlaceholdersLink = __('List of placeholders', 'psn'); $this->view->langHelp = __('Help', 'ifw'); if (Psn_Model_Rule::hasMax() && Psn_Model_Rule::reachedMax() && $this->getRequest()->getActionName() == 'create') { $this->view->maxReached = __(sprintf('You reached the maximum number of rules (%s) for the free version. Get the <a href="%s" target="_blank">Premium Version</a> for unlimmited rules and more features.', Psn_Model_Rule::getMax(), $this->_pm->getConfig()->plugin->premiumUrl), 'psn'); } if ($this->_request->getActionName() == 'create') { $this->view->langHeadline = __('Create new rule', 'psn'); IfwPsn_Wp_Proxy_Script::loadAdmin('psn_rule_examples', $this->_pm->getEnv()->getUrlAdminJs() . 'rule_examples.js', array(), $this->_pm->getEnv()->getVersion()); IfwPsn_Wp_Proxy_Script::localize('psn_rule_examples', 'PsnExampleRule', array('ThePendingPost' => __('The pending post', 'psn'), 'ThePendingPostSubject' => __('[blog_name]: New post is waiting for review', 'psn'), 'ThePendingPostBody' => str_replace('<br>', "\n", __('Howdy admin,<br>there is a new post by [author_display_name] waiting for review:<br>"[post_title]".<br><br>Here is the permalink: [post_permalink]<br><br>Here is the backend edit link: [post_editlink]<br><br>The author\'s email address is [author_email]<br><br>[blog_wpurl]', 'psn')), 'TheHappyAuthor' => __('The happy author', 'psn'), 'TheHappyAuthorSubject' => __('Your post on [blog_name] got published!', 'psn'), 'TheHappyAuthorBody' => str_replace('<br>', "\n", __('Howdy [author_display_name],<br>we are happy to tell you that your post "[post_title]" got published.<br><br>Here is the permalink: [post_permalink]<br><br>Thanks for your good work,<br>your [blog_name]-Team<br><br>[blog_wpurl]', 'psn')), 'ThePedanticAdmin' => __('The pedantic admin', 'psn'), 'ThePedanticAdminSubject' => __('[blog_name]: Post status transition from [post_status_before] to [post_status_after]', 'psn'), 'ThePedanticAdminBody' => str_replace('<br>', "\n", __('Howdy admin,<br>a post status transition was a detected on "[post_title]".<br><br>Status before: [post_status_before]<br>Status after: [post_status_after]<br><br>Post permalink: [post_permalink]', 'psn')))); IfwPsn_Wp_Proxy_Style::loadAdmin('psn_rule_examples', $this->_pm->getEnv()->getUrlAdminCss() . 'rule_examples.css'); $this->view->langExamples = __('Examples', 'psn'); $this->view->langExamplesDesc = __('Click the buttons below to get an idea of how you can set up notification rules.', 'psn'); $this->view->langExamplesRuleThePendingPost = __('The pending post', 'psn'); $this->view->langExamplesRuleThePendingPostDesc = __('This rule sends a notification when a new post got submitted for review.', 'psn'); $this->view->langExamplesRuleTheHappyAuthor = __('The happy author', 'psn'); $this->view->langExamplesRuleTheHappyAuthorDesc = __('This rule sends an email to the author of a post when it got published.', 'psn'); $this->view->langExamplesRuleThePedanticAdmin = __('The pedantic admin', 'psn'); $this->view->langExamplesRuleThePedanticAdminDesc = __('This rule is for blog admins who want to be informed about every single post status change.', 'psn'); $this->view->langExamplesRuleDebug = __('Debug rule', 'psn'); $this->view->langExamplesRuleDebugDesc = __('This rule is just for creating log entries to monitor all available values when the rule matched. Remember to activate option Logger / Log rule matches.', 'psn') . ' ' . sprintf('<a href="%s" target="_blank">' . __('More details', 'psn') . '</a>', $this->_pm->getConfig()->plugin->docUrl . 'rules.html#debug-rule'); } else { $this->view->langHeadline = __('Edit notification rule', 'psn'); $this->_form->getElement('submit')->setLabel(__('Update', 'psn')); $this->_form->getElement('submit_and_stay')->setLabel(__('Update and stay on page', 'psn')); } $this->view->actionName = $this->_request->getActionName(); IfwPsn_Wp_Proxy_Script::loadAdmin('psn_rule_form', $this->_pm->getEnv()->getUrlAdminJs() . 'rule_form.js', array(), $this->_pm->getEnv()->getVersion()); IfwPsn_Wp_Proxy_Script::localize('psn_rule_form', 'psn', array('is_premium' => $this->_pm->isPremium())); IfwPsn_Wp_Proxy_Script::localize('psn_rule_form', 'psn_taxonomies', array_merge(IfwPsn_Wp_Proxy_Post::getAllTypesCategories(), array('lang_Categories' => __('Categories', 'psn'), 'lang_categories_help' => sprintf(__('To select multiple categories hold down the control button (ctrl) on Windows or command button (cmd) on Mac.<br>If nothing is selected, all categories get included.<br>Exclude is dominant. See the <a href="%s" target="_blank">docs</a> for more details.', 'psn'), 'http://docs.ifeelweb.de/post-status-notifier/rules.html#category-filter'), 'lang_include_categories' => __('Include only these categories', 'psn'), 'lang_exclude_categories' => __('Exclude categories', 'psn'), 'lang_select_all' => __('select all', 'psn'), 'lang_remove_all' => __('remove all', 'psn'), 'lang_no_categories' => __('Post type "%s" has no categories.', 'psn'), 'lang_premium_feature' => sprintf(__('This is a <a href="%s" target="_blank">Premium</a> feature.', 'psn'), $this->_pm->getConfig()->plugin->premiumUrl)))); IfwPsn_Wp_Proxy_Action::doAction('psn_rule_form', $this->_form); }
/** * */ protected function _loadAdminCss() { $adminCssPath = $this->_pathinfo->getRootCss() . 'admin.css'; if (file_exists($adminCssPath)) { $handle = $this->getId() . '-' . 'admin-css'; IfwPsn_Wp_Proxy_Style::loadAdmin($handle, $this->_env->getUrlCss() . 'admin.css', array(), $this->getVersion()); } }
/** * Registers a style for admin only * * @param $handle * @param bool $src * @param array $deps * @param bool $ver * @param string $media * @return void */ public static function loadAdmin($handle, $src = false, $deps = array(), $ver = false, $media = 'all') { if (!isset(self::$_stylesAdmin[$handle])) { self::$_stylesAdmin[$handle] = array('src' => $src, 'deps' => $deps, 'ver' => $ver, 'media' => $media); } if (self::$_enqueueAdminSet == false) { IfwPsn_Wp_Proxy_Action::addAdminEnqueueScripts(array('IfwPsn_Wp_Proxy_Style', '_enqueueAdminStyles')); self::$_enqueueAdminSet = true; } }
public static function loadSkin(IfwPsn_Wp_Plugin_Manager $pm) { if ($pm->getEnv()->hasSkin()) { IfwPsn_Wp_Proxy_Style::loadAdmin('admin-style', $pm->getEnv()->getSkinUrl() . 'style.css'); } }
/** * Loads a ui theme if it exists * * @param string $theme_name * @param string $handle * @return false */ public static function loadUiTheme($theme_name, IfwPsn_Wp_Plugin_Manager $pm, $handle = 'jquery-ui-custom') { if (self::isValidUiTheme($theme_name, $pm)) { IfwPsn_Wp_Proxy_Style::load($handle, self::getUiThemeUrl($theme_name, $pm)); return true; } return false; }