function removeLinkedProperty($object, $property, $module) { $value = SQLSelectOne("SELECT * FROM pvalues WHERE ID='" . getValueIdByName($object, $property) . "'"); if ($value['ID']) { if (!$value['LINKED_MODULES']) { $tmp = array(); } else { $tmp = explode(',', $value['LINKED_MODULES']); } if (in_array($module, $tmp)) { $total = count($tmp); $res = array(); for ($i = 0; $i < $total; $i++) { if ($tmp[$i] != $module) { $res[] = $tmp[$i]; } } $tmp = $res; $value['LINKED_MODULES'] = implode(',', $tmp); SQLUpdate('pvalues', $value); } } else { return 0; } }
SQLExec("DELETE FROM history WHERE ADDED > NOW()"); SQLExec("DELETE FROM shouts WHERE ADDED > NOW()"); SQLExec("DELETE FROM jobs WHERE PROCESSED = 1"); SQLExec("DELETE FROM history WHERE (TO_DAYS(NOW()) - TO_DAYS(ADDED)) >= 5"); // CHECKING DATA $tables = array('commands' => 'commands', 'owproperties' => 'onewire', 'snmpproperties' => 'snmpdevices', 'zwave_properties' => 'zwave', 'mqtt' => 'mqtt', 'modbusdevices' => 'modbus'); $value_ids = array(); foreach ($tables as $k => $v) { $sqlQuery = "SELECT *\n FROM {$k}\n WHERE LINKED_OBJECT != ''\n AND LINKED_PROPERTY != ''"; $data = SQLSelect($sqlQuery); $total = count($data); for ($i = 0; $i < $total; $i++) { $module = $v; $property = $data[$i]['LINKED_OBJECT'] . '.' . $data[$i]['LINKED_PROPERTY']; if (!$value_ids[$property]) { $value_ids[$property] = getValueIdByName($data[$i]['LINKED_OBJECT'], $data[$i]['LINKED_PROPERTY']); } if ($value_ids[$property]) { $sqlQuery = "SELECT *\n FROM pvalues\n WHERE ID = " . (int) $value_ids[$property]; $value = SQLSelectOne($sqlQuery); if (!$value['LINKED_MODULES']) { $tmp = array(); } else { $tmp = explode(',', $value['LINKED_MODULES']); } if (!in_array($v, $tmp)) { echo "{$property} adding linked" . PHP_EOL; $tmp[] = $v; $value['LINKED_MODULES'] = implode(',', $tmp); SQLUpdate('pvalues', $value); }