|
12 | 12 | -------------------------------------------------------------------------*/ |
13 | 13 |
|
14 | 14 | // no direct access |
15 | | -defined( '_JEXEC' ) or die( 'Restricted access' ); |
| 15 | +\defined( '_JEXEC' ) or die( 'Restricted access' ); |
| 16 | + |
| 17 | +use \Joomla\CMS\Factory; |
| 18 | +use \Joomla\CMS\Language\Text; |
| 19 | +use \Joomla\CMS\Helper\ModuleHelper; |
| 20 | +use \Joomla\CMS\HTML\HTMLHelper; |
| 21 | +use \Joomla\CMS\MVC\Model\BaseDatabaseModel; |
| 22 | +use \Joomla\CMS\Plugin\PluginHelper; |
| 23 | +use \Joomla\CMS\Form\Form; |
| 24 | +use \Joomla\Registry\Registry; |
16 | 25 |
|
17 | 26 | $field_ids = $params->get('fields', array()); |
18 | 27 |
|
19 | | -JPluginHelper::importPlugin('fields'); |
20 | | -JHtml::_('jquery.framework'); |
21 | | -JHtml::_('bootstrap.tooltip'); |
22 | | -JHtml::_('behavior.multiselect'); |
23 | | -JHtml::_('formbehavior.chosen', 'select'); |
| 28 | +PluginHelper::importPlugin('fields'); |
| 29 | +HTMLHelper::_('jquery.framework'); |
| 30 | +HTMLHelper::_('bootstrap.tooltip'); |
| 31 | +HTMLHelper::_('behavior.multiselect'); |
| 32 | +if (version_compare(JVERSION, '4', '<')) { |
| 33 | + HTMLHelper::_('formbehavior.chosen', 'select'); |
| 34 | +} |
24 | 35 |
|
25 | | -$app = JFactory::getApplication(); |
26 | | -$form = new JForm('quickfields'); |
| 36 | +$app = Factory::getApplication(); |
| 37 | +$form = new Form('quickfields'); |
27 | 38 | $xml = new DOMDocument('1.0', 'UTF-8'); |
28 | 39 | $fieldsNode = $xml->appendChild(new DOMElement('form'))->appendChild(new DOMElement('fields')); |
29 | 40 | $fieldsNode->setAttribute('name', 'mod_quickfields'); |
|
35 | 46 | $model = QFHelper::getModel(); |
36 | 47 | } |
37 | 48 | else { |
38 | | - JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR.'/components/com_fields/models/'); |
39 | | - $model = JModelLegacy::getInstance('Field', 'FieldsModel'); |
| 49 | + BaseDatabaseModel::addIncludePath(JPATH_ADMINISTRATOR.'/components/com_fields/models/'); |
| 50 | + $model = BaseDatabaseModel::getInstance('Field', 'FieldsModel'); |
40 | 51 | } |
41 | 52 |
|
42 | 53 | if (!$model) { |
43 | | - print JText::_('MOD_QUICK_FIELDS_MODEL_NOT_FOUND'); |
| 54 | + print Text::_('MOD_QUICK_FIELDS_MODEL_NOT_FOUND'); |
44 | 55 | return; |
45 | 56 | } |
46 | 57 |
|
47 | | -$user = JFactory::getUser(); |
| 58 | +$user = Factory::getUser(); |
48 | 59 |
|
49 | 60 | $fields = array(); |
50 | 61 | foreach($field_ids as $field_id) { |
51 | 62 | $field = $model->getItem($field_id); |
52 | | - $field->params = new JRegistry($field->params); |
53 | | - $field->fieldparams = new JRegistry($field->fieldparams); |
| 63 | + $field->params = new Registry($field->params); |
| 64 | + $field->fieldparams = new Registry($field->fieldparams); |
54 | 65 | if($field->context == 'com_users.user') { |
55 | 66 | if (!$user->guest) { |
56 | 67 | $fieldValues = $model->getFieldValues($field_ids, $user->id); |
|
81 | 92 | $field->value = $value; |
82 | 93 | } |
83 | 94 | } |
| 95 | + else { |
| 96 | + $field->value = null; |
| 97 | + } |
84 | 98 | } |
85 | 99 | else { |
86 | 100 | // This field requires log-in |
|
124 | 138 | if (!is_null($data)) { |
125 | 139 | $value = $model->getFieldValue($field->id, $data->id); |
126 | 140 | if ($value === null) { |
| 141 | + $field->new_rawvalue = null; |
127 | 142 | continue; |
128 | 143 | } |
129 | 144 | if (!is_array($value) && $value !== '') { |
|
179 | 194 |
|
180 | 195 | if ($msg_fields_body != '') { |
181 | 196 | // Create email |
182 | | - $msg_fields_body = '<table width="80%" border="1"><tr style="background-color: #ccc; font-weight: bold;"><td>'.JText::_('MOD_QUICK_FIELDS_NOTIFICATION_HEADER_FIELD_TITLE').'</td><td>'.JText::_('MOD_QUICK_FIELDS_NOTIFICATION_HEADER_PREVIOUS_VALUE').'</td><td>'.JText::_('MOD_QUICK_FIELDS_NOTIFICATION_HEADER_CURRENT_VALUE').'</td><td>'.JText::_('MOD_QUICK_FIELDS_NOTIFICATION_HEADER_CHANGED_ON').'</td></tr>'.$msg_fields_body.'</table>'; |
| 197 | + $msg_fields_body = '<table width="80%" border="1"><tr style="background-color: #ccc; font-weight: bold;"><td>'.Text::_('MOD_QUICK_FIELDS_NOTIFICATION_HEADER_FIELD_TITLE').'</td><td>'.Text::_('MOD_QUICK_FIELDS_NOTIFICATION_HEADER_PREVIOUS_VALUE').'</td><td>'.Text::_('MOD_QUICK_FIELDS_NOTIFICATION_HEADER_CURRENT_VALUE').'</td><td>'.Text::_('MOD_QUICK_FIELDS_NOTIFICATION_HEADER_CHANGED_ON').'</td></tr>'.$msg_fields_body.'</table>'; |
183 | 198 |
|
184 | 199 | if (trim($params->get('notification_email', '')) != '') { |
185 | 200 | // TODO: Create Email! |
186 | | - $mail = JFactory::getMailer(); |
| 201 | + $mail = Factory::getMailer(); |
187 | 202 | $mail->isHTML(true); |
188 | 203 | // Mail Recipients |
189 | 204 | $recipients = $params->get('notification_email', ''); |
|
204 | 219 | $str_count = 0; |
205 | 220 | $body = str_replace('%fields%', $msg_fields_body, $body, $str_count); |
206 | 221 | if (($str_count + $preg_count) == 0) { |
207 | | - $body .= JText::_('MOD_QUICK_FIELDS_NO_FIELDS_TAG_IN_BODY_WARNING'); |
| 222 | + $body .= Text::_('MOD_QUICK_FIELDS_NO_FIELDS_TAG_IN_BODY_WARNING'); |
208 | 223 | } |
209 | 224 | $mail->setBody($body); |
210 | 225 |
|
211 | 226 | if ($mail->Send() !== true) { |
212 | | - print JText::_('MOD_QUICK_FIELDS_FAILED_SENDING_NOTIFICATION_EMAIL'); |
| 227 | + print Text::_('MOD_QUICK_FIELDS_FAILED_SENDING_NOTIFICATION_EMAIL'); |
213 | 228 | } |
214 | 229 | } |
215 | 230 | else { |
216 | | - print JText::_('MOD_QUICK_FIELDS_NOTIFICATION_EMAIL_COULD_NOT_BE_SENT_BECAUSE_NO_RECIPIENT_SPECIFIED'); |
| 231 | + print Text::_('MOD_QUICK_FIELDS_NOTIFICATION_EMAIL_COULD_NOT_BE_SENT_BECAUSE_NO_RECIPIENT_SPECIFIED'); |
217 | 232 | } |
218 | 233 | } |
219 | 234 | } |
220 | 235 |
|
221 | 236 | if ((is_array($form->getFieldset('quickfields'))) && (count($form->getFieldset('quickfields')) > 0)) { |
222 | | - require JModuleHelper::getLayoutPath('mod_quick_fields'); |
| 237 | + require ModuleHelper::getLayoutPath('mod_quick_fields'); |
223 | 238 | } |
224 | 239 |
|
225 | 240 | ?> |
0 commit comments