From: naoki hirata Date: Sat, 19 Apr 2014 13:12:48 +0000 (+0900) Subject: ウィジェットバージョンアップ機能更新。 X-Git-Tag: v2.8.14~7 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=02cdd0ac943d5b636a5624aa84b7ccd046a212e2;p=magic3%2Fmagic3.git ウィジェットバージョンアップ機能更新。 --- diff --git a/include/manager/pageManager.php b/include/manager/pageManager.php index c59c75ea..47973b27 100644 --- a/include/manager/pageManager.php +++ b/include/manager/pageManager.php @@ -4229,7 +4229,7 @@ class PageManager extends Core } else { // ウィジェットが存在する場合は実行 if (!file_exists($widgetIndexFile)) { - echo 'widget not found error: ' . $widgetId; + if ($gEnvManager->isSystemManageUser()) echo 'widget not found error: ' . $widgetId . ''; // システム運用者の場合はエラーメッセージ表示 } else { // パラメータ初期化 $this->lastHeadCss = ''; // 最後に設定したHTMLヘッダにCSS出力する文字列 @@ -4397,7 +4397,7 @@ class PageManager extends Core if (file_exists($widgetIndexFile)){ require($widgetIndexFile); } else { - echo 'widget not found error: ' . $widgetId; + if ($gEnvManager->isSystemManageUser()) echo 'widget not found error: ' . $widgetId . ''; // システム運用者の場合はエラーメッセージ表示 } $msg = 'widget-end(' . $widgetId . ')'; $gErrorManager->writeDebug(__METHOD__, $msg); // 時間計測用 diff --git a/widgets/admin_main/include/container/admin_mainWidgetlistWidgetContainer.php b/widgets/admin_main/include/container/admin_mainWidgetlistWidgetContainer.php index 9f82ee60..0c64adbe 100644 --- a/widgets/admin_main/include/container/admin_mainWidgetlistWidgetContainer.php +++ b/widgets/admin_main/include/container/admin_mainWidgetlistWidgetContainer.php @@ -16,6 +16,7 @@ require_once($gEnvManager->getCurrentWidgetContainerPath() . '/admin_mainBaseWidgetContainer.php'); require_once($gEnvManager->getCurrentWidgetDbPath() . '/admin_mainDb.php'); require_once($gEnvManager->getLibPath() . '/pcl/pclzip.lib.php' ); +require_once($gEnvManager->getLibPath() . '/gitRepo.php'); require_once($gEnvManager->getCurrentWidgetContainerPath() . '/admin_mainDef.php'); // 定義クラス class admin_mainWidgetlistWidgetContainer extends admin_mainBaseWidgetContainer @@ -183,7 +184,10 @@ class admin_mainWidgetlistWidgetContainer extends admin_mainBaseWidgetContainer $updateAvailable = ($request->trimValueOf('item' . $selectedItemNo . '_available') == 'on') ? 1 : 0; // 利用可能かどうか $updateActive = ($request->trimValueOf('item' . $selectedItemNo . '_active') == 'on') ? 1 : 0; // ウィジェット実行可能かどうか - $ret = $this->db->updateWidget($serial, $updateAvailable, $updateActive); + $updateParams = array(); + $updateParams['wd_available'] = $updateAvailable; + $updateParams['wd_active'] = $updateActive; + $ret = $this->db->updateWidget($serial, $updateParams); if ($ret){ // データ更新成功のとき $this->setMsg(self::MSG_GUIDANCE, $this->_('Line updated.')); // データを更新しました } else { @@ -483,6 +487,75 @@ class admin_mainWidgetlistWidgetContainer extends admin_mainBaseWidgetContainer $dest = preg_replace_callback($exp, array($this, '_update_widget_info_callback'), $infoSrc); $this->setMsg(self::MSG_GUIDANCE, $this->_('Latest widget information gotten.')); // 最新のウィジェット情報を取得しました + } else if ($act == 'updatewidget'){ // ウィジェットの更新 + // ### 最新のバージョン番号をチェック ### + $canUpdate = false; // 更新可能かどうか + + // 現在のバージョン取得 + $ret = $this->_db->getWidgetInfo($widgetId, $row); + if ($ret) $version = $row['wd_version']; // ウィジェットのバージョン + + // ウィジェットの最新情報ファイルを取得 + $infoSrc = file_get_contents(self::NEW_INFO_URL); + + // ウィジェットIDとバージョン番号を取得して登録 + $exp = '/^\(\'' . preg_quote($widgetId) . '\'.*\'([0-9\.]+[a-z]*)\'/m'; // バージョン番号の最後の「b」(ベータ版)等は許可 + if (preg_match($exp, $infoSrc, $matches)){ + $latestVersion = $matches[1]; + + if (!empty($version) && !empty($latestVersion) && version_compare($version, $latestVersion) == -1) $canUpdate = true; // 最新バージョンが現在のバージョンよりも上の場合 + } + if ($canUpdate){ + // GitHubからソースコードを取得 + $zipFilePath = $this->gEnv->getIncludePath() . '/widgets_update/' . $widgetId . '#' . date('Ymd') . '.zip'; + $repo = new GitRepo('magic3org', 'magic3'); + $ret = $repo->createZipArchive('/widgets/' . $widgetId, $zipFilePath); + if ($ret){ // Zipファイル作成完了のとき + // 既存ウィジェットのバックアップ + $status = false; + $widgetDir = $this->gEnv->getWidgetsPath() . '/' . $widgetId; // ウィジェットのディレクトリ + $zipFilePath = $this->gEnv->getIncludePath() . '/widgets_update/' . $widgetId . '.zip'; + $zipFile = new PclZip($zipFilePath); + $ret = $zipFile->create($widgetDir, PCLZIP_OPT_REMOVE_PATH, dirname($widgetDir)); + if ($ret){ + // 作業ディレクトリを作成 + $tmpDir = $this->gEnv->getTempDirBySession(); // セッション単位の作業ディレクトリを取得 + if (file_exists($tmpDir)) rmDirectory($tmpDir); // 存在する場合は一旦削除 + + // ダウンロードしたウィジェットと入れ替え + $zipFile = new PclZip($zipFilePath); + $ret = $zipFile->extract(PCLZIP_OPT_PATH, $tmpDir); + if ($ret){ + $ret = rmDirectory($widgetDir); + if ($ret) $ret = mvDirectory($tmpDir . '/' . basename($widgetId), $widgetDir); + if ($ret){ // 完了の場合はバージョン情報を更新 + $updateParams = array(); + $updateParams['wd_version'] = $latestVersion; + $ret = $this->db->updateWidget($row['wd_serial'], $updateParams); + if ($ret) $status = true; // ウィジェット更新完了 + } + } + } + if ($status){ + $msg = $this->_('Widget updated successfully.'); // ウィジェットの更新が完了しました。 + $this->setGuidanceMsg($msg); + } else { + $msg = $this->_('Failed in updating widget.'); // ウィジェットの更新に失敗しました + $this->setAppErrorMsg($msg); + } + } else { // Zipファイル作成失敗のとき + $resCode = $repo->getResponseCode(); + if ($resCode == 403){ + $msg = $this->_('Connection count is over the limit. Wait a minute, connect again.'); // ウィジェットの更新に失敗しました + } else { + $msg = $this->_('Failed in connecting to GitHub.'); // GitHubへの接続に失敗しました + } + $this->setAppErrorMsg($msg); + } + } else { + $msg = $this->_('The widget is already the latest version.'); // ウィジェットはすでに最新バージョンです + $this->setAppErrorMsg($msg); + } } // ウィジェットのタイプごとの処理 switch ($this->widgetType){ @@ -538,6 +611,7 @@ class admin_mainWidgetlistWidgetContainer extends admin_mainBaseWidgetContainer $localeText['msg_delete_line'] = $this->_('Delete widget?'); // このウィジェットを削除しますか? $localeText['msg_no_upload_file'] = $this->_('File not selected.'); // アップロードするファイルが選択されていません $localeText['msg_upload_file'] = $this->_('Upload file.'); // ファイルをアップロードします + $localeText['msg_update_widget'] = $this->_('Update widget?'); // ウィジェットを更新しますか? $localeText['label_widget_list'] = $this->_('Widget List'); // ウィジェット一覧 // $localeText['label_widget_type'] = $this->_('Widget Type:'); // ウィジェットタイプ: $localeText['label_install_dir'] = $this->_('Install Directory:'); // インストールディレクトリ: @@ -764,7 +838,7 @@ class admin_mainWidgetlistWidgetContainer extends admin_mainBaseWidgetContainer if (version_compare($version, $latestVersion) == -1){ // 最新バージョンが現在のバージョンよりも上の場合のみ表示 $optionVerStr = strtolower($matches[2]); if (empty($optionVerStr)){ // 付加記号なしの場合 - $latestVer = '' . $this->convertToDispString($latestVersion) . ''; + $latestVer = '' . $this->convertToDispString($latestVersion) . ''; } else { switch ($optionVerStr){ case 'x': // 緊急バージョンアップ diff --git a/widgets/admin_main/include/db/admin_mainDb.php b/widgets/admin_main/include/db/admin_mainDb.php index 8e8a4281..d3fae977 100644 --- a/widgets/admin_main/include/db/admin_mainDb.php +++ b/widgets/admin_main/include/db/admin_mainDb.php @@ -304,11 +304,10 @@ class admin_mainDb extends BaseDb * ウィジェットの更新 * * @param int $serial シリアル番号 - * @param bool $available 利用可能かどうか - * @param bool $active ウィジェット実行可能かどうか + * @param array $updateParams 更新パラメータ * @return bool true=成功、false=失敗 */ - function updateWidget($serial, $available, $active) + function updateWidget($serial, $updateParams) { $userId = $this->gEnv->getCurrentUserId(); // 現在のユーザ $now = date("Y/m/d H:i:s"); // 現在日時 @@ -350,6 +349,8 @@ class admin_mainDb extends BaseDb $updateFields[] = 'wd_read_scripts'; $boolFields[] = 'wd_read_scripts'; // スクリプトディレクトリを自動読み込みするかどうか $updateFields[] = 'wd_read_css'; $boolFields[] = 'wd_read_css'; // cssディレクトリを自動読み込みするかどうか $updateFields[] = 'wd_use_ajax'; $boolFields[] = 'wd_use_ajax'; // Ajax共通ライブラリを読み込むかどうか + $updateFields[] = 'wd_active'; $boolFields[] = 'wd_use_ajax'; // 一般ユーザが実行可能かどうか + $updateFields[] = 'wd_available'; $boolFields[] = 'wd_use_ajax'; // メニューから選択可能かどうか $updateFields[] = 'wd_editable'; $boolFields[] = 'wd_editable'; // データ編集可能かどうか $updateFields[] = 'wd_edit_content'; $boolFields[] = 'wd_edit_content'; // 主要コンテンツ編集可能かどうか $updateFields[] = 'wd_has_admin'; $boolFields[] = 'wd_has_admin'; // 管理画面があるかどうか @@ -382,8 +383,8 @@ class admin_mainDb extends BaseDb // 指定のシリアルNoのレコードが削除状態でないかチェック $historyIndex = 0; // 履歴番号 - $queryStr = 'select * from _widgets '; - $queryStr .= 'where wd_serial = ? '; + $queryStr = 'SELECT * FROM _widgets '; + $queryStr .= 'WHERE wd_serial = ? '; $ret = $this->selectRecord($queryStr, array($serial), $row); if ($ret){ // 既に登録レコードがあるとき if ($row['wd_deleted']){ // レコードが削除されていれば終了 @@ -406,10 +407,10 @@ class admin_mainDb extends BaseDb // ##### データ更新処理 ##### // 呼び出しパラメータから取得値 - $newParams = array(); - $newParams['wd_available'] = intval($available); - $newParams['wd_active'] = intval($active); - $keys = array_keys($newParams);// キーを取得 +// $newParams = array(); +// $newParams['wd_available'] = intval($available); +// $newParams['wd_active'] = intval($active); + $keys = array_keys($updateParams);// キーを取得 // クエリー作成 $queryStr = 'INSERT INTO _widgets ('; @@ -419,12 +420,19 @@ class admin_mainDb extends BaseDb $values = array($row['wd_id'], $historyIndex); // 呼び出しパラメータから取得値を連結 for ($i = 0; $i < count($keys); $i++){ - $queryStr .= $keys[$i] . ', '; + $fieldName = $keys[$i]; + $queryStr .= $fieldName . ', '; $valueStr .= '?, '; - $values[] = $newParams[$keys[$i]]; +// $values[] = $newParams[$keys[$i]]; + if (in_array($fieldName, $boolFields)){ + $values[] = intval($updateParams[$fieldName]); + } else { + $values[] = $updateParams[$fieldName]; + } } // 更新値を設定 + /* if ($this->getDbType() == M3_DB_TYPE_PGSQL){// PostgreSQLの場合 for ($i = 0; $i < count($updateFields); $i++){ $fieldName = $updateFields[$i]; @@ -447,6 +455,18 @@ class admin_mainDb extends BaseDb $values[] = $row[$fieldName]; } } + }*/ + for ($i = 0; $i < count($updateFields); $i++){ + $fieldName = $updateFields[$i]; + if (!in_array($fieldName, $keys)){ // フィールドがないとき + $queryStr .= $fieldName . ', '; + $valueStr .= '?, '; + if (in_array($fieldName, $boolFields)){ + $values[] = intval($row[$fieldName]); + } else { + $values[] = $row[$fieldName]; + } + } } // レコードを追加 diff --git a/widgets/admin_main/include/locale/ja_JP.mo b/widgets/admin_main/include/locale/ja_JP.mo index 57731650..d4686acc 100644 Binary files a/widgets/admin_main/include/locale/ja_JP.mo and b/widgets/admin_main/include/locale/ja_JP.mo differ diff --git a/widgets/admin_main/include/locale/ja_JP.po b/widgets/admin_main/include/locale/ja_JP.po index 7fe913ac..e25f84e7 100644 --- a/widgets/admin_main/include/locale/ja_JP.po +++ b/widgets/admin_main/include/locale/ja_JP.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-04-15 23:08+0900\n" -"PO-Revision-Date: 2014-04-15 23:08+0900\n" +"POT-Creation-Date: 2014-04-19 22:09+0900\n" +"PO-Revision-Date: 2014-04-19 22:11+0900\n" "Last-Translator: \n" "Language-Team: \n" "Language: ja_JP\n" @@ -248,7 +248,7 @@ msgstr "追加CSSクラス" #: ../container/admin_mainSmenudefWidgetContainer.php:151 #: ../container/admin_mainTemplistWidgetContainer.php:559 #: ../container/admin_mainUserlistWidgetContainer.php:138 -#: ../container/admin_mainWidgetlistWidgetContainer.php:777 +#: ../container/admin_mainWidgetlistWidgetContainer.php:875 msgid "Update" msgstr "更新" @@ -309,7 +309,7 @@ msgstr "メール送信に失敗しました。メールアドレス:" #: ../container/admin_mainConfigsiteWidgetContainer.php:170 #: ../container/admin_mainTemplistWidgetContainer.php:220 -#: ../container/admin_mainWidgetlistWidgetContainer.php:267 +#: ../container/admin_mainWidgetlistWidgetContainer.php:271 #, php-format msgid "You are not allowed to write temporary directory. (directory: %s)" msgstr "一時ディレクトリに書き込み権限がありません。(ディレクトリ: %s)" @@ -324,15 +324,15 @@ msgstr "画像の作成に失敗しました" #: ../container/admin_mainConfigsiteWidgetContainer.php:244 #: ../container/admin_mainTemplistWidgetContainer.php:308 -#: ../container/admin_mainWidgetlistWidgetContainer.php:397 -#: ../container/admin_mainWidgetlistWidgetContainer.php:416 +#: ../container/admin_mainWidgetlistWidgetContainer.php:401 +#: ../container/admin_mainWidgetlistWidgetContainer.php:420 msgid "Failed in uploading file." msgstr "ファイルのアップロードに失敗しました" #: ../container/admin_mainConfigsiteWidgetContainer.php:251 #: ../container/admin_mainEditmenuWidgetContainer.php:330 #: ../container/admin_mainTemplistWidgetContainer.php:316 -#: ../container/admin_mainWidgetlistWidgetContainer.php:424 +#: ../container/admin_mainWidgetlistWidgetContainer.php:428 #, php-format msgid "" "Uploded file not found. (detail: The file may be over maximum size to be " @@ -771,7 +771,7 @@ msgstr "未設定" #: ../container/admin_mainUserlistWidgetContainer.php:149 #: ../container/admin_mainUserlistWidgetContainer.php:303 #: ../container/admin_mainUserlistWidgetContainer.php:371 -#: ../container/admin_mainWidgetlistWidgetContainer.php:546 +#: ../container/admin_mainWidgetlistWidgetContainer.php:621 #: ../help/help_menudef.php:43 ../help/help_userlist.php:47 msgid "Name" msgstr "名前" @@ -805,13 +805,13 @@ msgstr "管理メニュー定義ファイル" #: ../container/admin_mainEditmenuWidgetContainer.php:204 #: ../container/admin_mainTemplistWidgetContainer.php:453 -#: ../container/admin_mainWidgetlistWidgetContainer.php:556 +#: ../container/admin_mainWidgetlistWidgetContainer.php:631 msgid "Upload" msgstr "アップロード" #: ../container/admin_mainEditmenuWidgetContainer.php:205 #: ../container/admin_mainTemplistWidgetContainer.php:561 -#: ../container/admin_mainWidgetlistWidgetContainer.php:779 +#: ../container/admin_mainWidgetlistWidgetContainer.php:877 msgid "Download" msgstr "ダウンロード" @@ -892,7 +892,7 @@ msgstr "パス:" #: ../container/admin_mainTemplistWidgetContainer.php:560 #: ../container/admin_mainUserlistWidgetContainer.php:137 #: ../container/admin_mainUserlistWidgetContainer.php:160 -#: ../container/admin_mainWidgetlistWidgetContainer.php:778 +#: ../container/admin_mainWidgetlistWidgetContainer.php:876 msgid "Delete" msgstr "削除" @@ -955,7 +955,7 @@ msgstr "ファイルを選択" #: ../container/admin_mainFilebrowseWidgetContainer.php:211 #: ../container/admin_mainTemplistWidgetContainer.php:454 -#: ../container/admin_mainWidgetlistWidgetContainer.php:557 +#: ../container/admin_mainWidgetlistWidgetContainer.php:632 msgid "Cancel" msgstr "キャンセル" @@ -1197,7 +1197,7 @@ msgstr "編集" #: ../container/admin_mainPagedefWidgetContainer.php:138 #: ../container/admin_mainSmenudefWidgetContainer.php:170 #: ../container/admin_mainTemplistWidgetContainer.php:450 -#: ../container/admin_mainWidgetlistWidgetContainer.php:552 +#: ../container/admin_mainWidgetlistWidgetContainer.php:627 #: ../help/help_menudef.php:67 ../help/help_templist.php:59 #: ../help/help_widgetlist.php:59 msgid "Operation" @@ -1584,17 +1584,17 @@ msgid "Save" msgstr "保存" #: ../container/admin_mainTemplistWidgetContainer.php:57 -#: ../container/admin_mainWidgetlistWidgetContainer.php:52 +#: ../container/admin_mainWidgetlistWidgetContainer.php:53 msgid "For PC" msgstr "PC用" #: ../container/admin_mainTemplistWidgetContainer.php:58 -#: ../container/admin_mainWidgetlistWidgetContainer.php:53 +#: ../container/admin_mainWidgetlistWidgetContainer.php:54 msgid "For Mobile" msgstr "携帯用" #: ../container/admin_mainTemplistWidgetContainer.php:59 -#: ../container/admin_mainWidgetlistWidgetContainer.php:54 +#: ../container/admin_mainWidgetlistWidgetContainer.php:55 msgid "For Smartphone" msgstr "スマートフォン用" @@ -1628,7 +1628,7 @@ msgid "Failed in deleting template directory. (directory: %s)" msgstr "テンプレートのディレクトリが削除できませんでした。(ディレクトリ: %s)" #: ../container/admin_mainTemplistWidgetContainer.php:213 -#: ../container/admin_mainWidgetlistWidgetContainer.php:260 +#: ../container/admin_mainWidgetlistWidgetContainer.php:264 msgid "Only zip format file is allowed to upload." msgstr "zip圧縮のファイルのみアップロード可能です" @@ -1653,13 +1653,13 @@ msgid "Failed in moving directory. (directory: %s)" msgstr "ディレクトリの移動に失敗しました。(ディレクトリ: %s)" #: ../container/admin_mainTemplistWidgetContainer.php:356 -#: ../container/admin_mainWidgetlistWidgetContainer.php:464 +#: ../container/admin_mainWidgetlistWidgetContainer.php:468 #, php-format msgid "Failed in downloading file. (detail: %s)" msgstr "ファイルのアップロードに失敗しました。(要因: %s)" #: ../container/admin_mainTemplistWidgetContainer.php:436 -#: ../container/admin_mainWidgetlistWidgetContainer.php:537 +#: ../container/admin_mainWidgetlistWidgetContainer.php:611 msgid "Update line?" msgstr "行を更新しますか?" @@ -1668,12 +1668,12 @@ msgid "Delete tmplate?" msgstr "テンプレートを削除しますか?" #: ../container/admin_mainTemplistWidgetContainer.php:438 -#: ../container/admin_mainWidgetlistWidgetContainer.php:539 +#: ../container/admin_mainWidgetlistWidgetContainer.php:613 msgid "File not selected." msgstr "アップロードするファイルが選択されていません" #: ../container/admin_mainTemplistWidgetContainer.php:439 -#: ../container/admin_mainWidgetlistWidgetContainer.php:540 +#: ../container/admin_mainWidgetlistWidgetContainer.php:614 msgid "Upload file." msgstr "ファイルをアップロードします" @@ -1683,12 +1683,12 @@ msgid "Template List" msgstr "テンプレート一覧" #: ../container/admin_mainTemplistWidgetContainer.php:442 -#: ../container/admin_mainWidgetlistWidgetContainer.php:543 +#: ../container/admin_mainWidgetlistWidgetContainer.php:618 msgid "Install Directory:" msgstr "インストールディレクトリ:" #: ../container/admin_mainTemplistWidgetContainer.php:443 -#: ../container/admin_mainWidgetlistWidgetContainer.php:544 +#: ../container/admin_mainWidgetlistWidgetContainer.php:619 #: ../help/help_templist.php:71 ../help/help_widgetlist.php:71 msgid "Reload directory" msgstr "ディレクトリ再読み込み" @@ -1711,7 +1711,7 @@ msgid "Template Upload (zip compressed file)" msgstr "テンプレートアップロード(zip圧縮ファイル)" #: ../container/admin_mainTemplistWidgetContainer.php:452 -#: ../container/admin_mainWidgetlistWidgetContainer.php:554 +#: ../container/admin_mainWidgetlistWidgetContainer.php:629 msgid "Select file to upload." msgstr "アップロードするファイルを選択してください" @@ -1884,134 +1884,155 @@ msgstr "パスワード送信" msgid "Account" msgstr "アカウント" -#: ../container/admin_mainWidgetlistWidgetContainer.php:174 +#: ../container/admin_mainWidgetlistWidgetContainer.php:175 #, php-format msgid "New widgets added. (widgets count=%d)" msgstr "新規ウィジェットを追加しました(追加数=%d)" -#: ../container/admin_mainWidgetlistWidgetContainer.php:177 +#: ../container/admin_mainWidgetlistWidgetContainer.php:178 msgid "No new widgets added." msgstr "新規ウィジェットはありません" -#: ../container/admin_mainWidgetlistWidgetContainer.php:188 +#: ../container/admin_mainWidgetlistWidgetContainer.php:192 msgid "Line updated." msgstr "データを更新しました" -#: ../container/admin_mainWidgetlistWidgetContainer.php:190 +#: ../container/admin_mainWidgetlistWidgetContainer.php:194 msgid "Failed in updating line." msgstr "データ更新に失敗しました" -#: ../container/admin_mainWidgetlistWidgetContainer.php:218 +#: ../container/admin_mainWidgetlistWidgetContainer.php:222 #, php-format msgid "Widget deleted. (widget ID: %s)" msgstr "ウィジェットを削除しました。(ウィジェットID: %s)" -#: ../container/admin_mainWidgetlistWidgetContainer.php:221 +#: ../container/admin_mainWidgetlistWidgetContainer.php:225 #, php-format msgid "Failed in deleting widget directory. (directory: %s)" msgstr "ウィジェットのディレクトリが削除できませんでした。(ディレクトリ: %s)" -#: ../container/admin_mainWidgetlistWidgetContainer.php:225 +#: ../container/admin_mainWidgetlistWidgetContainer.php:229 #, php-format msgid "You are not allowed to delete widget directory. (directory: %s)" msgstr "ウィジェットのディレクトリの削除権限がありません。(ディレクトリ: %s)" -#: ../container/admin_mainWidgetlistWidgetContainer.php:229 -#: ../container/admin_mainWidgetlistWidgetContainer.php:728 +#: ../container/admin_mainWidgetlistWidgetContainer.php:233 +#: ../container/admin_mainWidgetlistWidgetContainer.php:806 msgid "Widget not found." msgstr "ウィジェットが見つかりません" -#: ../container/admin_mainWidgetlistWidgetContainer.php:276 +#: ../container/admin_mainWidgetlistWidgetContainer.php:280 #, php-format msgid "The widget already exists. (widget ID: %s)" msgstr "ウィジェットがすでに存在します。(ウィジェットID: %s)" -#: ../container/admin_mainWidgetlistWidgetContainer.php:306 +#: ../container/admin_mainWidgetlistWidgetContainer.php:310 #, php-format msgid "Failed in getting file list from zip file. (detail: %s)" msgstr "zipファイルの内容のリスト取得に失敗しました。(要因:: %s)" -#: ../container/admin_mainWidgetlistWidgetContainer.php:318 +#: ../container/admin_mainWidgetlistWidgetContainer.php:322 msgid "Failed in deleting widget directory." msgstr "ウィジェットのディレクトリが削除できませんでした" -#: ../container/admin_mainWidgetlistWidgetContainer.php:381 +#: ../container/admin_mainWidgetlistWidgetContainer.php:385 msgid "Widget installed successfully." msgstr "ウィジェットのインストールが完了しました。" -#: ../container/admin_mainWidgetlistWidgetContainer.php:385 +#: ../container/admin_mainWidgetlistWidgetContainer.php:389 +#: ../container/admin_mainWidgetlistWidgetContainer.php:540 msgid "Widget updated successfully." msgstr "ウィジェットの更新が完了しました。" -#: ../container/admin_mainWidgetlistWidgetContainer.php:389 +#: ../container/admin_mainWidgetlistWidgetContainer.php:393 #, php-format msgid "Current version is %s." msgstr "バージョンは%sです。" -#: ../container/admin_mainWidgetlistWidgetContainer.php:393 +#: ../container/admin_mainWidgetlistWidgetContainer.php:397 #, php-format msgid "File uploaded. (widget ID: %s)" msgstr "ファイルのアップロードが完了しました。(ウィジェットID: %s)" -#: ../container/admin_mainWidgetlistWidgetContainer.php:404 +#: ../container/admin_mainWidgetlistWidgetContainer.php:408 #, php-format msgid "Failed in uploading file. (detail: %s)" msgstr "ファイルのアップロードに失敗しました。(要因: %s)" -#: ../container/admin_mainWidgetlistWidgetContainer.php:410 +#: ../container/admin_mainWidgetlistWidgetContainer.php:414 msgid "The zip filename is different from directory name." msgstr "" "zipファイルのファイル名とディレクトリ名が異なっているか、全角文字が含まれてい" "ます" -#: ../container/admin_mainWidgetlistWidgetContainer.php:485 +#: ../container/admin_mainWidgetlistWidgetContainer.php:489 msgid "Latest widget information gotten." msgstr "最新のウィジェット情報を取得しました" -#: ../container/admin_mainWidgetlistWidgetContainer.php:536 +#: ../container/admin_mainWidgetlistWidgetContainer.php:543 +msgid "Failed in updating widget." +msgstr "ウィジェットの更新に失敗しました" + +#: ../container/admin_mainWidgetlistWidgetContainer.php:550 +msgid "Connection count is over the limit. Wait a minute, connect again." +msgstr "接続回数の上限を超えました。しばらく待ってから再度接続してください" + +#: ../container/admin_mainWidgetlistWidgetContainer.php:552 +msgid "Failed in connecting to GitHub." +msgstr "GitHubへの接続に失敗しました" + +#: ../container/admin_mainWidgetlistWidgetContainer.php:557 +msgid "The widget is already the latest version." +msgstr "ウィジェットはすでに最新バージョンです" + +#: ../container/admin_mainWidgetlistWidgetContainer.php:610 msgid "Get new information of widgets?" msgstr "ウィジェットの最新情報を取得しますか?" -#: ../container/admin_mainWidgetlistWidgetContainer.php:538 +#: ../container/admin_mainWidgetlistWidgetContainer.php:612 msgid "Delete widget?" msgstr "ウィジェットを削除しますか?" -#: ../container/admin_mainWidgetlistWidgetContainer.php:541 +#: ../container/admin_mainWidgetlistWidgetContainer.php:615 +msgid "Update widget?" +msgstr "ウィジェットを更新しますか?" + +#: ../container/admin_mainWidgetlistWidgetContainer.php:616 #: ../help/help_widgetlist.php:31 msgid "Widget List" msgstr "ウィジェット一覧" -#: ../container/admin_mainWidgetlistWidgetContainer.php:547 +#: ../container/admin_mainWidgetlistWidgetContainer.php:622 msgid "Version" msgstr "バージョン" -#: ../container/admin_mainWidgetlistWidgetContainer.php:548 +#: ../container/admin_mainWidgetlistWidgetContainer.php:623 msgid "Latest" msgstr "最新" -#: ../container/admin_mainWidgetlistWidgetContainer.php:549 +#: ../container/admin_mainWidgetlistWidgetContainer.php:624 #: ../help/help_widgetlist.php:51 msgid "Available" msgstr "配置可" -#: ../container/admin_mainWidgetlistWidgetContainer.php:550 +#: ../container/admin_mainWidgetlistWidgetContainer.php:625 #: ../help/help_widgetlist.php:55 msgid "Active" msgstr "実行可" -#: ../container/admin_mainWidgetlistWidgetContainer.php:551 +#: ../container/admin_mainWidgetlistWidgetContainer.php:626 msgid "Release Date" msgstr "リリース日" -#: ../container/admin_mainWidgetlistWidgetContainer.php:553 +#: ../container/admin_mainWidgetlistWidgetContainer.php:628 msgid "Widget Upload (zip compressed file)" msgstr "ウィジェットアップロード(zip圧縮ファイル)" -#: ../container/admin_mainWidgetlistWidgetContainer.php:555 +#: ../container/admin_mainWidgetlistWidgetContainer.php:630 msgid "Replace widget if exists." msgstr "ウィジェットが存在する場合は置き換え" -#: ../container/admin_mainWidgetlistWidgetContainer.php:776 +#: ../container/admin_mainWidgetlistWidgetContainer.php:874 msgid "Configure" msgstr "設定" diff --git a/widgets/admin_main/include/template/widgetlist.tmpl.html b/widgets/admin_main/include/template/widgetlist.tmpl.html index 60f95038..208be5b1 100644 --- a/widgets/admin_main/include/template/widgetlist.tmpl.html +++ b/widgets/admin_main/include/template/widgetlist.tmpl.html @@ -44,6 +44,13 @@ function detailline(widgetId){ m3ShowStandardWindow("?cmd=configwidget&openby=all&widget=" + widgetId); return false; } +function updateWidget(widgetId){ + if (!window.confirm('{_LC_MSG_UPDATE_WIDGET}')) return false; + document.main.act.value = 'updatewidget'; + document.main.widget.value = widgetId; + document.main.submit(); + return false; +} function uploadCheck(){ if (!document.upload.upfile.value){ alert('{_LC_MSG_NO_UPLOAD_FILE}');