public function actionSave($class) { $postdata = file_get_contents("php://input"); $post = CJSON::decode($postdata); if (isset($post['list'])) { MenuTree::cleanMenuItems($post['list']); $options = MenuTree::getOptions($class); $code = "<?php \n\n" . MenuTree::OPTIONS_COMMENT_START . "\n\$options = " . FormBuilder::formatCode($options, '') . ";\n" . MenuTree::OPTIONS_COMMENT_END . "\n\nreturn " . FormBuilder::formatCode($post['list'], '') . ";"; file_put_contents(Yii::getPathOfAlias($class) . ".php", $code); } }
public static function cleanMenuItems(&$list) { foreach ($list as $k => $v) { if (isset($v['items'])) { MenuTree::cleanMenuItems($list[$k]['items']); } if (isset($list[$k]['items']) && empty($list[$k]['items'])) { unset($list[$k]['items']); } if (@$list[$k]['state'] == "") { unset($list[$k]['state']); } } }