@@ -374,6 +374,11 @@ discard block |
||
374 | 374 | } |
375 | 375 | |
376 | 376 | // Function which returns the value based on result type (array / ADODB ResultSet) |
377 | + |
|
378 | + /** |
|
379 | + * @param integer $index |
|
380 | + * @param string $columnname |
|
381 | + */ |
|
377 | 382 | private function resolve_query_result_value($result, $index, $columnname) |
378 | 383 | { |
379 | 384 | $adb = PearDatabase::getInstance(); |
@@ -633,7 +638,7 @@ discard block |
||
633 | 638 | } |
634 | 639 | |
635 | 640 | /** Function to delete a record in the specifed table |
636 | - * @param $table_name -- table name:: Type varchar |
|
641 | + * @param string $table_name -- table name:: Type varchar |
|
637 | 642 | * The function will delete a record .The id is obtained from the class variable $this->id and the columnname got from $this->tab_name_index[$table_name] |
638 | 643 | */ |
639 | 644 | public function deleteRelation($table_name) |
@@ -817,6 +822,7 @@ discard block |
||
817 | 822 | |
818 | 823 | /** Function to saves the values in all the tables mentioned in the class variable $tab_name for the specified module |
819 | 824 | * @param $module -- module:: Type varchar |
825 | + * @param string $module_name |
|
820 | 826 | */ |
821 | 827 | public function save($module_name, $fileid = '') |
822 | 828 | { |
@@ -2562,10 +2568,10 @@ discard block |
||
2562 | 2568 | |
2563 | 2569 | /** |
2564 | 2570 | * |
2565 | - * @param <type> $module |
|
2566 | - * @param <type> $user |
|
2571 | + * @param Users $user |
|
2567 | 2572 | * @param <type> $parentRole |
2568 | 2573 | * @param <type> $userGroups |
2574 | + * @param string $tableName |
|
2569 | 2575 | */ |
2570 | 2576 | protected function setupTemporaryTable($tableName, $tabId, $user, $parentRole, $userGroups) |
2571 | 2577 | { |
@@ -1970,7 +1970,7 @@ discard block |
||
1970 | 1970 | $matrix->addDependency($tab_name, $crmentityRelModuleFieldTable); |
1971 | 1971 | |
1972 | 1972 | if ($queryPlanner->requireTable($crmentityRelModuleFieldTable, $matrix)) { |
1973 | - $relquery.= " left join vtiger_crmentity as $crmentityRelModuleFieldTable on $crmentityRelModuleFieldTable.crmid = $tab_name.$field_name and vtiger_crmentityRel$module$field_id.deleted=0"; |
|
1973 | + $relquery .= " left join vtiger_crmentity as $crmentityRelModuleFieldTable on $crmentityRelModuleFieldTable.crmid = $tab_name.$field_name and vtiger_crmentityRel$module$field_id.deleted=0"; |
|
1974 | 1974 | } |
1975 | 1975 | |
1976 | 1976 | for ($j = 0; $j < $adb->num_rows($ui10_modules_query); $j++) { |
@@ -1984,7 +1984,7 @@ discard block |
||
1984 | 1984 | $rel_tab_name_rel_module_table_alias = $rel_tab_name . "Rel$module$field_id"; |
1985 | 1985 | |
1986 | 1986 | if ($queryPlanner->requireTable($rel_tab_name_rel_module_table_alias)) { |
1987 | - $relquery.= " left join $rel_tab_name as $rel_tab_name_rel_module_table_alias on $rel_tab_name_rel_module_table_alias.$rel_tab_index = $crmentityRelModuleFieldTable.crmid"; |
|
1987 | + $relquery .= " left join $rel_tab_name as $rel_tab_name_rel_module_table_alias on $rel_tab_name_rel_module_table_alias.$rel_tab_index = $crmentityRelModuleFieldTable.crmid"; |
|
1988 | 1988 | } |
1989 | 1989 | } |
1990 | 1990 | } |
@@ -2376,7 +2376,7 @@ discard block |
||
2376 | 2376 | $entitycolumnnames = $entityfields['fieldname']; |
2377 | 2377 | $query = "select crmid as id, $querycolumnnames, $entitycolumnnames as name "; |
2378 | 2378 | $query .= " FROM $this->table_name "; |
2379 | - $query .=" INNER JOIN vtiger_crmentity ON $this->table_name.$this->table_index = vtiger_crmentity.crmid && deleted = 0 "; |
|
2379 | + $query .= " INNER JOIN vtiger_crmentity ON $this->table_name.$this->table_index = vtiger_crmentity.crmid && deleted = 0 "; |
|
2380 | 2380 | |
2381 | 2381 | //remove the base table |
2382 | 2382 | $LookupTable = array_unique($lookuptables); |
@@ -2391,7 +2391,7 @@ discard block |
||
2391 | 2391 | on $this->table_name.$this->table_index = $tablename." . $this->tab_name_index[$tablename]; |
2392 | 2392 | } |
2393 | 2393 | if (!empty($lookupcolumns) && $value !== false) { |
2394 | - $query .=" WHERE "; |
|
2394 | + $query .= " WHERE "; |
|
2395 | 2395 | $i = 0; |
2396 | 2396 | $columnCount = count($lookupcolumns); |
2397 | 2397 | foreach ($lookupcolumns as $columnname) { |
@@ -169,8 +169,9 @@ discard block |
||
169 | 169 | |
170 | 170 | //to get the owner id |
171 | 171 | $ownerid = $this->column_fields['assigned_user_id']; |
172 | - if (!isset($ownerid) || $ownerid == '') |
|
173 | - $ownerid = $current_user->id; |
|
172 | + if (!isset($ownerid) || $ownerid == '') { |
|
173 | + $ownerid = $current_user->id; |
|
174 | + } |
|
174 | 175 | |
175 | 176 | if (isset($file_details['original_name']) && $file_details['original_name'] != null) { |
176 | 177 | $file_name = $file_details['original_name']; |
@@ -338,16 +339,18 @@ discard block |
||
338 | 339 | } else { |
339 | 340 | $this->id = $this->newRecord; |
340 | 341 | } |
341 | - if (empty($current_user->id)) |
|
342 | - $current_user->id = 0; |
|
342 | + if (empty($current_user->id)) { |
|
343 | + $current_user->id = 0; |
|
344 | + } |
|
343 | 345 | |
344 | 346 | // Customization |
345 | 347 | $created_date_var = $adb->formatDate($date_var, true); |
346 | 348 | $modified_date_var = $adb->formatDate($date_var, true); |
347 | 349 | // Preserve the timestamp |
348 | 350 | if (self::isBulkSaveMode()) { |
349 | - if (!empty($this->column_fields['createdtime'])) |
|
350 | - $created_date_var = $adb->formatDate($this->column_fields['createdtime'], true); |
|
351 | + if (!empty($this->column_fields['createdtime'])) { |
|
352 | + $created_date_var = $adb->formatDate($this->column_fields['createdtime'], true); |
|
353 | + } |
|
351 | 354 | //NOTE : modifiedtime ignored to support vtws_sync API track changes. |
352 | 355 | } |
353 | 356 | // END |
@@ -377,10 +380,11 @@ discard block |
||
377 | 380 | private function resolve_query_result_value($result, $index, $columnname) |
378 | 381 | { |
379 | 382 | $adb = PearDatabase::getInstance(); |
380 | - if (is_array($result)) |
|
381 | - return $result[$index][$columnname]; |
|
382 | - else |
|
383 | - return $adb->query_result($result, $index, $columnname); |
|
383 | + if (is_array($result)) { |
|
384 | + return $result[$index][$columnname]; |
|
385 | + } else { |
|
386 | + return $adb->query_result($result, $index, $columnname); |
|
387 | + } |
|
384 | 388 | } |
385 | 389 | |
386 | 390 | /** Function to insert values in the specifed table for the specified module |
@@ -597,10 +601,10 @@ discard block |
||
597 | 601 | } else { |
598 | 602 | $fldvalue = $this->column_fields[$fieldname]; |
599 | 603 | } |
600 | - if ($uitype != 33 && $uitype != 8) |
|
601 | - $fldvalue = \vtlib\Functions::fromHTML($fldvalue, ($insertion_mode == 'edit') ? true : false); |
|
602 | - } |
|
603 | - else { |
|
604 | + if ($uitype != 33 && $uitype != 8) { |
|
605 | + $fldvalue = \vtlib\Functions::fromHTML($fldvalue, ($insertion_mode == 'edit') ? true : false); |
|
606 | + } |
|
607 | + } else { |
|
604 | 608 | $fldvalue = ''; |
605 | 609 | } |
606 | 610 | |
@@ -658,8 +662,9 @@ discard block |
||
658 | 662 | $query1 = "select * from vtiger_seattachmentsrel where crmid=?"; |
659 | 663 | $result = $adb->pquery($query1, array($notesid)); |
660 | 664 | $noofrows = $adb->num_rows($result); |
661 | - if ($noofrows != 0) |
|
662 | - $attachmentid = $adb->query_result($result, 0, 'attachmentsid'); |
|
665 | + if ($noofrows != 0) { |
|
666 | + $attachmentid = $adb->query_result($result, 0, 'attachmentsid'); |
|
667 | + } |
|
663 | 668 | if ($attachmentid != '') { |
664 | 669 | $query2 = "select * from vtiger_attachments where attachmentsid=?"; |
665 | 670 | $filename = $adb->query_result($adb->pquery($query2, array($attachmentid)), 0, 'name'); |
@@ -710,10 +715,11 @@ discard block |
||
710 | 715 | // Lookup module field cache |
711 | 716 | if ($module == 'Calendar' || $module == 'Events') { |
712 | 717 | getColumnFields('Calendar'); |
713 | - if (VTCacheUtils::lookupFieldInfo_Module('Events')) |
|
714 | - $cachedEventsFields = VTCacheUtils::lookupFieldInfo_Module('Events'); |
|
715 | - else |
|
716 | - $cachedEventsFields = []; |
|
718 | + if (VTCacheUtils::lookupFieldInfo_Module('Events')) { |
|
719 | + $cachedEventsFields = VTCacheUtils::lookupFieldInfo_Module('Events'); |
|
720 | + } else { |
|
721 | + $cachedEventsFields = []; |
|
722 | + } |
|
717 | 723 | $cachedCalendarFields = VTCacheUtils::lookupFieldInfo_Module('Calendar'); |
718 | 724 | $cachedModuleFields = array_merge($cachedEventsFields, $cachedCalendarFields); |
719 | 725 | $module = 'Calendar'; |
@@ -858,10 +864,11 @@ discard block |
||
858 | 864 | while ($row = $this->db->fetchByAssoc($result)) { |
859 | 865 | $rowid = $row[$this->table_index]; |
860 | 866 | |
861 | - if (isset($rowid)) |
|
862 | - $this->retrieve_entity_info($rowid, $this->module_name); |
|
863 | - else |
|
864 | - $this->db->println("rowid not set unable to retrieve"); |
|
867 | + if (isset($rowid)) { |
|
868 | + $this->retrieve_entity_info($rowid, $this->module_name); |
|
869 | + } else { |
|
870 | + $this->db->println("rowid not set unable to retrieve"); |
|
871 | + } |
|
865 | 872 | |
866 | 873 | |
867 | 874 | |
@@ -874,10 +881,11 @@ discard block |
||
874 | 881 | } |
875 | 882 | } |
876 | 883 | |
877 | - if (isset($list)) |
|
878 | - return $list; |
|
879 | - else |
|
880 | - return null; |
|
884 | + if (isset($list)) { |
|
885 | + return $list; |
|
886 | + } else { |
|
887 | + return null; |
|
888 | + } |
|
881 | 889 | } |
882 | 890 | |
883 | 891 | /** This function should be overridden in each module. It marks an item as deleted. |
@@ -1047,19 +1055,22 @@ discard block |
||
1047 | 1055 | require_once('include/utils/UserInfoUtil.php'); |
1048 | 1056 | foreach ($this->column_fields as $fieldname => $fieldvalue) { |
1049 | 1057 | $reset_value = false; |
1050 | - if (getFieldVisibilityPermission($moduleName, $current_user->id, $fieldname) != '0') |
|
1051 | - $reset_value = true; |
|
1058 | + if (getFieldVisibilityPermission($moduleName, $current_user->id, $fieldname) != '0') { |
|
1059 | + $reset_value = true; |
|
1060 | + } |
|
1052 | 1061 | |
1053 | - if ($fieldname == "record_id" || $fieldname == "record_module") |
|
1054 | - $reset_value = false; |
|
1062 | + if ($fieldname == "record_id" || $fieldname == "record_module") { |
|
1063 | + $reset_value = false; |
|
1064 | + } |
|
1055 | 1065 | |
1056 | 1066 | /* |
1057 | 1067 | if (isset($this->additional_column_fields) && in_array($fieldname, $this->additional_column_fields) === true) |
1058 | 1068 | $reset_value = false; |
1059 | 1069 | */ |
1060 | 1070 | |
1061 | - if ($reset_value === true) |
|
1062 | - $this->column_fields[$fieldname] = ""; |
|
1071 | + if ($reset_value === true) { |
|
1072 | + $this->column_fields[$fieldname] = ""; |
|
1073 | + } |
|
1063 | 1074 | } |
1064 | 1075 | } |
1065 | 1076 | |
@@ -1105,8 +1116,9 @@ discard block |
||
1105 | 1116 | } |
1106 | 1117 | |
1107 | 1118 | foreach ($colf as $key => $value) { |
1108 | - if (getFieldVisibilityPermission($module, $current_user->id, $key, 'readwrite') == '0') |
|
1109 | - $this->importable_fields[$key] = $value; |
|
1119 | + if (getFieldVisibilityPermission($module, $current_user->id, $key, 'readwrite') == '0') { |
|
1120 | + $this->importable_fields[$key] = $value; |
|
1121 | + } |
|
1110 | 1122 | } |
1111 | 1123 | } |
1112 | 1124 | |
@@ -1356,13 +1368,15 @@ discard block |
||
1356 | 1368 | $num_rows = $adb->num_rows($result); |
1357 | 1369 | for ($i = 0; $i < $num_rows; $i++) { |
1358 | 1370 | $columnname = $adb->query_result($result, $i, 'columnname'); |
1359 | - if (in_array($columnname, $this->sortby_fields)) |
|
1360 | - continue; |
|
1361 | - else |
|
1362 | - $this->sortby_fields[] = $columnname; |
|
1371 | + if (in_array($columnname, $this->sortby_fields)) { |
|
1372 | + continue; |
|
1373 | + } else { |
|
1374 | + $this->sortby_fields[] = $columnname; |
|
1375 | + } |
|
1376 | + } |
|
1377 | + if ($tabid == 21 || $tabid == 22) { |
|
1378 | + $this->sortby_fields[] = 'crmid'; |
|
1363 | 1379 | } |
1364 | - if ($tabid == 21 || $tabid == 22) |
|
1365 | - $this->sortby_fields[] = 'crmid'; |
|
1366 | 1380 | $log->debug("Exiting initSortByField"); |
1367 | 1381 | } |
1368 | 1382 | /* Function to check if the mod number already exits */ |
@@ -1372,10 +1386,11 @@ discard block |
||
1372 | 1386 | $adb = PearDatabase::getInstance(); |
1373 | 1387 | $result = $adb->pquery(sprintf("SELECT %s FROM *s WHERE %s = ?", $adb->sql_escape_string($column), $adb->sql_escape_string($table), $adb->sql_escape_string($column)), [$no]); |
1374 | 1388 | $num_rows = $adb->num_rows($result); |
1375 | - if ($num_rows > 0) |
|
1376 | - return true; |
|
1377 | - else |
|
1378 | - return false; |
|
1389 | + if ($num_rows > 0) { |
|
1390 | + return true; |
|
1391 | + } else { |
|
1392 | + return false; |
|
1393 | + } |
|
1379 | 1394 | } |
1380 | 1395 | |
1381 | 1396 | // END |
@@ -1388,8 +1403,9 @@ discard block |
||
1388 | 1403 | |
1389 | 1404 | vtlib_setup_modulevars($module, $this); |
1390 | 1405 | $tabid = \includes\Modules::getModuleId($module); |
1391 | - if (!\includes\fields\RecordNumber::isModuleSequenceConfigured($tabid)) |
|
1392 | - return; |
|
1406 | + if (!\includes\fields\RecordNumber::isModuleSequenceConfigured($tabid)) { |
|
1407 | + return; |
|
1408 | + } |
|
1393 | 1409 | $fieldinfo = $adb->pquery("SELECT * FROM vtiger_field WHERE tabid = ? && uitype = 4", Array($tabid)); |
1394 | 1410 | |
1395 | 1411 | $returninfo = []; |
@@ -1443,8 +1459,9 @@ discard block |
||
1443 | 1459 | $singular_modname = vtlib_toSingular($related_module); |
1444 | 1460 | $button = ''; |
1445 | 1461 | if ($actions) { |
1446 | - if (is_string($actions)) |
|
1447 | - $actions = explode(',', strtoupper($actions)); |
|
1462 | + if (is_string($actions)) { |
|
1463 | + $actions = explode(',', strtoupper($actions)); |
|
1464 | + } |
|
1448 | 1465 | if (in_array('SELECT', $actions) && isPermitted($related_module, 4, '') == 'yes') { |
1449 | 1466 | $button .= "<input title='" . \includes\Language::translate('LBL_SELECT') . " " . \includes\Language::translate($related_module) . "' class='crmbutton small edit' type='button' onclick=\"return window.open('index.php?module=$related_module&return_module=$currentModule&action=Popup&popuptype=detailview&select=enable&form=EditView&form_submit=false&recordid=$id','test','width=640,height=602,resizable=0,scrollbars=0');\" value='" . \includes\Language::translate('LBL_SELECT') . " " . \includes\Language::translate($related_module) . "'> "; |
1450 | 1467 | } |
@@ -1457,10 +1474,11 @@ discard block |
||
1457 | 1474 | } |
1458 | 1475 | |
1459 | 1476 | // To make the edit or del link actions to return back to same view. |
1460 | - if ($singlepane_view == 'true') |
|
1461 | - $returnset = "&return_module=$this_module&return_action=DetailView&return_id=$id"; |
|
1462 | - else |
|
1463 | - $returnset = "&return_module=$this_module&return_action=CallRelatedList&return_id=$id"; |
|
1477 | + if ($singlepane_view == 'true') { |
|
1478 | + $returnset = "&return_module=$this_module&return_action=DetailView&return_id=$id"; |
|
1479 | + } else { |
|
1480 | + $returnset = "&return_module=$this_module&return_action=CallRelatedList&return_id=$id"; |
|
1481 | + } |
|
1464 | 1482 | |
1465 | 1483 | $userNameSql = \vtlib\Deprecated::getSqlForNameInDisplayFormat(array('first_name' => 'vtiger_users.first_name', |
1466 | 1484 | 'last_name' => 'vtiger_users.last_name'), 'Users'); |
@@ -1482,8 +1500,9 @@ discard block |
||
1482 | 1500 | |
1483 | 1501 | $return_value = GetRelatedList($this_module, $related_module, $other, $query, $button, $returnset); |
1484 | 1502 | |
1485 | - if ($return_value == null) |
|
1486 | - $return_value = []; |
|
1503 | + if ($return_value == null) { |
|
1504 | + $return_value = []; |
|
1505 | + } |
|
1487 | 1506 | $return_value['CUSTOM_BUTTON'] = $button; |
1488 | 1507 | return $return_value; |
1489 | 1508 | } |
@@ -1515,8 +1534,9 @@ discard block |
||
1515 | 1534 | return true; |
1516 | 1535 | } else if ($lastviewed && $modifiedon) { |
1517 | 1536 | /** Lastviewed and Modified time is available. */ |
1518 | - if ($this->__timediff($modifiedon, $lastviewed) > 0) |
|
1519 | - return true; |
|
1537 | + if ($this->__timediff($modifiedon, $lastviewed) > 0) { |
|
1538 | + return true; |
|
1539 | + } |
|
1520 | 1540 | } |
1521 | 1541 | } |
1522 | 1542 | return false; |
@@ -1536,8 +1556,9 @@ discard block |
||
1536 | 1556 | |
1537 | 1557 | $t2 = mktime($t2_h, $t2_i, $t2_s, $t2_m, $t2_d, $t2_y); |
1538 | 1558 | |
1539 | - if ($t1 == $t2) |
|
1540 | - return 0; |
|
1559 | + if ($t1 == $t2) { |
|
1560 | + return 0; |
|
1561 | + } |
|
1541 | 1562 | return $t2 - $t1; |
1542 | 1563 | } |
1543 | 1564 | |
@@ -1557,8 +1578,9 @@ discard block |
||
1557 | 1578 | */ |
1558 | 1579 | public function save_related_module($module, $crmid, $withModule, $withCrmid, $relatedName = false) |
1559 | 1580 | { |
1560 | - if (!is_array($withCrmid)) |
|
1561 | - $withCrmid = [$withCrmid]; |
|
1581 | + if (!is_array($withCrmid)) { |
|
1582 | + $withCrmid = [$withCrmid]; |
|
1583 | + } |
|
1562 | 1584 | switch ($relatedName) { |
1563 | 1585 | case 'get_many_to_many': |
1564 | 1586 | $this->saveRelatedM2M($module, $crmid, $withModule, $withCrmid); |
@@ -1579,8 +1601,9 @@ discard block |
||
1579 | 1601 | foreach ($withCrmid as $relcrmid) { |
1580 | 1602 | $check = $db->pquery(sprintf('SELECT 1 FROM `%s` WHERE %s = ? && %s = ?', $referenceInfo['table'], $referenceInfo['base'], $referenceInfo['rel']), [$relcrmid, $crmid]); |
1581 | 1603 | // Relation already exists? No need to add again |
1582 | - if ($check && $db->getRowCount($check)) |
|
1583 | - continue; |
|
1604 | + if ($check && $db->getRowCount($check)) { |
|
1605 | + continue; |
|
1606 | + } |
|
1584 | 1607 | $db->insert($referenceInfo['table'], [ |
1585 | 1608 | $referenceInfo['base'] => $relcrmid, |
1586 | 1609 | $referenceInfo['rel'] => $crmid |
@@ -1596,8 +1619,9 @@ discard block |
||
1596 | 1619 | if ($withModule == 'Documents') { |
1597 | 1620 | $checkpresence = $db->pquery('SELECT crmid FROM vtiger_senotesrel WHERE crmid = ? && notesid = ?', [$crmid, $relcrmid]); |
1598 | 1621 | // Relation already exists? No need to add again |
1599 | - if ($checkpresence && $db->getRowCount($checkpresence)) |
|
1600 | - continue; |
|
1622 | + if ($checkpresence && $db->getRowCount($checkpresence)) { |
|
1623 | + continue; |
|
1624 | + } |
|
1601 | 1625 | |
1602 | 1626 | $db->insert('vtiger_senotesrel', [ |
1603 | 1627 | 'crmid' => $crmid, |
@@ -1607,8 +1631,9 @@ discard block |
||
1607 | 1631 | $checkpresence = $db->pquery('SELECT crmid FROM vtiger_crmentityrel WHERE crmid = ? && module = ? && relcrmid = ? && relmodule = ?', [$crmid, $module, $relcrmid, $withModule] |
1608 | 1632 | ); |
1609 | 1633 | // Relation already exists? No need to add again |
1610 | - if ($checkpresence && $db->getRowCount($checkpresence)) |
|
1611 | - continue; |
|
1634 | + if ($checkpresence && $db->getRowCount($checkpresence)) { |
|
1635 | + continue; |
|
1636 | + } |
|
1612 | 1637 | |
1613 | 1638 | $db->insert('vtiger_crmentityrel', [ |
1614 | 1639 | 'crmid' => $crmid, |
@@ -1632,8 +1657,9 @@ discard block |
||
1632 | 1657 | public function delete_related_module($module, $crmid, $withModule, $withCrmid) |
1633 | 1658 | { |
1634 | 1659 | $db = PearDatabase::getInstance(); |
1635 | - if (!is_array($withCrmid)) |
|
1636 | - $withCrmid = Array($withCrmid); |
|
1660 | + if (!is_array($withCrmid)) { |
|
1661 | + $withCrmid = Array($withCrmid); |
|
1662 | + } |
|
1637 | 1663 | foreach ($withCrmid as $relcrmid) { |
1638 | 1664 | |
1639 | 1665 | if ($withModule == 'Documents') { |
@@ -1667,8 +1693,9 @@ discard block |
||
1667 | 1693 | |
1668 | 1694 | $button = ''; |
1669 | 1695 | if ($actions) { |
1670 | - if (is_string($actions)) |
|
1671 | - $actions = explode(',', strtoupper($actions)); |
|
1696 | + if (is_string($actions)) { |
|
1697 | + $actions = explode(',', strtoupper($actions)); |
|
1698 | + } |
|
1672 | 1699 | if (in_array('SELECT', $actions) && isPermitted($related_module, 4, '') == 'yes') { |
1673 | 1700 | $button .= "<input title='" . \includes\Language::translate('LBL_SELECT') . " " . \includes\Language::translate($related_module) . "' class='crmbutton small edit' " . |
1674 | 1701 | " type='button' onclick=\"return window.open('index.php?module=$related_module&return_module=$current_module&action=Popup&popuptype=detailview&select=enable&form=EditView&form_submit=false&recordid=$id','test','width=640,height=602,resizable=0,scrollbars=0');\"" . |
@@ -1683,10 +1710,11 @@ discard block |
||
1683 | 1710 | } |
1684 | 1711 | |
1685 | 1712 | // To make the edit or del link actions to return back to same view. |
1686 | - if ($singlepane_view == 'true') |
|
1687 | - $returnset = "&return_module=$current_module&return_action=DetailView&return_id=$id"; |
|
1688 | - else |
|
1689 | - $returnset = "&return_module=$current_module&return_action=CallRelatedList&return_id=$id"; |
|
1713 | + if ($singlepane_view == 'true') { |
|
1714 | + $returnset = "&return_module=$current_module&return_action=DetailView&return_id=$id"; |
|
1715 | + } else { |
|
1716 | + $returnset = "&return_module=$current_module&return_action=CallRelatedList&return_id=$id"; |
|
1717 | + } |
|
1690 | 1718 | |
1691 | 1719 | $query = "SELECT vtiger_crmentity.*, $other->table_name.*"; |
1692 | 1720 | |
@@ -1700,10 +1728,12 @@ discard block |
||
1700 | 1728 | $query .= ", $tname.*"; |
1701 | 1729 | |
1702 | 1730 | // Setup the default JOIN conditions if not specified |
1703 | - if (empty($relmap[1])) |
|
1704 | - $relmap[1] = $other->table_name; |
|
1705 | - if (empty($relmap[2])) |
|
1706 | - $relmap[2] = $relmap[0]; |
|
1731 | + if (empty($relmap[1])) { |
|
1732 | + $relmap[1] = $other->table_name; |
|
1733 | + } |
|
1734 | + if (empty($relmap[2])) { |
|
1735 | + $relmap[2] = $relmap[0]; |
|
1736 | + } |
|
1707 | 1737 | $more_relation .= " LEFT JOIN $tname ON $tname.$relmap[0] = $relmap[1].$relmap[2]"; |
1708 | 1738 | } |
1709 | 1739 | } |
@@ -1717,8 +1747,9 @@ discard block |
||
1717 | 1747 | $query .= " WHERE vtiger_crmentity.deleted = 0 && (vtiger_crmentityrel.crmid = $id || vtiger_crmentityrel.relcrmid = $id)"; |
1718 | 1748 | $return_value = GetRelatedList($current_module, $related_module, $other, $query, $button, $returnset); |
1719 | 1749 | |
1720 | - if ($return_value == null) |
|
1721 | - $return_value = []; |
|
1750 | + if ($return_value == null) { |
|
1751 | + $return_value = []; |
|
1752 | + } |
|
1722 | 1753 | $return_value['CUSTOM_BUTTON'] = $button; |
1723 | 1754 | |
1724 | 1755 | return $return_value; |
@@ -1751,10 +1782,11 @@ discard block |
||
1751 | 1782 | $row = []; |
1752 | 1783 | |
1753 | 1784 | // To make the edit or del link actions to return back to same view. |
1754 | - if ($singlepane_view == 'true') |
|
1755 | - $returnset = "&return_module=$currentModule&return_action=DetailView&return_id=$id"; |
|
1756 | - else |
|
1757 | - $returnset = "&return_module=$currentModule&return_action=CallRelatedList&return_id=$id"; |
|
1785 | + if ($singlepane_view == 'true') { |
|
1786 | + $returnset = "&return_module=$currentModule&return_action=DetailView&return_id=$id"; |
|
1787 | + } else { |
|
1788 | + $returnset = "&return_module=$currentModule&return_action=CallRelatedList&return_id=$id"; |
|
1789 | + } |
|
1758 | 1790 | |
1759 | 1791 | $return_value = null; |
1760 | 1792 | |
@@ -1785,8 +1817,9 @@ discard block |
||
1785 | 1817 | $button .= '<input type="hidden" name="' . $dependentColumn . '" id="' . $dependentColumn . '" value="' . $id . '">'; |
1786 | 1818 | $button .= '<input type="hidden" name="' . $dependentColumn . '_type" id="' . $dependentColumn . '_type" value="' . $currentModule . '">'; |
1787 | 1819 | if ($actions) { |
1788 | - if (is_string($actions)) |
|
1789 | - $actions = explode(',', strtoupper($actions)); |
|
1820 | + if (is_string($actions)) { |
|
1821 | + $actions = explode(',', strtoupper($actions)); |
|
1822 | + } |
|
1790 | 1823 | if (in_array('ADD', $actions) && isPermitted($relatedModule, 1, '') == 'yes' && getFieldVisibilityPermission($relatedModule, $current_user->id, $dependentField, 'readwrite') == '0') { |
1791 | 1824 | $button .= "<input title='" . \includes\Language::translate('LBL_ADD_NEW') . " " . \includes\Language::translate($singular_modname, $relatedModule) . "' class='crmbutton small create'" . |
1792 | 1825 | " onclick='this.form.action.value=\"EditView\";this.form.module.value=\"$relatedModule\"' type='submit' name='button'" . |
@@ -1796,8 +1829,9 @@ discard block |
||
1796 | 1829 | $query = $this->createDependentQuery($other, $row, $id); |
1797 | 1830 | $return_value = GetRelatedList($currentModule, $relatedModule, $other, $query, $button, $returnset); |
1798 | 1831 | } |
1799 | - if ($return_value == null) |
|
1800 | - $return_value = []; |
|
1832 | + if ($return_value == null) { |
|
1833 | + $return_value = []; |
|
1834 | + } |
|
1801 | 1835 | $return_value['CUSTOM_BUTTON'] = $button; |
1802 | 1836 | |
1803 | 1837 | return $return_value; |
@@ -1825,10 +1859,12 @@ discard block |
||
1825 | 1859 | continue; |
1826 | 1860 | } |
1827 | 1861 | // Setup the default JOIN conditions if not specified |
1828 | - if (empty($relmap[1])) |
|
1829 | - $relmap[1] = $other->table_name; |
|
1830 | - if (empty($relmap[2])) |
|
1831 | - $relmap[2] = $relmap[0]; |
|
1862 | + if (empty($relmap[1])) { |
|
1863 | + $relmap[1] = $other->table_name; |
|
1864 | + } |
|
1865 | + if (empty($relmap[2])) { |
|
1866 | + $relmap[2] = $relmap[0]; |
|
1867 | + } |
|
1832 | 1868 | $join .= " LEFT JOIN $tname ON $tname.$relmap[0] = $relmap[1].$relmap[2]"; |
1833 | 1869 | } |
1834 | 1870 | } |
@@ -2353,8 +2389,9 @@ discard block |
||
2353 | 2389 | { |
2354 | 2390 | $adb = PearDatabase::getInstance(); |
2355 | 2391 | |
2356 | - if (!is_array($uitypes)) |
|
2357 | - $uitypes = array($uitypes); |
|
2392 | + if (!is_array($uitypes)) { |
|
2393 | + $uitypes = array($uitypes); |
|
2394 | + } |
|
2358 | 2395 | $module = get_class($this); |
2359 | 2396 | |
2360 | 2397 | $cachedModuleFields = VTCacheUtils::lookupFieldInfo_Module($module); |
@@ -2398,10 +2435,11 @@ discard block |
||
2398 | 2435 | $columnCount = count($lookupcolumns); |
2399 | 2436 | foreach ($lookupcolumns as $columnname) { |
2400 | 2437 | if (!empty($columnname)) { |
2401 | - if ($i == 0 || $i == ($columnCount)) |
|
2402 | - $query .= sprintf("%s = '%s'", $columnname, $value); |
|
2403 | - else |
|
2404 | - $query .= sprintf(" || %s = '%s'", $columnname, $value); |
|
2438 | + if ($i == 0 || $i == ($columnCount)) { |
|
2439 | + $query .= sprintf("%s = '%s'", $columnname, $value); |
|
2440 | + } else { |
|
2441 | + $query .= sprintf(" || %s = '%s'", $columnname, $value); |
|
2442 | + } |
|
2405 | 2443 | $i++; |
2406 | 2444 | } |
2407 | 2445 | } |
@@ -2458,8 +2496,9 @@ discard block |
||
2458 | 2496 | |
2459 | 2497 | public function getUserAccessConditionsQuerySR($module, $currentUser = false, $relatedRecord = false) |
2460 | 2498 | { |
2461 | - if ($currentUser === false) |
|
2462 | - $currentUser = vglobal('current_user'); |
|
2499 | + if ($currentUser === false) { |
|
2500 | + $currentUser = vglobal('current_user'); |
|
2501 | + } |
|
2463 | 2502 | |
2464 | 2503 | $userid = $currentUser->id; |
2465 | 2504 | $userPrivileges = \Vtiger_Util_Helper::getUserPrivilegesFile($userid); |
@@ -2685,10 +2724,11 @@ discard block |
||
2685 | 2724 | $log = LoggerManager::getInstance(); |
2686 | 2725 | $currentModule = vglobal('currentModule'); |
2687 | 2726 | $log->debug("Entering getSortOrder() method ..."); |
2688 | - if (AppRequest::has('sorder')) |
|
2689 | - $sorder = $this->db->sql_escape_string(AppRequest::getForSql('sorder')); |
|
2690 | - else |
|
2691 | - $sorder = (($_SESSION[$currentModule . '_Sort_Order'] != '') ? ($_SESSION[$currentModule . '_Sort_Order']) : ($this->default_sort_order)); |
|
2727 | + if (AppRequest::has('sorder')) { |
|
2728 | + $sorder = $this->db->sql_escape_string(AppRequest::getForSql('sorder')); |
|
2729 | + } else { |
|
2730 | + $sorder = (($_SESSION[$currentModule . '_Sort_Order'] != '') ? ($_SESSION[$currentModule . '_Sort_Order']) : ($this->default_sort_order)); |
|
2731 | + } |
|
2692 | 2732 | $log->debug("Exiting getSortOrder() method ..."); |
2693 | 2733 | return $sorder; |
2694 | 2734 | } |
@@ -2708,10 +2748,11 @@ discard block |
||
2708 | 2748 | $use_default_order_by = $this->default_order_by; |
2709 | 2749 | } |
2710 | 2750 | |
2711 | - if (AppRequest::has('order_by')) |
|
2712 | - $order_by = $this->db->sql_escape_string(AppRequest::getForSql('order_by')); |
|
2713 | - else |
|
2714 | - $order_by = (($_SESSION[$currentModule . '_Order_By'] != '') ? ($_SESSION[$currentModule . '_Order_By']) : ($use_default_order_by)); |
|
2751 | + if (AppRequest::has('order_by')) { |
|
2752 | + $order_by = $this->db->sql_escape_string(AppRequest::getForSql('order_by')); |
|
2753 | + } else { |
|
2754 | + $order_by = (($_SESSION[$currentModule . '_Order_By'] != '') ? ($_SESSION[$currentModule . '_Order_By']) : ($use_default_order_by)); |
|
2755 | + } |
|
2715 | 2756 | $log->debug("Exiting getOrderBy method ..."); |
2716 | 2757 | return $order_by; |
2717 | 2758 | } |
@@ -2751,8 +2792,9 @@ discard block |
||
2751 | 2792 | $selectClause = sprintf('SELECT %s.%s AS recordid,%s%s', $this->table_name, $this->table_index, $tableColumnsString, $additionalColumns); |
2752 | 2793 | |
2753 | 2794 | // Select Custom Field Table Columns if present |
2754 | - if (isset($this->customFieldTable)) |
|
2755 | - $query .= ", " . $this->customFieldTable[0] . ".* "; |
|
2795 | + if (isset($this->customFieldTable)) { |
|
2796 | + $query .= ", " . $this->customFieldTable[0] . ".* "; |
|
2797 | + } |
|
2756 | 2798 | |
2757 | 2799 | $fromClause = " FROM $this->table_name"; |
2758 | 2800 | |
@@ -2796,8 +2838,9 @@ discard block |
||
2796 | 2838 | foreach ($tableColumns as $tableColumn) { |
2797 | 2839 | $tableInfo = explode('.', $tableColumn); |
2798 | 2840 | $duplicateCheckClause .= " ifnull($tableColumn,'null') = ifnull(temp.$tableInfo[1],'null')"; |
2799 | - if (count($tableColumns) != $i++) |
|
2800 | - $duplicateCheckClause .= ' && '; |
|
2841 | + if (count($tableColumns) != $i++) { |
|
2842 | + $duplicateCheckClause .= ' && '; |
|
2843 | + } |
|
2801 | 2844 | } |
2802 | 2845 | |
2803 | 2846 | $query = $selectClause . $fromClause . |
@@ -14,6 +14,9 @@ discard block |
||
14 | 14 | * ****************************************************************************** */ |
15 | 15 | |
16 | 16 | //Fix postgres queries |
17 | +/** |
|
18 | + * @param integer $debug |
|
19 | + */ |
|
17 | 20 | function fixPostgresQuery($query, $log, $debug) |
18 | 21 | { |
19 | 22 | // First select the query fields from the remaining query |
@@ -115,6 +118,9 @@ discard block |
||
115 | 118 | } |
116 | 119 | |
117 | 120 | //return an expanded table field list |
121 | +/** |
|
122 | + * @param string $table |
|
123 | + */ |
|
118 | 124 | function expandRecord($table, $log) |
119 | 125 | { |
120 | 126 | $result = ""; |
@@ -72,7 +72,7 @@ discard block |
||
72 | 72 | if ($debug) |
73 | 73 | $log->info("fixPostgresQuery result: " . $query); |
74 | 74 | |
75 | - return( $query); |
|
75 | + return($query); |
|
76 | 76 | } |
77 | 77 | |
78 | 78 | // Postgres8 will not accept a "tablename.*" entry in the GROUP BY clause |
@@ -111,7 +111,7 @@ discard block |
||
111 | 111 | if ($expanded != '') |
112 | 112 | $expanded = " GROUP BY " . trim($expanded, ","); |
113 | 113 | //return the expanded fieldlist |
114 | - return( $expanded); |
|
114 | + return($expanded); |
|
115 | 115 | } |
116 | 116 | |
117 | 117 | //return an expanded table field list |
@@ -195,5 +195,5 @@ discard block |
||
195 | 195 | $result = substr($result, 0, strlen($result) - 1); |
196 | 196 | |
197 | 197 | //return out new string |
198 | - return( $result); |
|
198 | + return($result); |
|
199 | 199 | } |
@@ -22,8 +22,9 @@ discard block |
||
22 | 22 | $groupClause = ""; |
23 | 23 | $orderClause = ""; |
24 | 24 | |
25 | - if ($debug) |
|
26 | - $log->info("fixPostgresQuery: " . $query); |
|
25 | + if ($debug) { |
|
26 | + $log->info("fixPostgresQuery: " . $query); |
|
27 | + } |
|
27 | 28 | |
28 | 29 | // If we already have an order or group cluase separate ist for later use |
29 | 30 | if (stripos($queryRecord, 'GROUP BY') > 0) { |
@@ -45,32 +46,36 @@ discard block |
||
45 | 46 | $privateGroupList = []; |
46 | 47 | $token = strtok($queryFields, ", () "); |
47 | 48 | while ($token !== false) { |
48 | - if (strpos($token, ".") !== false) |
|
49 | - array_push($privateGroupList, $token); |
|
49 | + if (strpos($token, ".") !== false) { |
|
50 | + array_push($privateGroupList, $token); |
|
51 | + } |
|
50 | 52 | $token = strtok(", () "); |
51 | 53 | } |
52 | 54 | sort($privateGroupList); |
53 | 55 | $groupFields = ""; |
54 | 56 | $last = ""; |
55 | 57 | for ($i = 0; $i < count($privateGroupList); $i++) { |
56 | - if ($last != $privateGroupList[$i]) |
|
57 | - if ($groupFields == "") |
|
58 | + if ($last != $privateGroupList[$i]) { |
|
59 | + if ($groupFields == "") |
|
58 | 60 | $groupFields = $privateGroupList[$i]; |
59 | - else |
|
60 | - $groupFields .= "," . $privateGroupList[$i]; |
|
61 | + } else { |
|
62 | + $groupFields .= "," . $privateGroupList[$i]; |
|
63 | + } |
|
61 | 64 | $last = $privateGroupList[$i]; |
62 | 65 | } |
63 | 66 | |
64 | 67 | // Rebuild the query |
65 | 68 | $query = sprintf("SELECT %s%s", $queryFields, $queryRecord); |
66 | - if ($groupClause != "") |
|
67 | - $groupClause = $groupClause . "," . $groupFields; |
|
68 | - else |
|
69 | - $groupClause = $groupFields; |
|
69 | + if ($groupClause != "") { |
|
70 | + $groupClause = $groupClause . "," . $groupFields; |
|
71 | + } else { |
|
72 | + $groupClause = $groupFields; |
|
73 | + } |
|
70 | 74 | $query .= expandStar($groupClause, $log) . " " . $orderClause; |
71 | 75 | |
72 | - if ($debug) |
|
73 | - $log->info("fixPostgresQuery result: " . $query); |
|
76 | + if ($debug) { |
|
77 | + $log->info("fixPostgresQuery result: " . $query); |
|
78 | + } |
|
74 | 79 | |
75 | 80 | return( $query); |
76 | 81 | } |
@@ -94,22 +99,25 @@ discard block |
||
94 | 99 | $subfield = substr($field, $pos + 1, strlen($field) - $pos); |
95 | 100 | |
96 | 101 | //do we need to expand? |
97 | - if ($subfield == "*") |
|
98 | - $field = expandRecord($table, $log); |
|
102 | + if ($subfield == "*") { |
|
103 | + $field = expandRecord($table, $log); |
|
104 | + } |
|
99 | 105 | } |
100 | 106 | |
101 | 107 | //add the propably expanded field to the querylist |
102 | - if ($expanded == "") |
|
103 | - $expanded = $field; |
|
104 | - else |
|
105 | - $expanded .= "," . $field; |
|
108 | + if ($expanded == "") { |
|
109 | + $expanded = $field; |
|
110 | + } else { |
|
111 | + $expanded .= "," . $field; |
|
112 | + } |
|
106 | 113 | } |
107 | 114 | |
108 | 115 | //next field |
109 | 116 | $field = strtok(","); |
110 | 117 | } |
111 | - if ($expanded != '') |
|
112 | - $expanded = " GROUP BY " . trim($expanded, ","); |
|
118 | + if ($expanded != '') { |
|
119 | + $expanded = " GROUP BY " . trim($expanded, ","); |
|
120 | + } |
|
113 | 121 | //return the expanded fieldlist |
114 | 122 | return( $expanded); |
115 | 123 | } |
@@ -122,68 +130,84 @@ discard block |
||
122 | 130 | $subfields = []; |
123 | 131 | |
124 | 132 | //vtiger_products table |
125 | - if ($table == "vtiger_products") |
|
126 | - $subfields = array("productid", "productname", "productcode", "productcategory", "manufacturer", "qty_per_unit", "unit_price", "weight", "pack_size", "sales_start_date", "sales_end_date", "start_date", "expiry_date", "cost_factor", "commissionrate", "commissionmethod", "discontinued", "usageunit", "currency", "reorderlevel", "website", "taxclass", "mfr_part_no", "vendor_part_no", "serialno", "qtyinstock", "productsheet", "qtyindemand", "glacct", "vendor_id", "imagename"); |
|
133 | + if ($table == "vtiger_products") { |
|
134 | + $subfields = array("productid", "productname", "productcode", "productcategory", "manufacturer", "qty_per_unit", "unit_price", "weight", "pack_size", "sales_start_date", "sales_end_date", "start_date", "expiry_date", "cost_factor", "commissionrate", "commissionmethod", "discontinued", "usageunit", "currency", "reorderlevel", "website", "taxclass", "mfr_part_no", "vendor_part_no", "serialno", "qtyinstock", "productsheet", "qtyindemand", "glacct", "vendor_id", "imagename"); |
|
135 | + } |
|
127 | 136 | |
128 | 137 | //vtiger_activity table |
129 | - elseif ($table == "vtiger_activity") |
|
130 | - $subfields = array("activityid", "subject", "semodule", "activitytype", "date_start", "due_date", "time_start", "time_end", "sendnotification", "duration_hours", "duration_minutes", "status", "eventstatus", "priority", "location", "notime", "visibility", "recurringtype"); |
|
138 | + elseif ($table == "vtiger_activity") { |
|
139 | + $subfields = array("activityid", "subject", "semodule", "activitytype", "date_start", "due_date", "time_start", "time_end", "sendnotification", "duration_hours", "duration_minutes", "status", "eventstatus", "priority", "location", "notime", "visibility", "recurringtype"); |
|
140 | + } |
|
131 | 141 | |
132 | 142 | //vtiger_notes table |
133 | - elseif ($table == "vtiger_notes") |
|
134 | - $subfields = array("notesid", "contact_id", "title", "filename", "notecontent"); |
|
143 | + elseif ($table == "vtiger_notes") { |
|
144 | + $subfields = array("notesid", "contact_id", "title", "filename", "notecontent"); |
|
145 | + } |
|
135 | 146 | |
136 | 147 | //vtiger_faq table |
137 | - elseif ($table == "vtiger_faq") |
|
138 | - $subfields = array("id", "product_id", "question", "answer", "category", "status"); |
|
148 | + elseif ($table == "vtiger_faq") { |
|
149 | + $subfields = array("id", "product_id", "question", "answer", "category", "status"); |
|
150 | + } |
|
139 | 151 | |
140 | 152 | //vtiger_profile2field |
141 | - elseif ($table == "vtiger_profile2field") |
|
142 | - $subfields = array("profileid", "tabid", "fieldid", "visible", "readonly"); |
|
153 | + elseif ($table == "vtiger_profile2field") { |
|
154 | + $subfields = array("profileid", "tabid", "fieldid", "visible", "readonly"); |
|
155 | + } |
|
143 | 156 | |
144 | 157 | //vtiger_field |
145 | - elseif ($table == "vtiger_field") |
|
146 | - $subfields = array("tabid", "fieldid", "columnname", "tablename", "generatedtype", "uitype", "fieldname", "fieldlabel", "readonly", "presence", "selected", "maximumlength", "sequence", "block", "displaytype", "typeofdata", "quickcreate", "quickcreatesequence", "info_type"); |
|
158 | + elseif ($table == "vtiger_field") { |
|
159 | + $subfields = array("tabid", "fieldid", "columnname", "tablename", "generatedtype", "uitype", "fieldname", "fieldlabel", "readonly", "presence", "selected", "maximumlength", "sequence", "block", "displaytype", "typeofdata", "quickcreate", "quickcreatesequence", "info_type"); |
|
160 | + } |
|
147 | 161 | |
148 | 162 | //vtiger_producttaxrel |
149 | - elseif ($table == "vtiger_producttaxrel") |
|
150 | - $subfields = array("productid", "taxid", "taxpercentage"); |
|
163 | + elseif ($table == "vtiger_producttaxrel") { |
|
164 | + $subfields = array("productid", "taxid", "taxpercentage"); |
|
165 | + } |
|
151 | 166 | |
152 | 167 | //vtiger_inventorytaxinfo |
153 | - elseif ($table == "vtiger_inventorytaxinfo") |
|
154 | - $subfields = array("taxid", "taxname", "taxlabel", "percentage", "deleted"); |
|
168 | + elseif ($table == "vtiger_inventorytaxinfo") { |
|
169 | + $subfields = array("taxid", "taxname", "taxlabel", "percentage", "deleted"); |
|
170 | + } |
|
155 | 171 | |
156 | 172 | //vtiger_role2picklist |
157 | - elseif ($table == "vtiger_role2picklist") |
|
158 | - $subfields = array("roleid", "picklistid", "sortid"); |
|
173 | + elseif ($table == "vtiger_role2picklist") { |
|
174 | + $subfields = array("roleid", "picklistid", "sortid"); |
|
175 | + } |
|
159 | 176 | |
160 | 177 | //vtiger_contactdetails |
161 | - elseif ($table == "vtiger_contactdetails") |
|
162 | - $subfields = array("lastname", "contactid", "accountid", "salutation", "firstname", "email", "phone", "mobile", "title", "department", "fax", "reportsto", "training", "usertype", "contacttype", "otheremail", "yahooid", "donotcall", "emailoptout", "imagename", "reference", "notify_owner"); |
|
178 | + elseif ($table == "vtiger_contactdetails") { |
|
179 | + $subfields = array("lastname", "contactid", "accountid", "salutation", "firstname", "email", "phone", "mobile", "title", "department", "fax", "reportsto", "training", "usertype", "contacttype", "otheremail", "yahooid", "donotcall", "emailoptout", "imagename", "reference", "notify_owner"); |
|
180 | + } |
|
163 | 181 | |
164 | 182 | //vtiger_crmentity |
165 | - elseif ($table == "vtiger_crmentity") |
|
166 | - $subfields = array("crmid", "smcreatorid", "smownerid", "modifiedby", "setype", "description", "createdtime", "modifiedtime", "viewedtime", "status", "version", "presence", "deleted"); |
|
183 | + elseif ($table == "vtiger_crmentity") { |
|
184 | + $subfields = array("crmid", "smcreatorid", "smownerid", "modifiedby", "setype", "description", "createdtime", "modifiedtime", "viewedtime", "status", "version", "presence", "deleted"); |
|
185 | + } |
|
167 | 186 | |
168 | 187 | //vtiger_seactivityrel |
169 | - elseif ($table == "vtiger_seactivityrel") |
|
170 | - $subfields = array("crmid", "activityid"); |
|
188 | + elseif ($table == "vtiger_seactivityrel") { |
|
189 | + $subfields = array("crmid", "activityid"); |
|
190 | + } |
|
171 | 191 | |
172 | 192 | //vtiger_cntactivityrel |
173 | - elseif ($table == "vtiger_cntactivityrel") |
|
174 | - $subfields = array("contactid", "activityid"); |
|
193 | + elseif ($table == "vtiger_cntactivityrel") { |
|
194 | + $subfields = array("contactid", "activityid"); |
|
195 | + } |
|
175 | 196 | |
176 | 197 | //vtiger_leaddetails |
177 | - elseif ($table == "vtiger_leaddetails") |
|
178 | - $subfields = array("leadid", "email", "interest", "firstname", "salutation", "lastname", "company", "annualrevenue", "industry", "campaign", "rating", "leadstatus", "leadsource", "converted", "designation", "space", "comments", "priority", "demorequest", "partnercontact", "productversion", "product", "maildate", "nextstepdate", "fundingsituation", "purpose", "evaluationstatus", "transferdate", "revenuetype", "noofemployees", "yahooid", "assignleadchk"); |
|
198 | + elseif ($table == "vtiger_leaddetails") { |
|
199 | + $subfields = array("leadid", "email", "interest", "firstname", "salutation", "lastname", "company", "annualrevenue", "industry", "campaign", "rating", "leadstatus", "leadsource", "converted", "designation", "space", "comments", "priority", "demorequest", "partnercontact", "productversion", "product", "maildate", "nextstepdate", "fundingsituation", "purpose", "evaluationstatus", "transferdate", "revenuetype", "noofemployees", "yahooid", "assignleadchk"); |
|
200 | + } |
|
179 | 201 | |
180 | 202 | //vtiger_pricebook |
181 | - elseif ($table == "vtiger_pricebook") |
|
182 | - $subfields = array("pricebookid", "bookname", "active", "description"); |
|
203 | + elseif ($table == "vtiger_pricebook") { |
|
204 | + $subfields = array("pricebookid", "bookname", "active", "description"); |
|
205 | + } |
|
183 | 206 | |
184 | 207 | //fields of the requested array still undefined |
185 | - else |
|
186 | - $log->info("function expandRecord: please add structural information for table '" . $table . "'"); |
|
208 | + else { |
|
209 | + $log->info("function expandRecord: please add structural information for table '" . $table . "'"); |
|
210 | + } |
|
187 | 211 | |
188 | 212 | //construct an entity string |
189 | 213 | for ($i = 0; $i < count($subfields); $i++) { |
@@ -191,8 +215,9 @@ discard block |
||
191 | 215 | } |
192 | 216 | |
193 | 217 | //remove the trailiung , |
194 | - if (strlen($result) > 0) |
|
195 | - $result = substr($result, 0, strlen($result) - 1); |
|
218 | + if (strlen($result) > 0) { |
|
219 | + $result = substr($result, 0, strlen($result) - 1); |
|
220 | + } |
|
196 | 221 | |
197 | 222 | //return out new string |
198 | 223 | return( $result); |
@@ -390,6 +390,9 @@ discard block |
||
390 | 390 | return false; |
391 | 391 | } |
392 | 392 | |
393 | + /** |
|
394 | + * @param string[] $names |
|
395 | + */ |
|
393 | 396 | public function focusColumnValues($names, $delimeter = "\n") |
394 | 397 | { |
395 | 398 | if (!is_array($names)) { |
@@ -414,6 +417,9 @@ discard block |
||
414 | 417 | return $defvalue; |
415 | 418 | } |
416 | 419 | |
420 | + /** |
|
421 | + * @param string $id |
|
422 | + */ |
|
417 | 423 | public function resolveReferenceLabel($id, $module = false) |
418 | 424 | { |
419 | 425 | if (empty($id)) { |
@@ -448,6 +454,9 @@ discard block |
||
448 | 454 | return $currencyField->getDisplayValue(null, true); |
449 | 455 | } |
450 | 456 | |
457 | + /** |
|
458 | + * @param string $value |
|
459 | + */ |
|
451 | 460 | public function formatDate($value) |
452 | 461 | { |
453 | 462 | return DateTimeField::convertToUserFormat($value); |
@@ -148,7 +148,7 @@ |
||
148 | 148 | $subProducts = $productLineItem["subProductArray{$productLineItemIndex}"]; |
149 | 149 | if ($subProducts != '') { |
150 | 150 | foreach ($subProducts as $subProduct) { |
151 | - $productName .="\n" . " - " . decode_html($subProduct); |
|
151 | + $productName .= "\n" . " - " . decode_html($subProduct); |
|
152 | 152 | } |
153 | 153 | } |
154 | 154 | $contentModel->set('Name', $productName); |
@@ -83,8 +83,9 @@ discard block |
||
83 | 83 | |
84 | 84 | public function Output($filename, $type) |
85 | 85 | { |
86 | - if (is_null($this->focus)) |
|
87 | - return; |
|
86 | + if (is_null($this->focus)) { |
|
87 | + return; |
|
88 | + } |
|
88 | 89 | |
89 | 90 | $pdfgenerator = $this->getPDFGenerator(); |
90 | 91 | |
@@ -256,24 +257,32 @@ discard block |
||
256 | 257 | |
257 | 258 | $addressValues = []; |
258 | 259 | $addressValues[] = $resultrow['address']; |
259 | - if (!empty($resultrow['city'])) |
|
260 | - $addressValues[] = "\n" . $resultrow['city']; |
|
261 | - if (!empty($resultrow['state'])) |
|
262 | - $addressValues[] = "," . $resultrow['state']; |
|
263 | - if (!empty($resultrow['code'])) |
|
264 | - $addressValues[] = $resultrow['code']; |
|
265 | - if (!empty($resultrow['country'])) |
|
266 | - $addressValues[] = "\n" . $resultrow['country']; |
|
260 | + if (!empty($resultrow['city'])) { |
|
261 | + $addressValues[] = "\n" . $resultrow['city']; |
|
262 | + } |
|
263 | + if (!empty($resultrow['state'])) { |
|
264 | + $addressValues[] = "," . $resultrow['state']; |
|
265 | + } |
|
266 | + if (!empty($resultrow['code'])) { |
|
267 | + $addressValues[] = $resultrow['code']; |
|
268 | + } |
|
269 | + if (!empty($resultrow['country'])) { |
|
270 | + $addressValues[] = "\n" . $resultrow['country']; |
|
271 | + } |
|
267 | 272 | |
268 | 273 | $additionalCompanyInfo = []; |
269 | - if (!empty($resultrow['phone'])) |
|
270 | - $additionalCompanyInfo[] = "\n" . \includes\Language::translate("Phone: ", $this->moduleName) . $resultrow['phone']; |
|
271 | - if (!empty($resultrow['fax'])) |
|
272 | - $additionalCompanyInfo[] = "\n" . \includes\Language::translate("Fax: ", $this->moduleName) . $resultrow['fax']; |
|
273 | - if (!empty($resultrow['website'])) |
|
274 | - $additionalCompanyInfo[] = "\n" . \includes\Language::translate("Website: ", $this->moduleName) . $resultrow['website']; |
|
275 | - if (!empty($resultrow['vatid'])) |
|
276 | - $additionalCompanyInfo[] = "\n" . \includes\Language::translate("VAT ID: ", $this->moduleName) . $resultrow['vatid']; |
|
274 | + if (!empty($resultrow['phone'])) { |
|
275 | + $additionalCompanyInfo[] = "\n" . \includes\Language::translate("Phone: ", $this->moduleName) . $resultrow['phone']; |
|
276 | + } |
|
277 | + if (!empty($resultrow['fax'])) { |
|
278 | + $additionalCompanyInfo[] = "\n" . \includes\Language::translate("Fax: ", $this->moduleName) . $resultrow['fax']; |
|
279 | + } |
|
280 | + if (!empty($resultrow['website'])) { |
|
281 | + $additionalCompanyInfo[] = "\n" . \includes\Language::translate("Website: ", $this->moduleName) . $resultrow['website']; |
|
282 | + } |
|
283 | + if (!empty($resultrow['vatid'])) { |
|
284 | + $additionalCompanyInfo[] = "\n" . \includes\Language::translate("VAT ID: ", $this->moduleName) . $resultrow['vatid']; |
|
285 | + } |
|
277 | 286 | |
278 | 287 | $modelColumnLeft = array( |
279 | 288 | 'logo' => "storage/Logo/" . $resultrow['logoname'], |
@@ -430,8 +439,9 @@ discard block |
||
430 | 439 | { |
431 | 440 | $valueString = ''; |
432 | 441 | foreach ($values as $value) { |
433 | - if (empty($value)) |
|
434 | - continue; |
|
442 | + if (empty($value)) { |
|
443 | + continue; |
|
444 | + } |
|
435 | 445 | $valueString .= $value . $delimeter; |
436 | 446 | } |
437 | 447 | return rtrim($valueString, $delimeter); |
@@ -98,7 +98,7 @@ |
||
98 | 98 | |
99 | 99 | /** |
100 | 100 | * Function to get the class name of a given Component, of given Type, for a given Module |
101 | - * @param <String> $componentType |
|
101 | + * @param string $componentType |
|
102 | 102 | * @param <String> $componentName |
103 | 103 | * @param <String> $moduleName |
104 | 104 | * @return <String> Required Class Name |
@@ -124,8 +124,9 @@ |
||
124 | 124 | $secondFallBackModuleDir = $secondFallBackModuleClassPath = $actualModule; |
125 | 125 | if ($actualModule != 'Users') { |
126 | 126 | $baseModule = $moduleHierarchyParts[0]; |
127 | - if ($baseModule == 'Settings') |
|
128 | - $baseModule = 'Settings:Vtiger'; |
|
127 | + if ($baseModule == 'Settings') { |
|
128 | + $baseModule = 'Settings:Vtiger'; |
|
129 | + } |
|
129 | 130 | $firstFallBackDir = str_replace(':', '.', $baseModule); |
130 | 131 | $firstFallBackClassPath = str_replace(':', '_', $baseModule); |
131 | 132 | } |
@@ -54,6 +54,9 @@ discard block |
||
54 | 54 | return $user; |
55 | 55 | } |
56 | 56 | |
57 | + /** |
|
58 | + * @param Vtiger_Request $request |
|
59 | + */ |
|
57 | 60 | protected function triggerCheckPermission($handler, $request) |
58 | 61 | { |
59 | 62 | $moduleName = $request->getModule(); |
@@ -73,6 +76,9 @@ discard block |
||
73 | 76 | throw new \Exception\NoPermitted('LBL_NOT_ACCESSIBLE'); |
74 | 77 | } |
75 | 78 | |
79 | + /** |
|
80 | + * @param Vtiger_Request $request |
|
81 | + */ |
|
76 | 82 | protected function triggerPreProcess($handler, $request) |
77 | 83 | { |
78 | 84 | if ($request->isAjax()) { |
@@ -82,6 +88,9 @@ discard block |
||
82 | 88 | $handler->preProcess($request); |
83 | 89 | } |
84 | 90 | |
91 | + /** |
|
92 | + * @param Vtiger_Request $request |
|
93 | + */ |
|
85 | 94 | protected function triggerPostProcess($handler, $request) |
86 | 95 | { |
87 | 96 | if ($request->isAjax()) { |
@@ -31,6 +31,9 @@ |
||
31 | 31 | file_put_contents(self::$usersFile, '<?php return ' . \vtlib\Functions::varExportMin($users) . ';'); |
32 | 32 | } |
33 | 33 | |
34 | + /** |
|
35 | + * @param string $type |
|
36 | + */ |
|
34 | 37 | public static function getUser($type) |
35 | 38 | { |
36 | 39 | if (self::$usersFileCache === false) { |
@@ -206,6 +206,9 @@ discard block |
||
206 | 206 | } |
207 | 207 | /* Mailhide related code */ |
208 | 208 | |
209 | +/** |
|
210 | + * @param string $ky |
|
211 | + */ |
|
209 | 212 | function _recaptcha_aes_encrypt($val, $ky) |
210 | 213 | { |
211 | 214 | if (!function_exists("mcrypt_encrypt")) { |
@@ -217,6 +220,9 @@ discard block |
||
217 | 220 | return mcrypt_encrypt($enc, $ky, $val, $mode, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"); |
218 | 221 | } |
219 | 222 | |
223 | +/** |
|
224 | + * @param null|string $x |
|
225 | + */ |
|
220 | 226 | function _recaptcha_mailhide_urlbase64($x) |
221 | 227 | { |
222 | 228 | return strtr(base64_encode($x), '+/', '-_'); |
@@ -98,7 +98,6 @@ |
||
98 | 98 | * @param string $pubkey A public key for reCAPTCHA |
99 | 99 | * @param string $error The error given by reCAPTCHA (optional, default is null) |
100 | 100 | * @param boolean $use_ssl Should the request be made over ssl? (optional, default is false) |
101 | - |
|
102 | 101 | * @return string - The HTML to be embedded in the user's form. |
103 | 102 | */ |
104 | 103 | function recaptcha_get_html($pubkey, $error = null, $use_ssl = false) |
@@ -77,7 +77,7 @@ |
||
77 | 77 | $http_request .= $req; |
78 | 78 | |
79 | 79 | $response = ''; |
80 | - if (false == ( $fs = @fsockopen($host, $port, $errno, $errstr, 10) )) { |
|
80 | + if (false == ($fs = @fsockopen($host, $port, $errno, $errstr, 10))) { |
|
81 | 81 | die('Could not open socket'); |
82 | 82 | } |
83 | 83 |
@@ -47,8 +47,9 @@ discard block |
||
47 | 47 | function _recaptcha_qsencode($data) |
48 | 48 | { |
49 | 49 | $req = ""; |
50 | - foreach ($data as $key => $value) |
|
51 | - $req .= $key . '=' . urlencode(stripslashes($value)) . '&'; |
|
50 | + foreach ($data as $key => $value) { |
|
51 | + $req .= $key . '=' . urlencode(stripslashes($value)) . '&'; |
|
52 | + } |
|
52 | 53 | |
53 | 54 | // Cut the last '&' |
54 | 55 | $req = substr($req, 0, strlen($req) - 1); |
@@ -83,8 +84,10 @@ discard block |
||
83 | 84 | |
84 | 85 | fwrite($fs, $http_request); |
85 | 86 | |
86 | - while (!feof($fs)) |
|
87 | - $response .= fgets($fs, 1160); // One TCP-IP packet |
|
87 | + while (!feof($fs)) { |
|
88 | + $response .= fgets($fs, 1160); |
|
89 | + } |
|
90 | + // One TCP-IP packet |
|
88 | 91 | fclose($fs); |
89 | 92 | $response = explode("\r\n\r\n", $response, 2); |
90 | 93 |
@@ -63,7 +63,7 @@ |
||
63 | 63 | |
64 | 64 | /** Function to display the Products which are related to the PriceBook |
65 | 65 | * @param string $query - query to get the list of products which are related to the current PriceBook |
66 | - * @param object $focus - PriceBook object which contains all the information of the current PriceBook |
|
66 | + * @param PriceBooks $focus - PriceBook object which contains all the information of the current PriceBook |
|
67 | 67 | * @param string $returnset - return_module, return_action and return_id which are sequenced with & to pass to the URL which is optional |
68 | 68 | * return array $return_data which will be formed like array('header'=>$header,'entries'=>$entries_list) where as $header contains all the header columns and $entries_list will contain all the Product entries |
69 | 69 | */ |
@@ -115,22 +115,26 @@ discard block |
||
115 | 115 | |
116 | 116 | $limit_start_rec = ($start - 1) * $listMaxEntriesPerPage; |
117 | 117 | |
118 | - if ($adb->isPostgres()) |
|
119 | - $list_result = $adb->pquery($query . |
|
118 | + if ($adb->isPostgres()) { |
|
119 | + $list_result = $adb->pquery($query . |
|
120 | 120 | " OFFSET $limit_start_rec LIMIT $listMaxEntriesPerPage ", []); |
121 | - else |
|
122 | - $list_result = $adb->pquery($query . |
|
121 | + } else { |
|
122 | + $list_result = $adb->pquery($query . |
|
123 | 123 | " LIMIT $limit_start_rec, $listMaxEntriesPerPage ", []); |
124 | + } |
|
124 | 125 | |
125 | 126 | $header = []; |
126 | 127 | $header[] = $mod_strings['LBL_LIST_PRODUCT_NAME']; |
127 | - if (getFieldVisibilityPermission('Products', $current_user->id, 'productcode') == '0') |
|
128 | - $header[] = $mod_strings['LBL_PRODUCT_CODE']; |
|
129 | - if (getFieldVisibilityPermission('Products', $current_user->id, 'unit_price') == '0') |
|
130 | - $header[] = $mod_strings['LBL_PRODUCT_UNIT_PRICE']; |
|
128 | + if (getFieldVisibilityPermission('Products', $current_user->id, 'productcode') == '0') { |
|
129 | + $header[] = $mod_strings['LBL_PRODUCT_CODE']; |
|
130 | + } |
|
131 | + if (getFieldVisibilityPermission('Products', $current_user->id, 'unit_price') == '0') { |
|
132 | + $header[] = $mod_strings['LBL_PRODUCT_UNIT_PRICE']; |
|
133 | + } |
|
131 | 134 | $header[] = $mod_strings['LBL_PB_LIST_PRICE']; |
132 | - if (isPermitted("PriceBooks", "EditView", "") == 'yes' || isPermitted("PriceBooks", "Delete", "") == 'yes') |
|
133 | - $header[] = $mod_strings['LBL_ACTION']; |
|
135 | + if (isPermitted("PriceBooks", "EditView", "") == 'yes' || isPermitted("PriceBooks", "Delete", "") == 'yes') { |
|
136 | + $header[] = $mod_strings['LBL_ACTION']; |
|
137 | + } |
|
134 | 138 | |
135 | 139 | $currency_id = $focus->column_fields['currency_id']; |
136 | 140 | $numRows = $adb->num_rows($list_result); |
@@ -146,10 +150,12 @@ discard block |
||
146 | 150 | |
147 | 151 | $entries = []; |
148 | 152 | $entries[] = textlength_check($adb->query_result($list_result, $i, "productname")); |
149 | - if (getFieldVisibilityPermission('Products', $current_user->id, 'productcode') == '0') |
|
150 | - $entries[] = $adb->query_result($list_result, $i, "productcode"); |
|
151 | - if (getFieldVisibilityPermission('Products', $current_user->id, 'unit_price') == '0') |
|
152 | - $entries[] = CurrencyField::convertToUserFormat($unit_price, null, true); |
|
153 | + if (getFieldVisibilityPermission('Products', $current_user->id, 'productcode') == '0') { |
|
154 | + $entries[] = $adb->query_result($list_result, $i, "productcode"); |
|
155 | + } |
|
156 | + if (getFieldVisibilityPermission('Products', $current_user->id, 'unit_price') == '0') { |
|
157 | + $entries[] = CurrencyField::convertToUserFormat($unit_price, null, true); |
|
158 | + } |
|
153 | 159 | |
154 | 160 | $entries[] = CurrencyField::convertToUserFormat($listprice, null, true); |
155 | 161 | $action = ""; |
@@ -159,12 +165,14 @@ discard block |
||
159 | 165 | $action .= '<img src="' . vtiger_imageurl('blank.gif', $theme) . '" border="0" />'; |
160 | 166 | } |
161 | 167 | if (isPermitted("PriceBooks", "Delete", "") == 'yes' && isPermitted('Products', 'Delete', $entity_id) == 'yes') { |
162 | - if ($action != "") |
|
163 | - $action .= ' | '; |
|
168 | + if ($action != "") { |
|
169 | + $action .= ' | '; |
|
170 | + } |
|
164 | 171 | $action .= '<img src="' . vtiger_imageurl('delete.gif', $theme) . '" onclick="if(confirm(\'' . \includes\Language::translate('ARE_YOU_SURE') . '\')) deletePriceBookProductRel(' . $entity_id . ',' . $pricebook_id . ');" alt="' . \includes\Language::translate('LBL_DELETE') . '" title="' . \includes\Language::translate('LBL_DELETE') . '" style="cursor:pointer;" border="0">'; |
165 | 172 | } |
166 | - if ($action != "") |
|
167 | - $entries[] = $action; |
|
173 | + if ($action != "") { |
|
174 | + $entries[] = $action; |
|
175 | + } |
|
168 | 176 | $entries_list[] = $entries; |
169 | 177 | } |
170 | 178 | $navigationOutput[] = getRecordRangeMessage($list_result, $limit_start_rec, $noofrows); |
@@ -120,6 +120,9 @@ discard block |
||
120 | 120 | public $tag_start = 0; |
121 | 121 | private $dom = null; |
122 | 122 | |
123 | + /** |
|
124 | + * @param simple_html_dom $dom |
|
125 | + */ |
|
123 | 126 | public function __construct($dom) |
124 | 127 | { |
125 | 128 | $this->dom = $dom; |
@@ -1553,6 +1556,10 @@ discard block |
||
1553 | 1556 | } |
1554 | 1557 | |
1555 | 1558 | // parse attributes |
1559 | +/** |
|
1560 | + * @param simple_html_dom_node $node |
|
1561 | + * @param string[] $space |
|
1562 | + */ |
|
1556 | 1563 | protected function parse_attr($node, $name, &$space) |
1557 | 1564 | { |
1558 | 1565 | // Per sourceforge: http://sourceforge.net/tracker/?func=detail&aid=3061408&group_id=218559&atid=1044037 |
@@ -1589,6 +1596,10 @@ discard block |
||
1589 | 1596 | } |
1590 | 1597 | |
1591 | 1598 | // link node's parent |
1599 | +/** |
|
1600 | + * @param simple_html_dom_node $node |
|
1601 | + * @param boolean $is_child |
|
1602 | + */ |
|
1592 | 1603 | protected function link_nodes(&$node, $is_child) |
1593 | 1604 | { |
1594 | 1605 | $node->parent = $this->parent; |
@@ -1599,6 +1610,9 @@ discard block |
||
1599 | 1610 | } |
1600 | 1611 | |
1601 | 1612 | // as a text node |
1613 | +/** |
|
1614 | + * @param string $tag |
|
1615 | + */ |
|
1602 | 1616 | protected function as_text_node($tag) |
1603 | 1617 | { |
1604 | 1618 | $node = new simple_html_dom_node($this); |
@@ -1609,12 +1623,18 @@ discard block |
||
1609 | 1623 | return true; |
1610 | 1624 | } |
1611 | 1625 | |
1626 | +/** |
|
1627 | + * @param string $chars |
|
1628 | + */ |
|
1612 | 1629 | protected function skip($chars) |
1613 | 1630 | { |
1614 | 1631 | $this->pos += strspn($this->doc, $chars, $this->pos); |
1615 | 1632 | $this->char = ($this->pos < $this->size) ? $this->doc[$this->pos] : null; // next |
1616 | 1633 | } |
1617 | 1634 | |
1635 | +/** |
|
1636 | + * @param string $chars |
|
1637 | + */ |
|
1618 | 1638 | protected function copy_skip($chars) |
1619 | 1639 | { |
1620 | 1640 | $pos = $this->pos; |
@@ -1626,6 +1646,9 @@ discard block |
||
1626 | 1646 | return substr($this->doc, $pos, $len); |
1627 | 1647 | } |
1628 | 1648 | |
1649 | +/** |
|
1650 | + * @param string $chars |
|
1651 | + */ |
|
1629 | 1652 | protected function copy_until($chars) |
1630 | 1653 | { |
1631 | 1654 | $pos = $this->pos; |
@@ -1635,6 +1658,9 @@ discard block |
||
1635 | 1658 | return substr($this->doc, $pos, $len); |
1636 | 1659 | } |
1637 | 1660 | |
1661 | +/** |
|
1662 | + * @param string $char |
|
1663 | + */ |
|
1638 | 1664 | protected function copy_until_char($char) |
1639 | 1665 | { |
1640 | 1666 | if ($this->char === null) |
@@ -1655,6 +1681,9 @@ discard block |
||
1655 | 1681 | return substr($this->doc, $pos_old, $pos - $pos_old); |
1656 | 1682 | } |
1657 | 1683 | |
1684 | +/** |
|
1685 | + * @param string $char |
|
1686 | + */ |
|
1658 | 1687 | protected function copy_until_char_escape($char) |
1659 | 1688 | { |
1660 | 1689 | if ($this->char === null) |
@@ -1686,6 +1715,9 @@ discard block |
||
1686 | 1715 | |
1687 | 1716 | // remove noise from html content |
1688 | 1717 | // save the noise in the $this->noise array. |
1718 | +/** |
|
1719 | + * @param string $pattern |
|
1720 | + */ |
|
1689 | 1721 | protected function remove_noise($pattern, $remove_tag = false) |
1690 | 1722 | { |
1691 | 1723 | global $debugObject; |
@@ -1713,6 +1745,9 @@ discard block |
||
1713 | 1745 | } |
1714 | 1746 | |
1715 | 1747 | // restore noise to html content |
1748 | +/** |
|
1749 | + * @param string|null $text |
|
1750 | + */ |
|
1716 | 1751 | function restore_noise($text) |
1717 | 1752 | { |
1718 | 1753 | global $debugObject; |
@@ -399,9 +399,9 @@ discard block |
||
399 | 399 | if (isset($this->_[HDOM_INFO_INNER])) |
400 | 400 | return $this->_[HDOM_INFO_INNER]; |
401 | 401 | switch ($this->nodetype) { |
402 | - case HDOM_TYPE_TEXT: return $this->dom->restore_noise($this->_[HDOM_INFO_TEXT]); |
|
403 | - case HDOM_TYPE_COMMENT: return ''; |
|
404 | - case HDOM_TYPE_UNKNOWN: return ''; |
|
402 | + case HDOM_TYPE_TEXT: return $this->dom->restore_noise($this->_[HDOM_INFO_TEXT]); |
|
403 | + case HDOM_TYPE_COMMENT: return ''; |
|
404 | + case HDOM_TYPE_UNKNOWN: return ''; |
|
405 | 405 | } |
406 | 406 | if (strcasecmp($this->tag, 'script') === 0) |
407 | 407 | return ''; |
@@ -640,19 +640,19 @@ discard block |
||
640 | 640 | } |
641 | 641 | |
642 | 642 | switch ($exp) { |
643 | - case '=': |
|
644 | - return ($value === $pattern); |
|
645 | - case '!=': |
|
646 | - return ($value !== $pattern); |
|
647 | - case '^=': |
|
648 | - return preg_match("/^" . preg_quote($pattern, '/') . "/", $value); |
|
649 | - case '$=': |
|
650 | - return preg_match("/" . preg_quote($pattern, '/') . "$/", $value); |
|
651 | - case '*=': |
|
652 | - if ($pattern[0] == '/') { |
|
653 | - return preg_match($pattern, $value); |
|
654 | - } |
|
655 | - return preg_match("/" . $pattern . "/i", $value); |
|
643 | + case '=': |
|
644 | + return ($value === $pattern); |
|
645 | + case '!=': |
|
646 | + return ($value !== $pattern); |
|
647 | + case '^=': |
|
648 | + return preg_match("/^" . preg_quote($pattern, '/') . "/", $value); |
|
649 | + case '$=': |
|
650 | + return preg_match("/" . preg_quote($pattern, '/') . "$/", $value); |
|
651 | + case '*=': |
|
652 | + if ($pattern[0] == '/') { |
|
653 | + return preg_match($pattern, $value); |
|
654 | + } |
|
655 | + return preg_match("/" . $pattern . "/i", $value); |
|
656 | 656 | } |
657 | 657 | return false; |
658 | 658 | } |
@@ -736,11 +736,11 @@ discard block |
||
736 | 736 | return $this->convert_text($this->attr[$name]); |
737 | 737 | } |
738 | 738 | switch ($name) { |
739 | - case 'outertext': return $this->outertext(); |
|
740 | - case 'innertext': return $this->innertext(); |
|
741 | - case 'plaintext': return $this->text(); |
|
742 | - case 'xmltext': return $this->xmltext(); |
|
743 | - default: return array_key_exists($name, $this->attr); |
|
739 | + case 'outertext': return $this->outertext(); |
|
740 | + case 'innertext': return $this->innertext(); |
|
741 | + case 'plaintext': return $this->text(); |
|
742 | + case 'xmltext': return $this->xmltext(); |
|
743 | + default: return array_key_exists($name, $this->attr); |
|
744 | 744 | } |
745 | 745 | } |
746 | 746 |
@@ -224,7 +224,7 @@ discard block |
||
224 | 224 | { |
225 | 225 | // I am SURE that this doesn't work properly. |
226 | 226 | // It fails to unset the current node from it's current parents nodes or children list first. |
227 | - if($parent !== null) |
|
227 | + if ($parent !== null) |
|
228 | 228 | { |
229 | 229 | $this->parent = $parent; |
230 | 230 | $this->parent->nodes[] = $this; |
@@ -1427,7 +1427,7 @@ discard block |
||
1427 | 1427 | $node->tag = 'unknown'; |
1428 | 1428 | } |
1429 | 1429 | if ($this->char === '>') |
1430 | - $node->_[HDOM_INFO_TEXT].='>'; |
|
1430 | + $node->_[HDOM_INFO_TEXT] .= '>'; |
|
1431 | 1431 | $this->link_nodes($node, true); |
1432 | 1432 | $this->char = ( ++$this->pos < $this->size) ? $this->doc[$this->pos] : null; // next |
1433 | 1433 | return true; |
@@ -1450,7 +1450,7 @@ discard block |
||
1450 | 1450 | } |
1451 | 1451 | |
1452 | 1452 | if ($this->char === '>') |
1453 | - $node->_[HDOM_INFO_TEXT].='>'; |
|
1453 | + $node->_[HDOM_INFO_TEXT] .= '>'; |
|
1454 | 1454 | $this->link_nodes($node, false); |
1455 | 1455 | $this->char = ( ++$this->pos < $this->size) ? $this->doc[$this->pos] : null; // next |
1456 | 1456 | return true; |
@@ -153,8 +153,9 @@ discard block |
||
153 | 153 | echo $lead . $this->tag; |
154 | 154 | if ($show_attr && count($this->attr) > 0) { |
155 | 155 | echo '('; |
156 | - foreach ($this->attr as $k => $v) |
|
157 | - echo "[$k]=>\"" . $this->$k . '", '; |
|
156 | + foreach ($this->attr as $k => $v) { |
|
157 | + echo "[$k]=>\"" . $this->$k . '", '; |
|
158 | + } |
|
158 | 159 | echo ')'; |
159 | 160 | } |
160 | 161 | echo "\n"; |
@@ -246,8 +247,9 @@ discard block |
||
246 | 247 | if ($idx === -1) { |
247 | 248 | return $this->children; |
248 | 249 | } |
249 | -if (isset($this->children[$idx])) |
|
250 | +if (isset($this->children[$idx])) { |
|
250 | 251 | return $this->children[$idx]; |
252 | +} |
|
251 | 253 | return null; |
252 | 254 | } |
253 | 255 | |
@@ -290,14 +292,17 @@ discard block |
||
290 | 292 | // returns the previous sibling of node |
291 | 293 | function prev_sibling() |
292 | 294 | { |
293 | -if ($this->parent === null) |
|
295 | +if ($this->parent === null) { |
|
294 | 296 | return null; |
297 | +} |
|
295 | 298 | $idx = 0; |
296 | 299 | $count = count($this->parent->children); |
297 | -while ($idx < $count && $this !== $this->parent->children[$idx]) |
|
300 | +while ($idx < $count && $this !== $this->parent->children[$idx]) { |
|
298 | 301 | ++$idx; |
299 | -if (--$idx < 0) |
|
302 | +} |
|
303 | +if (--$idx < 0) { |
|
300 | 304 | return null; |
305 | +} |
|
301 | 306 | return $this->parent->children[$idx]; |
302 | 307 | } |
303 | 308 | |
@@ -328,14 +333,17 @@ discard block |
||
328 | 333 | // get dom node's inner html |
329 | 334 | function innertext() |
330 | 335 | { |
331 | -if (isset($this->_[HDOM_INFO_INNER])) |
|
336 | +if (isset($this->_[HDOM_INFO_INNER])) { |
|
332 | 337 | return $this->_[HDOM_INFO_INNER]; |
333 | -if (isset($this->_[HDOM_INFO_TEXT])) |
|
338 | +} |
|
339 | +if (isset($this->_[HDOM_INFO_TEXT])) { |
|
334 | 340 | return $this->dom->restore_noise($this->_[HDOM_INFO_TEXT]); |
341 | +} |
|
335 | 342 | |
336 | 343 | $ret = ''; |
337 | -foreach ($this->nodes as $n) |
|
344 | +foreach ($this->nodes as $n) { |
|
338 | 345 | $ret .= $n->outertext(); |
346 | +} |
|
339 | 347 | return $ret; |
340 | 348 | } |
341 | 349 | |
@@ -353,18 +361,21 @@ discard block |
||
353 | 361 | $debugObject->debugLog(1, 'Innertext of tag: ' . $this->tag . $text); |
354 | 362 | } |
355 | 363 | |
356 | -if ($this->tag === 'root') |
|
364 | +if ($this->tag === 'root') { |
|
357 | 365 | return $this->innertext(); |
366 | +} |
|
358 | 367 | |
359 | 368 | // trigger callback |
360 | 369 | if ($this->dom && $this->dom->callback !== null) { |
361 | 370 | call_user_func_array($this->dom->callback, array($this)); |
362 | 371 | } |
363 | 372 | |
364 | -if (isset($this->_[HDOM_INFO_OUTER])) |
|
373 | +if (isset($this->_[HDOM_INFO_OUTER])) { |
|
365 | 374 | return $this->_[HDOM_INFO_OUTER]; |
366 | -if (isset($this->_[HDOM_INFO_TEXT])) |
|
375 | +} |
|
376 | +if (isset($this->_[HDOM_INFO_TEXT])) { |
|
367 | 377 | return $this->dom->restore_noise($this->_[HDOM_INFO_TEXT]); |
378 | +} |
|
368 | 379 | |
369 | 380 | // render begin tag |
370 | 381 | if ($this->dom && $this->dom->nodes[$this->_[HDOM_INFO_BEGIN]]) { |
@@ -388,25 +399,29 @@ discard block |
||
388 | 399 | } |
389 | 400 | |
390 | 401 | // render end tag |
391 | -if (isset($this->_[HDOM_INFO_END]) && $this->_[HDOM_INFO_END] != 0) |
|
402 | +if (isset($this->_[HDOM_INFO_END]) && $this->_[HDOM_INFO_END] != 0) { |
|
392 | 403 | $ret .= '</' . $this->tag . '>'; |
404 | +} |
|
393 | 405 | return $ret; |
394 | 406 | } |
395 | 407 | |
396 | 408 | // get dom node's plain text |
397 | 409 | function text() |
398 | 410 | { |
399 | -if (isset($this->_[HDOM_INFO_INNER])) |
|
411 | +if (isset($this->_[HDOM_INFO_INNER])) { |
|
400 | 412 | return $this->_[HDOM_INFO_INNER]; |
413 | +} |
|
401 | 414 | switch ($this->nodetype) { |
402 | 415 | case HDOM_TYPE_TEXT: return $this->dom->restore_noise($this->_[HDOM_INFO_TEXT]); |
403 | 416 | case HDOM_TYPE_COMMENT: return ''; |
404 | 417 | case HDOM_TYPE_UNKNOWN: return ''; |
405 | 418 | } |
406 | -if (strcasecmp($this->tag, 'script') === 0) |
|
419 | +if (strcasecmp($this->tag, 'script') === 0) { |
|
407 | 420 | return ''; |
408 | -if (strcasecmp($this->tag, 'style') === 0) |
|
421 | +} |
|
422 | +if (strcasecmp($this->tag, 'style') === 0) { |
|
409 | 423 | return ''; |
424 | +} |
|
410 | 425 | |
411 | 426 | $ret = ''; |
412 | 427 | // In rare cases, (always node type 1 or HDOM_TYPE_ELEMENT - observed for some span tags, and some p tags) $this->nodes is set to NULL. |
@@ -437,8 +452,9 @@ discard block |
||
437 | 452 | function makeup() |
438 | 453 | { |
439 | 454 | // text, comment, unknown |
440 | -if (isset($this->_[HDOM_INFO_TEXT])) |
|
455 | +if (isset($this->_[HDOM_INFO_TEXT])) { |
|
441 | 456 | return $this->dom->restore_noise($this->_[HDOM_INFO_TEXT]); |
457 | +} |
|
442 | 458 | |
443 | 459 | $ret = '<' . $this->tag; |
444 | 460 | $i = -1; |
@@ -447,14 +463,15 @@ discard block |
||
447 | 463 | ++$i; |
448 | 464 | |
449 | 465 | // skip removed attribute |
450 | - if ($val === null || $val === false) |
|
451 | - continue; |
|
466 | + if ($val === null || $val === false) { |
|
467 | + continue; |
|
468 | + } |
|
452 | 469 | |
453 | 470 | $ret .= $this->_[HDOM_INFO_SPACE][$i][0]; |
454 | 471 | //no value attr: nowrap, checked selected... |
455 | - if ($val === true) |
|
456 | - $ret .= $key; |
|
457 | - else { |
|
472 | + if ($val === true) { |
|
473 | + $ret .= $key; |
|
474 | + } else { |
|
458 | 475 | switch ($this->_[HDOM_INFO_QUOTE][$i]) { |
459 | 476 | case HDOM_QUOTE_DOUBLE: $quote = '"'; |
460 | 477 | break; |
@@ -474,18 +491,21 @@ discard block |
||
474 | 491 | function find($selector, $idx = null, $lowercase = false) |
475 | 492 | { |
476 | 493 | $selectors = $this->parse_selector($selector); |
477 | -if (($count = count($selectors)) === 0) |
|
494 | +if (($count = count($selectors)) === 0) { |
|
478 | 495 | return []; |
496 | +} |
|
479 | 497 | $found_keys = []; |
480 | 498 | |
481 | 499 | // find each selector |
482 | 500 | for ($c = 0; $c < $count; ++$c) { |
483 | 501 | // The change on the below line was documented on the sourceforge code tracker id 2788009 |
484 | 502 | // used to be: if (($levle=count($selectors[0]))===0) return []; |
485 | - if (($levle = count($selectors[$c])) === 0) |
|
486 | - return []; |
|
487 | - if (!isset($this->_[HDOM_INFO_BEGIN])) |
|
488 | - return []; |
|
503 | + if (($levle = count($selectors[$c])) === 0) { |
|
504 | + return []; |
|
505 | + } |
|
506 | + if (!isset($this->_[HDOM_INFO_BEGIN])) { |
|
507 | + return []; |
|
508 | + } |
|
489 | 509 | |
490 | 510 | $head = array($this->_[HDOM_INFO_BEGIN] => 1); |
491 | 511 | |
@@ -501,8 +521,9 @@ discard block |
||
501 | 521 | } |
502 | 522 | |
503 | 523 | foreach ($head as $k => $v) { |
504 | - if (!isset($found_keys[$k])) |
|
505 | - $found_keys[$k] = 1; |
|
524 | + if (!isset($found_keys[$k])) { |
|
525 | + $found_keys[$k] = 1; |
|
526 | + } |
|
506 | 527 | } |
507 | 528 | } |
508 | 529 | |
@@ -510,14 +531,16 @@ discard block |
||
510 | 531 | ksort($found_keys); |
511 | 532 | |
512 | 533 | $found = []; |
513 | -foreach ($found_keys as $k => $v) |
|
534 | +foreach ($found_keys as $k => $v) { |
|
514 | 535 | $found[] = $this->dom->nodes[$k]; |
536 | +} |
|
515 | 537 | |
516 | 538 | // return nth-element or array |
517 | -if (is_null($idx)) |
|
539 | +if (is_null($idx)) { |
|
518 | 540 | return $found; |
519 | -else if ($idx < 0) |
|
541 | +} else if ($idx < 0) { |
|
520 | 542 | $idx = count($found) + $idx; |
543 | +} |
|
521 | 544 | return (isset($found[$idx])) ? $found[$idx] : null; |
522 | 545 | } |
523 | 546 | |
@@ -562,8 +585,9 @@ discard block |
||
562 | 585 | $pass = true; |
563 | 586 | |
564 | 587 | if ($tag === '*' && !$key) { |
565 | - if (in_array($node, $this->children, true)) |
|
566 | - $ret[$i] = 1; |
|
588 | + if (in_array($node, $this->children, true)) { |
|
589 | + $ret[$i] = 1; |
|
590 | + } |
|
567 | 591 | continue; |
568 | 592 | } |
569 | 593 | |
@@ -574,11 +598,13 @@ discard block |
||
574 | 598 | // compare key |
575 | 599 | if ($pass && $key) { |
576 | 600 | if ($no_key) { |
577 | - if (isset($node->attr[$key])) |
|
578 | - $pass = false; |
|
601 | + if (isset($node->attr[$key])) { |
|
602 | + $pass = false; |
|
603 | + } |
|
579 | 604 | } else { |
580 | - if (($key != "plaintext") && !isset($node->attr[$key])) |
|
581 | - $pass = false; |
|
605 | + if (($key != "plaintext") && !isset($node->attr[$key])) { |
|
606 | + $pass = false; |
|
607 | + } |
|
582 | 608 | } |
583 | 609 | } |
584 | 610 | // compare value |
@@ -614,16 +640,19 @@ discard block |
||
614 | 640 | } else { |
615 | 641 | $check = $this->match($exp, $val, $k); |
616 | 642 | } |
617 | - if ($check) |
|
618 | - break; |
|
643 | + if ($check) { |
|
644 | + break; |
|
645 | + } |
|
619 | 646 | } |
620 | 647 | } |
621 | 648 | } |
622 | - if (!$check) |
|
623 | - $pass = false; |
|
649 | + if (!$check) { |
|
650 | + $pass = false; |
|
651 | + } |
|
652 | + } |
|
653 | + if ($pass) { |
|
654 | + $ret[$i] = 1; |
|
624 | 655 | } |
625 | - if ($pass) |
|
626 | - $ret[$i] = 1; |
|
627 | 656 | unset($node); |
628 | 657 | } |
629 | 658 | // It's passed by reference so this is actually what this function returns. |
@@ -683,11 +712,13 @@ discard block |
||
683 | 712 | |
684 | 713 | foreach ($matches as $m) { |
685 | 714 | $m[0] = trim($m[0]); |
686 | - if ($m[0] === '' || $m[0] === '/' || $m[0] === '//') |
|
687 | - continue; |
|
715 | + if ($m[0] === '' || $m[0] === '/' || $m[0] === '//') { |
|
716 | + continue; |
|
717 | + } |
|
688 | 718 | // for browser generated xpath |
689 | - if ($m[1] === 'tbody') |
|
690 | - continue; |
|
719 | + if ($m[1] === 'tbody') { |
|
720 | + continue; |
|
721 | + } |
|
691 | 722 | |
692 | 723 | list($tag, $key, $val, $exp, $no_key) = array($m[1], null, null, '=', false); |
693 | 724 | if (!empty($m[2])) { |
@@ -725,8 +756,9 @@ discard block |
||
725 | 756 | $result = []; |
726 | 757 | } |
727 | 758 | } |
728 | -if (count($result) > 0) |
|
759 | +if (count($result) > 0) { |
|
729 | 760 | $selectors[] = $result; |
761 | +} |
|
730 | 762 | return $selectors; |
731 | 763 | } |
732 | 764 | |
@@ -749,8 +781,9 @@ discard block |
||
749 | 781 | switch ($name) { |
750 | 782 | case 'outertext': return $this->_[HDOM_INFO_OUTER] = $value; |
751 | 783 | case 'innertext': |
752 | - if (isset($this->_[HDOM_INFO_TEXT])) |
|
753 | - return $this->_[HDOM_INFO_TEXT] = $value; |
|
784 | + if (isset($this->_[HDOM_INFO_TEXT])) { |
|
785 | + return $this->_[HDOM_INFO_TEXT] = $value; |
|
786 | + } |
|
754 | 787 | return $this->_[HDOM_INFO_INNER] = $value; |
755 | 788 | } |
756 | 789 | if (!isset($this->attr[$name])) { |
@@ -773,9 +806,10 @@ discard block |
||
773 | 806 | |
774 | 807 | function __unset($name) |
775 | 808 | { |
776 | -if (isset($this->attr[$name])) |
|
809 | +if (isset($this->attr[$name])) { |
|
777 | 810 | unset($this->attr[$name]); |
778 | 811 | } |
812 | +} |
|
779 | 813 | |
780 | 814 | // PaperG - Function to convert the text from one character set to another if the two sets are not the same. |
781 | 815 | function convert_text($text) |
@@ -835,27 +869,30 @@ discard block |
||
835 | 869 | for ($i = 0; $i < $len; $i++) { |
836 | 870 | $c = ord($str[$i]); |
837 | 871 | if ($c > 128) { |
838 | - if (($c >= 254)) |
|
839 | - return false; |
|
840 | - elseif ($c >= 252) |
|
841 | - $bits = 6; |
|
842 | - elseif ($c >= 248) |
|
843 | - $bits = 5; |
|
844 | - elseif ($c >= 240) |
|
845 | - $bits = 4; |
|
846 | - elseif ($c >= 224) |
|
847 | - $bits = 3; |
|
848 | - elseif ($c >= 192) |
|
849 | - $bits = 2; |
|
850 | - else |
|
851 | - return false; |
|
852 | - if (($i + $bits) > $len) |
|
853 | - return false; |
|
872 | + if (($c >= 254)) { |
|
873 | + return false; |
|
874 | + } elseif ($c >= 252) { |
|
875 | + $bits = 6; |
|
876 | + } elseif ($c >= 248) { |
|
877 | + $bits = 5; |
|
878 | + } elseif ($c >= 240) { |
|
879 | + $bits = 4; |
|
880 | + } elseif ($c >= 224) { |
|
881 | + $bits = 3; |
|
882 | + } elseif ($c >= 192) { |
|
883 | + $bits = 2; |
|
884 | + } else { |
|
885 | + return false; |
|
886 | + } |
|
887 | + if (($i + $bits) > $len) { |
|
888 | + return false; |
|
889 | + } |
|
854 | 890 | while ($bits > 1) { |
855 | 891 | $i++; |
856 | 892 | $b = ord($str[$i]); |
857 | - if ($b < 128 || $b > 191) |
|
858 | - return false; |
|
893 | + if ($b < 128 || $b > 191) { |
|
894 | + return false; |
|
895 | + } |
|
859 | 896 | $bits--; |
860 | 897 | } |
861 | 898 | } |
@@ -1175,8 +1212,9 @@ discard block |
||
1175 | 1212 | function save($filepath = '') |
1176 | 1213 | { |
1177 | 1214 | $ret = $this->root->innertext(); |
1178 | -if ($filepath !== '') |
|
1215 | +if ($filepath !== '') { |
|
1179 | 1216 | file_put_contents($filepath, $ret, LOCK_EX); |
1217 | +} |
|
1180 | 1218 | return $ret; |
1181 | 1219 | } |
1182 | 1220 | |
@@ -1195,9 +1233,10 @@ discard block |
||
1195 | 1233 | $n = null; |
1196 | 1234 | } |
1197 | 1235 | // This add next line is documented in the sourceforge repository. 2977248 as a fix for ongoing memory leaks that occur even with the use of clear. |
1198 | -if (isset($this->children)) |
|
1236 | +if (isset($this->children)) { |
|
1199 | 1237 | foreach ($this->children as $n) { |
1200 | 1238 | $n->clear(); |
1239 | +} |
|
1201 | 1240 | $n = null; |
1202 | 1241 | } |
1203 | 1242 | if (isset($this->parent)) { |
@@ -1249,9 +1288,10 @@ discard block |
||
1249 | 1288 | $this->root->_[HDOM_INFO_BEGIN] = -1; |
1250 | 1289 | $this->root->nodetype = HDOM_TYPE_ROOT; |
1251 | 1290 | $this->parent = $this->root; |
1252 | -if ($this->size > 0) |
|
1291 | +if ($this->size > 0) { |
|
1253 | 1292 | $this->char = $this->doc[0]; |
1254 | 1293 | } |
1294 | +} |
|
1255 | 1295 | |
1256 | 1296 | // parse html content |
1257 | 1297 | protected function parse() |
@@ -1360,8 +1400,9 @@ discard block |
||
1360 | 1400 | $tag = $this->copy_until_char('>'); |
1361 | 1401 | |
1362 | 1402 | // skip attributes in end tag |
1363 | - if (($pos = strpos($tag, ' ')) !== false) |
|
1364 | - $tag = substr($tag, 0, $pos); |
|
1403 | + if (($pos = strpos($tag, ' ')) !== false) { |
|
1404 | + $tag = substr($tag, 0, $pos); |
|
1405 | + } |
|
1365 | 1406 | |
1366 | 1407 | $parent_lower = strtolower($this->parent->tag); |
1367 | 1408 | $tag_lower = strtolower($tag); |
@@ -1371,23 +1412,25 @@ discard block |
||
1371 | 1412 | $this->parent->_[HDOM_INFO_END] = 0; |
1372 | 1413 | $org_parent = $this->parent; |
1373 | 1414 | |
1374 | - while (($this->parent->parent) && strtolower($this->parent->tag) !== $tag_lower) |
|
1375 | - $this->parent = $this->parent->parent; |
|
1415 | + while (($this->parent->parent) && strtolower($this->parent->tag) !== $tag_lower) { |
|
1416 | + $this->parent = $this->parent->parent; |
|
1417 | + } |
|
1376 | 1418 | |
1377 | 1419 | if (strtolower($this->parent->tag) !== $tag_lower) { |
1378 | 1420 | $this->parent = $org_parent; // restore origonal parent |
1379 | - if ($this->parent->parent) |
|
1380 | - $this->parent = $this->parent->parent; |
|
1421 | + if ($this->parent->parent) { |
|
1422 | + $this->parent = $this->parent->parent; |
|
1423 | + } |
|
1381 | 1424 | $this->parent->_[HDOM_INFO_END] = $this->cursor; |
1382 | 1425 | return $this->as_text_node($tag); |
1383 | 1426 | } |
1384 | - } |
|
1385 | - else if (($this->parent->parent) && isset($this->block_tags[$tag_lower])) { |
|
1427 | + } else if (($this->parent->parent) && isset($this->block_tags[$tag_lower])) { |
|
1386 | 1428 | $this->parent->_[HDOM_INFO_END] = 0; |
1387 | 1429 | $org_parent = $this->parent; |
1388 | 1430 | |
1389 | - while (($this->parent->parent) && strtolower($this->parent->tag) !== $tag_lower) |
|
1390 | - $this->parent = $this->parent->parent; |
|
1431 | + while (($this->parent->parent) && strtolower($this->parent->tag) !== $tag_lower) { |
|
1432 | + $this->parent = $this->parent->parent; |
|
1433 | + } |
|
1391 | 1434 | |
1392 | 1435 | if (strtolower($this->parent->tag) !== $tag_lower) { |
1393 | 1436 | $this->parent = $org_parent; // restore origonal parent |
@@ -1397,13 +1440,15 @@ discard block |
||
1397 | 1440 | } else if (($this->parent->parent) && strtolower($this->parent->parent->tag) === $tag_lower) { |
1398 | 1441 | $this->parent->_[HDOM_INFO_END] = 0; |
1399 | 1442 | $this->parent = $this->parent->parent; |
1400 | - } else |
|
1401 | - return $this->as_text_node($tag); |
|
1443 | + } else { |
|
1444 | + return $this->as_text_node($tag); |
|
1445 | + } |
|
1402 | 1446 | } |
1403 | 1447 | |
1404 | 1448 | $this->parent->_[HDOM_INFO_END] = $this->cursor; |
1405 | - if ($this->parent->parent) |
|
1406 | - $this->parent = $this->parent->parent; |
|
1449 | + if ($this->parent->parent) { |
|
1450 | + $this->parent = $this->parent->parent; |
|
1451 | + } |
|
1407 | 1452 | |
1408 | 1453 | $this->char = ( ++$this->pos < $this->size) ? $this->doc[$this->pos] : null; // next |
1409 | 1454 | return true; |
@@ -1426,8 +1471,9 @@ discard block |
||
1426 | 1471 | $node->nodetype = HDOM_TYPE_UNKNOWN; |
1427 | 1472 | $node->tag = 'unknown'; |
1428 | 1473 | } |
1429 | - if ($this->char === '>') |
|
1430 | - $node->_[HDOM_INFO_TEXT].='>'; |
|
1474 | + if ($this->char === '>') { |
|
1475 | + $node->_[HDOM_INFO_TEXT].='>'; |
|
1476 | + } |
|
1431 | 1477 | $this->link_nodes($node, true); |
1432 | 1478 | $this->char = ( ++$this->pos < $this->size) ? $this->doc[$this->pos] : null; // next |
1433 | 1479 | return true; |
@@ -1449,8 +1495,9 @@ discard block |
||
1449 | 1495 | return true; |
1450 | 1496 | } |
1451 | 1497 | |
1452 | - if ($this->char === '>') |
|
1453 | - $node->_[HDOM_INFO_TEXT].='>'; |
|
1498 | + if ($this->char === '>') { |
|
1499 | + $node->_[HDOM_INFO_TEXT].='>'; |
|
1500 | + } |
|
1454 | 1501 | $this->link_nodes($node, false); |
1455 | 1502 | $this->char = ( ++$this->pos < $this->size) ? $this->doc[$this->pos] : null; // next |
1456 | 1503 | return true; |
@@ -1511,8 +1558,9 @@ discard block |
||
1511 | 1558 | if ($name !== '/' && $name !== '') { |
1512 | 1559 | $space[1] = $this->copy_skip($this->token_blank); |
1513 | 1560 | $name = $this->restore_noise($name); |
1514 | - if ($this->lowercase) |
|
1515 | - $name = strtolower($name); |
|
1561 | + if ($this->lowercase) { |
|
1562 | + $name = strtolower($name); |
|
1563 | + } |
|
1516 | 1564 | if ($this->char === '=') { |
1517 | 1565 | $this->char = ( ++$this->pos < $this->size) ? $this->doc[$this->pos] : null; // next |
1518 | 1566 | $this->parse_attr($node, $name, $space); |
@@ -1520,14 +1568,17 @@ discard block |
||
1520 | 1568 | //no value attr: nowrap, checked selected... |
1521 | 1569 | $node->_[HDOM_INFO_QUOTE][] = HDOM_QUOTE_NO; |
1522 | 1570 | $node->attr[$name] = true; |
1523 | - if ($this->char != '>') |
|
1524 | - $this->char = $this->doc[--$this->pos]; // prev |
|
1571 | + if ($this->char != '>') { |
|
1572 | + $this->char = $this->doc[--$this->pos]; |
|
1573 | + } |
|
1574 | + // prev |
|
1525 | 1575 | } |
1526 | 1576 | $node->_[HDOM_INFO_SPACE][] = $space; |
1527 | 1577 | $space = array($this->copy_skip($this->token_blank), '', ''); |
1528 | - } else |
|
1529 | - break; |
|
1530 | -} while ($this->char !== '>' && $this->char !== '/'); |
|
1578 | + } else { |
|
1579 | + break; |
|
1580 | + } |
|
1581 | + } while ($this->char !== '>' && $this->char !== '/'); |
|
1531 | 1582 | |
1532 | 1583 | $this->link_nodes($node, true); |
1533 | 1584 | $node->_[HDOM_INFO_ENDSPACE] = $space[0]; |
@@ -1538,9 +1589,10 @@ discard block |
||
1538 | 1589 | $node->_[HDOM_INFO_END] = 0; |
1539 | 1590 | } else { |
1540 | 1591 | // reset parent |
1541 | - if (!isset($this->self_closing_tags[strtolower($node->tag)])) |
|
1542 | - $this->parent = $node; |
|
1543 | -} |
|
1592 | + if (!isset($this->self_closing_tags[strtolower($node->tag)])) { |
|
1593 | + $this->parent = $node; |
|
1594 | + } |
|
1595 | + } |
|
1544 | 1596 | $this->char = ( ++$this->pos < $this->size) ? $this->doc[$this->pos] : null; // next |
1545 | 1597 | // If it's a BR tag, we need to set it's text to the default text. |
1546 | 1598 | // This way when we see it in plaintext, we can generate formatting that the user wants. |
@@ -1621,8 +1673,9 @@ discard block |
||
1621 | 1673 | $len = strspn($this->doc, $chars, $pos); |
1622 | 1674 | $this->pos += $len; |
1623 | 1675 | $this->char = ($this->pos < $this->size) ? $this->doc[$this->pos] : null; // next |
1624 | -if ($len === 0) |
|
1676 | +if ($len === 0) { |
|
1625 | 1677 | return ''; |
1678 | +} |
|
1626 | 1679 | return substr($this->doc, $pos, $len); |
1627 | 1680 | } |
1628 | 1681 | |
@@ -1637,8 +1690,9 @@ discard block |
||
1637 | 1690 | |
1638 | 1691 | protected function copy_until_char($char) |
1639 | 1692 | { |
1640 | -if ($this->char === null) |
|
1693 | +if ($this->char === null) { |
|
1641 | 1694 | return ''; |
1695 | +} |
|
1642 | 1696 | |
1643 | 1697 | if (($pos = strpos($this->doc, $char, $this->pos)) === false) { |
1644 | 1698 | $ret = substr($this->doc, $this->pos, $this->size - $this->pos); |
@@ -1647,8 +1701,9 @@ discard block |
||
1647 | 1701 | return $ret; |
1648 | 1702 | } |
1649 | 1703 | |
1650 | -if ($pos === $this->pos) |
|
1704 | +if ($pos === $this->pos) { |
|
1651 | 1705 | return ''; |
1706 | +} |
|
1652 | 1707 | $pos_old = $this->pos; |
1653 | 1708 | $this->char = $this->doc[$pos]; |
1654 | 1709 | $this->pos = $pos; |
@@ -1657,8 +1712,9 @@ discard block |
||
1657 | 1712 | |
1658 | 1713 | protected function copy_until_char_escape($char) |
1659 | 1714 | { |
1660 | -if ($this->char === null) |
|
1715 | +if ($this->char === null) { |
|
1661 | 1716 | return ''; |
1717 | +} |
|
1662 | 1718 | |
1663 | 1719 | $start = $this->pos; |
1664 | 1720 | while (1) { |
@@ -1669,8 +1725,9 @@ discard block |
||
1669 | 1725 | return $ret; |
1670 | 1726 | } |
1671 | 1727 | |
1672 | - if ($pos === $this->pos) |
|
1673 | - return ''; |
|
1728 | + if ($pos === $this->pos) { |
|
1729 | + return ''; |
|
1730 | + } |
|
1674 | 1731 | |
1675 | 1732 | if ($this->doc[$pos - 1] === '\\') { |
1676 | 1733 | $start = $pos + 1; |