示例#1
0
 /**
  * Updates the widget
  *
  * @param int $widgetId
  * @param array $postData
  * @param array $currentData
  * @return array
  */
 public function update($widgetId, $postData, $currentData)
 {
     $dataSource = new DataSource($postData['sourceFile']);
     $sourceId = $dataSource->getId();
     $dataToSave = array('tableTypeId' => $postData['tableTypeId'], 'sourceFile' => $postData['sourceFile'], 'sourceId' => $sourceId);
     $error = $dataSource->validate();
     if (!empty($error)) {
         $dataToSave['error'] = $error;
         return $dataToSave;
     }
     if (isset($currentData['sourceId']) && $currentData['sourceId'] != $sourceId) {
         TableRepository::removeTableOf($currentData['sourceId']);
     }
     TableRepository::import($dataSource);
     return $dataToSave;
 }