コード例 #1
0
 function init()
 {
     HTML_QuickForm2_Factory::registerRule('checkValidFilename', 'Piwik_Installation_FormDatabaseSetup_Rule_checkValidFilename');
     $checkUserPrivilegesClass = 'Piwik_Installation_FormDatabaseSetup_Rule_checkUserPrivileges';
     HTML_QuickForm2_Factory::registerRule('checkUserPrivileges', $checkUserPrivilegesClass);
     $availableAdapters = Piwik_Db_Adapter::getAdapters();
     $adapters = array();
     foreach ($availableAdapters as $adapter => $port) {
         $adapters[$adapter] = $adapter;
     }
     $this->addElement('text', 'host')->setLabel(Piwik_Translate('Installation_DatabaseSetupServer'))->addRule('required', Piwik_Translate('General_Required', Piwik_Translate('Installation_DatabaseSetupServer')));
     $user = $this->addElement('text', 'username')->setLabel(Piwik_Translate('Installation_DatabaseSetupLogin'));
     $user->addRule('required', Piwik_Translate('General_Required', Piwik_Translate('Installation_DatabaseSetupLogin')));
     $requiredPrivileges = Piwik_Installation_FormDatabaseSetup_Rule_checkUserPrivileges::getRequiredPrivilegesPretty();
     $user->addRule('checkUserPrivileges', Piwik_Translate('Installation_InsufficientPrivileges', $requiredPrivileges . '<br/><br/>') . Piwik_Translate('Installation_InsufficientPrivilegesHelp'));
     $this->addElement('password', 'password')->setLabel(Piwik_Translate('Installation_DatabaseSetupPassword'));
     $item = $this->addElement('text', 'dbname')->setLabel(Piwik_Translate('Installation_DatabaseSetupDatabaseName'));
     $item->addRule('required', Piwik_Translate('General_Required', Piwik_Translate('Installation_DatabaseSetupDatabaseName')));
     $item->addRule('checkValidFilename', Piwik_Translate('General_NotValid', Piwik_Translate('Installation_DatabaseSetupDatabaseName')));
     $this->addElement('text', 'tables_prefix')->setLabel(Piwik_Translate('Installation_DatabaseSetupTablePrefix'))->addRule('checkValidFilename', Piwik_Translate('General_NotValid', Piwik_Translate('Installation_DatabaseSetupTablePrefix')));
     $this->addElement('select', 'adapter')->setLabel(Piwik_Translate('Installation_DatabaseSetupAdapter'))->loadOptions($adapters)->addRule('required', Piwik_Translate('General_Required', Piwik_Translate('Installation_DatabaseSetupAdapter')));
     $this->addElement('submit', 'submit', array('value' => Piwik_Translate('General_Next') . ' »', 'class' => 'submit'));
     // default values
     $this->addDataSource(new HTML_QuickForm2_DataSource_Array(array('host' => '127.0.0.1', 'tables_prefix' => 'piwik_')));
 }
コード例 #2
0
 public function testConfigOverridesOptions()
 {
     $mockEl = $this->getMock('HTML_QuickForm2_Element', array('getType', 'getRawValue', 'setValue', '__toString'));
     $mockEl->expects($this->once())->method('getRawValue')->will($this->returnValue('foo'));
     HTML_QuickForm2_Factory::registerRule('regex-override', 'HTML_QuickForm2_Rule_Regex', null, '/^[a-zA-Z]+$/');
     $override = HTML_QuickForm2_Factory::createRule('regex-override', $mockEl, 'an error', '/^[0-9]+$/');
     $this->assertTrue($override->validate());
 }
