Could magic_quotes_gpc affect the StripTags filter in relation to the
allowed attributes?

I do not have access to the server so I attempted to turn off magic-quotes
in a php.ini file placed in my root directory, but doing this causes the
following exception:

*Message:* The PDO extension is required for this adapter but the extension
is not loaded

Without magic_quotes_gpc = Off in the php.ini The above exception does not
occur. I'm on a shared host.


On Wed, Jul 15, 2009 at 4:47 PM, J DeBord <[email protected]> wrote:

> Thanks again Matthew. I just downloaded ZF from the trunk and I am 99% sure
> it is the only copy on the include path.
>
> From my bootstrap:
>
> define('LIBRARY_PATH', APPLICATION_PATH . '/../library');
>
> define('APPLICATION_ENVIRONMENT', 'development');
>
> set_include_path(LIBRARY_PATH);
>
> In fact the library folder is the only thing on the include path.
>
> phpinfo() after setting the include path in the bootstrap:
>
> include_path/home/jasondeb/workspace/JDnetZend/application/../library
> .:/usr/share/php:/usr/share/pear
> I deleted the copy that was in /usr/share/php just to be sure. Still not
> working. Any other ideas?
>
> Thanks,
>
> Jason
>
>
> On Wed, Jul 15, 2009 at 2:09 PM, Matthew Weier O'Phinney <[email protected]
> > wrote:
>
>> -- J DeBord <[email protected]> wrote
>> (on Wednesday, 15 July 2009, 08:13 AM +0200):
>> > Thanks for the reply Matthew.
>> >
>> > I'm using 1.84
>> >
>> > Still not working. After executing the code below (see form and
>> controller
>> > code) and putting this into the textarea:
>> >
>> > <p>
>> >            This is <a onClick="foo.bar()" href="http://foo.com/";
>> >                title="Foo!">linked text</a>.
>> >        </p>
>> >
>> > The following is entered into the MySql DB:
>> >
>> >
>> > [ ] Edit Delete 49 2009-07-15 07:54:32 1 This is <a>linked text</a>.
>> >
>> >
>> > Everything but the <a> tag is stripped as expected, but the href is
>> still being
>> > stripped. Could it have something to do with the Zend_Db_Table's insert
>> method?
>>
>> There was a problem with attribute stripping identified and fixed in the
>> 1.7 series, and what you're showing looks similar to that case -- but,
>> as noted, the same code you have below is working for me (I just retried
>> with your exact code, as well).
>>
>> I'm wondering if there is an older version of ZF on your include_path...
>>
>> > FORM:
>> >
>> > <?php
>> >
>> > class Form_NewMessage extends Form_Default {
>> >
>> >     public function init() {
>> >
>> >         $this->setMethod('post');
>> >
>> >         $this->setAttrib('id', 'new_message');
>> >         $this->setDescription("What are you doing? What's new?");
>> >
>> >         $textarea = new Zend_Form_Element_Textarea('message', array(
>> >             'id' => 'message',
>> >             'filters' => array(
>> >                 array('StripTags', array(array('a'), array('href',
>> 'title'))),
>> >                 'StringTrim',
>> >             ),
>> >             'validators' => array(),
>> >             'rows' => 2,
>> >             'cols' => 40,
>> >             ));
>> >
>> >         $this->addElement($textarea);
>> >
>> >         $this->addElement('Submit', 'submit', array(
>> >             'Decorators' => array('ViewHelper'),
>> >             'class' => 'submit',
>> >             'Label' => 'Post Your Message!',
>> >             'Ignore' => true,
>> >         ));
>> >
>> >         $this->setDecorators(array(
>> >             'Description',
>> >             'FormElements',
>> >             'Fieldset',
>> >             'Form'
>> >         ));
>> >
>> >     }
>> > }
>> >
>> > CONTROLLER (postnewAction is the relevant piece):
>> >
>> > public function indexAction() {
>> >
>> >         $this->view->headTitle('Message Board');
>> >
>> >         $this->view->newMessageForm = $this->_getNewMessageForm();
>> >
>> >     }
>> >
>> >     public function postnewAction() {
>> >
>> >         $request = $this->getRequest();
>> >
>> >         if(!$request->isPost()) {
>> >             $this->_helper->redirector('notauthorized', 'error');
>> >         }
>> >
>> >         $form = $this->_getNewMessageForm();
>> >
>> >         if (!$form->isValid($request->getPost())) {
>> >             $this->view->newMessageForm = $form;
>> >             return $this->render('index');
>> >         }
>> >
>> >         $values = $form->getValues();
>> >         $values['user_id'] =
>> Zend_Auth::getInstance()->getIdentity()->id;
>> >         $model = new Model_DbTable_Messages;
>> >         $result = $model->insert($values);
>> >
>> >         if(!$result) {
>> >             throw new Zend_Exception('Problem adding message to
>> database');
>> >         }
>> >
>> >         $this->_helper->redirector('index', 'messageboard');
>> >
>> >     }
>> >
>> >     protected function _getNewMessageForm() {
>> >
>> >         $form = new Form_NewMessage;
>> >         $form->setAction('/messageboard/postnew/');
>> >
>> >         return $form;
>> >     }
>> >
>> >
>> > Again, I really appreciate your help.
>> >
>> > Thanks!
>> >
>> > J
>> >
>> > On Tue, Jul 14, 2009 at 11:06 PM, Matthew Weier O'Phinney <
>> [email protected]>
>> > wrote:
>> >
>> >     -- J DeBord <[email protected]> wrote
>> >     (on Tuesday, 14 July 2009, 08:29 PM +0200):
>> >     > I've tried to make StripTags leave the href attribute, but it
>> strips it
>> >     out. I
>> >     > can't find the right syntax or it just doesn't work. The <a> tag
>> is left
>> >     > intact, every other tag is stripped, but the href and title get
>> stripped
>> >     as
>> >     > well.
>> >     >
>> >     > I've also used the fluid interface when adding the Textarea, but
>> changed
>> >     it to
>> >     > what is below in hopes that it would work.
>> >     >
>> >     > What am I doing wrong?
>> >
>> >     What version of ZF are you using?
>> >
>> >     I did the following using current trunk:
>> >
>> >        $element = new Zend_Form_Element_Textarea('foo', array(
>> >            'filters' => array(
>> >                array('StripTags', array(array('a'), array('href',
>> 'title'))),
>> >                'StringTrim',
>> >            ),
>> >            'value'   => '<p>
>> >                This is <a onClick="foo.bar()" href="http://foo.com/";
>> >                    title="Foo!">linked text</a>.
>> >            </p>',
>> >        ));
>> >        echo $element->getValue();
>> >
>> >     and got exactly what I expected:
>> >
>> >        This is <a href="http://foo.com/"; title="Foo!">linked text</a>.
>> >
>> >
>> >     > <?php
>> >     >
>> >     > class Form_NewMessage extends Form_Default {
>> >     >
>> >     >     public function init() {
>> >     >
>> >     >         $this->setMethod('post');
>> >     >
>> >     >         $this->setAttrib('id', 'new_message');
>> >     >
>> >     >         $textarea = new Zend_Form_Element_Textarea('message');
>> >     >         $textarea->setDecorators($this->_defaultDecorators);
>> >     >
>> >     >         $stripTags = new Zend_Filter_StripTags(array('a'),
>> array('href',
>> >     > 'title'));
>> >     >
>> >     >         $textarea->addFilter('StringTrim');
>> >     >         $textarea->addFilter($stripTags);
>> >     >         $textarea->setValidators(array());
>> >     >         $textarea->setRequired(true);
>> >     >         $textarea->setAttrib('cols', 40);
>> >     >         $textarea->setAttrib('rows', 2);
>> >     >
>> >     >         $this->addElement($textarea);
>> >     >
>> >     >         $this->addElement('Submit', 'submit', array(
>> >     >             'Decorators' => array('ViewHelper'),
>> >     >             'class' => 'submit',
>> >     >             'Label' => 'Post Your Message!',
>> >     >             'Ignore' => true,
>> >     >         ));
>> >     >
>> >     >         $this->setDecorators(array(
>> >     >             'Description',
>> >     >             'FormElements',
>> >     >             'Fieldset',
>> >     >             'Form'
>> >     >         ));
>> >     >
>> >     >     }
>> >     > }
>> >
>> >     --
>> >     Matthew Weier O'Phinney
>> >     Project Lead            | [email protected]
>> >     Zend Framework          | http://framework.zend.com/
>> >
>> >
>>
>> --
>> Matthew Weier O'Phinney
>> Project Lead            | [email protected]
>> Zend Framework          | http://framework.zend.com/
>>
>
>

Reply via email to