### Outline of plug-in

It is a plug-in that replaces dynamic URL generated with NucleusCMS with static URL of a free name.
Operation only in FancyURL mode and required 'mod-rewrite'.
Categories, the Sub-Categories, Archive list, etc. are considered to be a directory respectively.When narrowing it by the category, it becomes an image that refers to the index file that exists in the directory of a category concerned.

- ex.
- Image of access to Categories:
  - http://example.jp/nucleuscms/
- Image of access to Sub-Categories:
  - http://example.jp/nucleuscms/plugins/
- Image of access to Archives:
  - http://example.jp/archives/
  - http://example.jp/archives/nucleuscms/

Member's detailed page and individual item page become images accessed a file concerned html file.

- ex.
- http://example.jp/nucleuscms/plugins/NP_CustomURL.html
- http://example.jp/new_nucleus_comming_soon.html
- http://example.jp/member/Hiroyuki.html

### Installation and operation beginning procedure

1. After up-loading the "NP_CustomURL.php" file and the "customurl" directory that can be done by developing the downloaded compression file to the "plugins" directory of the server.It installs it from the management area.
2. First of all, "URL mode" is changed to "Fancy" on "Global setting" page of the management screen.
3. "fancyurls.config.php" is copied to a top directory according to the procedure of FancyURLs and it edits it.
   At this time, copying it should not copy the following file with "fancyurls.config.php" file alone.
4. Next, "index.php" is edited."`$CONF['Self']`" and the line that is are rewritten as "`$CONF['Self'] = '.'`" and One line is written "`$curl_blogid = 1;`" and it adds. ("1" is ID of Brog accessed by "index.php".)

   >     <?php
   >     // This file will generate and return the main page of the site
   >     $CONF = array();
   >     $CONF['Self'] = '.';
   >     $curl_blogid = 1;

   >     include('./config.php');
   >     include('./fancyurls.config.php');

   >     selector();

   >     ?>

5. Next, `.htaccess` is edited.
   - The content is here.

     >     RewriteEngine on
     >     RewriteCond %{REQUEST_FILENAME} !-f
     >     RewriteCond %{REQUEST_FILENAME} !-d
     >     RewriteRule ^(.*)$ index.php?curl=$1 [L,QSA]

     Even if nothing is written now by these four lines alone, it is safe.

It is preparation completion by this.
Note:Please delete or save operation in another directory the file for FancyURLs with FancyURLs now.It is not necessary because everything has been received by this plug-in.

### How to use.

- The option is additional to Brog item category member's edit page respectively, and apply a favorite name, please.
- These edit displays do not go out when new addition of the member and new addition of the category on a "setting of Brog" page, and edit it respectively, please after it adds it.
- The name of the default when newly adding it,Blog as [shortname],Categories as [category_(catid)],Sub-Categories as [subcategory_(scatid)],Item as [item_(itemid)],Member as [login-name].
  Path has been generated to all the subBrog item category category members who existed in Brog when the plug-in is installed with the automatic operation.
- The name in the same key in Brog the same cannot overlap and take care, please.
  When path that tried to be registered overlaps, each ID is added in the form of '_ id'.
  Even if it is same Brog, the category, the subcategory, and the item can apply the same name.
  In a word, "http://example.jp/nucleuscms/nucleuscms/nucleuscms.html" becomes effective path.
- ".html" is automatically added to path of the member and the item.
- "Member directory", "Archive directory", and "Archive list directory" are revokable in the edit display of the plug-in.An initial value is a value of each "`$CONF['***Key']`".
- The character that can be used as a directory name and a file name is only a-z,A-Z,0-9,-,_.
  "/" and "." included in the specified character string are automatically converted into "_".
  When URL is generated, capital letters and small letters of the alphabet are distinguished.However, when accessing it, it doesn't distinguish.
- The directory name for the Sub-Categories can be edited only on the management screen now.
  The data base has been updated about the subcategory newly added in the timing of the link generation.