コード例 #3
0
 function init()
 {
     HTML_QuickForm2_Factory::registerRule('checkTimezone', 'Piwik_Installation_FormFirstWebsiteSetup_Rule_isValidTimezone');
     $urlExample = 'http://example.org';
     $javascriptOnClickUrlExample = "javascript:if(this.value=='{$urlExample}'){this.value='http://';} this.style.color='black';";
     $timezones = Piwik_SitesManager_API::getInstance()->getTimezonesList();
     $timezones = array_merge(array('No timezone' => Piwik_Translate('SitesManager_SelectACity')), $timezones);
     $this->addElement('text', 'siteName')->setLabel(Piwik_Translate('Installation_SetupWebSiteName'))->addRule('required', Piwik_Translate('General_Required', Piwik_Translate('Installation_SetupWebSiteName')));
     $url = $this->addElement('text', 'url')->setLabel(Piwik_Translate('Installation_SetupWebSiteURL'));
     $url->setAttribute('style', 'color:rgb(153, 153, 153);');
     $url->setAttribute('onfocus', $javascriptOnClickUrlExample);
     $url->setAttribute('onclick', $javascriptOnClickUrlExample);
     $url->addRule('required', Piwik_Translate('General_Required', Piwik_Translate('Installation_SetupWebSiteURL')));
     $tz = $this->addElement('select', 'timezone')->setLabel(Piwik_Translate('Installation_Timezone'))->loadOptions($timezones);
     $tz->addRule('required', Piwik_Translate('General_Required', Piwik_Translate('Installation_Timezone')));
     $tz->addRule('checkTimezone', Piwik_Translate('General_NotValid', Piwik_Translate('Installation_Timezone')));
     $this->addElement('submit', 'submit', array('value' => Piwik_Translate('General_Next') . ' »', 'class' => 'submit'));
     // default values
     $this->addDataSource(new HTML_QuickForm2_DataSource_Array(array('url' => $urlExample)));
 }
コード例 #4
0
ファイル: FormGeneralSetup.php プロジェクト: nnnnathann/piwik
 function init()
 {
     HTML_QuickForm2_Factory::registerRule('checkLogin', 'Piwik_Installation_FormGeneralSetup_Rule_isValidLoginString');
     HTML_QuickForm2_Factory::registerRule('checkEmail', 'Piwik_Installation_FormGeneralSetup_Rule_isValidEmailString');
     $login = $this->addElement('text', 'login')->setLabel(Piwik_Translate('Installation_SuperUserLogin'));
     $login->addRule('required', Piwik_Translate('General_Required', Piwik_Translate('Installation_SuperUserLogin')));
     $login->addRule('checkLogin');
     $password = $this->addElement('password', 'password')->setLabel(Piwik_Translate('Installation_Password'));
     $password->addRule('required', Piwik_Translate('General_Required', Piwik_Translate('Installation_Password')));
     $passwordBis = $this->addElement('password', 'password_bis')->setLabel(Piwik_Translate('Installation_PasswordRepeat'));
     $passwordBis->addRule('required', Piwik_Translate('General_Required', Piwik_Translate('Installation_PasswordRepeat')));
     $passwordBis->addRule('eq', Piwik_Translate('Installation_PasswordDoNotMatch'), $password);
     $email = $this->addElement('text', 'email')->setLabel(Piwik_Translate('Installation_Email'));
     $email->addRule('required', Piwik_Translate('General_Required', Piwik_Translate('Installation_Email')));
     $email->addRule('checkEmail', Piwik_Translate('UsersManager_ExceptionInvalidEmail'));
     $this->addElement('checkbox', 'subscribe_newsletter_security', null, array('content' => '&nbsp;&nbsp;' . Piwik_Translate('Installation_SecurityNewsletter')));
     $this->addElement('checkbox', 'subscribe_newsletter_community', null, array('content' => '&nbsp;&nbsp;' . Piwik_Translate('Installation_CommunityNewsletter')));
     $this->addElement('submit', 'submit', array('value' => Piwik_Translate('General_Next') . ' »', 'class' => 'submit'));
     // default values
     $this->addDataSource(new HTML_QuickForm2_DataSource_Array(array('subscribe_newsletter_community' => 1, 'subscribe_newsletter_security' => 1)));
 }
