getOption('core_path').'/components/simplx/mirage/simplx_mirage.php'); $result = false; if($debugmode){ $modx->setLogLevel(modX::LOG_LEVEL_DEBUG); Simplx_Mirage::$_debugmode = true; Simplx_Mirage_Class::$_debugmode = true; Simplx_Mirage_Object::$_debugmode = true; } $modx->log(modX::LOG_LEVEL_ERROR, 'Snippet simplx.mirage : '); /* Check if the Simplx Mirage setup Snippet has run. Otherwise do so. The "simplx.mirage.setup.hasrun" flag is a System Setting which is is only present if the setup has run. */ if(!$modx->getOption('simplx.mirage.setup.hasrun')){ $modx->log(modX::LOG_LEVEL_DEBUG, 'Snippet simplx.mirage : Setting "simplx.mirage.setup.hasrun" was either false or did not exist. Running Snippet "simplx.mirage.setup".'); $result = $modx->runSnippet('simplx.mirage.setup'); if($result === true){ $modx->log(modX::LOG_LEVEL_DEBUG, 'Snippet simplx.mirage : Running "simplx.mirage.setup" returned true.'); }else{ $modx->log(modX::LOG_LEVEL_ERROR, 'Snippet simplx.mirage : Running "simplx.mirage.setup" returned false. Aborting.'); return false; } }else{ } switch($get){ case 'objects': if(!$class){ return false; } if(!$query){ $query = array(); }else{ $query = json_decode($query,true); if(!is_array($query)){ $modx->log(modX::LOG_LEVEL_ERROR, 'Snippet "simplx.mirage", case "objects": Malformed JSON query "'.$query.'".'); $query = array(); } } $mirageClass = new Simplx_Mirage_Class($class); $list = $mirageClass->getObjects($query); $result = array(); foreach($list as $obj){ $result[] = $obj->toArray(); } break; case 'schema': if(!$class){ return false; } $mirageClass = new Simplx_Mirage_Class($class); $result = $mirageClass->toJSON(); break; case 'object': if(!$id) return false; $mirageObject = new Simplx_Mirage_Object($id); $result = $mirageObject->toJSON(); break; default: } return json_encode($result);