[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 /** 18 * The library file for the memcache cache store. 19 * 20 * This file is part of the memcache cache store, it contains the API for interacting with an instance of the store. 21 * 22 * @package cachestore_memcache 23 * @copyright 2012 Sam Hemelryk 24 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 25 */ 26 27 defined('MOODLE_INTERNAL') || die(); 28 29 require_once($CFG->dirroot.'/cache/forms.php'); 30 31 /** 32 * Form for adding a memcache instance. 33 * 34 * @copyright 2012 Sam Hemelryk 35 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 36 */ 37 class cachestore_memcache_addinstance_form extends cachestore_addinstance_form { 38 39 /** 40 * Add the desired form elements. 41 */ 42 protected function configuration_definition() { 43 $form = $this->_form; 44 $form->addElement('textarea', 'servers', get_string('servers', 'cachestore_memcache'), array('cols' => 75, 'rows' => 5)); 45 $form->addHelpButton('servers', 'servers', 'cachestore_memcache'); 46 $form->addRule('servers', get_string('required'), 'required'); 47 $form->setType('servers', PARAM_RAW); 48 49 $form->addElement('text', 'prefix', get_string('prefix', 'cachestore_memcache'), 50 array('maxlength' => 5, 'size' => 5)); 51 $form->addHelpButton('prefix', 'prefix', 'cachestore_memcache'); 52 $form->setType('prefix', PARAM_TEXT); // We set to text but we have a rule to limit to alphanumext. 53 $form->setDefault('prefix', 'mdl_'); 54 $form->addRule('prefix', get_string('prefixinvalid', 'cachestore_memcache'), 'regex', '#^[a-zA-Z0-9\-_]+$#'); 55 56 $form->addElement('header', 'clusteredheader', get_string('clustered', 'cachestore_memcache')); 57 58 $form->addElement('checkbox', 'clustered', get_string('clustered', 'cachestore_memcache')); 59 $form->setDefault('checkbox', false); 60 $form->addHelpButton('clustered', 'clustered', 'cachestore_memcache'); 61 62 $form->addElement('textarea', 'setservers', get_string('setservers', 'cachestore_memcache'), 63 array('cols' => 75, 'rows' => 5)); 64 $form->addHelpButton('setservers', 'setservers', 'cachestore_memcache'); 65 $form->disabledIf('setservers', 'clustered'); 66 $form->setType('setservers', PARAM_RAW); 67 } 68 69 /** 70 * Perform minimal validation on the settings form. 71 * 72 * @param array $data 73 * @param array $files 74 */ 75 public function validation($data, $files) { 76 $errors = parent::validation($data, $files); 77 78 if (isset($data['clustered']) && ($data['clustered'] == 1)) { 79 // Set servers is required with in cluster mode. 80 if (!isset($data['setservers'])) { 81 $errors['setservers'] = get_string('required'); 82 } else { 83 $trimmed = trim($data['setservers']); 84 if (empty($trimmed)) { 85 $errors['setservers'] = get_string('required'); 86 } 87 } 88 89 $validservers = false; 90 if (isset($data['servers'])) { 91 $servers = trim($data['servers']); 92 $servers = explode("\n", $servers); 93 if (count($servers) === 1) { 94 $validservers = true; 95 } 96 } 97 98 if (!$validservers) { 99 $errors['servers'] = get_string('serversclusterinvalid', 'cachestore_memcache'); 100 } 101 } 102 103 return $errors; 104 } 105 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Aug 11 10:00:09 2016 | Cross-referenced by PHPXref 0.7.1 |