コード例 #5
0
 public function testConfigOverridesOptions()
 {
     $mockEl = $this->getMock('HTML_QuickForm2_Element', array('getType', 'getValue', 'setValue', '__toString'));
     $mockEl->expects($this->atLeastOnce())->method('getValue')->will($this->returnValue('foo'));
     HTML_QuickForm2_Factory::registerRule('inarray-override', 'HTML_QuickForm2_Rule_Callback', null, array('callback' => 'in_array', 'arguments' => array(array('foo', 'bar', 'baz'))));
     $rule1 = HTML_QuickForm2_Factory::createRule('inarray-override', $mockEl, 'an error', array('callback' => array($this, 'checkNotFoo')));
     $rule2 = HTML_QuickForm2_Factory::createRule('inarray-override', $mockEl, 'an error', array('arguments' => array(array('one', 'two', 'three'))));
     $this->assertTrue($rule1->validate());
     $this->assertTrue($rule2->validate());
 }
コード例 #6
0
 public function testConfigOverridesOptions()
 {
     $mockFile = $this->getMock('HTML_QuickForm2_Element_InputFile', array('getValue'));
     $mockFile->expects($this->once())->method('getValue')->will($this->returnValue(array('name' => 'pr0n.jpg', 'type' => 'image/jpeg', 'tmp_name' => dirname(dirname(__FILE__)) . '/_files/1024-bytes.upload', 'error' => UPLOAD_ERR_OK, 'size' => 1024)));
     HTML_QuickForm2_Factory::registerRule('filesize-override-512', 'HTML_QuickForm2_Rule_MaxFileSize', null, 512);
     $maxSize = $mockFile->addRule('filesize-override-512', 'too big', 10240);
     $this->assertFalse($maxSize->validate());
 }
コード例 #7
0
 public function testCreateRuleValid()
 {
     $mockNode = $this->getMock('HTML_QuickForm2_Node', array('updateValue', 'getId', 'getName', 'getType', 'getValue', 'setId', 'setName', 'setValue', '__toString'));
     HTML_QuickForm2_Factory::registerRule('fakerule', 'FakeRule', dirname(__FILE__) . '/_files/FakeRule.php');
     $rule = HTML_QuickForm2_Factory::createRule('fakerule', $mockNode, 'An error message', 'Some options');
     $this->assertType('FakeRule', $rule);
     $this->assertSame($mockNode, $rule->owner);
     $this->assertEquals('An error message', $rule->getMessage());
     $this->assertEquals('Some options', $rule->getOptions());
     $this->assertEquals('fakerule', $rule->registeredType);
 }
コード例 #8
0
 public function testConfigOverridesOptions()
 {
     $mockEl = $this->getMock('HTML_QuickForm2_Element', array('getType', 'getValue', 'setValue', '__toString'));
     $mockEl->expects($this->atLeastOnce())->method('getValue')->will($this->returnValue('foo'));
     HTML_QuickForm2_Factory::registerRule('compare-override', 'HTML_QuickForm2_Rule_Compare', null, array('operator' => '===', 'operand' => 'foo'));
     $rule1 = HTML_QuickForm2_Factory::createRule('compare-override', $mockEl, '...', array('operator' => '===', 'operand' => 'bar'));
     $rule2 = HTML_QuickForm2_Factory::createRule('compare-override', $mockEl, '...', array('operator' => '!==', 'operand' => 'foo'));
     $this->assertTrue($rule1->validate());
     $this->assertTrue($rule2->validate());
 }
コード例 #9
0
 public function testCreateRuleValid()
 {
     $mockNode = $this->getMock('HTML_QuickForm2_Node', $this->nodeAbstractMethods);
     HTML_QuickForm2_Factory::registerRule('fakerule', 'FakeRule', dirname(__FILE__) . '/_files/FakeRule.php');
     /* @var $rule FakeRule */
     $rule = HTML_QuickForm2_Factory::createRule('fakerule', $mockNode, 'An error message', 'Some options');
     $this->assertInstanceOf('FakeRule', $rule);
     $this->assertSame($mockNode, $rule->owner);
     $this->assertEquals('An error message', $rule->getMessage());
     $this->assertEquals('Some options', $rule->getConfig());
 }
