We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 27086
    • 37 Posts
    こんにちは。

    表題の件、今までに話題になったことはありますでしょうか。

    リッチテキストエディタからイメージ挿入、ファイルアップロードの時に出てくるリソースブラウザでのファイルのソート順がメチャクチャなのが気になってはいたのですが、ブラウザの検索機能で目標にたどり着けるので「仕様です」と逃げていたのですが、今日もクライアントから質問が出たのでちょっと改造してみました。

    まずは、 /manager/browser/mcpuk/connectors/php/Commands/GetFolders.php の42行目あたり

      while (($filename=readdir($dh))!==false) {
        if (($filename!=".")&&($filename!="..")) {
        if (is_dir($this->real_cwd."/$filename")) {

    を
    //sort fix start
      $tmpfiles=array();
      while (false !== ($filename = readdir($dh))) {
        $filestmp[] = $filename; //先に一覧を取得して
      }
      natcasesort($filestmp); //わかりやい形に配列ソート
    //  while (($filename=readdir($dh))!==false) { 
      foreach($filestmp as $filename) { //保持していたものを取り出す。
    //end
        if (($filename!=".")&&($filename!="..")) {
        if (is_dir($this->real_cwd."/$filename")) {


    とすると左のツリー一覧が見やすくなり、次に /manager/browser/mcpuk/connectors/php/Commands/GetFoldersAndFiles.php の 67行目あたり

      $files=array();
      if ($dh=opendir($this->real_cwd)) {
        while (($filename=readdir($dh))!==false) {
          if (($filename!=".")&&($filename!="..")) {


    を

      $files=array();
      if ($dh=opendir($this->real_cwd)) {
    //sort fix start
      $tmpfiles=array();
      while (false !== ($filename = readdir($dh))) {
        $tmpfiles[] = $filename;
      }
      natcasesort($tmpfiles); //フォルダに関してはこの下のルーチンで中身を取り出しちゃうので先にソート
      //while (($filename=readdir($dh))!==false) {
      foreach($tmpfiles as $filename) {
    //end
      if (($filename!=".")&&($filename!="..")) {


    とすると右側の一覧が見やすくなります。なお、厳密なテストはしてません。

    それでは。
      • 19033
      • 892 Posts
      shobu さん。情報どうもありがとうございます。
      この話題は今まで出ていなかったと思います。

      まとめサイトの方にも書かせて頂きます。^^。