/** * @param boolean $shouldPass * @param array $fields * @param string $key * @param mixed $value * @dataProvider providerFromArray */ public function testFromArray($shouldPass, $fields, $key, $value) { $this->dictionary->fromArray($fields); if ($shouldPass) { $this->assertArrayHasKey($key, $this->dictionary->fields); if (isset($this->dictionary->fields[$key])) { $this->assertEquals($this->dictionary->fields[$key], $value); } } else { if (isset($this->dictionary->fields[$key])) { $this->assertNotEquals($this->dictionary->fields[$key], $value); } else { $this->assertTrue(true); } } }
/** * Run any postHooks that were specified. * * @return boolean True if all hooks executed successfully. */ public function runPostHooks() { $success = true; /* load posthooks */ $this->formit->loadHooks('post', $this->config); $this->formit->postHooks->loadMultiple($this->config['hooks'], $this->dictionary->toArray()); /* process form */ if ($this->formit->preHooks->hasErrors() && $this->modx->getOption('preventPostHooksIfPreHooksErrors', $this->config, true)) { /* prevent scripts from running with prehook errors */ $success = false; $this->formit->preHooks->processErrors(); } elseif ($this->formit->postHooks->hasErrors()) { $success = false; $this->formit->postHooks->processErrors(); } else { /* assign new values from postHooks */ $this->dictionary->fromArray($this->formit->postHooks->fields); } return $success; }