コード例 #10
0
 public function testDefaultConfigMerging()
 {
     $this->assertEquals('foo', HTML_QuickForm2_Rule::mergeConfig('foo', null));
     $this->assertEquals('bar', HTML_QuickForm2_Rule::mergeConfig('foo', 'bar'));
     HTML_QuickForm2_Factory::registerRule('no-config', 'HTML_QuickForm2_Rule_ImplConst');
     HTML_QuickForm2_Factory::registerRule('with-config', 'HTML_QuickForm2_Rule_ImplConst', null, 'bar');
     $el = new HTML_QuickForm2_Element_InputText();
     $this->assertEquals('foo', $el->createRule('no-config', '', 'foo')->getConfig());
     $this->assertEquals('bar', $el->createRule('with-config', '', 'foo')->getConfig());
 }
コード例 #11
0
 public function testConfigOverridesOptions()
 {
     $mockFile = $this->getMock('HTML_QuickForm2_Element_InputFile', array('getValue'));
     $mockFile->expects($this->once())->method('getValue')->will($this->returnValue(array('name' => 'pr0n.jpg', 'type' => 'image/jpeg', 'tmp_name' => '/tmp/foobar', 'error' => UPLOAD_ERR_OK, 'size' => 123456)));
     HTML_QuickForm2_Factory::registerRule('type-override-text', 'HTML_QuickForm2_Rule_MimeType', null, 'text/plain');
     $mimeType = $mockFile->addRule('type-override-text', 'need image', array('image/gif', 'image/jpeg'));
     $this->assertFalse($mimeType->validate());
 }
コード例 #12
0
 public function testConfigOverridesOptions()
 {
     HTML_QuickForm2_Factory::registerRule('length-1-5', 'HTML_QuickForm2_Rule_Length', null, array('min' => 1, 'max' => 5));
     $mockElFoo = $this->getMock('HTML_QuickForm2_Element', array('getType', 'getValue', 'setValue', '__toString'));
     $mockElFoo->expects($this->atLeastOnce())->method('getValue')->will($this->returnValue('foo'));
     $mockElFoobar = $this->getMock('HTML_QuickForm2_Element', array('getType', 'getValue', 'setValue', '__toString'));
     $mockElFoobar->expects($this->atLeastOnce())->method('getValue')->will($this->returnValue('foobar'));
     $ruleFoo = $mockElFoo->addRule('length-1-5', 'not in range', array('min' => 4));
     $this->assertTrue($ruleFoo->validate());
     $ruleFoobar = $mockElFoobar->addRule('length-1-5', 'not in range', array('max' => 7));
     $this->assertFalse($ruleFoobar->validate());
 }