- When the directory name is made a blank by the management screen and the edit display, the name is deleted from the data base, and URL becomes past FancyURLs.
- The same name cannot be applied to path for Brog and path for the category.
- The access with URL is possible even after this plug-in is installed so far.
- It can be selected whether to change URI of each Brog by the option.

### Skin/Template variable

It is possible to fill it in skin, the template, and in the article.
Useage:`<%CustomURL(link ahead, link text, title text)%>`

- link ahead:kind link ahead/id or name/specified type
  - Paragraph 1:One of i, c, s, b, and m.Each initial of item, category, subcategory, blog, and member.
  - Paragraph 2:Id or name link ahead.The name is not a path name but is "Category name" and "Shortname of Brog", etc.When the item is selected the link ahead, specifying it for here becomes only id.
  - Paragraph 3:"i" and filling in when id, "n" and filling in when name is specified by paragraph 2.
- link text:Character string placed between a tag.Only URL is generated when omitted.
- title text:It is set to the "title" attribute of a tag.If the link text exists, it is set to the change when omitted.Even if only the title is specified without specifying the link text, the link tag is not generated.
- It can be written <%CustomURL%> by omitting all parameters.In this case, URI of default is written by the filling in place.
  - skin:URI to the top page of present "Brog" is written.
  - template:URI to the written item is written.(Replacement of <%itemlink%>)
  - article:URI to oneself is written.

Filling in example:

- When id links with the item of 123:<a href="<%CustomURL(i/123/i)%>">'Here is freely written.'</a>
  Written character string:<a href="http://blog.example.jp/item_123.html">'Here is freely written.'</a>
- When the category name writes URI of the category of "Diary":<%CustomURL(c/Diary/n)%>
  Written character string(When id of "Diary" category is 12)Fhttp://blog.example.jp/category_12/
- When you set the link of Brog to shortening name "bibouroku" to the link from the character string "This Brog":<%CustomURL(c/bibouroku/n, This Blog)%>
  Written character string:<a href="http://blog.example.jp/">This Blog</a>

When only id is filled in like skin template article both "<%CustomURL(123)%>", URI to the item with the id is written.
Moreover, passing set to the item with the id like item_123 can be written by writing "<%CustomURL(123/path)%>" only for the item.

### Operation report and bug report

...following URL.. I hope the comment or the track back the operation report and bug report.
http://shizuki.kinezumi.net/NucleusCMS/Plugins/NP_CustomURL/NP_CustomURL.html

### Version history

- Version 0.2.1:
  - Making of Sub-Categories multistep URL
  - Trouble not to be able to delete the data of the subcategory when the category and Brog are deleted is corrected.
  - Other correction.
- Version 0.1.9:
  - It corresponds to the movement between Brog of the category and the item.
- Version 0.1.8a:
  - Correction according to timing change in passing registration of new Sub-Categories.
  - To select whether to use customized URI of each Brog, the option is added.
  - Correction of Help file.
- Version 0.1.8:
  - It corresponds to trouble that URI to 'General' category made by the automatic operation when Brog is newly made doesn't operate normally.
  - It corresponds to trouble that URI of "Category", "Subcategory", and "Item" that belongs to deleted Brog remained in the table when Brog is deleted.
  - When the link is generated, the timing of the registration of passing of new Sub-Category is changed.(When URI has been set on the management screen before the link is generated, set URI is used.)
  - It is corrected that item URI was not normally displayed on the management page.
- Version 0.1.7:
  - It rewrites it almost completely.
  - When the track back is transmitted when a new item is added, trouble not to be able to transmit URL in the track back origin correctly is corrected.
  - When passing the subcategory is edited from the management screen, trouble to which the list is not displayed is corrected.
- Version 0.1.5: Version of opening to the public.
- Version 0.01: First version(Remodeling version of NP_Path)