<?php require_once __DIR__ . '/../app/register.php'; LogOpt::init('contents_loader', true); $draft_files = scandir(DRAFT_PATH); foreach ($draft_files as $draft) { if ($draft[0] == '.') { continue; } $article_id = StringOpt::spider_string($draft, 'draft', '.tpl'); if (empty($article_id)) { continue; } $title = Repository::findTitleFromArticle(array('eq' => array('article_id' => $article_id))); if ($title == false) { LogOpt::set('exception', '草稿原文不存在', 'article_id', $article_id); continue; } echo '是否加载该草稿到日志原文?《' . $title . '》' . '(arctile_id:' . $article_id . ') [y/N]'; $sure = fgets(STDIN); if (trim($sure[0]) != 'Y' && trim($sure[0]) != 'y') { continue; } $draft_file = DRAFT_PATH . '/draft' . $article_id . '.tpl'; $infos = array(); $infos['draft'] = file_get_contents($draft_file); $contents = TechlogTools::pre_treat_article($infos['draft']); $indexs = json_encode(TechlogTools::get_index($contents)); if ($indexs != null) { $infos['indexs'] = $indexs; }
<?php require_once __DIR__ . '/../app/register.php'; LogOpt::init('earnings_loader', true); $options = getopt('m:a:i:e:'); if (!isset($options['m']) || !isset($options['a']) || !isset($options['i']) || !isset($options['e'])) { echo "useage: php earnings_loader.php -m month -a image_id" . " -i income -e expend (图片大小:400*345)" . PHP_EOL; return; } $month = $options['m']; $income = (double) $options['i']; $expend = (double) $options['e']; $image_id = (int) $options['a']; $sql = 'select path from images where image_id = ' . $image_id; $path = Repository::findPathFromImages(array('eq' => array('image_id' => $image_id))); if ($path == false) { LogOpt::set('exception', 'image_not_exists'); return false; } $article = new ArticleModel(array('title' => $month . '财报', 'updatetime' => 'now()', 'inserttime' => 'now()', 'draft' => '<div>' . PHP_EOL . '<!-- 图片大小:700*467 -->' . PHP_EOL . '</div>', 'category_id' => 6)); $article_id = Repository::persist($article); if ($article_id == false) { LogOpt::set('exception', 'new_note_insert_into_article_error'); return false; } LogOpt::set('info', 'new_note_insert_into_article_success', 'article_id', $article_id); $infos = array(); $infos['article_id'] = $article_id; $infos['image_id'] = $image_id; $infos['month'] = $month; $infos['income'] = $income;
<?php require_once __DIR__ . '/../app/register.php'; LogOpt::init('revise_article', true); $options = getopt('i:'); if (!isset($options['i']) || !is_numeric($options['i'])) { echo 'usage: php revise_article.php -i article_id' . PHP_EOL; return; } $article = Repository::findOneFromArticle(array('eq' => array('article_id' => $options['i']))); if ($article == false) { LogOpt::set('exception', 'cannot find the article', 'article_id', $options['i']); return; } $filename = DRAFT_PATH . '/draft' . $options['i'] . '.tpl'; file_put_contents($filename, $article->get_draft()); LogOpt::set('info', '已将文件加载至' . $filename, 'article_id', $options['i'], 'title', $article->get_title());
<?php require_once __DIR__ . '/../app/register.php'; LogOpt::init('article_creater', true); $options = getopt('i:t:g:c:d:a:'); if (!isset($options['t']) || !isset($options['g']) || !isset($options['c'])) { echo 'usage: php article_creater.php' . ' [-a inserttime] [-i article_id] -t title' . ' [-d title_desc] -g tags -c category' . PHP_EOL; return; } if (isset($options['i'])) { $draft_file = DRAFT_PATH . '/draft' . $options['i'] . '.tpl'; } else { $draft_file = DRAFT_PATH . '/draft.tpl'; } if (!file_exists($draft_file)) { echo '指定日志的草稿不存在' . PHP_EOL; return; } $infos = array(); // 获取 contents $infos['draft'] = file_get_contents($draft_file); $temp_contents = TechlogTools::pre_treat_article($infos['draft']); // 获取 index $indexs = json_encode(TechlogTools::get_index($temp_contents)); if ($indexs != null) { $infos['indexs'] = $indexs; } // 获取 images $image_ids = array(); while (1) { $image_path = StringOpt::spider_string($temp_contents, 'img<![&&]>src="', '"', $temp_contents);
<?php require_once __DIR__ . '/../app/register.php'; LogOpt::init('note_loader', true); $options = getopt('b:i:d:'); if (!isset($options['b']) || !isset($options['i'])) { echo "usage: php note_loader.php -b bookname -i bookimageid [-d desc]" . PHP_EOL; return; } $bookname = $options['b']; $image_id = intval(trim($options['i'])); $descs = isset($options['d']) ? $options['d'] : null; $image = Repository::findOneFromImages(array('eq' => array('image_id' => $image_id))); if ($image == false) { LogOpt::set('exception', 'image not exists', 'image_id', $image_id); return false; } $article = new ArticleModel(array('title' => $bookname, 'updatetime' => 'now()', 'inserttime' => 'now()', 'category_id' => 2)); $article_id = Repository::persist($article); if ($article_id == false) { LogOpt::set('exception', 'new_note_insert_into_article_error'); return false; } LogOpt::set('info', 'new_note_insert_into_article_success', 'article_id', $article_id); $infos = array(); $infos['index_article_id'] = $article_id; $infos['image_id'] = $image_id; $infos['updatetime'] = 'now()'; if ($descs != null) { $infos['descs'] = $descs; }
<?php require_once __DIR__ . '/../app/register.php'; LogOpt::init('mood_loader', true); $options = getopt('i:c:d:'); if (isset($options['c']) && trim($options['c']) != '') { $infos = array(); $infos['inserttime'] = isset($options['i']) ? $options['i'] : 'now()'; $infos['contents'] = $options['c']; if (isset($options['d']) && trim($options['d']) != '') { $mood = Repository::findOneFromMood(array('eq' => array('mood_id' => $options['d']))); foreach ($infos as $key => $value) { $func = 'set_' . $key; $mood->{$func}($value); } } else { $mood = new MoodModel($infos); } $mood_id = Repository::persist($mood); if ($mood_id === false) { LogOpt::set('exception', 'mood add error'); continue; } LogOpt::set('info', 'mood add success', 'mood_id', $mood_id); } else { echo 'usage: you can also use by ----' . ' php mood_loader -c contents [-i inserttime] [-d mood_id]' . PHP_EOL; while (1) { echo '> '; $contents = fgets(STDIN); $contents = trim($contents); if (strtolower($contents) === 'quit') {
<?php require_once __DIR__ . '/../app/register.php'; LogOpt::init('diary_loader', true); $options = getopt('t:'); $infos = array(); $draft_file = DRAFT_PATH . '/draft.tpl'; if (!file_exists($draft_file)) { echo '指定日志的草稿不存在' . PHP_EOL; return; } $infos['draft'] = file_get_contents($draft_file); $contents = TechlogTools::pre_treat_article($infos['draft']); $image_ids = array(); while (1) { $image_path = StringOpt::spider_string($contents, 'img<![&&]>src="', '"', $contents); if ($image_path === null || $image_path === false || trim($image_path) == '') { break; } $image_path = trim($image_path); if (!file_exists(WEB_PATH . '/resource/' . $image_path)) { LogOpt::set('exception', 'the image does not exist', 'image_path', $image_path); return; } $image_id = Repository::findImageIdFromImages(array('eq' => array('path' => $image_path))); if ($image_id == false) { $full_path = WEB_PATH . '/resource/' . $image_path; $image_id = TechlogTools::load_image($full_path, 'article'); if ($image_id == false) { LogOpt::set('exception', '添加图片到数据库失败', 'image_path', $image_path); }