コード例 #1
0
 function execute($requests)
 {
     if (!$_FILES['upfile']['size']) {
         admin_client_redirect('edit_skin_image', 'ファイルが指定されていません');
     }
     $prefix = sprintf('skin_%s', $requests['skinname']);
     if ($fn = image_insert_c_image($_FILES['upfile'], $prefix)) {
         if ($old_fn = db_get_c_skin_filename4skinname($requests['skinname'])) {
             db_image_data_delete($old_fn);
         }
         // 携帯版ロゴ画像がアップロードされた場合は、ロゴの非表示設定を解除する
         if ($requests['skinname'] == 'skin_ktai_header') {
             if (is_null(db_admin_c_admin_config4name('OPENPNE_USE_KTAI_LOGO'))) {
                 db_admin_insert_c_admin_config('OPENPNE_USE_KTAI_LOGO', true);
             } else {
                 db_admin_update_c_admin_config('OPENPNE_USE_KTAI_LOGO', true);
             }
         }
         db_replace_c_skin_filename($requests['skinname'], $fn);
         pne_cache_drop('fetch_inc_navi', 'h');
         admin_client_redirect('edit_skin_image', 'スキン画像を変更しました');
     }
     admin_client_redirect('edit_skin_image', 'スキン画像を変更できませんでした');
 }
コード例 #2
0
ファイル: etc.php プロジェクト: KimuraYoichi/PukiWiki
/**
 * スキンファイルから画像をDB登録(no_imageをデフォルトに戻す)
 */
function db_insert_c_image4skin_filename($skinname, $skintheme = OPENPNE_SKIN_THEME)
{
    if (!$skinname || preg_match('/[^\\.\\w]/', $skinname)) {
        return false;
    }
    $ext = 'gif';
    $filename = $skinname . '.' . $ext;
    if (!$skintheme || preg_match('/[^\\.\\w]/', $skintheme)) {
        $skintheme = 'default';
    }
    $path = sprintf('%s/skin/%s/img/%s', OPENPNE_PUBLIC_HTML_DIR, $skintheme, $filename);
    if (!is_readable($path)) {
        $path = sprintf('%s/skin/default/img/%s', OPENPNE_PUBLIC_HTML_DIR, $filename);
    }
    $filename = sprintf('skin_default_%s_%s.%s', $skinname, time(), $ext);
    $res = db_image_insert_c_image2($filename, $path);
    return db_replace_c_skin_filename($skinname, $filename);
}