/** * function to validate type of contact image * * @param Array $param array of contact/profile field to be edited/added * * @param String $imageIndex index of image field * * @param String $statusMsg status message to be set after operation * * @opType String $opType type of operation like fatal, bounce etc * @return boolean true if valid image extension */ public static function processImageParams(&$params, $imageIndex = 'image_URL', $statusMsg = null, $opType = 'status') { $mimeType = array('image/jpeg', 'image/jpg', 'image/png', 'image/bmp', 'image/p-jpeg', 'image/gif', 'image/x-png'); if (in_array($params[$imageIndex]['type'], $mimeType)) { $params[$imageIndex] = CRM_Contact_BAO_Contact::getRelativePath($params[$imageIndex]['name']); return true; } else { unset($params[$imageIndex]); if (!$statusMsg) { $statusMsg = ts('Image could not be uploaded due to invalid type extension.'); } if ($opType == 'status') { CRM_Core_Session::setStatus($statusMsg); } // FIXME: additional support for fatal, bounce etc could be added. return false; } }