~commondev/common/trunk

« back to all changes in this revision

Viewing changes to www/Central.php

  • Committer: Ben Kietzman
  • Date: 2018-10-10 20:04:19 UTC
  • Revision ID: ben@kietzman.org-20181010200419-aldzo2b8b31z682a
Consolidated the application notifications that are emailed out during a server notification.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3000
3000
                    $response[$contactsResponse[$i]['userid']]['contact'] = true;
3001
3001
                  }
3002
3002
                }
3003
 
                $applicationsRequest = array('server_id'=>$request['id']);
3004
 
                $applicationsResponse = null;
3005
 
                if ($this->applicationsByServerID($applicationsRequest, $applicationsResponse, $strError))
3006
 
                {
3007
 
                  $nSize = sizeof($applicationsResponse);
3008
 
                  for ($i = 0; $i < $nSize; $i++)
3009
 
                  {
3010
 
                    $subRequest = $request;
3011
 
                    $subRequest['id'] = $applicationsResponse[$i]['application_id'];
3012
 
                    $subResponse = null;
3013
 
                    $this->applicationNotify($subRequest, $subResponse, $strError);
3014
 
                    unset($subRequest);
3015
 
                    unset($subResponse);
3016
 
                  }
3017
 
                }
3018
 
                unset($applicationsRequest);
3019
 
                unset($applicationsResponse);
3020
3003
                $strSubject = 'Server Notification:  '.$serverResponse['name'];
3021
3004
                foreach ($response as $key => $value)
3022
3005
                {
3093
3076
                    }
3094
3077
                  }
3095
3078
                }
 
3079
                $applicationsRequest = array('server_id'=>$request['id']);
 
3080
                $applicationsResponse = null;
 
3081
                if ($this->applicationsByServerID($applicationsRequest, $applicationsResponse, $strError))
 
