public static function processData($caller, $key, $data, &$processedData) { if (is_array($data) && sizeOf($data) > 0) { $include = new CrelishJsonDataProvider('asset', [], $data['uuid']); $processedData[$key] = $include->one(); } }
public static function processData($caller, $key, $data, &$processedData) { if (empty($processedData[$key])) { $processedData[$key] = []; } if ($data) { foreach ($data as $section => $subContent) { if (empty($processedData[$key][$section])) { $processedData[$key][$section] = ''; } foreach ($subContent as $subContentdata) { $sourceData = new CrelishJsonDataProvider($subContentdata['ctype'], [], $subContentdata['uuid']); // @todo: nesting again. $sourceDataOut = $caller->processContent($subContentdata['ctype'], $sourceData->one()); $processedData[$key][$section] .= $caller->renderPartial($subContentdata['ctype'] . '.twig', ['data' => $sourceDataOut]); } } } }
private function processData($data) { $processedData = []; foreach ($data as $key => $item) { foreach ($item as $reference) { $info = []; $dataItem = new CrelishJsonDataProvider($reference['ctype'], [], $reference['uuid']); $itemData = $dataItem->one(); foreach ($dataItem->definitions->fields as $field) { if ($field->visibleInGrid) { if (!empty($field->label) && !empty($itemData[$field->key])) { $info[] = ['label' => $field->label, 'value' => $itemData[$field->key]]; } } } $processedData[$key][] = ['uuid' => $reference['uuid'], 'ctype' => $reference['ctype'], 'info' => $info]; } } return Json::encode($processedData); }
/** * [resolvePathRequested description] * @return [type] [description] */ private function resolvePathRequested() { $slug = $path = ''; $ctype = 'page'; $this->requestUrl = \Yii::$app->request->getPathInfo(); if (!empty($this->requestUrl)) { $keys = explode('/', $this->requestUrl); if (count($keys) > 1) { $path = $keys[0]; $slug = str_replace(".html", "", $keys[1]); } else { $slug = str_replace(".html", "", $keys[0]); } } $entryDataJoint = new CrelishJsonDataProvider($ctype, ['filter' => ['slug' => $slug]]); $entryModel = $entryDataJoint->one(); $this->entryPoint = ['ctype' => $ctype, 'slug' => $slug, 'path' => $path, 'uuid' => $entryModel['uuid']]; }
/** * [findIdentity description]. * * @param [type] $id [description] * * @return [type] [description] */ public static function findIdentity($id) { $userProvider = new CrelishJsonDataProvider('user', null, $id); $userData = $userProvider->one(); self::prepareUserdata($userData); return new static($userData); }
public function actionDelete() { $id = !empty(\Yii::$app->getRequest()->getQueryParam('uuid')) ? \Yii::$app->getRequest()->getQueryParam('uuid') : null; $modelProvider = new CrelishJsonDataProvider('asset', [], $id); $model = $modelProvider->one(); if (@unlink(\Yii::getAlias('@webroot') . $model['src']) || !file_exists(\Yii::getAlias('@webroot') . $model['src'])) { $modelProvider->delete(); \Yii::$app->session->setFlash('success', 'Asset deleted successfully...'); header("Location: " . Url::to(['asset/index'])); exit(0); } \Yii::$app->session->setFlash('danger', 'Asset could not be deleted...'); header("Location: " . Url::to(['asset/index', ['uuid' => $model['uuid']]])); exit(0); }
/** * [parseFolderContent description] * @param [type] $folder [description] * @return [type] [description] */ public function parseFolderContent($folder) { $filesArr = []; $allModels = []; $fullFolder = \Yii::getAlias($this->pathAlias) . DIRECTORY_SEPARATOR . $folder; if (!file_exists($fullFolder)) { mkdir($fullFolder); } $files = FileHelper::findFiles($fullFolder, ['recursive' => false]); if (isset($files[0])) { foreach ($files as $file) { $filesArr[] = $file; } } foreach ($filesArr as $file) { $finalArr = []; $content = file_get_contents($file); $modelArr = json_decode($content, true); if (is_null($modelArr)) { $segments = explode(DIRECTORY_SEPARATOR, $file); CrelishBaseController::addError("Invalid JSON in " . array_pop($segments)); continue; } $modelArr['id'] = $file; $modelArr['ctype'] = $this->ctype; // todo: Handle special fields... uncertain about this. foreach ($modelArr as $attr => $value) { if (strpos($attr, '__cr_include') !== false) { // Include data. $include = new CrelishJsonDataProvider($value['ctype'], [], $value['uuid']); $finalArr[str_replace('__cr_include', '', $attr)] = $include->one(); } else { $finalArr[$attr] = $value; } } $allModels[] = $finalArr; } return $allModels; }
public function parseFolderContent($folder) { $filesArr = []; $allModels = []; $fullFolder = \Yii::getAlias($this->pathAlias) . DIRECTORY_SEPARATOR . $folder; $files = FileHelper::findFiles($fullFolder); if (isset($files[0])) { foreach ($files as $file) { $filesArr[] = $file; } } foreach ($filesArr as $file) { $finalArr = []; $content = file_get_contents($file); $modelArr = json_decode($content, true); $modelArr['id'] = $file; $modelArr['ctype'] = $this->ctype; // todo: Handle special fields... uncertain about this. foreach ($modelArr as $attr => $value) { if (strpos($attr, '__cr_include') !== false) { // Include data. $include = new CrelishJsonDataProvider($value['ctype'], [], $value['uuid']); $finalArr[str_replace('__cr_include', '', $attr)] = $include->one(); } else { $finalArr[$attr] = $value; } } $allModels[] = $finalArr; } return $allModels; }