Issues (441)

common/models/Behavior.php (1 issue)

Labels
Severity
1
<?php
2
3
namespace common\models;
4
5
use Yii;
6
use yii\helpers\ArrayHelper as AH;
7
use \common\interfaces\BehaviorInterface;
8
9
/**
10
 * @property integer $id
11
 * @property string $name
12
 * @property integer $category_id
13
 */
14
class Behavior extends \yii\base\BaseObject implements BehaviorInterface
15
{
16
  public static $behaviors = [
17
    ['id' => 1,   'name' => 'no current secrets', 'category_id' => 1],
18
    ['id' => 2,   'name' => 'resolving problems', 'category_id' => 1],
19
    ['id' => 3,   'name' => 'identifying fears and feelings', 'category_id' => 1],
20
    ['id' => 4,   'name' => 'keeping commitments to meetings, prayer, family, church, people, goals, and self', 'category_id' => 1],
21
    ['id' => 5,   'name' => 'being open', 'category_id' => 1],
22
    ['id' => 6,   'name' => 'being honest', 'category_id' => 1],
23
    ['id' => 7,   'name' => 'making eye contact', 'category_id' => 1],
24
    ['id' => 8,   'name' => 'reaching out to others', 'category_id' => 1],
25
    ['id' => 9,   'name' => 'increasing in relationships with God and others', 'category_id' => 1],
26
    ['id' => 10,  'name' => 'accountability', 'category_id' => 1],
27
    ['id' => 11,  'name' => 'secrets', 'category_id' => 2],
28
    ['id' => 12,  'name' => 'bored', 'category_id' => 2],
29
    ['id' => 13,  'name' => 'less time/energy for God, meetings, and church', 'category_id' => 2],
30
    ['id' => 14,  'name' => 'avoiding support and accountability towards people', 'category_id' => 2],
31
    ['id' => 15,  'name' => 'superficial conversations', 'category_id' => 2],
32
    ['id' => 16,  'name' => 'sarcasm', 'category_id' => 2],
33
    ['id' => 17,  'name' => 'isolating yourself', 'category_id' => 2],
34
    ['id' => 18,  'name' => 'changes in goals', 'category_id' => 2],
35
    ['id' => 19,  'name' => 'flirting', 'category_id' => 2],
36
    ['id' => 20,  'name' => 'obsessed with relationships', 'category_id' => 2],
37
    ['id' => 21,  'name' => 'breaking promises/commitments', 'category_id' => 2],
38
    ['id' => 22,  'name' => 'neglecting family', 'category_id' => 2],
39
    ['id' => 23,  'name' => 'preoccupation with material things, television, or entertainment', 'category_id' => 2],
40
    ['id' => 24,  'name' => 'procrastination', 'category_id' => 2],
41
    ['id' => 25,  'name' => 'lying', 'category_id' => 2],
42
    ['id' => 26,  'name' => 'over-confidence', 'category_id' => 2],
43
    ['id' => 27,  'name' => 'hiding money', 'category_id' => 2],
44
    ['id' => 28,  'name' => 'worry', 'category_id' => 3],
45
    ['id' => 29,  'name' => 'using profanity', 'category_id' => 3],
46
    ['id' => 30,  'name' => 'being fearful', 'category_id' => 3],
47
    ['id' => 31,  'name' => 'being resentful', 'category_id' => 3],
48
    ['id' => 32,  'name' => 'replaying old, negative thoughts', 'category_id' => 3],
49
    ['id' => 33,  'name' => 'perfectionism', 'category_id' => 3],
50
    ['id' => 34,  'name' => 'judging others\' motives', 'category_id' => 3],
51
    ['id' => 35,  'name' => 'making goals and lists you can\'t complete', 'category_id' => 3],
52
    ['id' => 36,  'name' => 'poor planning', 'category_id' => 3],
53
    ['id' => 37,  'name' => 'mind reading', 'category_id' => 3],
54
    ['id' => 38,  'name' => 'fantasy', 'category_id' => 3],
55
    ['id' => 41,  'name' => 'co-dependent rescuing', 'category_id' => 3],
56
    ['id' => 42,  'name' => 'sleep problems', 'category_id' => 3],
57
    ['id' => 43,  'name' => 'trouble concentrating', 'category_id' => 3],
58
    ['id' => 44,  'name' => 'seeking/creating drama', 'category_id' => 3],
59
    ['id' => 45,  'name' => 'gossip', 'category_id' => 3],
60
    ['id' => 46,  'name' => 'using over-the-counter medication for pain, sleep, and weight control', 'category_id' => 3],
61
    ['id' => 47,  'name' => 'super busy', 'category_id' => 4],
62
    ['id' => 48,  'name' => 'workaholic', 'category_id' => 4],
63
    ['id' => 49,  'name' => 'can\'t relax', 'category_id' => 4],
64
    ['id' => 50,  'name' => 'driving too fast', 'category_id' => 4],
65
    ['id' => 51,  'name' => 'avoiding slowing down', 'category_id' => 4],
66
    ['id' => 52,  'name' => 'feeling driven', 'category_id' => 4],
67
    ['id' => 53,  'name' => 'in a hurry', 'category_id' => 4],
68
    ['id' => 54,  'name' => 'can\'t turn off thoughts', 'category_id' => 4],
69
    ['id' => 55,  'name' => 'skipping meals', 'category_id' => 4],
70
    ['id' => 56,  'name' => 'binge eating (usually at night)', 'category_id' => 4],
71
    ['id' => 57,  'name' => 'overspending', 'category_id' => 4],
72
    ['id' => 58,  'name' => 'can\'t identify own feelings/needs', 'category_id' => 4],
73
    ['id' => 59,  'name' => 'repetitive, negative thoughts', 'category_id' => 4],
74
    ['id' => 60,  'name' => 'irritable', 'category_id' => 4],
75
    ['id' => 61,  'name' => 'making excuses for "having to do it all"', 'category_id' => 4],
76
    ['id' => 62,  'name' => 'dramatic mood swings', 'category_id' => 4],
77
    ['id' => 63,  'name' => 'lust', 'category_id' => 4],
78
    ['id' => 64,  'name' => 'too much caffeine', 'category_id' => 4],
79
    ['id' => 65,  'name' => 'over exercising', 'category_id' => 4],
80
    ['id' => 66,  'name' => 'nervousness', 'category_id' => 4],
81
    ['id' => 67,  'name' => 'difficulty being alone or with people', 'category_id' => 4],
82
    ['id' => 68,  'name' => 'difficulty listening to others', 'category_id' => 4],
83
    ['id' => 69,  'name' => 'avoiding support', 'category_id' => 4],
84
    ['id' => 70,  'name' => 'procrastination causing crises in money, work, or relationships', 'category_id' => 5],
85
    ['id' => 71,  'name' => 'sarcasm', 'category_id' => 5],
86
    ['id' => 72,  'name' => 'black and white, all or nothing thinking', 'category_id' => 5],
87
    ['id' => 73,  'name' => 'feeling that no one understands', 'category_id' => 5],
88
    ['id' => 74,  'name' => 'overreacting', 'category_id' => 5],
89
    ['id' => 75,  'name' => 'road rage', 'category_id' => 5],
90
    ['id' => 76,  'name' => 'constant resentments', 'category_id' => 5],
91
    ['id' => 77,  'name' => 'pushing others away', 'category_id' => 5],
92
    ['id' => 78,  'name' => 'increased isolation', 'category_id' => 5],
93
    ['id' => 79,  'name' => 'blaming', 'category_id' => 5],
94
    ['id' => 80,  'name' => 'self pity', 'category_id' => 5],
95
    ['id' => 81,  'name' => 'arguing', 'category_id' => 5],
96
    ['id' => 82,  'name' => 'irrationality', 'category_id' => 5],
97
    ['id' => 83,  'name' => 'can\'t handle criticism', 'category_id' => 5],
98
    ['id' => 84,  'name' => 'defensive', 'category_id' => 5],
99
    ['id' => 85,  'name' => 'people are avoiding you', 'category_id' => 5],
100
    ['id' => 86,  'name' => 'having to be right', 'category_id' => 5],
101
    ['id' => 87,  'name' => 'digestive problems', 'category_id' => 5],
102
    ['id' => 88,  'name' => 'headaches', 'category_id' => 5],
103
    ['id' => 89,  'name' => 'obsessive (stuck) thoughts', 'category_id' => 5],
104
    ['id' => 90,  'name' => 'can\'t forgive', 'category_id' => 5],
105
    ['id' => 91,  'name' => 'feeling grandiose (superior)', 'category_id' => 5],
106
    ['id' => 92,  'name' => 'intimidation', 'category_id' => 5],
107
    ['id' => 93,  'name' => 'feeling aggressive', 'category_id' => 5],
108
    ['id' => 94,  'name' => 'depressed', 'category_id' => 6],
109
    ['id' => 95,  'name' => 'panicked', 'category_id' => 6],
110
    ['id' => 96,  'name' => 'confused', 'category_id' => 6],
111
    ['id' => 97,  'name' => 'hopeless', 'category_id' => 6],
112
    ['id' => 98,  'name' => 'sleeping too much or too little', 'category_id' => 6],
113
    ['id' => 99,  'name' => 'can\'t cope', 'category_id' => 6],
114
    ['id' => 100, 'name' => 'overwhelmed', 'category_id' => 6],
115
    ['id' => 101, 'name' => 'crying for "no reason"', 'category_id' => 6],
116
    ['id' => 102, 'name' => 'can\'t think', 'category_id' => 6],
117
    ['id' => 103, 'name' => 'forgetful', 'category_id' => 6],
118
    ['id' => 104, 'name' => 'pessimistic', 'category_id' => 6],
119
    ['id' => 105, 'name' => 'helpless', 'category_id' => 6],
120
    ['id' => 106, 'name' => 'tired', 'category_id' => 6],
121
    ['id' => 107, 'name' => 'numb', 'category_id' => 6],
122
    ['id' => 108, 'name' => 'wanting to run', 'category_id' => 6],
123
    ['id' => 109, 'name' => 'constant cravings for old coping behaviors', 'category_id' => 6],
124
    ['id' => 110, 'name' => 'thinking of using porn, sex, drugs, or alcohol', 'category_id' => 6],
125
    ['id' => 111, 'name' => 'seeking out old unhealthy people and places', 'category_id' => 6],
126
    ['id' => 112, 'name' => 'really isolated', 'category_id' => 6],
127
    ['id' => 113, 'name' => 'people are angry with you', 'category_id' => 6],
128
    ['id' => 114, 'name' => 'self-abuse', 'category_id' => 6],
129
    ['id' => 115, 'name' => 'suicidal thoughts', 'category_id' => 6],
130
    ['id' => 116, 'name' => 'no goals', 'category_id' => 6],
131
    ['id' => 117, 'name' => 'survival mode', 'category_id' => 6],
132
    ['id' => 118, 'name' => 'not returning phone calls', 'category_id' => 6],
133
    ['id' => 119, 'name' => 'missing work', 'category_id' => 6],
134
    ['id' => 120, 'name' => 'irritability', 'category_id' => 6],
135
    ['id' => 121, 'name' => 'loss of appetite', 'category_id' => 6],
136
    ['id' => 122, 'name' => 'returning to the place you swore you would never go again', 'category_id' => 7],
137
    ['id' => 123, 'name' => 'giving up', 'category_id' => 7],
138
    ['id' => 124, 'name' => 'giving in', 'category_id' => 7],
139
    ['id' => 125, 'name' => 'out of control', 'category_id' => 7],
140
    ['id' => 126, 'name' => 'lost in your addiction', 'category_id' => 7],
141
    ['id' => 127, 'name' => 'lying to yourself and others', 'category_id' => 7],
142
    ['id' => 128, 'name' => 'feeling you just can\'t manage without your coping behavior, at least for now', 'category_id' => 7],
143
    ['id' => 129, 'name' => 'shame', 'category_id' => 7],
144
    ['id' => 130, 'name' => 'condemnation', 'category_id' => 7],
145
    ['id' => 131, 'name' => 'guilt', 'category_id' => 7],
146
    ['id' => 132, 'name' => 'aloneness', 'category_id' => 7],
147
  ];
148
149
  /**
150
   * @inheritdoc
151
   * @codeCoverageIgnore
152
   */
153
  public function rules()
154
  {
155
    return [
156
      [['name', 'category_id'], 'required'],
157
      [['name'], 'string'],
158
      [['category_id'], 'integer']
159
    ];
160
  }
161
162
  /**
163
   * @inheritdoc
164
   * @codeCoverageIgnore
165
   */
166
  public function attributeLabels()
167
  {
168
    return [
169
      'id'          => 'ID',
170
      'name'        => 'Name',
171
      'category_id' => 'Category ID',
172
    ];
173
  }
174
175
  /**
176
   * This grabs all the categories from Category and adds the count of
177
   * behaviors in each category, it also renames the "id" field to be
178
   * "category_id".
179
   *
180
   * @returns Array
181
   */
182
  public function getCategories() {
183
    $bhvrs_by_cat = AH::index(self::$behaviors, null, 'category_id');
184
    $cats = AH::index(\common\models\Category::$categories, "id");
185
    foreach($cats as $id => &$cat) {
186
      $cat['behavior_count'] = count($bhvrs_by_cat[$id]); // add count of behaviors
187
      $cat['category_id'] = $cat['id']; // rename id to category_id 
188
      unset($cat['id']);
189
    }
190
    return $cats;
191
  }
192
193
  /**
194
   *
195
  /**
196
   * Given a $key => $value pair, returns the matching behavior.
197
   * Example:
198
   *     getBehavior('id', 1);
199
   * Should return:
200
   *     ['id' => 1,   'name' => 'no current secrets', 'category_id' => 1]
201
   *
202
   * @param string $key the name of the attribute to filter on
203
   * @param string $val the value of the attribute to filter on
204
   * @return a single behavior
0 ignored issues
show
The type common\models\a was not found. Did you mean a? If so, make sure to prefix the type with \.
Loading history...
205
   */
206
  public static function getBehavior($key, $val) {
207
    $ret = array_values(array_filter(self::$behaviors, function($bvr) use ($key, $val) {
208
      return $bvr[$key] === $val;
209
    }));
210
    return $ret ? $ret[0] : null;
211
  }
212
}
213