3082
                {
 
3083
                  $subResponse = array();
 
3084
                  $nSize = sizeof($applicationsResponse);
 
3085
                  for ($i = 0; $i < $nSize; $i++)
 
3086
                  {
 
3087
                    $applicationRequest = array('id'=>$applicationsResponse[$i]['application_id']);
 
3088
                    $applicationResponse = null;
 
3089
                    if ($this->application($applicationRequest, $applicationResponse, $strError))
 
3090
                    {
 
3091
                      if ($applicationResponse['retirement_date'] == '')
 
3092
                      {
 
3093
                        $contactsRequest = array('application_id'=>$applicationsResponse[$i]['application_id'], 'Primary Developer'=>1, 'Backup Developer'=>1, 'Primary Contact'=>1, 'Contact'=>1);
 
3094
                        $contactsResponse = null;
 
3095
                        if ($this->applicationUsersByApplicationID($contactsRequest, $contactsResponse, $strError))
 
3096
                        {
 
3097
                          $bResult = true;
 
3098
                          $nSize = sizeof($contactsResponse);
 
3099
                          for ($j = 0; $j < $nSize; $j++)
 
3100
                          {
 
3101
                            if ($contactsResponse[$j]['notify']['value'] == 1)
 
3102
                            {
 
3103
                              if (!isset($subResponse[$contactsResponse[$j]['userid']]))
 
3104
                              {
 
3105
                                $subResponse[$contactsResponse[$j]['userid']] = array();
 
3106
                              }
 
3107
                              if (!isset($subResponse[$contactsResponse[$j]['userid']][$applicationsResponse[$j]['application_id']]))
 
3108
                              {
 
3109
                                $subResponse[$contactsResponse[$j]['userid']][$applicationsResponse[$i]['application_id']] = array();
 
3110
                                $subResponse[$contactsResponse[$j]['userid']][$applicationsResponse[$i]['application_id']]['application'] = $applicationResponse['name'];
 
3111
                              }
 
3112
                              $subResponse[$contactsResponse[$j]['userid']][$applicationsResponse[$i]['application_id']]['sent'] = false;
 
3113
                              $subResponse[$contactsResponse[$j]['userid']][$applicationsResponse[$i]['application_id']]['email'] = $contactsResponse[$j]['email'];
 
3114
                              $subResponse[$contactsResponse[$j]['userid']][$applicationsResponse[$i]['application_id']]['name'] = $contactsResponse[$j]['last_name'].', '.$contactsResponse[$j]['first_name'];
 
3115
                              if ($contactsResponse[$j]['type']['type'] == 'Primary Developer')
 
3116
                              {
 
3117
                                $subResponse[$contactsResponse[$j]['userid']][$applicationsResponse[$i]['application_id']]['primary'] = true;
 
3118
                              }
 
3119
                              else if ($contactsResponse[$j]['type']['type'] == 'Backup Developer')
 
3120
                              {
 
3121
                                $subResponse[$contactsResponse[$j]['userid']][$applicationsResponse[$i]['application_id']]['backup'] = true;
 
3122
                              }
 
3123
                            }
 
3124
                          }
 
3125
                        }
 
3126
                        unset($contactsRequest);
 
3127
                        unset($contactsResponse);
 
3128
                      }
 
3129
                    }
 
3130
                    unset($applicationRequest);
 
3131
                    unset($applicationResponse);
 
3132
                  }
 
3133
                  $strSubject = 'Server Notification:  '.$serverResponse['name'];
 
3134
                  foreach ($subResponse as $key => $value)
 
3135
                  {
 
3136
                    if ($key != '')
 
3137
                    {
 
3138
                      foreach ($value as $subkey => $subvalue)
 
3139
                      {
 
3140
                        if ($subvalue['email'] != '')
 
3141
                        {
 
3142
                          $strMessage  = '<html><body>';
 
3143
                          $strMessage .= '<div style="font-family: arial, helvetica, sans-serif; font-size: 12px;">';
 
3144
                          $strMessage .= '<b><h3>Server Notification:  <a href="http://'.$strServer.'/central/#/Servers/'.$serverResponse['id'].'">'.$serverResponse['name'].'</a></b></h3>';
 
3145
                          $strMessage .= str_replace("\n", '<br>', $request['notification']);
 
3146
                          $strMessage .= '<br><br>';
 
3147
                          $strMessage .= '<b>The following applications depend upon this server:</b>';
 
3148
                          $strMessage .= '<br><br>';
 
3149
                          $strMessage .= '<ul>';
 
3150
                          $strMessage .= '<li><a href="http://'.$strServer.'/central/#/Applications/'.$subkey['id'].'">'.$subvalue['application'].'</a>';
 
3151
                          if (isset($subvalue['primary']))
 
3152
                          {
 
3153
                            $strMessage .= ':  You are a Primary Developer for this application.';
 
3154
                          }
 
3155
                          else if (isset($subvalue['backup']))
 
3156
                          {
 
3157
                            $strMessage .= ':  You are a Backup Developer for this application.';
 
3158
                          }
 
3159
                          $strMessage .= '</ul>';
 
3160
                          $strMessage .= '<br><br>';
 
3161
                          if (sizeof($admin['primary']) > 0)
 
3162
                          {
 
3163
                            $strMessage .= '<br><br>';
 
3164
                            $strMessage .= '<b>Primary Server Admin(s):</b><br>';
 
3165
                            $bFirst = true;
 
3166
                            foreach ($admin['primary'] as $deepkey => $deepvalue)
 
3167
                            {
 
3168
                              if ($bFirst)
 
3169
                              {
 
3170
                                $bFirst = false;
 
3171
                              }
 
3172
                              else
 
3173
                              {
 
3174
                                $strMessage .= ', ';
 
3175
                              }
 
3176
                              $strMessage .= '<a href="http://'.$strServer.'/central/#/Users/?userid='.rawurlencode($deepkey).'">'.$deepvalue.'</a>';
 
3177
                            }
 
3178
                          }
 
3179
                          if (sizeof($admin['backup']) > 0)
 
3180
                          {
 
3181
                            $strMessage .= '<br><br>';
 
3182
                            $strMessage .= '<b>Backup Server Admin(s):</b><br>';
 
3183
                            $bFirst = true;
 
3184
                            foreach ($admin['backup'] as $deepkey => $deepvalue)
 
3185
                            {
 
3186
                              if ($bFirst)
 
3187
                              {
 
3188
                                $bFirst = false;
 
3189
                              }
 
3190
                              else
 
3191
                              {
 
3192
                                $strMessage .= ', ';
 
3193
                              }
 
3194
                              $strMessage .= '<a href="http://'.$strServer.'/central/#/Users/?userid='.rawurlencode($deepkey).'">'.$deepvalue.'</a>';
 
3195
                            }
 
3196
                          }
 
3197
                          $strMessage .= '<br><br>';
 
3198
                          $strMessage .= 'If you have any questions or concerns, please contact primary/backup server admins listed above.';
 
3199
                          $strMessage .= '</div>';
 
3200
                          $strMessage .= '</body></html>';
 
3201
                          if ($this->m_junction->email($this->getUserEmail(), $subvalue['email'], $strSubject, null, $strMessage))
 
3202
                          {
 
3203
                            $subResponse[$key][$subkey]['sent'] = 1;
 
3204
                          }
 
3205
                          else
 
3206
                          {
 
3207
                            $subResponse[$key][$subkey]['sent'] = 0;
 
3208
                          }
 
3209
                        }
 
3210
                      }
 
3211
                    }
 
3212
                  }
 
3213
                  unset($subResponse);
 
3214
                }
 
3215
                unset($applicationsRequest);
 
3216
                unset($applicationsResponse);
3096
3217
                unset($admin);
3097
3218
              }
3098
3219
              unset($contactsRequest);