public function widgetPost() { $widgetId = ipRequest()->getPost('widgetId'); if (!$widgetId) { return \Ip\Response\JsonRpc::error('Missing widgetId POST variable'); } $widgetId = $_POST['widgetId']; $widgetRecord = Model::getWidgetRecord($widgetId); try { if (!$widgetRecord) { return \Ip\Response\JsonRpc::error("Can't find requested Widget: " . $widgetId, 10); } $widgetObject = Model::getWidgetObject($widgetRecord['name']); if (!$widgetObject) { return \Ip\Response\JsonRpc::error("Can't find requested Widget: " . $widgetRecord['name'], 20); } return $widgetObject->post($widgetId, $widgetRecord['data']); } catch (\Ip\Exception\Content $e) { return \Ip\Response\JsonRpc::error($e->getMessage()); } }
public function changeSkin() { $updateData = array(); if (!isset($_POST['widgetId'])) { return $this->_errorAnswer('Missing POST variable widgetId'); } $widgetId = $_POST['widgetId']; $record = Model::getWidgetRecord($widgetId); if (!$record) { return $this->_errorAnswer('Unknown widget. ' . $widgetId); } if (!isset($_POST['skin'])) { return $this->_errorAnswer('Missing POST variable skin'); } $skin = $_POST['skin']; $skin = basename($skin); //to avoid any path manipulation $updateData['skin'] = $skin; Model::updateWidget($record['id'], $updateData); $previewHtml = Model::generateWidgetPreview($widgetId, true); $data = array('status' => 'success', 'action' => '_updateWidget', 'html' => $previewHtml, 'widgetId' => $widgetId); return new \Ip\Response\Json($data); }
public static function getWidget($widgetId) { return Model::getWidgetRecord($widgetId); }