コード例 #13
0
ファイル: Form.php プロジェクト: alexanderTsig/arabic
class Am_Form_Container_PrefixFieldset extends HTML_QuickForm2_Container_Group
{
    public function getType()
    {
        return 'fieldset';
    }
}
HTML_QuickForm2_Factory::registerElement('period', 'Am_Form_Element_Period');
HTML_QuickForm2_Factory::registerElement('date', 'Am_Form_Element_Date');
HTML_QuickForm2_Factory::registerElement('integer', 'Am_Form_Element_Integer');
HTML_QuickForm2_Factory::registerElement('advcheckbox', 'Am_Form_Element_AdvCheckbox');
HTML_QuickForm2_Factory::registerElement('advradio', 'Am_Form_Element_AdvRadio');
HTML_QuickForm2_Factory::registerElement('email_checkbox', 'Am_Form_Element_EmailCheckbox');
HTML_QuickForm2_Factory::registerElement('email_select', 'Am_Form_Element_EmailSelect');
HTML_QuickForm2_Factory::registerElement('email_link', 'Am_Form_Element_EmailLink');
HTML_QuickForm2_Factory::registerElement('email_with_days', 'Am_Form_Element_EmailWithDays');
HTML_QuickForm2_Factory::registerElement('upload', 'Am_Form_Element_Upload');
HTML_QuickForm2_Factory::registerElement('script', 'Am_Form_Element_Script');
HTML_QuickForm2_Factory::registerElement('html', 'Am_Form_Element_Html');
HTML_QuickForm2_Factory::registerElement('csrf', 'Am_Form_Element_Csrf');
HTML_QuickForm2_Factory::registerElement('options_editor', 'Am_Form_Element_OptionsEditor');
HTML_QuickForm2_Factory::registerElement('htmleditor', 'Am_Form_Element_HtmlEditor');
HTML_QuickForm2_Factory::registerElement('magicselect', 'Am_Form_Element_MagicSelect');
HTML_QuickForm2_Factory::registerElement('sortablemagicselect', 'Am_Form_Element_SortableMagicSelect');
HTML_QuickForm2_Factory::registerElement('checkboxedgroup', 'Am_Form_Element_CheckboxedGroup');
HTML_QuickForm2_Factory::registerElement('advfieldset', 'Am_Form_Container_AdvFieldset');
HTML_QuickForm2_Factory::registerElement('multi_select', 'Am_Form_Element_MultiSelect');
HTML_QuickForm2_Factory::registerElement('category', 'Am_Form_Element_Category');
HTML_QuickForm2_Factory::registerRule('callback2', 'Am_Rule_Callback2');
HTML_QuickForm2_Factory::registerRule('remote', 'HTML_QuickForm2_Rule_Remote');
コード例 #14
0
ファイル: Form.php プロジェクト: subashemphasize/test_site
            $url = 'http://v4.amember.com/docs/' . $url;
            return $url;
        }
    }
}
class Am_Form_Renderer_User extends Am_Form_Renderer
{
}
class Am_Form_Renderer_Admin extends Am_Form_Renderer
{
}
HTML_QuickForm2_Factory::registerElement('period', 'Am_Form_Element_Period');
HTML_QuickForm2_Factory::registerElement('date', 'Am_Form_Element_Date');
HTML_QuickForm2_Factory::registerElement('integer', 'Am_Form_Element_Integer');
HTML_QuickForm2_Factory::registerElement('advcheckbox', 'Am_Form_Element_AdvCheckbox');
HTML_QuickForm2_Factory::registerElement('advradio', 'Am_Form_Element_AdvRadio');
HTML_QuickForm2_Factory::registerElement('email_checkbox', 'Am_Form_Element_EmailCheckbox');
HTML_QuickForm2_Factory::registerElement('email_select', 'Am_Form_Element_EmailSelect');
HTML_QuickForm2_Factory::registerElement('email_link', 'Am_Form_Element_EmailLink');
HTML_QuickForm2_Factory::registerElement('email_with_days', 'Am_Form_Element_EmailWithDays');
HTML_QuickForm2_Factory::registerElement('upload', 'Am_Form_Element_Upload');
HTML_QuickForm2_Factory::registerElement('script', 'Am_Form_Element_Script');
HTML_QuickForm2_Factory::registerElement('html', 'Am_Form_Element_Html');
HTML_QuickForm2_Factory::registerElement('csrf', 'Am_Form_Element_Csrf');
HTML_QuickForm2_Factory::registerElement('options_editor', 'Am_Form_Element_OptionsEditor');
HTML_QuickForm2_Factory::registerElement('htmleditor', 'Am_Form_Element_HtmlEditor');
HTML_QuickForm2_Factory::registerElement('magicselect', 'Am_Form_Element_MagicSelect');
HTML_QuickForm2_Factory::registerElement('checkboxedgroup', 'Am_Form_Element_CheckboxedGroup');
HTML_QuickForm2_Factory::registerElement('advfieldset', 'Am_Form_Container_AdvFieldset');
HTML_QuickForm2_Factory::registerRule('callback2', 'Am_Rule_Callback2');