Overview

Packages

  • Horde
    • Form
    • MIME
      • Viewer
    • Scheduler
  • None
  • Whups
    • UnitTests

Classes

  • Horde_Core_Ui_VarRenderer_whups
  • Whups
  • Whups_Ajax_Imple_ContactAutoCompleter
  • Whups_Api
  • Whups_Driver
  • Whups_Driver_Sql
  • Whups_Form_AddComment
  • Whups_Form_Admin_AddAttribute
  • Whups_Form_Admin_AddPriority
  • Whups_Form_Admin_AddQueue
  • Whups_Form_Admin_AddReply
  • Whups_Form_Admin_AddState
  • Whups_Form_Admin_AddType
  • Whups_Form_Admin_AddUser
  • Whups_Form_Admin_AddVersion
  • Whups_Form_Admin_CloneType
  • Whups_Form_Admin_DefaultPriority
  • Whups_Form_Admin_DefaultState
  • Whups_Form_Admin_DeleteAttribute
  • Whups_Form_Admin_DeletePriority
  • Whups_Form_Admin_DeleteQueue
  • Whups_Form_Admin_DeleteReply
  • Whups_Form_Admin_DeleteState
  • Whups_Form_Admin_DeleteType
  • Whups_Form_Admin_DeleteVersion
  • Whups_Form_Admin_EditAttributeStepOne
  • Whups_Form_Admin_EditAttributeStepTwo
  • Whups_Form_Admin_EditPriorityStepOne
  • Whups_Form_Admin_EditPriorityStepTwo
  • Whups_Form_Admin_EditQueueStepOne
  • Whups_Form_Admin_EditQueueStepTwo
  • Whups_Form_Admin_EditReplyStepOne
  • Whups_Form_Admin_EditReplyStepTwo
  • Whups_Form_Admin_EditStateStepOne
  • Whups_Form_Admin_EditStateStepTwo
  • Whups_Form_Admin_EditTypeStepOne
  • Whups_Form_Admin_EditTypeStepTwo
  • Whups_Form_Admin_EditUser
  • Whups_Form_Admin_EditVersionStepOne
  • Whups_Form_Admin_EditVersionStepTwo
  • Whups_Form_InsertBranch
  • Whups_Form_Query_AttributeCriterion
  • Whups_Form_Query_ChooseNameForLoad
  • Whups_Form_Query_ChooseNameForSave
  • Whups_Form_Query_DateCriterion
  • Whups_Form_Query_Delete
  • Whups_Form_Query_GroupCriterion
  • Whups_Form_Query_Parameter
  • Whups_Form_Query_PropertyCriterion
  • Whups_Form_Query_TextCriterion
  • Whups_Form_Query_UserCriterion
  • Whups_Form_Renderer_Comment
  • Whups_Form_Search
  • Whups_Form_SendReminder
  • Whups_Form_Ticket_CreateStepFour
  • Whups_Form_Ticket_CreateStepOne
  • Whups_Form_Ticket_CreateStepThree
  • Whups_Form_Ticket_CreateStepTwo
  • Whups_Form_Ticket_Edit
  • Whups_Form_TicketDetails
  • Whups_LoginTasks_SystemTask_Upgrade
  • Whups_Mail
  • Whups_Query
  • Whups_Query_Manager
  • Whups_Reports
  • Whups_Ticket
  • Whups_View_Base
  • Whups_View_Results
  • Whups_View_SavedQueries
  • Overview
  • Package
  • Class
  • Tree
 1: <?php
 2: /**
 3:  * @package Whups
 4:  */
 5: class Whups_Form_Query_AttributeCriterion extends Horde_Form
 6: {
 7:     /**
 8:      * List of all available attributes.
 9:      */
10:     public $attribs = array();
11: 
12:     public function __construct(&$vars)
13:     {
14:         global $whups_driver;
15: 
16:         parent::__construct(
17:             $vars,
18:             $vars->get('edit')
19:                 ? _("Edit Attribute Criterion")
20:                 : _("Add Attribute Criterion"),
21:             'Whups_Form_Query_AttributeCriterion');
22: 
23:         $this->addHidden('', 'edit', 'boolean', false);
24: 
25:         try {
26:             $this->attribs = $whups_driver->getAttributesForType();
27:             if ($this->attribs) {
28:                 $this->addVariable(_("Match"), 'text', 'text', true);
29:                 $this->addVariable(
30:                     _("Match Operator"), 'operator', 'enum', true, false, null,
31:                     array(Whups_Query::textOperators()));
32: 
33:                 foreach ($this->attribs as $id => $attribute) {
34:                     $this->addVariable(
35:                         sprintf(_("Search %s Attribute"), $attribute['human_name']),
36:                         "a$id", 'boolean', false);
37:                 }
38:             } else {
39:                 $this->addVariable(
40:                     _("Search Attribute"), 'attribute', 'invalid', true, false,
41:                     null, array(_("There are no attributes defined.")));
42:             }
43:         } catch (Whups_Exception $e) {
44:             $this->addVariable(
45:                 _("Search Attribute"), 'attribute', 'invalid', true, false,
46:                 null, array($e->getMessage()));
47:         }
48:     }
49: 
50:     public function execute(&$vars)
51:     {
52:         $path = $vars->get('path');
53:         $text = $vars->get('text');
54:         $operator = $vars->get('operator');
55: 
56:         $count = 0;
57: 
58:         $keys = array_keys($this->attribs);
59:         foreach ($keys as $id) {
60:             $count += $vars->exists("a$id") ? 1 : 0;
61:         }
62: 
63:         if ($count > 1) {
64:             $path = $GLOBALS['whups_query']->insertBranch($path, Whups_Query::TYPE_OR);
65:         }
66: 
67:         foreach ($keys as $id) {
68:             if ($vars->get("a$id")) {
69:                 $GLOBALS['whups_query']->insertCriterion(
70:                     $path, Whups_Query::CRITERION_ATTRIBUTE, $id, $operator, $text);
71:             }
72:         }
73: 
74:         $this->unsetVars($vars);
75:     }
76: }
77: 
API documentation generated by ApiGen