/** * Constructor. * @see HandlerValidator::HandlerValidator() */ function HandlerValidatorPress(&$handler, $redirectToLogin = false, $message = null, $additionalArgs = array()) { $application =& PKPApplication::getApplication(); $request =& $application->getRequest(); $policy = new ContextRequiredPolicy($request, $message); parent::HandlerValidatorPolicy($policy, $handler, $redirectToLogin, $message, $additionalArgs); }
/** * Constructor. * @param $handler Handler the associated form * @param $roles array of role id's * @param $all bool flag for whether all roles must exist or just 1 */ function HandlerValidatorRoles(&$handler, $redirectLogin = true, $message = null, $additionalArgs = array(), $roles, $all = false) { $application =& PKPApplication::getApplication(); $request =& $application->getRequest(); $policy = new RoleBasedHandlerOperationPolicy($request, $roles, array(), $message, $all, true); parent::HandlerValidatorPolicy($policy, $handler, $redirectLogin, $message, $additionalArgs); }
/** * @copydoc SiteSetupForm::fetch() */ function fetch($request, $params = null) { $application = PKPApplication::getApplication(); $templateMgr = TemplateManager::getManager(); $templateMgr->assign('availableMetricTypes', $application->getMetricTypes(true)); return parent::fetch($request, $params = null); }
function isTinyMCEInstalled() { // If the thesis plugin isn't enabled, don't do anything. $application =& PKPApplication::getApplication(); $products =& $application->getEnabledProducts('plugins.generic'); return isset($products['tinymce']); }
/** * Constructor * @param $plugin MedraExportPlugin * @param $contextId integer */ function MedraSettingsForm($plugin, $contextId) { $this->_contextId = $contextId; $this->_plugin = $plugin; parent::Form($plugin->getTemplatePath() . 'settingsForm.tpl'); // DOI plugin settings action link $pubIdPlugins = PluginRegistry::loadCategory('pubIds', true); if (isset($pubIdPlugins['doipubidplugin'])) { $application = PKPApplication::getApplication(); $request = $application->getRequest(); $dispatcher = $application->getDispatcher(); import('lib.pkp.classes.linkAction.request.AjaxModal'); $doiPluginSettingsLinkAction = new LinkAction('settings', new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'grid.settings.plugins.SettingsPluginGridHandler', 'manage', null, array('plugin' => 'doipubidplugin', 'category' => 'pubIds')), __('plugins.importexport.common.settings.DOIPluginSettings')), __('plugins.importexport.common.settings.DOIPluginSettings'), null); $this->setData('doiPluginSettingsLinkAction', $doiPluginSettingsLinkAction); } // Add form validation checks. $this->addCheck(new FormValidator($this, 'registrantName', FORM_VALIDATOR_REQUIRED_VALUE, 'plugins.importexport.medra.settings.form.registrantNameRequired')); $this->addCheck(new FormValidator($this, 'fromCompany', FORM_VALIDATOR_REQUIRED_VALUE, 'plugins.importexport.medra.settings.form.fromCompanyRequired')); $this->addCheck(new FormValidator($this, 'fromName', FORM_VALIDATOR_REQUIRED_VALUE, 'plugins.importexport.medra.settings.form.fromNameRequired')); $this->addCheck(new FormValidatorEmail($this, 'fromEmail', FORM_VALIDATOR_REQUIRED_VALUE, 'plugins.importexport.medra.settings.form.fromEmailRequired')); $this->addCheck(new FormValidatorInSet($this, 'exportIssuesAs', FORM_VALIDATOR_REQUIRED_VALUE, 'plugins.importexport.medra.settings.form.exportIssuesAs', array(O4DOI_ISSUE_AS_WORK, O4DOI_ISSUE_AS_MANIFESTATION))); $this->addCheck(new FormValidatorInSet($this, 'publicationCountry', FORM_VALIDATOR_REQUIRED_VALUE, 'plugins.importexport.medra.settings.form.publicationCountry', array_keys($this->_getCountries()))); // The username is used in HTTP basic authentication and according to RFC2617 it therefore may not contain a colon. $this->addCheck(new FormValidatorRegExp($this, 'username', FORM_VALIDATOR_OPTIONAL_VALUE, 'plugins.importexport.medra.settings.form.usernameRequired', '/^[^:]+$/')); $this->addCheck(new FormValidatorPost($this)); }
/** * Assign parameters to template * @param $paramArray array */ function assignParams($paramArray = array()) { $submission = $this->submission; $application = PKPApplication::getApplication(); $request = $application->getRequest(); parent::assignParams(array_merge(array('submissionTitle' => strip_tags($submission->getLocalizedTitle()), 'submissionId' => $submission->getId(), 'submissionAbstract' => PKPString::html2text($submission->getLocalizedAbstract()), 'authorString' => strip_tags($submission->getAuthorString())), $paramArray)); }
/** * @see templates/article/footer.tpl */ function callbackTemplateArticlePageFooter($hookName, $params) { $smarty =& $params[1]; $output =& $params[2]; // Identify similarity terms for the given article. $displayedArticle = $smarty->get_template_vars('article'); $articleId = $displayedArticle->getId(); import('classes.search.ArticleSearch'); $articleSearch = new ArticleSearch(); $searchTerms = $articleSearch->getSimilarityTerms($articleId); if (empty($searchTerms)) { return false; } // If we got similarity terms then execute a search with... // ... request, journal and error messages, ... $request = PKPApplication::getRequest(); $router = $request->getRouter(); $journal = $router->getContext($request); $error = null; // ... search keywords ... $query = implode(' ', $searchTerms); $keywords = array(null => $query); // ... and pagination. $rangeInfo = Handler::getRangeInfo($request, 'articlesBySimilarity'); $rangeInfo->setCount(RECOMMEND_BY_SIMILARITY_PLUGIN_COUNT); $results = $articleSearch->retrieveResults($request, $journal, $keywords, $error, null, null, $rangeInfo, array($articleId)); $smarty->assign('articlesBySimilarity', $results); $smarty->assign('articlesBySimilarityQuery', $query); $output .= $smarty->fetch($this->getTemplatePath() . 'articleFooter.tpl'); return false; }
/** * @see Filter::process() */ function &process(&$input) { // Initialize view $locale = AppLocale::getLocale(); $application = PKPApplication::getApplication(); $request = $application->getRequest(); $templateMgr = TemplateManager::getManager($request); // Add the filter's directory as additional template dir so that // templates can include sub-templates in the same folder. array_unshift($templateMgr->template_dir, $this->getBasePath()); // Give sub-filters a chance to add their variables // to the template. $this->addTemplateVars($templateMgr, $input, $request, $locale); // Use a base path hash as compile id to make sure that we don't // get namespace problems if several filters use the same // template names. $previousCompileId = $templateMgr->compile_id; $templateMgr->compile_id = md5($this->getBasePath()); // Let the template engine render the citation. $output = $templateMgr->fetch($this->getTemplateName()); // Remove the additional template dir array_shift($templateMgr->template_dir); // Restore the compile id. $templateMgr->compile_id = $previousCompileId; return $output; }
/** * Check if there is a payment plugin and if is configured * @return bool */ function isConfigured() { $paymentPlugin =& $this->getPaymentPlugin(); if ($paymentPlugin !== null) { return $paymentPlugin->isConfigured(PKPApplication::getRequest()); } return false; }
/** * @covers HandlerValidatorRoles */ public function testHandlerValidatorRoles() { $contextDepth = PKPApplication::getApplication()->getContextDepth(); // tests: userId, role type, user has role in context?, match all roles?, expected result of isValid() $tests = array(array(7, array(HANDLER_VALIDATOR_ROLES_FULL_CONTEXT_ROLE), true, false, true), array(7, array(HANDLER_VALIDATOR_ROLES_MANAGER_ROLE), true, true, true), array(7, array(HANDLER_VALIDATOR_ROLES_SITE_ADMIN_ROLE), true, false, true), array(null, array(HANDLER_VALIDATOR_ROLES_FULL_CONTEXT_ROLE), true, false, false), array(7, array(HANDLER_VALIDATOR_ROLES_FULL_CONTEXT_ROLE), false, false, false), array(7, array(HANDLER_VALIDATOR_ROLES_FULL_CONTEXT_ROLE, HANDLER_VALIDATOR_ROLES_MANAGER_ROLE), array(true, false), false, true), array(7, array(HANDLER_VALIDATOR_ROLES_FULL_CONTEXT_ROLE, HANDLER_VALIDATOR_ROLES_MANAGER_ROLE), array(true, true), false, true), array(7, array(HANDLER_VALIDATOR_ROLES_FULL_CONTEXT_ROLE, HANDLER_VALIDATOR_ROLES_MANAGER_ROLE), array(true, false), true, false), array(7, array(HANDLER_VALIDATOR_ROLES_FULL_CONTEXT_ROLE, HANDLER_VALIDATOR_ROLES_MANAGER_ROLE), array(true, true), true, true)); foreach ($tests as $testNumber => $test) { $this->executeHandlerValidatorRolesTest($test, $testNumber); } }
function register($category, $path) { $success = parent::register($category, $path); $this->addLocaleData(); $request =& PKPApplication::getRequest(); $templateMgr =& TemplateManager::getManager($request); $templateMgr->register_modifier('bibtex_escape', array(&$this, 'bibtexEscape')); return $success; }
/** * @copydoc PKPTestCase::setUp() */ protected function setUp() { $application = PKPApplication::getApplication(); $_SERVER['REQUEST_METHOD'] = 'GET'; $request = $application->getRequest(); if (is_null($request->getRouter())) { $router = new PKPRouter(); $request->setRouter($router); } }
/** * @see WebTestCase::setUp() */ protected function setUp() { parent::setUp(); $application = PKPApplication::getApplication(); $request = $application->getRequest(); if (is_null($request->getRouter())) { $router = new PKPRouter(); $request->setRouter($router); } }
/** * @see OAI#OAI */ function PressOAI($config) { parent::OAI($config); $application = PKPApplication::getApplication(); $request = $application->getRequest(); $this->site = $request->getSite(); $this->press = $request->getPress(); $this->pressId = isset($this->press) ? $this->press->getId() : null; $this->dao = DAORegistry::getDAO('OAIDAO'); $this->dao->setOAI($this); }
function assignParams($paramArray = array()) { $submission = $this->submission; $application = PKPApplication::getApplication(); $request = $application->getRequest(); $paramArray['submissionTitle'] = strip_tags($submission->getLocalizedTitle()); $paramArray['submissionId'] = $submission->getId(); $paramArray['submissionAbstract'] = String::html2text($submission->getLocalizedAbstract()); $paramArray['authorString'] = strip_tags($submission->getAuthorString()); parent::assignParams($paramArray); }
/** * @see Form::readInputData() */ function readInputData() { $this->readUserVars(array('dvnUri', 'username', 'password')); $request =& PKPApplication::getRequest(); $password = $request->getUserVar('password'); if ($password === DATAVERSE_PLUGIN_PASSWORD_SLUG) { $plugin =& $this->_plugin; $password = $plugin->getSetting($this->_journalId, 'password'); } $this->setData('password', $password); }
/** * @see Form::readInputData() */ function readInputData() { $this->readUserVars($this->_getFormFields()); $request = PKPApplication::getRequest(); $password = $request->getUserVar('password'); if ($password === LUCENE_PLUGIN_PASSWORD_PLACEHOLDER) { $plugin =& $this->_plugin; $password = $plugin->getSetting(0, 'password'); } $this->setData('password', $password); }
/** * Get an instance of the Help object. */ function &getHelp() { $instance =& Registry::get('help'); if ($instance == null) { unset($instance); $application =& PKPApplication::getApplication(); $instance =& $application->instantiateHelp(); Registry::set('help', $instance); } return $instance; }
/** * Static method to return a new version from a version string of the form "W.X.Y.Z". * @param $versionString string * @param $productType string * @param $product string * @param $productClass string * @param $lazyLoad integer * @param $sitewide integer * @return Version */ function &fromString($versionString, $productType = null, $product = null, $productClass = '', $lazyLoad = 0, $sitewide = 1) { $versionArray = explode('.', $versionString); if (!$product && !$productType) { $application = PKPApplication::getApplication(); $product = $application->getName(); $productType = 'core'; } $version = new Version(isset($versionArray[0]) ? (int) $versionArray[0] : 0, isset($versionArray[1]) ? (int) $versionArray[1] : 0, isset($versionArray[2]) ? (int) $versionArray[2] : 0, isset($versionArray[3]) ? (int) $versionArray[3] : 0, Core::getCurrentDate(), 1, $productType, $product, $productClass, $lazyLoad, $sitewide); return $version; }
/** * Return information about the latest available version. * @return array */ function getLatestVersion() { $application = PKPApplication::getApplication(); $includeId = Config::getVar('general', 'installed') && !defined('RUNNING_UPGRADE') && Config::getVar('general', 'enable_beacon', true); if ($includeId) { $pluginSettingsDao =& DAORegistry::getDAO('PluginSettingsDAO'); $uniqueSiteId = $pluginSettingsDao->getSetting(CONTEXT_SITE, 'UsageEventPlugin', 'uniqueSiteId'); } else { $uniqueSiteId = null; } $request = $application->getRequest(); return VersionCheck::parseVersionXML($application->getVersionDescriptorUrl() . ($includeId ? '?id=' . urlencode($uniqueSiteId) . '&oai=' . urlencode($request->url('index', 'oai')) : '')); }
protected function setUp() { $application =& PKPApplication::getApplication(); $_SERVER['REQUEST_METHOD'] = 'GET'; $request =& $application->getRequest(); if (is_null($request->getRouter())) { $router = new PKPRouter(); $request->setRouter($router); } // Instantiate the citation DAO and make sure we have no left-overs // from previous unsuccessful tests. $this->citationDao = DAORegistry::getDAO('CitationDAO'); $this->citationDao->deleteObjectsByAssocId($this->assocType, $this->assocId); }
/** * Retrieve the complete version history, ordered by date (most recent first). * @param $product string * @return array Versions */ function &getVersionHistory($product = null) { $versions = array(); if (!$product) { $application = PKPApplication::getApplication(); $product = $application->getName(); } $result =& $this->retrieve('SELECT * FROM versions WHERE product = ? ORDER BY date_installed DESC', array($product)); while (!$result->EOF) { $versions[] = $this->_returnVersionFromRow($result->GetRowAssoc(false)); $result->MoveNext(); } $result->Close(); unset($result); return $versions; }
/** * @see Form::readInputData() */ function readInputData() { $this->readUserVars(array('dvnUri', 'username', 'password')); $request =& PKPApplication::getRequest(); $password = $request->getUserVar('password'); if ($password === DATAVERSE_PLUGIN_PASSWORD_SLUG) { $plugin =& $this->_plugin; $password = $plugin->getSetting($this->_journalId, 'password'); } if (!$password) { // Password not required when API token provided, but SWORDAPPClient // requires a non-null password. $password = DATAVERSE_PLUGIN_PASSWORD_SLUG; } $this->setData('password', $password); $this->setData('dvnUri', preg_replace("/\\/+\$/", '', $this->getData('dvnUri'))); }
/** * Constructor * @param $plugin DOIPubIdPlugin * @param $pressId integer */ function DOISettingsForm(&$plugin, $pressId) { $this->_pressId = $pressId; $this->_plugin =& $plugin; parent::Form($plugin->getTemplatePath() . 'settingsForm.tpl'); $this->addCheck(new FormValidatorRegExp($this, 'doiPrefix', 'required', 'plugins.pubIds.doi.manager.settings.doiPrefixPattern', '/^10\\.[0-9][0-9][0-9][0-9][0-9]?$/')); $this->addCheck(new FormValidatorCustom($this, 'doiPublicationFormatSuffixPattern', 'required', 'plugins.pubIds.doi.manager.settings.doiPublicationFormatSuffixPatternRequired', create_function('$doiPublicationFormatSuffixPattern,$form', 'if ($form->getData(\'doiSuffix\') == \'pattern\') return $doiPublicationFormatSuffixPattern != \'\';return true;'), array(&$this))); $this->addCheck(new FormValidator($this, 'doiSuffix', 'required', 'plugins.pubIds.doi.manager.settings.doiSuffixRequired')); $this->addCheck(new FormValidatorPost($this)); // for DOI reset requests import('lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal'); $application = PKPApplication::getApplication(); $request = $application->getRequest(); $clearPubIdsLinkAction = new LinkAction('reassignDOIs', new RemoteActionConfirmationModal(__('plugins.pubIds.doi.manager.settings.doiReassign.confirm'), __('common.delete'), $request->url(null, null, 'plugin', null, array('verb' => 'settings', 'clearPubIds' => true, 'plugin' => $plugin->getName(), 'category' => 'pubIds')), 'modal_delete'), __('plugins.pubIds.doi.manager.settings.doiReassign'), 'delete'); $this->setData('clearPubIdsLinkAction', $clearPubIdsLinkAction); $this->setData('pluginName', $plugin->getName()); }
/** * Retrieve Notes by assoc id/type * @param $assocId int * @param $assocType int * @param $userId int * @return object DAOResultFactory containing matching Note objects */ function &getByAssoc($assocType, $assocId, $userId = null) { $application =& PKPApplication::getApplication(); $productName = $application->getName(); $params = array((int) $assocId, (int) $assocType); if (isset($userId)) { $params[] = (int) $userId; } $sql = 'SELECT * FROM notes WHERE assoc_id = ? AND assoc_type = ?'; if (isset($userId)) { $sql .= ' AND user_id = ?'; } $sql .= ' ORDER BY date_created DESC'; $result =& $this->retrieveRange($sql, $params); $returner = new DAOResultFactory($result, $this, '_returnNoteFromRow'); return $returner; }
/** * @see LazyLoadPlugin::register() */ function register($category, $path) { $success = parent::register($category, $path); if ($this->getEnabled() && $success) { // Register callbacks. $app = PKPApplication::getApplication(); $version = $app->getCurrentVersion(); HookRegistry::register('AcronPlugin::parseCronTab', array($this, 'callbackParseCronTab')); HookRegistry::register('PluginRegistry::loadCategory', array($this, 'callbackLoadCategory')); // If the plugin will provide the access logs, // register to the usage event hook provider. if ($this->getSetting(CONTEXT_ID_NONE, 'createLogFiles')) { HookRegistry::register('UsageEventPlugin::getUsageEvent', array(&$this, 'logUsageEvent')); } } return $success; }
/** * Associate a category with a submission. * @copydoc ListbuilderHandler::insertEntry */ function insertEntry($request, $newRowId) { $application = PKPApplication::getApplication(); $request = $application->getRequest(); $categoryId = $newRowId['name']; $categoryDao = DAORegistry::getDAO('CategoryDAO'); $submissionDao = DAORegistry::getDAO('MonographDAO'); $context = $request->getContext(); $submission = $this->submission; $category = $categoryDao->getById($categoryId, $context->getId()); if (!$category) { return true; } // Associate the category with the submission $submissionDao->addCategory($submission->getId(), $categoryId); return true; }
/** * Retrieve a reference to the specified DAO. * @param $name string the class name of the requested DAO * @param $dbconn ADONewConnection optional * @return DAO */ function &getDAO($name, $dbconn = null) { $daos =& DAORegistry::getDAOs(); if (!isset($daos[$name])) { // Import the required DAO class. $application =& PKPApplication::getApplication(); $className = $application->getQualifiedDAOName($name); if (!$className) { fatalError('Unrecognized DAO ' . $name . '!'); } // Only instantiate each class of DAO a single time $daos[$name] =& instantiate($className, array('DAO', 'XMLDAO')); if ($dbconn != null) { $daos[$name]->setDataSource($dbconn); } } return $daos[$name]; }
/** * Static method to return a new version from a version string of the form "W.X.Y.Z". * @param $versionString string * @param $product string * @param $productType string * @return Version */ function &fromString($versionString, $product = null, $productType = null) { $version = new Version(); if (!$product && !$productType) { $application = PKPApplication::getApplication(); $product = $application->getName(); $productType = 'core'; } $versionArray = explode('.', $versionString); $version->setMajor(isset($versionArray[0]) ? (int) $versionArray[0] : 0); $version->setMinor(isset($versionArray[1]) ? (int) $versionArray[1] : 0); $version->setRevision(isset($versionArray[2]) ? (int) $versionArray[2] : 0); $version->setBuild(isset($versionArray[3]) ? (int) $versionArray[3] : 0); $version->setDateInstalled(null); $version->setProduct($product); $version->setProductType($productType); return $version; }
/** * @see LazyLoadPlugin::register() */ function register($category, $path) { $success = parent::register($category, $path); if ($this->getEnabled() && $success) { // Register callbacks. $app =& PKPApplication::getApplication(); $version = $app->getCurrentVersion(); HookRegistry::register('PluginRegistry::loadCategory', array($this, 'callbackLoadCategory')); if ($version->getMajor() < 3) { HookRegistry::register('LoadHandler', array(&$this, 'callbackLoadHandler')); } // If the plugin will provide the access logs, // register to the usage event hook provider. if ($this->getSetting(0, 'createLogFiles')) { HookRegistry::register('UsageEventPlugin::getUsageEvent', array(&$this, 'logUsageEvent')); } } return $success; }