PageRenderTime 39ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/libs/HTML/QuickForm2/Rule/Empty.php

https://github.com/CodeYellowBV/piwik
PHP | 89 lines | 18 code | 4 blank | 67 comment | 6 complexity | 79be971ced97cecdd2e1d1378cbcddb7 MD5 | raw file
Possible License(s): LGPL-3.0, JSON, MIT, GPL-3.0, LGPL-2.1, GPL-2.0, AGPL-1.0, BSD-2-Clause, BSD-3-Clause
  1. <?php
  2. /**
  3. * Rule checking that the field is empty
  4. *
  5. * PHP version 5
  6. *
  7. * LICENSE:
  8. *
  9. * Copyright (c) 2006-2010, Alexey Borzov <avb@php.net>,
  10. * Bertrand Mansion <golgote@mamasam.com>
  11. * All rights reserved.
  12. *
  13. * Redistribution and use in source and binary forms, with or without
  14. * modification, are permitted provided that the following conditions
  15. * are met:
  16. *
  17. * * Redistributions of source code must retain the above copyright
  18. * notice, this list of conditions and the following disclaimer.
  19. * * Redistributions in binary form must reproduce the above copyright
  20. * notice, this list of conditions and the following disclaimer in the
  21. * documentation and/or other materials provided with the distribution.
  22. * * The names of the authors may not be used to endorse or promote products
  23. * derived from this software without specific prior written permission.
  24. *
  25. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
  26. * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
  27. * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  28. * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
  29. * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  30. * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  31. * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  32. * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
  33. * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  34. * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  35. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  36. *
  37. * @category HTML
  38. * @package HTML_QuickForm2
  39. * @author Alexey Borzov <avb@php.net>
  40. * @author Bertrand Mansion <golgote@mamasam.com>
  41. * @license http://opensource.org/licenses/bsd-license.php New BSD License
  42. * @version SVN: $Id: Empty.php 299480 2010-05-19 06:55:03Z avb $
  43. * @link http://pear.php.net/package/HTML_QuickForm2
  44. */
  45. /**
  46. * Base class for HTML_QuickForm2 rules
  47. */
  48. // require_once 'HTML/QuickForm2/Rule.php';
  49. /**
  50. * Rule checking that the field is empty
  51. *
  52. * Handles both simple form fields and file uploads, the latter are considered
  53. * valid iff no file upload was attempted.
  54. *
  55. * The rule doesn't make much sense if used separately, but can be very helpful
  56. * if chained:
  57. * <code>
  58. * $spamCheck->addRule('empty')
  59. * ->or_($email->createRule('nonempty', 'Supply a valid email if you want to receive our spam')
  60. * ->and_($email->createRule('email')));
  61. * </code>
  62. *
  63. * @category HTML
  64. * @package HTML_QuickForm2
  65. * @author Alexey Borzov <avb@php.net>
  66. * @author Bertrand Mansion <golgote@mamasam.com>
  67. * @version Release: @package_version@
  68. */
  69. class HTML_QuickForm2_Rule_Empty extends HTML_QuickForm2_Rule
  70. {
  71. protected function validateOwner()
  72. {
  73. $value = $this->owner->getValue();
  74. if (!$this->owner instanceof HTML_QuickForm2_Element_InputFile) {
  75. return 0 == strlen($value);
  76. } else {
  77. return isset($value['error']) && UPLOAD_ERR_NO_FILE == $value['error'];
  78. }
  79. }
  80. protected function getJavascriptCallback()
  81. {
  82. return "function() { return " . $this->owner->getJavascriptValue() . " == ''; }";
  83. }
  84. }
  85. ?>