<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Open Script Solution</title>
	<atom:link href="http://www.openscriptsolution.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.openscriptsolution.com</link>
	<description>... where solutions for script programming are found ...</description>
	<lastBuildDate>Tue, 31 Jan 2012 03:22:52 +0000</lastBuildDate>
	<language>id</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Bagaimana Membuat Breadcrumb Menggunakan Nested Set Data Model di SQL Server</title>
		<link>http://www.openscriptsolution.com/id/2012/01/31/how-to-create-breadcrumb-using-the-nested-set-data-model-in-sql-server/</link>
		<comments>http://www.openscriptsolution.com/id/2012/01/31/how-to-create-breadcrumb-using-the-nested-set-data-model-in-sql-server/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 03:19:46 +0000</pubDate>
		<dc:creator>Masino Sinaga</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[basis data]]></category>
		<category><![CDATA[breadcrumb]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[Basis Data]]></category>
		<category><![CDATA[konversi]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Stored Procedure]]></category>

		<guid isPermaLink="false">http://www.openscriptsolution.com/?p=1501</guid>
		<description><![CDATA[Masih ingat artikel yang mirip yang dulu pernah saya tulis mengenai judul di artikel ini? Baiklah, jika Anda ingin mengimplementasikan breadcrumb dengan menggunakan basis data SQL Server, maka berikut ini Stored Procedure yang terkait dalam format SQL Server. Dengan kata lain, artikel berikut akan menunjukkan kepada Anda Stored Procedure yang sama dalam format SQL Server [...]]]></description>
			<content:encoded><![CDATA[<p>Masih ingat <a href="http://www.openscriptsolution.com/id/2011/12/05/how-to-create-breadcrumb-using-the-nested-set-data-model-in-mysql/" title="Bagaimana Membuat Breadcrumb Menggunakan Nested Set Data Model di MySQL" target="_blank">artikel yang mirip</a> yang dulu pernah saya tulis mengenai judul di artikel ini? Baiklah, jika Anda ingin mengimplementasikan breadcrumb dengan menggunakan basis data SQL Server, maka berikut ini Stored Procedure yang terkait dalam format  SQL Server. Dengan kata lain, artikel berikut akan menunjukkan kepada Anda Stored Procedure yang sama dalam format  SQL Server selain menggunakan format MySQL di artikel sebelumnya tadi. Hal ini sangat berguna jika ingin mengganti basis data aplikasi web Anda dari MySQL ke SQL Server, sehingga Anda tidak perlu membuang-buang waktu Anda mengkonversi Stored Procedure dalam format MySQL ke SQL Server. Cukup gunakan saja tiga Stored Procedure yang sudah berhasil saya konversi ke format SQL Server. Saya sudah mencoba ketiga Stored Procedure tersebut di SQL Server, dan segalanya berjalan dengan lancar.</p>
<ol>
<li>
<h2>Menambahkan Record Breadcrumb Baru</h2>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">PROCEDURE</span> <span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #66cc66;">&#91;</span>addnewbreadcrumb<span style="color: #66cc66;">&#93;</span>
  @PageTitleParent <span style="color: #993333; font-weight: bold;">AS</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
	@PageTitle <span style="color: #993333; font-weight: bold;">AS</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
	@PageURL <span style="color: #993333; font-weight: bold;">AS</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #993333; font-weight: bold;">AS</span>
<span style="color: #993333; font-weight: bold;">BEGIN</span>
<span style="color: #993333; font-weight: bold;">DECLARE</span> @ParentLevel <span style="color: #993333; font-weight: bold;">INTEGER</span>;
<span style="color: #993333; font-weight: bold;">DECLARE</span> @RecCount <span style="color: #993333; font-weight: bold;">INTEGER</span>;
<span style="color: #993333; font-weight: bold;">DECLARE</span> @CheckRecCount <span style="color: #993333; font-weight: bold;">INTEGER</span>;
<span style="color: #993333; font-weight: bold;">DECLARE</span> @MyPageTitle <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #808080; font-style: italic;">-- routine body goes here, e.g.</span>
<span style="color: #993333; font-weight: bold;">SET</span> @ParentLevel <span style="color: #66cc66;">=</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> Rgt <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #66cc66;">&#91;</span>breadcrumblinks<span style="color: #66cc66;">&#93;</span> <span style="color: #993333; font-weight: bold;">WHERE</span> 
Page_Title <span style="color: #66cc66;">=</span> @PageTitleParent<span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #993333; font-weight: bold;">SET</span> @CheckRecCount <span style="color: #66cc66;">=</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #993333; font-weight: bold;">COUNT</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">*</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> RecordCount <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #66cc66;">&#91;</span>breadcrumblinks<span style="color: #66cc66;">&#93;</span> <span style="color: #993333; font-weight: bold;">WHERE</span> 
Page_Title <span style="color: #66cc66;">=</span> @PageTitle<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #993333; font-weight: bold;">IF</span> @CheckRecCount <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">0</span>
  <span style="color: #993333; font-weight: bold;">BEGIN</span> 
		<span style="color: #993333; font-weight: bold;">SET</span> @MyPageTitle <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'The following Page_Title is already exists in database: '</span> <span style="color: #66cc66;">+</span>  @PageTitle;
		<span style="color: #993333; font-weight: bold;">SELECT</span> @MyPageTitle;
		<span style="color: #993333; font-weight: bold;">GOTO</span> GoodBye;
  <span style="color: #993333; font-weight: bold;">END</span>
&nbsp;
&nbsp;
<span style="color: #993333; font-weight: bold;">UPDATE</span> <span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #66cc66;">&#91;</span>breadcrumblinks<span style="color: #66cc66;">&#93;</span> 
   <span style="color: #993333; font-weight: bold;">SET</span> Lft <span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold;">CASE</span> <span style="color: #993333; font-weight: bold;">WHEN</span> Lft <span style="color: #66cc66;">&gt;</span> @ParentLevel <span style="color: #993333; font-weight: bold;">THEN</span>
      Lft <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">2</span>
    <span style="color: #993333; font-weight: bold;">ELSE</span>
      Lft <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">0</span>
    <span style="color: #993333; font-weight: bold;">END</span><span style="color: #66cc66;">,</span>
   Rgt <span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold;">CASE</span> <span style="color: #993333; font-weight: bold;">WHEN</span> Rgt <span style="color: #66cc66;">&gt;=</span> @ParentLevel <span style="color: #993333; font-weight: bold;">THEN</span>
      Rgt <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">2</span>
   <span style="color: #993333; font-weight: bold;">ELSE</span>
      Rgt <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">0</span>
   <span style="color: #993333; font-weight: bold;">END</span>
<span style="color: #993333; font-weight: bold;">WHERE</span>  Rgt <span style="color: #66cc66;">&gt;=</span> @ParentLevel;
&nbsp;
<span style="color: #993333; font-weight: bold;">SET</span> @RecCount <span style="color: #66cc66;">=</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #993333; font-weight: bold;">COUNT</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">*</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #66cc66;">&#91;</span>breadcrumblinks<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #993333; font-weight: bold;">IF</span> @RecCount <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>
    <span style="color: #993333; font-weight: bold;">BEGIN</span>
		<span style="color: #808080; font-style: italic;">-- this is for handling the first record</span>
		<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> <span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #66cc66;">&#91;</span>breadcrumblinks<span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">&#40;</span>Page_Title<span style="color: #66cc66;">,</span> Page_URL<span style="color: #66cc66;">,</span> Lft<span style="color: #66cc66;">,</span> Rgt<span style="color: #66cc66;">&#41;</span>
					<span style="color: #993333; font-weight: bold;">VALUES</span> <span style="color: #66cc66;">&#40;</span>@PageTitle<span style="color: #66cc66;">,</span> @PageURL<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #993333; font-weight: bold;">END</span>
	<span style="color: #993333; font-weight: bold;">ELSE</span>
    <span style="color: #993333; font-weight: bold;">BEGIN</span>
		<span style="color: #808080; font-style: italic;">-- whereas the following is for the second record, and so forth!</span>
		<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> <span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #66cc66;">&#91;</span>breadcrumblinks<span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">&#40;</span>Page_Title<span style="color: #66cc66;">,</span> Page_URL<span style="color: #66cc66;">,</span> Lft<span style="color: #66cc66;">,</span> Rgt<span style="color: #66cc66;">&#41;</span>
					<span style="color: #993333; font-weight: bold;">VALUES</span> <span style="color: #66cc66;">&#40;</span>@PageTitle<span style="color: #66cc66;">,</span> @PageURL<span style="color: #66cc66;">,</span> @ParentLevel<span style="color: #66cc66;">,</span> <span style="color: #66cc66;">&#40;</span>@ParentLevel <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	  <span style="color: #993333; font-weight: bold;">END</span>
&nbsp;
  GoodBye:
&nbsp;
<span style="color: #993333; font-weight: bold;">END</span>
<span style="color: #993333; font-weight: bold;">GO</span></pre></div></div>

</li>
<li>
<h2>Menghapus Breadcrumb</h2>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">PROCEDURE</span> <span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #66cc66;">&#91;</span>deletebreadcrumbbasedonpagetitle<span style="color: #66cc66;">&#93;</span>
  @PageTitle <span style="color: #993333; font-weight: bold;">AS</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #993333; font-weight: bold;">AS</span>
<span style="color: #993333; font-weight: bold;">BEGIN</span>
&nbsp;
<span style="color: #993333; font-weight: bold;">DECLARE</span> @DeletedPageTitle <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">DECLARE</span> @DeletedLft <span style="color: #993333; font-weight: bold;">INTEGER</span>;
<span style="color: #993333; font-weight: bold;">DECLARE</span> @DeletedRgt <span style="color: #993333; font-weight: bold;">INTEGER</span>;
&nbsp;
<span style="color: #993333; font-weight: bold;">SELECT</span> @DeletedPageTitle<span style="color: #66cc66;">=</span>Page_Title<span style="color: #66cc66;">,</span> @DeletedLft<span style="color: #66cc66;">=</span>Lft<span style="color: #66cc66;">,</span> @DeletedRgt<span style="color: #66cc66;">=</span>Rgt
<span style="color: #993333; font-weight: bold;">FROM</span>   <span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #66cc66;">&#91;</span>breadcrumblinks<span style="color: #66cc66;">&#93;</span> 
<span style="color: #993333; font-weight: bold;">WHERE</span>  Page_Title <span style="color: #66cc66;">=</span> @PageTitle;
&nbsp;
<span style="color: #993333; font-weight: bold;">DELETE</span> <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #66cc66;">&#91;</span>breadcrumblinks<span style="color: #66cc66;">&#93;</span>
<span style="color: #993333; font-weight: bold;">WHERE</span> Lft <span style="color: #993333; font-weight: bold;">BETWEEN</span> @DeletedLft <span style="color: #993333; font-weight: bold;">AND</span> @DeletedRgt;
&nbsp;
<span style="color: #993333; font-weight: bold;">UPDATE</span> <span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #66cc66;">&#91;</span>breadcrumblinks<span style="color: #66cc66;">&#93;</span>
   <span style="color: #993333; font-weight: bold;">SET</span> Lft <span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold;">CASE</span> <span style="color: #993333; font-weight: bold;">WHEN</span> Lft <span style="color: #66cc66;">&gt;</span> @DeletedLft <span style="color: #993333; font-weight: bold;">THEN</span>
             Lft <span style="color: #66cc66;">-</span> <span style="color: #66cc66;">&#40;</span>@DeletedRgt <span style="color: #66cc66;">-</span> @DeletedLft <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>
          <span style="color: #993333; font-weight: bold;">ELSE</span>
             Lft
          <span style="color: #993333; font-weight: bold;">END</span><span style="color: #66cc66;">,</span>
       Rgt <span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold;">CASE</span> <span style="color: #993333; font-weight: bold;">WHEN</span> Rgt <span style="color: #66cc66;">&gt;</span> @DeletedLft <span style="color: #993333; font-weight: bold;">THEN</span>
             Rgt <span style="color: #66cc66;">-</span> <span style="color: #66cc66;">&#40;</span>@DeletedRgt <span style="color: #66cc66;">-</span> @DeletedLft <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>
          <span style="color: #993333; font-weight: bold;">ELSE</span>
             Rgt
          <span style="color: #993333; font-weight: bold;">END</span>
   <span style="color: #993333; font-weight: bold;">WHERE</span> Lft <span style="color: #66cc66;">&gt;</span> @DeletedLft
      <span style="color: #993333; font-weight: bold;">OR</span> Rgt <span style="color: #66cc66;">&gt;</span> @DeletedLft;
<span style="color: #993333; font-weight: bold;">END</span>
<span style="color: #993333; font-weight: bold;">GO</span></pre></div></div>

</li>
<li>
<h2>Memindahkan Breadcrumb ke Induk yang Lain</h2>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">PROCEDURE</span> <span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #66cc66;">&#91;</span>movebreadcrumb<span style="color: #66cc66;">&#93;</span>
  @CurrentRoot <span style="color: #993333; font-weight: bold;">AS</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
	@NewParent <span style="color: #993333; font-weight: bold;">AS</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #993333; font-weight: bold;">AS</span>
<span style="color: #993333; font-weight: bold;">BEGIN</span>
  <span style="color: #808080; font-style: italic;">-- routine body goes here, e.g.</span>
  <span style="color: #993333; font-weight: bold;">DECLARE</span> @Origin_Lft <span style="color: #993333; font-weight: bold;">INTEGER</span>;
	<span style="color: #993333; font-weight: bold;">DECLARE</span> @Origin_Rgt <span style="color: #993333; font-weight: bold;">INTEGER</span>;
	<span style="color: #993333; font-weight: bold;">DECLARE</span> @NewParent_Rgt <span style="color: #993333; font-weight: bold;">INTEGER</span>;
&nbsp;
<span style="color: #993333; font-weight: bold;">SELECT</span> @Origin_Lft<span style="color: #66cc66;">=</span>Lft<span style="color: #66cc66;">,</span> @Origin_Rgt<span style="color: #66cc66;">=</span>Rgt
	<span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span>breadcrumblinks 
	<span style="color: #993333; font-weight: bold;">WHERE</span> Page_Title <span style="color: #66cc66;">=</span> @CurrentRoot;
<span style="color: #993333; font-weight: bold;">SET</span> @NewParent_Rgt <span style="color: #66cc66;">=</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> Rgt <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span>breadcrumblinks
	<span style="color: #993333; font-weight: bold;">WHERE</span> Page_Title <span style="color: #66cc66;">=</span> @NewParent<span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">UPDATE</span> <span style="color: #66cc66;">&#91;</span>dbo<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span>breadcrumblinks 
	<span style="color: #993333; font-weight: bold;">SET</span> Lft <span style="color: #66cc66;">=</span> Lft <span style="color: #66cc66;">+</span> 
	<span style="color: #993333; font-weight: bold;">CASE</span>
		<span style="color: #993333; font-weight: bold;">WHEN</span> @NewParent_Rgt <span style="color: #66cc66;">&lt;</span> @Origin_Lft
			<span style="color: #993333; font-weight: bold;">THEN</span> <span style="color: #993333; font-weight: bold;">CASE</span>
				<span style="color: #993333; font-weight: bold;">WHEN</span> Lft <span style="color: #993333; font-weight: bold;">BETWEEN</span> @Origin_Lft <span style="color: #993333; font-weight: bold;">AND</span> @Origin_Rgt
					<span style="color: #993333; font-weight: bold;">THEN</span> @NewParent_Rgt <span style="color: #66cc66;">-</span> @Origin_Lft
				<span style="color: #993333; font-weight: bold;">WHEN</span> Lft <span style="color: #993333; font-weight: bold;">BETWEEN</span> @NewParent_Rgt	<span style="color: #993333; font-weight: bold;">AND</span> @Origin_Lft <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">1</span>
					<span style="color: #993333; font-weight: bold;">THEN</span> @Origin_Rgt <span style="color: #66cc66;">-</span> @Origin_Lft <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">1</span>
				<span style="color: #993333; font-weight: bold;">ELSE</span> <span style="color: #cc66cc;">0</span> <span style="color: #993333; font-weight: bold;">END</span>
		<span style="color: #993333; font-weight: bold;">WHEN</span> @NewParent_Rgt <span style="color: #66cc66;">&gt;</span> @Origin_Rgt
			<span style="color: #993333; font-weight: bold;">THEN</span> <span style="color: #993333; font-weight: bold;">CASE</span>
				<span style="color: #993333; font-weight: bold;">WHEN</span> Lft <span style="color: #993333; font-weight: bold;">BETWEEN</span> @Origin_Lft	<span style="color: #993333; font-weight: bold;">AND</span> @Origin_Rgt
					<span style="color: #993333; font-weight: bold;">THEN</span> @NewParent_Rgt <span style="color: #66cc66;">-</span> @Origin_Rgt <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">1</span>
				<span style="color: #993333; font-weight: bold;">WHEN</span> Lft <span style="color: #993333; font-weight: bold;">BETWEEN</span> @Origin_Rgt <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">1</span> <span style="color: #993333; font-weight: bold;">AND</span> @NewParent_Rgt <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">1</span>
					<span style="color: #993333; font-weight: bold;">THEN</span> @Origin_Lft <span style="color: #66cc66;">-</span> @Origin_Rgt <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">1</span>
				<span style="color: #993333; font-weight: bold;">ELSE</span> <span style="color: #cc66cc;">0</span> <span style="color: #993333; font-weight: bold;">END</span>
			<span style="color: #993333; font-weight: bold;">ELSE</span> <span style="color: #cc66cc;">0</span> <span style="color: #993333; font-weight: bold;">END</span><span style="color: #66cc66;">,</span>
	Rgt <span style="color: #66cc66;">=</span> Rgt <span style="color: #66cc66;">+</span> 
	<span style="color: #993333; font-weight: bold;">CASE</span>
		<span style="color: #993333; font-weight: bold;">WHEN</span> @NewParent_Rgt <span style="color: #66cc66;">&lt;</span> @Origin_Lft
			<span style="color: #993333; font-weight: bold;">THEN</span> <span style="color: #993333; font-weight: bold;">CASE</span>
		<span style="color: #993333; font-weight: bold;">WHEN</span> Rgt <span style="color: #993333; font-weight: bold;">BETWEEN</span> @Origin_Lft <span style="color: #993333; font-weight: bold;">AND</span> @Origin_Rgt
			<span style="color: #993333; font-weight: bold;">THEN</span> @NewParent_Rgt <span style="color: #66cc66;">-</span> @Origin_Lft
		<span style="color: #993333; font-weight: bold;">WHEN</span> Rgt <span style="color: #993333; font-weight: bold;">BETWEEN</span> @NewParent_Rgt <span style="color: #993333; font-weight: bold;">AND</span> @Origin_Lft <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">1</span>
			<span style="color: #993333; font-weight: bold;">THEN</span> @Origin_Rgt <span style="color: #66cc66;">-</span> @Origin_Lft <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">1</span>
		<span style="color: #993333; font-weight: bold;">ELSE</span> <span style="color: #cc66cc;">0</span> <span style="color: #993333; font-weight: bold;">END</span>
		<span style="color: #993333; font-weight: bold;">WHEN</span> @NewParent_Rgt <span style="color: #66cc66;">&gt;</span> @Origin_Rgt
			<span style="color: #993333; font-weight: bold;">THEN</span> <span style="color: #993333; font-weight: bold;">CASE</span>
				<span style="color: #993333; font-weight: bold;">WHEN</span> Rgt <span style="color: #993333; font-weight: bold;">BETWEEN</span> @Origin_Lft <span style="color: #993333; font-weight: bold;">AND</span> @Origin_Rgt
					<span style="color: #993333; font-weight: bold;">THEN</span> @NewParent_Rgt <span style="color: #66cc66;">-</span> @Origin_Rgt <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">1</span>
				<span style="color: #993333; font-weight: bold;">WHEN</span> Rgt <span style="color: #993333; font-weight: bold;">BETWEEN</span> @Origin_Rgt <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">1</span>	<span style="color: #993333; font-weight: bold;">AND</span> @NewParent_Rgt <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">1</span>
					<span style="color: #993333; font-weight: bold;">THEN</span> @Origin_Lft <span style="color: #66cc66;">-</span> @Origin_Rgt <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">1</span>
				<span style="color: #993333; font-weight: bold;">ELSE</span> <span style="color: #cc66cc;">0</span> <span style="color: #993333; font-weight: bold;">END</span>
			<span style="color: #993333; font-weight: bold;">ELSE</span> <span style="color: #cc66cc;">0</span> <span style="color: #993333; font-weight: bold;">END</span>;
&nbsp;
<span style="color: #993333; font-weight: bold;">END</span>
<span style="color: #993333; font-weight: bold;">GO</span></pre></div></div>

</li>
</ol>
<p>Semoga dapat membantu!</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.openscriptsolution.com%2Fid%2F2012%2F01%2F31%2Fhow-to-create-breadcrumb-using-the-nested-set-data-model-in-sql-server%2F&amp;title=Bagaimana%20Membuat%20Breadcrumb%20Menggunakan%20Nested%20Set%20Data%20Model%20di%20SQL%20Server" id="wpa2a_2"><img src="http://www.openscriptsolution.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.openscriptsolution.com/id/2012/01/31/how-to-create-breadcrumb-using-the-nested-set-data-model-in-sql-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bagaimana Membuat 3 Ijin Akses Baru (Dapat Mengirim Balasan, Dapat Mengirim Catatan Internal, dan Dapat Menugaskan Tiket) ke dalam osTicket 1.6 ST</title>
		<link>http://www.openscriptsolution.com/id/2012/01/20/how-to-create-3-new-permissions-can-post-reply-can-post-internal-notes-and-can-assign-tickets-into-osticket-1-6-st/</link>
		<comments>http://www.openscriptsolution.com/id/2012/01/20/how-to-create-3-new-permissions-can-post-reply-can-post-internal-notes-and-can-assign-tickets-into-osticket-1-6-st/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 04:19:53 +0000</pubDate>
		<dc:creator>Masino Sinaga</dc:creator>
				<category><![CDATA[osTicket]]></category>
		<category><![CDATA[assign tickets]]></category>
		<category><![CDATA[post internal notes]]></category>
		<category><![CDATA[post reply]]></category>
		<category><![CDATA[staff]]></category>
		<category><![CDATA[staff panel]]></category>
		<category><![CDATA[staff-side]]></category>
		<category><![CDATA[user groups]]></category>
		<category><![CDATA[v1.6 ST]]></category>

		<guid isPermaLink="false">http://www.openscriptsolution.com/?p=1495</guid>
		<description><![CDATA[osTicket melakukan tugas yang sangat baik untuk membatasi hak akses tertentu bagi staf melalui pengimplementasian fitur User Groups atau Grup Pengguna. Ada tujuh hak akses yang telah disediakan di User Groups. Mereka adalah: Can Create Tickets (dapat membuat tiket), Can Edit Tickets (dapat mengubah tiket), Can Close Tickets (dapat menutup tiket), Can Transfer Tickets (dapat [...]]]></description>
			<content:encoded><![CDATA[<p>osTicket melakukan tugas yang sangat baik untuk membatasi hak akses tertentu bagi staf melalui pengimplementasian fitur User Groups atau Grup Pengguna. Ada tujuh hak akses yang telah disediakan di User Groups. Mereka adalah: Can Create Tickets (dapat membuat tiket), Can Edit Tickets (dapat mengubah tiket), Can Close Tickets (dapat menutup tiket), Can Transfer Tickets (dapat memindahkan tiket), Can Delete Tickets (dapat menghapus tiket), Can Ban Emails (dapat memban surel), dan Can Manage Premade (dapat mengelola jawaban yang dibuat sebelumnya). Sayangnya, sampai dengan osTicket versi 1.6 ST, belum ada hak akses untuk yang berikut ini: Can Post Reply (dapat mengirim balasan), Can Post Internal Notes (dapat mengirim catatan internal), dan Can Assign Tickets (dapat menugaskan tiket kepada staf). Di artikel ini, saya akan menunjukkan kepada Anda bagaimana cara menambahkan ketiga hak akses yang baru tadi ke dalam fitur User Groups. Hal ini sangat berguna ketika Anda ingin membuat sebuah User Group lalu menugaskannya kepada pengguna tertentu yang tidak memiliki kemampuan untuk ketiga hak akses yang baru tadi. Secara standar, ketiga hak akses baru tadi diset ke nilai 1 (aktif). Jika Anda ingin mengganti nilai tersebut atau menonaktifkan ketiga hak akses tadi, maka Anda harus login sebagai Administrator, lalu pergi ke menu Admin Panel -> Staff -> User Groups, kemudian ubah sebuah record user group yang ingin Anda nonaktifkan ketiga hak akses tadi di dalamnya.</p>
<ol>
<li>
Pertama sekali, ubah tabel <strong>ost_groups</strong> Anda dengan menambahkan tiga field baru dengan menggunakan skrip SQL berikut ke dalam basis data osTicket Anda (silahkan sesuaikan awalan tabel di skrip ini jika Anda menggunakan awalan yang berbeda yang saya gunakan, yaitu: <strong>ost_</strong>):</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #ff0000;">`ost_groups`</span> <span style="color: #993333; font-weight: bold;">ADD</span> <span style="color: #993333; font-weight: bold;">COLUMN</span> <span style="color: #ff0000;">`can_post_reply`</span> tinyint<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">UNSIGNED</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #cc66cc;">1</span> AFTER <span style="color: #ff0000;">`can_create_tickets`</span>;
<span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #ff0000;">`ost_groups`</span> <span style="color: #993333; font-weight: bold;">ADD</span> <span style="color: #993333; font-weight: bold;">COLUMN</span> <span style="color: #ff0000;">`can_post_internal_notes`</span> tinyint<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">UNSIGNED</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #cc66cc;">1</span> AFTER <span style="color: #ff0000;">`can_post_reply`</span>;
<span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #ff0000;">`ost_groups`</span> <span style="color: #993333; font-weight: bold;">ADD</span> <span style="color: #993333; font-weight: bold;">COLUMN</span> <span style="color: #ff0000;">`can_assign_tickets`</span> tinyint<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">UNSIGNED</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #cc66cc;">1</span> AFTER <span style="color: #ff0000;">`can_post_internal_notes`</span>;</pre></div></div>

</li>
<li>
Buka berkas <strong>/include/staff/group.inc.php</strong> Anda, lalu temukan kode ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">        &lt;tr&gt;&lt;th&gt;Can &lt;b&gt;Create&lt;/b&gt; Tickets&lt;/th&gt;
            &lt;td&gt;
                &lt;input type=&quot;radio&quot; name=&quot;can_create_tickets&quot;  value=&quot;1&quot;   <span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'can_create_tickets'</span><span style="color: #009900;">&#93;</span>?<span style="color: #0000ff;">'checked'</span><span style="color: #339933;">:</span><span style="color: #0000ff;">''</span><span style="color: #000000; font-weight: bold;">?&gt;</span> /&gt;Yes 
                &lt;input type=&quot;radio&quot; name=&quot;can_create_tickets&quot;  value=&quot;0&quot;   <span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #339933;">!</span><span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'can_create_tickets'</span><span style="color: #009900;">&#93;</span>?<span style="color: #0000ff;">'checked'</span><span style="color: #339933;">:</span><span style="color: #0000ff;">''</span><span style="color: #000000; font-weight: bold;">?&gt;</span> /&gt;No
                &amp;nbsp;&amp;nbsp;&lt;i&gt;Ability to open tickets on behalf of users!&lt;/i&gt;
            &lt;/td&gt;
        &lt;/tr&gt;</pre></div></div>

<p>setelah baris terakhir dari kode tadi, tambahkan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?&gt;</span>
        <span style="color: #339933;">&lt;</span>tr<span style="color: #339933;">&gt;&lt;</span>th<span style="color: #339933;">&gt;</span>Can <span style="color: #339933;">&lt;</span>b<span style="color: #339933;">&gt;</span>Post Reply<span style="color: #339933;">&lt;/</span>b<span style="color: #339933;">&gt;&lt;/</span>th<span style="color: #339933;">&gt;</span>
            <span style="color: #339933;">&lt;</span>td<span style="color: #339933;">&gt;</span>
                <span style="color: #339933;">&lt;</span>input type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;radio&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;can_post_reply&quot;</span>  value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;1&quot;</span>   <span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'can_post_reply'</span><span style="color: #009900;">&#93;</span>?<span style="color: #0000ff;">'checked'</span><span style="color: #339933;">:</span><span style="color: #0000ff;">''</span><span style="color: #000000; font-weight: bold;">?&gt;</span> /&gt;Yes 
                &lt;input type=&quot;radio&quot; name=&quot;can_post_reply&quot;  value=&quot;0&quot;   <span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #339933;">!</span><span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'can_post_reply'</span><span style="color: #009900;">&#93;</span>?<span style="color: #0000ff;">'checked'</span><span style="color: #339933;">:</span><span style="color: #0000ff;">''</span><span style="color: #000000; font-weight: bold;">?&gt;</span> /&gt;No
                &amp;nbsp;&amp;nbsp;&lt;i&gt;Ability to post replies!&lt;/i&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;&lt;th&gt;Can &lt;b&gt;Post Internal Notes&lt;/b&gt;&lt;/th&gt;
            &lt;td&gt;
                &lt;input type=&quot;radio&quot; name=&quot;can_post_internal_notes&quot;  value=&quot;1&quot;   <span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'can_post_internal_notes'</span><span style="color: #009900;">&#93;</span>?<span style="color: #0000ff;">'checked'</span><span style="color: #339933;">:</span><span style="color: #0000ff;">''</span><span style="color: #000000; font-weight: bold;">?&gt;</span> /&gt;Yes 
                &lt;input type=&quot;radio&quot; name=&quot;can_post_internal_notes&quot;  value=&quot;0&quot;   <span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #339933;">!</span><span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'can_post_internal_notes'</span><span style="color: #009900;">&#93;</span>?<span style="color: #0000ff;">'checked'</span><span style="color: #339933;">:</span><span style="color: #0000ff;">''</span><span style="color: #000000; font-weight: bold;">?&gt;</span> /&gt;No
                &amp;nbsp;&amp;nbsp;&lt;i&gt;Ability to post Internal Notes!&lt;/i&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;&lt;th&gt;Can &lt;b&gt;Assign&lt;/b&gt; Tickets&lt;/th&gt;
            &lt;td&gt;
                &lt;input type=&quot;radio&quot; name=&quot;can_assign_tickets&quot;  value=&quot;1&quot;   <span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'can_assign_tickets'</span><span style="color: #009900;">&#93;</span>?<span style="color: #0000ff;">'checked'</span><span style="color: #339933;">:</span><span style="color: #0000ff;">''</span><span style="color: #000000; font-weight: bold;">?&gt;</span> /&gt;Yes 
                &lt;input type=&quot;radio&quot; name=&quot;can_assign_tickets&quot;  value=&quot;0&quot;   <span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #339933;">!</span><span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'can_assign_tickets'</span><span style="color: #009900;">&#93;</span>?<span style="color: #0000ff;">'checked'</span><span style="color: #339933;">:</span><span style="color: #0000ff;">''</span><span style="color: #000000; font-weight: bold;">?&gt;</span> /&gt;No
                &amp;nbsp;&amp;nbsp;&lt;i&gt;Ability to assign tickets!&lt;/i&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?&gt;</span></pre></div></div>

</li>
<li>
Buka berkas <strong>/include/class.group.php</strong> Anda, lalu temukan kode yang ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">                 <span style="color: #0000ff;">', can_create_tickets='</span><span style="color: #339933;">.</span>db_input<span style="color: #009900;">&#40;</span><span style="color: #000088;">$vars</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'can_create_tickets'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span></pre></div></div>

<p>kemudian timpa dengan kode berikut ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">                 <span style="color: #0000ff;">', can_create_tickets='</span><span style="color: #339933;">.</span>db_input<span style="color: #009900;">&#40;</span><span style="color: #000088;">$vars</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'can_create_tickets'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>
<span style="color: #666666; font-style: italic;">// Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012</span>
				 <span style="color: #0000ff;">', can_post_reply='</span><span style="color: #339933;">.</span>db_input<span style="color: #009900;">&#40;</span><span style="color: #000088;">$vars</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'can_post_reply'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>
				 <span style="color: #0000ff;">', can_post_internal_notes='</span><span style="color: #339933;">.</span>db_input<span style="color: #009900;">&#40;</span><span style="color: #000088;">$vars</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'can_post_internal_notes'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>				 
				 <span style="color: #0000ff;">', can_assign_tickets='</span><span style="color: #339933;">.</span>db_input<span style="color: #009900;">&#40;</span><span style="color: #000088;">$vars</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'can_assign_tickets'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>
<span style="color: #666666; font-style: italic;">// End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012</span></pre></div></div>

</li>
<li>
Buka berkas <strong>/include/class.staff.php</strong> Anda, lalu temukan kode ini::</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">    <span style="color: #000000; font-weight: bold;">function</span> canCreateTickets<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isadmin</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">udata</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'can_create_tickets'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>?<span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">:</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span></pre></div></div>

<p>setelah baris terakhir dari kode tadi, tambahkan kode berikut ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012</span>
    <span style="color: #000000; font-weight: bold;">function</span> canPostReply<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isadmin</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">udata</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'can_post_reply'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>?<span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">:</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>    
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> canPostInternalNotes<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isadmin</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">udata</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'can_post_internal_notes'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>?<span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">:</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>    
    <span style="color: #009900;">&#125;</span>	
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> canAssignTickets<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isadmin</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">udata</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'can_assign_tickets'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>?<span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">:</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>    
    <span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">// End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012</span></pre></div></div>

</li>
<li>
Buka berkas <strong>/include/staff/viewticket.inc.php</strong> Anda, lalu temukan kode yang ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">            <span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;reply&quot;</span> <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;tabbertab&quot;</span> align<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;left&quot;</span><span style="color: #339933;">&gt;</span>
                <span style="color: #339933;">&lt;</span>h2<span style="color: #339933;">&gt;</span>Post Reply<span style="color: #339933;">&lt;/</span>h2<span style="color: #339933;">&gt;</span></pre></div></div>

<p>sebelum baris pertama dari kode tadi, tambahkan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?&gt;</span>
         <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$thisuser</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">canPostReply</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?&gt;</span></pre></div></div>

</li>
<li>
Masih di berkas <strong>/include/staff/viewticket.inc.php</strong>, temukan lagi kode yang ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">                        <span style="color: #339933;">&lt;</span>p<span style="color: #339933;">&gt;</span>
                            <span style="color: #339933;">&lt;</span>div  style<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;margin-left: 50px; margin-top: 30px; margin-bottom: 10px;border: 0px;&quot;</span><span style="color: #339933;">&gt;</span>
                                <span style="color: #339933;">&lt;</span>input <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;button&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">'submit'</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">'Post Reply'</span> <span style="color: #339933;">/&gt;</span>
                                <span style="color: #339933;">&lt;</span>input <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;button&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">'reset'</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">'Reset'</span> <span style="color: #339933;">/&gt;</span>
                                <span style="color: #339933;">&lt;</span>input <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;button&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">'button'</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">'Cancel'</span> onClick<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;history.go(-1)&quot;</span> <span style="color: #339933;">/&gt;</span>
                            <span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
                        <span style="color: #339933;">&lt;/</span>p<span style="color: #339933;">&gt;</span>
                    <span style="color: #339933;">&lt;/</span>form<span style="color: #339933;">&gt;</span>                
                <span style="color: #339933;">&lt;/</span>p<span style="color: #339933;">&gt;</span>
            <span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span></pre></div></div>

<p>setelah baris terakhir dari kode tadi, tambahkan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?&gt;</span>
         <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?&gt;</span></pre></div></div>

</li>
<li>
Masih di berkas <strong>/include/staff/viewticket.inc.php</strong>, temukan lagi kode yang ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">            <span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;notes&quot;</span> <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;tabbertab&quot;</span>  align<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;left&quot;</span><span style="color: #339933;">&gt;</span>
                <span style="color: #339933;">&lt;</span>h2<span style="color: #339933;">&gt;</span>Post Internal Note<span style="color: #339933;">&lt;/</span>h2<span style="color: #339933;">&gt;</span></pre></div></div>

<p>sebelum baris pertama dari kode tadi, tambahkan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?&gt;</span>
         <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$thisuser</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">canPostInternalNotes</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?&gt;</span></pre></div></div>

</li>
<li>
Masih di berkas <strong>/include/staff/viewticket.inc.php</strong>, temukan lagi kode yang ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">                        &lt;div style=&quot;margin-top: 3px;&quot;&gt;
                            &lt;b&gt;Ticket Status:&lt;/b&gt;
                            <span style="color: #000000; font-weight: bold;">&lt;?</span>
                            <span style="color: #000088;">$checked</span><span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$info</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ticket_status'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>?<span style="color: #0000ff;">'checked'</span><span style="color: #339933;">:</span><span style="color: #0000ff;">''</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//not selected by default.</span>
                            <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ticket</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isOpen</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
                            &lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;ticket_status&quot; id=&quot;ticket_status&quot; value=&quot;Close&quot; <span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$checked</span><span style="color: #000000; font-weight: bold;">?&gt;</span> &gt; Close Ticket&lt;/label&gt;
                            <span style="color: #000000; font-weight: bold;">&lt;?</span><span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
                            &lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;ticket_status&quot; id=&quot;ticket_status&quot; value=&quot;Reopen&quot; <span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$checked</span><span style="color: #000000; font-weight: bold;">?&gt;</span> &gt; Reopen Ticket&lt;/label&gt;
                            <span style="color: #000000; font-weight: bold;">&lt;?</span><span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
                        &lt;/div&gt;
                        <span style="color: #000000; font-weight: bold;">&lt;?</span><span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
                        &lt;p&gt;
                            &lt;div  align=&quot;left&quot; style=&quot;margin-left: 50px;margin-top: 10px; margin-bottom: 10px;border: 0px;&quot;&gt;
                                &lt;input class=&quot;button&quot; type='submit' value='Submit' /&gt;
                                &lt;input class=&quot;button&quot; type='reset' value='Reset' /&gt;
                                &lt;input class=&quot;button&quot; type='button' value='Cancel' onClick=&quot;history.go(-1)&quot; /&gt;
                            &lt;/div&gt;
                        &lt;/p&gt;
                    &lt;/form&gt;
                &lt;/p&gt;
            &lt;/div&gt;</pre></div></div>

<p>setelah baris terakhir dari kode tadi, tambahkan kode yang berikut ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?&gt;</span>
         <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?&gt;</span></pre></div></div>

</li>
<li>
Masih di dalam berkas <strong>/include/staff/viewticket.inc.php</strong>, temukan lagi kode yang ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">            <span style="color: #000000; font-weight: bold;">&lt;?</span>
             <span style="color: #666666; font-style: italic;">//When the ticket is assigned Allow assignee, admin or ANY dept manager to reassign the ticket.</span>
            <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$ticket</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isAssigned</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$thisuser</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isadmin</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>  <span style="color: #339933;">||</span> <span style="color: #000088;">$thisuser</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isManager</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$thisuser</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getId</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span><span style="color: #000088;">$ticket</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getStaffId</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                 <span style="color: #000000; font-weight: bold;">?&gt;</span>
            &lt;div id=&quot;assign&quot; class=&quot;tabbertab&quot;  align=&quot;left&quot;&gt;
&nbsp;
                &lt;h2&gt;<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$staff</span>?<span style="color: #0000ff;">'Re Assign Ticket'</span><span style="color: #339933;">:</span><span style="color: #0000ff;">'Assign to Staff'</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/h2&gt;</pre></div></div>

<p>sebelum baris pertama dari kode ini, tambahkan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?&gt;</span>
         <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$thisuser</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">canAssignTickets</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?&gt;</span></pre></div></div>

</li>
<li>
Masih di berkas <strong>/include/staff/viewticket.inc.php</strong>, temukan lagi kode yang ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">                        &lt;p&gt;
                            &lt;div  style=&quot;margin-left: 50px; margin-top: 5px; margin-bottom: 10px;border: 0px;&quot; align=&quot;left&quot;&gt;
                                &lt;input class=&quot;button&quot; type='submit' value='Assign' /&gt;
                                &lt;input class=&quot;button&quot; type='reset' value='Reset' /&gt;
                                &lt;input class=&quot;button&quot; type='button' value='Cancel' onClick=&quot;history.go(-1)&quot; /&gt;
                            &lt;/div&gt;
                        &lt;/p&gt;
                    &lt;/form&gt;
                &lt;/p&gt;
            &lt;/div&gt;
            <span style="color: #000000; font-weight: bold;">&lt;?</span><span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>setelah baris terakhir dari kode tadi, tambahkan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// Begin of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?&gt;</span>
         <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// End of MOD Adding 3 New Permissions, by Masino Sinaga, January 20, 2012 ?&gt;</span></pre></div></div>

</li>
</ol>
<p>Semoga bermanfaat. <img src='http://www.openscriptsolution.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.openscriptsolution.com%2Fid%2F2012%2F01%2F20%2Fhow-to-create-3-new-permissions-can-post-reply-can-post-internal-notes-and-can-assign-tickets-into-osticket-1-6-st%2F&amp;title=Bagaimana%20Membuat%203%20Ijin%20Akses%20Baru%20%28Dapat%20Mengirim%20Balasan%2C%20Dapat%20Mengirim%20Catatan%20Internal%2C%20dan%20Dapat%20Menugaskan%20Tiket%29%20ke%20dalam%20osTicket%201.6%20ST" id="wpa2a_4"><img src="http://www.openscriptsolution.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.openscriptsolution.com/id/2012/01/20/how-to-create-3-new-permissions-can-post-reply-can-post-internal-notes-and-can-assign-tickets-into-osticket-1-6-st/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bagaimana Membuat Breadcrumb Menggunakan Nested Set Data Model di MySQL</title>
		<link>http://www.openscriptsolution.com/id/2011/12/05/how-to-create-breadcrumb-using-the-nested-set-data-model-in-mysql/</link>
		<comments>http://www.openscriptsolution.com/id/2011/12/05/how-to-create-breadcrumb-using-the-nested-set-data-model-in-mysql/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 06:32:59 +0000</pubDate>
		<dc:creator>Masino Sinaga</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Adjacency List Model]]></category>
		<category><![CDATA[Hierarchical Data Model]]></category>
		<category><![CDATA[Model Data Hirarki]]></category>
		<category><![CDATA[Nested Set Data Model]]></category>
		<category><![CDATA[Stored Procedure]]></category>

		<guid isPermaLink="false">http://www.openscriptsolution.com/?p=1480</guid>
		<description><![CDATA[Ada banyak artikel di Internet yang telah menjelaskan kepada kita bahwa Nested Set Data Model memiliki banyak kelebihan dan keuntungan (meskipun konon kabarnya dia lebih kompleks atau rumit dibandingkan dengan model data lainnya) untuk penanganan Model Data Hirarki di basis data. Beberapa keuntungan dari model ini adalah: Anda dapat membuat level yang tidak terbatas dan [...]]]></description>
			<content:encoded><![CDATA[<p>Ada banyak artikel di Internet yang telah menjelaskan kepada kita bahwa Nested Set Data Model memiliki banyak kelebihan dan keuntungan (meskipun konon kabarnya dia lebih kompleks atau rumit dibandingkan dengan model data lainnya) untuk penanganan Model Data Hirarki di basis data. </p>
<p>Beberapa keuntungan dari model ini adalah: </p>
<ol>
<li>Anda dapat membuat level yang tidak terbatas dan hanya butuh satu query untuk mendapatkan semua alamat yang terkait dengannya.</li>
<li>Karena dia hanya membutuhkan satu query, maka waktu yang dibutuhkan lebih cepat untuk mengambil atau menampilkan alamat lengkapnya.</li>
<li>Mudah dalam pengelolaan record (penambahan, penghapusan, dan pemindahan record). Kita akan fokus pada item ketiga pada artikel ini menggunakan basis data MySQL.</li>
</ol>
<p>Satu-satunya kelemahan dari model ini adalah bahwa dia memang lebih kompleks daripada model yang lainnya, khususnya jika Anda baru pertama sekali mengenal dan mengimplementasikan model ini. Bahkan, Anda harus berhati-hati menangani proses pengelolaan record (tambah, hapus, dan pemindahan), karena jika tidak dilakukan dengan benar, semua record breadcrumb Anda di tabel tersebut akan menjadi kacau dan tidak dapat digunakan. Hm&#8230; <img src='http://www.openscriptsolution.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Saya menemukan artikel berikut: <a href="http://www.developer.com/db/article.php/3517366/Using-the-Nested-Set-Data-Model-for-Breadcrumb-Links.htm" title="Using the Nested Set Data Model for Breadcrumb Links" target="_blank">Using the Nested Set Data Model for Breadcrumb Links</a> dan saya kira ini merupakan cara yang terbaik bagaimana Anda dapat membuat breadcrumb yang berdiri sendiri untuk situs-situs apapun yang sedang Anda bangun yang belum mengimplementasikan fitur breadcrumb di dalamnya. Karena artikel di atas tadi hanya menjelaskan bagaimana Anda dapat menambah dan menghapus sebuah record (breadcrumb), tapi tidak atau belum menjelaskan lebih detail bagaimana Anda dapat memindahkan breadcrumb tertentu dari lokasi yang sekarang ke lokasi induk lainnya, maka di artikel yang saya tulis ini, saya akan menjelaskan langkah demi langkah bagaimana Anda dapat membuat Stored Procedure di MySQL untuk menambahkan breadcrumb baru, menghapus breadcrumbs berdasarkan halaman induknya, dan memindahkan breadcrumb dari lokasi tertentu ke lokasi induk yang baru. Hal ini sangat membantu untuk mengelola breadcrumb Anda dengan mudah dan cepat. Perlu diketahui bahwa pengelolaan breadcrumb dengan model yang sedang kita bahas ini sangat penting, karena jika tidak maka Anda justru akan menghancurkan semua record di dalam tabel yang menyimpan breadcrumb Anda tadi.</p>
<ol>
<li>
<h2>Membuat Tabel untuk Breadcrumb</h2>
<p>Pertama sekali, mari kita membuat sebuah tabel untuk menyimpan seluruh record breadcrumb dengan menggunakan kueri SQL berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">CREATE</span> <span style="color: #990099; font-weight: bold;">TABLE</span> <span style="color: #008000;">`breadcrumblinks`</span> <span style="color: #FF00FF;">&#40;</span>
  <span style="color: #008000;">`Page<span style="color: #008080; font-weight: bold;">_</span>Title`</span> <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">100</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span><span style="color: #000033;">,</span>
  <span style="color: #008000;">`Page<span style="color: #008080; font-weight: bold;">_</span>URL`</span> <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">100</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span><span style="color: #000033;">,</span>
  <span style="color: #008000;">`Lft`</span> <span style="color: #999900; font-weight: bold;">int</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">4</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span><span style="color: #000033;">,</span>
  <span style="color: #008000;">`Rgt`</span> <span style="color: #999900; font-weight: bold;">int</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">4</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span><span style="color: #000033;">,</span>
  <span style="color: #990099; font-weight: bold;">PRIMARY KEY</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">`Page<span style="color: #008080; font-weight: bold;">_</span>Title`</span><span style="color: #FF00FF;">&#41;</span>
<span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">ENGINE</span><span style="color: #CC0099;">=</span>MyISAM <span style="color: #990099; font-weight: bold;">DEFAULT</span> <span style="color: #FF9900; font-weight: bold;">CHARSET</span><span style="color: #CC0099;">=</span>utf8<span style="color: #000033;">;</span></pre></div></div>

</li>
<li>
<h2>Menambahkan Record Breadcrumb Baru</h2>
<p>Sekarang mari kita membuat sebuah Stored Procedure yang akan kita gunakan untuk menambahkan record baru ke dalam tabel breadcrumblinks di atas tadi:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">CREATE</span> <span style="color: #990099; font-weight: bold;">PROCEDURE</span> <span style="color: #008000;">`addnewbreadcrumb`</span><span style="color: #FF00FF;">&#40;</span><span style="color: #990099; font-weight: bold;">IN</span> PageTitleParent <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">100</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">,</span> 
                                    PageTitle <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">100</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">,</span> 
                                    PageURL <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">100</span><span style="color: #FF00FF;">&#41;</span><span style="color: #FF00FF;">&#41;</span>
GoodBye: <span style="color: #990099; font-weight: bold;">BEGIN</span>
<span style="color: #808080; font-style: italic;">-- Need three parameters (PageTitleParent, PageTitle, and PageURL), </span>
<span style="color: #808080; font-style: italic;">-- look at this line --&gt; `Page_Title` = PageTitleParent);</span>
<span style="color: #808080; font-style: italic;">-- look at this line --&gt; VALUES (PageTitle, PageURL, ParentLevel, (ParentLevel + 1));</span>
<span style="color: #990099; font-weight: bold;">DECLARE</span> ParentLevel <span style="color: #999900; font-weight: bold;">INTEGER</span><span style="color: #000033;">;</span>
<span style="color: #990099; font-weight: bold;">DECLARE</span> RecCount <span style="color: #999900; font-weight: bold;">INTEGER</span><span style="color: #000033;">;</span>
<span style="color: #990099; font-weight: bold;">DECLARE</span> CheckRecCount <span style="color: #999900; font-weight: bold;">INTEGER</span><span style="color: #000033;">;</span>
<span style="color: #990099; font-weight: bold;">DECLARE</span> MyPageTitle <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">100</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
&nbsp;
<span style="color: #990099; font-weight: bold;">SET</span> ParentLevel <span style="color: #CC0099;">=</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #990099; font-weight: bold;">SELECT</span> Rgt <span style="color: #990099; font-weight: bold;">FROM</span> <span style="color: #008000;">`breadcrumblinks`</span> <span style="color: #990099; font-weight: bold;">WHERE</span> 
<span style="color: #008000;">`Page<span style="color: #008080; font-weight: bold;">_</span>Title`</span> <span style="color: #CC0099;">=</span> PageTitleParent<span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
&nbsp;
<span style="color: #990099; font-weight: bold;">SET</span> CheckRecCount <span style="color: #CC0099;">=</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #000099;">COUNT</span><span style="color: #FF00FF;">&#40;</span><span style="color: #CC0099;">*</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">AS</span> RecCount <span style="color: #990099; font-weight: bold;">FROM</span> <span style="color: #008000;">`breadcrumblinks`</span> <span style="color: #990099; font-weight: bold;">WHERE</span> 
<span style="color: #008000;">`Page<span style="color: #008080; font-weight: bold;">_</span>Title`</span> <span style="color: #CC0099;">=</span> PageTitle<span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
	<span style="color: #009900;">IF</span> CheckRecCount <span style="color: #CC0099;">&gt;</span> <span style="color: #008080;">0</span> <span style="color: #009900;">THEN</span>
		<span style="color: #990099; font-weight: bold;">SET</span> MyPageTitle <span style="color: #CC0099;">=</span> <span style="color: #000099;">CONCAT</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">&quot;The following Page<span style="color: #008080; font-weight: bold;">_</span>Title is already exists in database: &quot;</span><span style="color: #000033;">,</span> PageTitle<span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
		<span style="color: #990099; font-weight: bold;">SELECT</span> MyPageTitle<span style="color: #000033;">;</span>
		LEAVE GoodBye<span style="color: #000033;">;</span>
  <span style="color: #009900;">END</span> <span style="color: #009900;">IF</span><span style="color: #000033;">;</span>
&nbsp;
<span style="color: #990099; font-weight: bold;">UPDATE</span> <span style="color: #008000;">`breadcrumblinks`</span>
   <span style="color: #990099; font-weight: bold;">SET</span> Lft <span style="color: #CC0099;">=</span> <span style="color: #009900;">CASE</span> <span style="color: #009900;">WHEN</span> Lft <span style="color: #CC0099;">&gt;</span> ParentLevel <span style="color: #009900;">THEN</span>
      Lft <span style="color: #CC0099;">+</span> <span style="color: #008080;">2</span>
    <span style="color: #009900;">ELSE</span>
      Lft <span style="color: #CC0099;">+</span> <span style="color: #008080;">0</span>
    <span style="color: #009900;">END</span><span style="color: #000033;">,</span>
   Rgt <span style="color: #CC0099;">=</span> <span style="color: #009900;">CASE</span> <span style="color: #009900;">WHEN</span> Rgt <span style="color: #CC0099;">&gt;=</span> ParentLevel <span style="color: #009900;">THEN</span>
      Rgt <span style="color: #CC0099;">+</span> <span style="color: #008080;">2</span>
   <span style="color: #009900;">ELSE</span>
      Rgt <span style="color: #CC0099;">+</span> <span style="color: #008080;">0</span>
   <span style="color: #009900;">END</span>
<span style="color: #990099; font-weight: bold;">WHERE</span>  Rgt <span style="color: #CC0099;">&gt;=</span> ParentLevel<span style="color: #000033;">;</span>
&nbsp;
<span style="color: #990099; font-weight: bold;">SET</span> RecCount <span style="color: #CC0099;">=</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #000099;">COUNT</span><span style="color: #FF00FF;">&#40;</span><span style="color: #CC0099;">*</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">FROM</span> <span style="color: #008000;">`breadcrumblinks`</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
	<span style="color: #009900;">IF</span> RecCount <span style="color: #CC0099;">=</span> <span style="color: #008080;">0</span> <span style="color: #009900;">THEN</span>
		<span style="color: #808080; font-style: italic;">-- this is for handling the first record</span>
		<span style="color: #990099; font-weight: bold;">INSERT</span> <span style="color: #990099; font-weight: bold;">INTO</span> <span style="color: #008000;">`breadcrumblinks`</span> <span style="color: #FF00FF;">&#40;</span>Page_Title<span style="color: #000033;">,</span> Page_URL<span style="color: #000033;">,</span> Lft<span style="color: #000033;">,</span> Rgt<span style="color: #FF00FF;">&#41;</span>
					<span style="color: #990099; font-weight: bold;">VALUES</span> <span style="color: #FF00FF;">&#40;</span>PageTitle<span style="color: #000033;">,</span> PageURL<span style="color: #000033;">,</span> <span style="color: #008080;">1</span><span style="color: #000033;">,</span> <span style="color: #008080;">2</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
	<span style="color: #009900;">ELSE</span>
		<span style="color: #808080; font-style: italic;">-- whereas the following is for the second record, and so forth!</span>
		<span style="color: #990099; font-weight: bold;">INSERT</span> <span style="color: #990099; font-weight: bold;">INTO</span> <span style="color: #008000;">`breadcrumblinks`</span> <span style="color: #FF00FF;">&#40;</span>Page_Title<span style="color: #000033;">,</span> Page_URL<span style="color: #000033;">,</span> Lft<span style="color: #000033;">,</span> Rgt<span style="color: #FF00FF;">&#41;</span>
					<span style="color: #990099; font-weight: bold;">VALUES</span> <span style="color: #FF00FF;">&#40;</span>PageTitle<span style="color: #000033;">,</span> PageURL<span style="color: #000033;">,</span> ParentLevel<span style="color: #000033;">,</span> <span style="color: #FF00FF;">&#40;</span>ParentLevel <span style="color: #CC0099;">+</span> <span style="color: #008080;">1</span><span style="color: #FF00FF;">&#41;</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
	<span style="color: #009900;">END</span> <span style="color: #009900;">IF</span><span style="color: #000033;">;</span>
&nbsp;
<span style="color: #009900;">END</span></pre></div></div>

<p>Sekarang mari kita diskusikan Stored Procedure (SP) yang barusan kita buat:<br />
Perhatikan baris kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">CREATE</span> <span style="color: #990099; font-weight: bold;">PROCEDURE</span> <span style="color: #008000;">`addnewbreadcrumb`</span><span style="color: #FF00FF;">&#40;</span><span style="color: #990099; font-weight: bold;">IN</span> PageTitleParent <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">100</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">,</span> 
                                    PageTitle <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">100</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">,</span> 
                                    PageURL <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">100</span><span style="color: #FF00FF;">&#41;</span><span style="color: #FF00FF;">&#41;</span></pre></div></div>

<p>Seperti yang kita lihat, SP ini memiliki nama: <strong>addnewbreadcrumb</strong>, dan dia membutuhkan tiga parameter.<br />
Mereka adalah:<br />
- <strong>PageTitleParent</strong>: Parameter ini adalah induk judul halaman dari breadcrumb baru yang akan Anda tambahkan,<br />
- <strong>PageTitle</strong>: Parameter ini adalah judul halaman dari breadcrumb baru yang akan Anda tambahkan,<br />
- <strong>PageURL</strong>: Parameter ini adalah URL halaman dari breadcrumb baru yang akan Anda tambahkan.</p>
<p>Berikut ini adalah kode untuk menampung nilai <strong>ParentLevel</strong> berdasarkan parameter <strong>PageTitleParent</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SET</span> ParentLevel <span style="color: #CC0099;">=</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #990099; font-weight: bold;">SELECT</span> Rgt <span style="color: #990099; font-weight: bold;">FROM</span> <span style="color: #008000;">`breadcrumblinks`</span> <span style="color: #990099; font-weight: bold;">WHERE</span> 
<span style="color: #008000;">`Page<span style="color: #008080; font-weight: bold;">_</span>Title`</span> <span style="color: #CC0099;">=</span> PageTitleParent<span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span></pre></div></div>

<p>Sebelum kita menambahkan sebuah record baru breadcrumb, mari kita periksa terlebih dulu tabel breadcrumb, apakah record yang akan ditambahkan tersebut sudah ada atau tidak dengan menggunakan kode berikut (hal ini perlu untuk menghindari terjadinya penambahan nilai level ketika terjadi galat duplikat record dari database MySQL):</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SET</span> CheckRecCount <span style="color: #CC0099;">=</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #000099;">COUNT</span><span style="color: #FF00FF;">&#40;</span><span style="color: #CC0099;">*</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">AS</span> RecCount <span style="color: #990099; font-weight: bold;">FROM</span> <span style="color: #008000;">`breadcru.mblinks`</span> <span style="color: #990099; font-weight: bold;">WHERE</span> 
<span style="color: #008000;">`Page<span style="color: #008080; font-weight: bold;">_</span>Title`</span> <span style="color: #CC0099;">=</span> PageTitle<span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
	<span style="color: #009900;">IF</span> CheckRecCount <span style="color: #CC0099;">&gt;</span> <span style="color: #008080;">0</span> <span style="color: #009900;">THEN</span>
		<span style="color: #990099; font-weight: bold;">SET</span> MyPageTitle <span style="color: #CC0099;">=</span> <span style="color: #000099;">CONCAT</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">&quot;The following Page<span style="color: #008080; font-weight: bold;">_</span>Title is already exists in database: &quot;</span><span style="color: #000033;">,</span> PageTitle<span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
		<span style="color: #990099; font-weight: bold;">SELECT</span> MyPageTitle<span style="color: #000033;">;</span>
		LEAVE GoodBye<span style="color: #000033;">;</span>
  <span style="color: #009900;">END</span> <span style="color: #009900;">IF</span><span style="color: #000033;">;</span></pre></div></div>

<p>Kode di atas tadi akan menjelaskan bahwa jika record yang akan ditambahkan ternyata sudah ada di database, maka tampilkan pesan kostum sebagai berikut: &#8220;The following Page_Title is already exists in database: {ThePageTitle}&#8221;, lalu segera keluar dari SP dengan melompat ke label <strong>GoodBye</strong> yang terdapat sebelum statement <strong>BEGIN</strong>.</p>
<p>Sisa dari kode pada SP ini adalah untuk proses penambahan breadcrumb baru. Penting untuk diketahui, bahwa saya menambahkan penanganan khusus untuk proses penambahan record record pertama sekali (jika tabel masih dalam keadaan kosong), dan juga untuk proses penambahan record kedua dan seterusnya (jika minimal sudah ada satu record di tabel tersebut). </p>
<p>Perhatikan kode berikut ini:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SET</span> RecCount <span style="color: #CC0099;">=</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #000099;">COUNT</span><span style="color: #FF00FF;">&#40;</span><span style="color: #CC0099;">*</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">FROM</span> <span style="color: #008000;">`breadcrumblinks`</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
	<span style="color: #009900;">IF</span> RecCount <span style="color: #CC0099;">=</span> <span style="color: #008080;">0</span> <span style="color: #009900;">THEN</span>
		<span style="color: #808080; font-style: italic;">-- this is for handling the first record</span>
		<span style="color: #990099; font-weight: bold;">INSERT</span> <span style="color: #990099; font-weight: bold;">INTO</span> <span style="color: #008000;">`breadcrumblinks`</span> <span style="color: #FF00FF;">&#40;</span>Page_Title<span style="color: #000033;">,</span> Page_URL<span style="color: #000033;">,</span> Lft<span style="color: #000033;">,</span> Rgt<span style="color: #FF00FF;">&#41;</span>
					<span style="color: #990099; font-weight: bold;">VALUES</span> <span style="color: #FF00FF;">&#40;</span>PageTitle<span style="color: #000033;">,</span> PageURL<span style="color: #000033;">,</span> <span style="color: #008080;">1</span><span style="color: #000033;">,</span> <span style="color: #008080;">2</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
	<span style="color: #009900;">ELSE</span>
		<span style="color: #808080; font-style: italic;">-- whereas the following is for the second record, and so forth!</span>
		<span style="color: #990099; font-weight: bold;">INSERT</span> <span style="color: #990099; font-weight: bold;">INTO</span> <span style="color: #008000;">`breadcrumblinks`</span> <span style="color: #FF00FF;">&#40;</span>Page_Title<span style="color: #000033;">,</span> Page_URL<span style="color: #000033;">,</span> Lft<span style="color: #000033;">,</span> Rgt<span style="color: #FF00FF;">&#41;</span>
					<span style="color: #990099; font-weight: bold;">VALUES</span> <span style="color: #FF00FF;">&#40;</span>PageTitle<span style="color: #000033;">,</span> PageURL<span style="color: #000033;">,</span> ParentLevel<span style="color: #000033;">,</span> <span style="color: #FF00FF;">&#40;</span>ParentLevel <span style="color: #CC0099;">+</span> <span style="color: #008080;">1</span><span style="color: #FF00FF;">&#41;</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
	<span style="color: #009900;">END</span> <span style="color: #009900;">IF</span><span style="color: #000033;">;</span></pre></div></div>

<p>Jika Anda ingin menambahkan record breadcrumb baru, cukup jalankan SP <strong>addnewbreadcrumb</strong> ini.
</li>
<li>
<h2>Menghapus Breadcrumb</h2>
<p>Sekarang mari kita membuat SP lainnya untuk menghapus breadcrumb tertentu berdasarkan nilai parameter <strong>PageTitle</strong>. SP ini hanya membutuhkan satu parameter (PageTitle):</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">CREATE</span> <span style="color: #990099; font-weight: bold;">PROCEDURE</span> <span style="color: #008000;">`deletebreadcrumbbasedonpagetitle`</span><span style="color: #FF00FF;">&#40;</span><span style="color: #990099; font-weight: bold;">IN</span> <span style="color: #008000;">`PageTitle`</span> <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">100</span><span style="color: #FF00FF;">&#41;</span><span style="color: #FF00FF;">&#41;</span>
<span style="color: #990099; font-weight: bold;">BEGIN</span>
<span style="color: #808080; font-style: italic;">-- Need one parameter (PageTitle), look at the line: WHERE  Page_Title = PageTitle;</span>
<span style="color: #990099; font-weight: bold;">DECLARE</span> DeletedPageTitle <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">100</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
<span style="color: #990099; font-weight: bold;">DECLARE</span> DeletedLft <span style="color: #999900; font-weight: bold;">INTEGER</span><span style="color: #000033;">;</span>
<span style="color: #990099; font-weight: bold;">DECLARE</span> DeletedRgt <span style="color: #999900; font-weight: bold;">INTEGER</span><span style="color: #000033;">;</span>
&nbsp;
<span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #008000;">`Page<span style="color: #008080; font-weight: bold;">_</span>Title`</span><span style="color: #000033;">,</span> <span style="color: #008000;">`Lft`</span><span style="color: #000033;">,</span> <span style="color: #008000;">`Rgt`</span>
<span style="color: #990099; font-weight: bold;">INTO</span>   DeletedPageTitle<span style="color: #000033;">,</span> DeletedLft<span style="color: #000033;">,</span> DeletedRgt
<span style="color: #990099; font-weight: bold;">FROM</span>   <span style="color: #008000;">`breadcrumblinks`</span>
<span style="color: #990099; font-weight: bold;">WHERE</span> <span style="color: #008000;">`Page<span style="color: #008080; font-weight: bold;">_</span>Title`</span> <span style="color: #CC0099;">=</span> PageTitle<span style="color: #000033;">;</span>
&nbsp;
<span style="color: #990099; font-weight: bold;">DELETE</span> <span style="color: #990099; font-weight: bold;">FROM</span> <span style="color: #008000;">`breadcrumblinks`</span>
<span style="color: #990099; font-weight: bold;">WHERE</span> Lft <span style="color: #CC0099; font-weight: bold;">BETWEEN</span> DeletedLft <span style="color: #CC0099; font-weight: bold;">AND</span> DeletedRgt<span style="color: #000033;">;</span>
&nbsp;
<span style="color: #990099; font-weight: bold;">UPDATE</span> <span style="color: #008000;">`breadcrumblinks`</span>
   <span style="color: #990099; font-weight: bold;">SET</span> Lft <span style="color: #CC0099;">=</span> <span style="color: #009900;">CASE</span> <span style="color: #009900;">WHEN</span> Lft <span style="color: #CC0099;">&gt;</span> DeletedLft <span style="color: #009900;">THEN</span>
             Lft <span style="color: #CC0099;">-</span> <span style="color: #FF00FF;">&#40;</span>DeletedRgt <span style="color: #CC0099;">-</span> DeletedLft <span style="color: #CC0099;">+</span> <span style="color: #008080;">1</span><span style="color: #FF00FF;">&#41;</span>
          <span style="color: #009900;">ELSE</span>
             Lft
          <span style="color: #009900;">END</span><span style="color: #000033;">,</span>
       Rgt <span style="color: #CC0099;">=</span> <span style="color: #009900;">CASE</span> <span style="color: #009900;">WHEN</span> Rgt <span style="color: #CC0099;">&gt;</span> DeletedLft <span style="color: #009900;">THEN</span>
             Rgt <span style="color: #CC0099;">-</span> <span style="color: #FF00FF;">&#40;</span>DeletedRgt <span style="color: #CC0099;">-</span> DeletedLft <span style="color: #CC0099;">+</span> <span style="color: #008080;">1</span><span style="color: #FF00FF;">&#41;</span>
          <span style="color: #009900;">ELSE</span>
             Rgt
          <span style="color: #009900;">END</span>
   <span style="color: #990099; font-weight: bold;">WHERE</span> Lft <span style="color: #CC0099;">&gt;</span> DeletedLft
      <span style="color: #CC0099; font-weight: bold;">OR</span> Rgt <span style="color: #CC0099;">&gt;</span> DeletedLft<span style="color: #000033;">;</span>
<span style="color: #009900;">END</span></pre></div></div>

<p>Jika Anda ingin menghapus record breadcrumb tertentu, cukup jalankan SP <strong>deletebreadcrumbbasedonpagetitle</strong> ini.
</li>
<li>
<h2>Memindahkan Breadcrumb ke Induk yang Lain</h2>
<p>Sejauh ini kita sudah memiliki 2 SP untuk menambah dan menghapus record breadcrumb. Lalu bagaimana dengan memindahkan breadcrumb? Pertanyaan bagus! Hal yang paling penting yang juga harus kita tangani adalah bagaimana caranya kita harus dapat memindahkan breadcrumb tertentu dari lokasi sekarang ke bahwa lokasi induk baru lainnya. Hal ini sangat penting, khususnya jika Anda akan memindahkan breadcrumb tertentu yang memiliki anak yang banyak di dalamnya. Oleh karena itu, sekarang mari kita membuat SP ketiga seperti berikut ini:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">CREATE</span> <span style="color: #990099; font-weight: bold;">PROCEDURE</span> <span style="color: #008000;">`movebreadcrumb`</span><span style="color: #FF00FF;">&#40;</span><span style="color: #990099; font-weight: bold;">IN</span> CurrentRoot <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">100</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">,</span> <span style="color: #990099; font-weight: bold;">IN</span> NewParent <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">100</span><span style="color: #FF00FF;">&#41;</span><span style="color: #FF00FF;">&#41;</span>
<span style="color: #990099; font-weight: bold;">BEGIN</span>
<span style="color: #808080; font-style: italic;">-- Need two parameters: (1) CurrentRoot, and (2) NewParent.</span>
<span style="color: #990099; font-weight: bold;">DECLARE</span> Origin_Lft <span style="color: #999900; font-weight: bold;">INTEGER</span><span style="color: #000033;">;</span>
<span style="color: #990099; font-weight: bold;">DECLARE</span> Origin_Rgt <span style="color: #999900; font-weight: bold;">INTEGER</span><span style="color: #000033;">;</span>
<span style="color: #990099; font-weight: bold;">DECLARE</span> NewParent_Rgt <span style="color: #999900; font-weight: bold;">INTEGER</span><span style="color: #000033;">;</span>
&nbsp;
<span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #008000;">`Lft`</span><span style="color: #000033;">,</span> <span style="color: #008000;">`Rgt`</span>
	<span style="color: #990099; font-weight: bold;">INTO</span> Origin_Lft<span style="color: #000033;">,</span> Origin_Rgt
	<span style="color: #990099; font-weight: bold;">FROM</span> <span style="color: #008000;">`breadcrumblinks`</span>
	<span style="color: #990099; font-weight: bold;">WHERE</span> <span style="color: #008000;">`Page<span style="color: #008080; font-weight: bold;">_</span>Title`</span> <span style="color: #CC0099;">=</span> CurrentRoot<span style="color: #000033;">;</span>
<span style="color: #990099; font-weight: bold;">SET</span> NewParent_Rgt <span style="color: #CC0099;">=</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #008000;">`Rgt`</span> <span style="color: #990099; font-weight: bold;">FROM</span> <span style="color: #008000;">`breadcrumblinks`</span>
	<span style="color: #990099; font-weight: bold;">WHERE</span> <span style="color: #008000;">`Page<span style="color: #008080; font-weight: bold;">_</span>Title`</span> <span style="color: #CC0099;">=</span> NewParent<span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span>
<span style="color: #990099; font-weight: bold;">UPDATE</span> <span style="color: #008000;">`breadcrumblinks`</span> 
	<span style="color: #990099; font-weight: bold;">SET</span> <span style="color: #008000;">`Lft`</span> <span style="color: #CC0099;">=</span> <span style="color: #008000;">`Lft`</span> <span style="color: #CC0099;">+</span> 
	<span style="color: #009900;">CASE</span>
		<span style="color: #009900;">WHEN</span> NewParent_Rgt <span style="color: #CC0099;">&lt;</span> Origin_Lft
			<span style="color: #009900;">THEN</span> <span style="color: #009900;">CASE</span>
				<span style="color: #009900;">WHEN</span> Lft <span style="color: #CC0099; font-weight: bold;">BETWEEN</span> Origin_Lft <span style="color: #CC0099; font-weight: bold;">AND</span> Origin_Rgt
					<span style="color: #009900;">THEN</span> NewParent_Rgt <span style="color: #CC0099;">-</span> Origin_Lft
				<span style="color: #009900;">WHEN</span> Lft <span style="color: #CC0099; font-weight: bold;">BETWEEN</span> NewParent_Rgt	<span style="color: #CC0099; font-weight: bold;">AND</span> Origin_Lft <span style="color: #CC0099;">-</span> <span style="color: #008080;">1</span>
					<span style="color: #009900;">THEN</span> Origin_Rgt <span style="color: #CC0099;">-</span> Origin_Lft <span style="color: #CC0099;">+</span> <span style="color: #008080;">1</span>
				<span style="color: #009900;">ELSE</span> <span style="color: #008080;">0</span> <span style="color: #009900;">END</span>
		<span style="color: #009900;">WHEN</span> NewParent_Rgt <span style="color: #CC0099;">&gt;</span> Origin_Rgt
			<span style="color: #009900;">THEN</span> <span style="color: #009900;">CASE</span>
				<span style="color: #009900;">WHEN</span> Lft <span style="color: #CC0099; font-weight: bold;">BETWEEN</span> Origin_Lft	<span style="color: #CC0099; font-weight: bold;">AND</span> Origin_Rgt
					<span style="color: #009900;">THEN</span> NewParent_Rgt <span style="color: #CC0099;">-</span> Origin_Rgt <span style="color: #CC0099;">-</span> <span style="color: #008080;">1</span>
				<span style="color: #009900;">WHEN</span> Lft <span style="color: #CC0099; font-weight: bold;">BETWEEN</span> Origin_Rgt <span style="color: #CC0099;">+</span> <span style="color: #008080;">1</span> <span style="color: #CC0099; font-weight: bold;">AND</span> NewParent_Rgt <span style="color: #CC0099;">-</span> <span style="color: #008080;">1</span>
					<span style="color: #009900;">THEN</span> Origin_Lft <span style="color: #CC0099;">-</span> Origin_Rgt <span style="color: #CC0099;">-</span> <span style="color: #008080;">1</span>
				<span style="color: #009900;">ELSE</span> <span style="color: #008080;">0</span> <span style="color: #009900;">END</span>
			<span style="color: #009900;">ELSE</span> <span style="color: #008080;">0</span> <span style="color: #009900;">END</span><span style="color: #000033;">,</span>
	Rgt <span style="color: #CC0099;">=</span> Rgt <span style="color: #CC0099;">+</span> 
	<span style="color: #009900;">CASE</span>
		<span style="color: #009900;">WHEN</span> NewParent_Rgt <span style="color: #CC0099;">&lt;</span> Origin_Lft
			<span style="color: #009900;">THEN</span> <span style="color: #009900;">CASE</span>
		<span style="color: #009900;">WHEN</span> Rgt <span style="color: #CC0099; font-weight: bold;">BETWEEN</span> Origin_Lft <span style="color: #CC0099; font-weight: bold;">AND</span> Origin_Rgt
			<span style="color: #009900;">THEN</span> NewParent_Rgt <span style="color: #CC0099;">-</span> Origin_Lft
		<span style="color: #009900;">WHEN</span> Rgt <span style="color: #CC0099; font-weight: bold;">BETWEEN</span> NewParent_Rgt <span style="color: #CC0099; font-weight: bold;">AND</span> Origin_Lft <span style="color: #CC0099;">-</span> <span style="color: #008080;">1</span>
			<span style="color: #009900;">THEN</span> Origin_Rgt <span style="color: #CC0099;">-</span> Origin_Lft <span style="color: #CC0099;">+</span> <span style="color: #008080;">1</span>
		<span style="color: #009900;">ELSE</span> <span style="color: #008080;">0</span> <span style="color: #009900;">END</span>
		<span style="color: #009900;">WHEN</span> NewParent_Rgt <span style="color: #CC0099;">&gt;</span> Origin_Rgt
			<span style="color: #009900;">THEN</span> <span style="color: #009900;">CASE</span>
				<span style="color: #009900;">WHEN</span> Rgt <span style="color: #CC0099; font-weight: bold;">BETWEEN</span> Origin_Lft <span style="color: #CC0099; font-weight: bold;">AND</span> Origin_Rgt
					<span style="color: #009900;">THEN</span> NewParent_Rgt <span style="color: #CC0099;">-</span> Origin_Rgt <span style="color: #CC0099;">-</span> <span style="color: #008080;">1</span>
				<span style="color: #009900;">WHEN</span> Rgt <span style="color: #CC0099; font-weight: bold;">BETWEEN</span> Origin_Rgt <span style="color: #CC0099;">+</span> <span style="color: #008080;">1</span>	<span style="color: #CC0099; font-weight: bold;">AND</span> NewParent_Rgt <span style="color: #CC0099;">-</span> <span style="color: #008080;">1</span>
					<span style="color: #009900;">THEN</span> Origin_Lft <span style="color: #CC0099;">-</span> Origin_Rgt <span style="color: #CC0099;">-</span> <span style="color: #008080;">1</span>
				<span style="color: #009900;">ELSE</span> <span style="color: #008080;">0</span> <span style="color: #009900;">END</span>
			<span style="color: #009900;">ELSE</span> <span style="color: #008080;">0</span> <span style="color: #009900;">END</span><span style="color: #000033;">;</span>
<span style="color: #009900;">END</span></pre></div></div>

<p>Anda akan melihat bahwa SP di atas tadi membutuhkan dua parameter seperti pada kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">CREATE</span> <span style="color: #990099; font-weight: bold;">PROCEDURE</span> <span style="color: #008000;">`movebreadcrumb`</span><span style="color: #FF00FF;">&#40;</span><span style="color: #990099; font-weight: bold;">IN</span> CurrentRoot <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">100</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">,</span> <span style="color: #990099; font-weight: bold;">IN</span> NewParent <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">100</span><span style="color: #FF00FF;">&#41;</span><span style="color: #FF00FF;">&#41;</span></pre></div></div>

<p>Kedua parameter tersebut adalah:<br />
- <strong>CurrentRoot</strong>: Ini adalah nama dari judul halaman yang akan Anda pindahkan.<br />
- <strong>NewParent</strong>: Ini adalah nama dari judul halaman di mana CurrentRoot tadi akan Anda pindahkan ke bawahnya. Dengan kata lain, ini adalah judul halaman induk baru di mana CurrentRoot akan berada setelah proses pemindahan berhasil dilakukan.</p>
<p>Jika Anda ingin memindahkan record breadcrumb tertentu, cukup jalankan SP <strong>movebreadcrumb</strong> ini.
</li>
<li>
<h2>Mengambil Alamat Lengkap Breadcrumb</h2>
<p>Seperti yang telah saya sebutkan di atas tadi, Anda hanya perlu sebuah query untuk mendapatkan alamat lengkap dari halaman tertentu yang diketahui.<br />
Berikut ini salah satu contoh kode bagaimana Anda dapat mengambil breadcrumb dari halaman &#8216;Statistik per Jam&#8217; (misalnya):</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span> C.<span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">FROM</span> <span style="color: #008000;">`breadcrumblinks`</span> <span style="color: #990099; font-weight: bold;">AS</span> B<span style="color: #000033;">,</span> <span style="color: #008000;">`breadcrumblinks`</span> <span style="color: #990099; font-weight: bold;">AS</span> C
<span style="color: #990099; font-weight: bold;">WHERE</span> <span style="color: #FF00FF;">&#40;</span>B.Lft <span style="color: #CC0099; font-weight: bold;">BETWEEN</span> C.Lft <span style="color: #CC0099; font-weight: bold;">AND</span> C.Rgt<span style="color: #FF00FF;">&#41;</span>
<span style="color: #CC0099; font-weight: bold;">AND</span> <span style="color: #FF00FF;">&#40;</span>B.Page_Title <span style="color: #CC0099;">=</span> <span style="color: #008000;">'Statistik per Jam'</span><span style="color: #FF00FF;">&#41;</span>
<span style="color: #990099; font-weight: bold;">ORDER BY</span> C.Lft<span style="color: #000033;">;</span></pre></div></div>

</li>
</ol>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.openscriptsolution.com%2Fid%2F2011%2F12%2F05%2Fhow-to-create-breadcrumb-using-the-nested-set-data-model-in-mysql%2F&amp;title=Bagaimana%20Membuat%20Breadcrumb%20Menggunakan%20Nested%20Set%20Data%20Model%20di%20MySQL" id="wpa2a_6"><img src="http://www.openscriptsolution.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.openscriptsolution.com/id/2011/12/05/how-to-create-breadcrumb-using-the-nested-set-data-model-in-mysql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Berkas Lampiran yang Bersifat Wajib di Sisi Klien pada osTicket 1.6 ST</title>
		<link>http://www.openscriptsolution.com/id/2011/10/08/mandatory-attachments-for-client-side-of-osticket-1-6-st/</link>
		<comments>http://www.openscriptsolution.com/id/2011/10/08/mandatory-attachments-for-client-side-of-osticket-1-6-st/#comments</comments>
		<pubDate>Sat, 08 Oct 2011 10:39:07 +0000</pubDate>
		<dc:creator>Masino Sinaga</dc:creator>
				<category><![CDATA[osTicket]]></category>
		<category><![CDATA[attachment]]></category>
		<category><![CDATA[browse for file]]></category>
		<category><![CDATA[client-side]]></category>
		<category><![CDATA[lampiran]]></category>
		<category><![CDATA[mandatory]]></category>
		<category><![CDATA[multiple]]></category>

		<guid isPermaLink="false">http://www.openscriptsolution.com/?p=1465</guid>
		<description><![CDATA[Modifikasi berikut ini akan menjawab permintaan yang ditanyakan melalui topik ini pada Forum Diskusi osTicket. Karena saya membuat modifikasi berikut ini berdasarkan modifikasi saya terdahulu pada artikel Multi File Lampiran untuk Sisi Klien di osTicket v1.6 RC5 (modifikasi ini juga berfungsi dengan baik pada osTicket versi 1.6 ST), maka Anda harus mengimplementasikan modifikasi multi file [...]]]></description>
			<content:encoded><![CDATA[<p>Modifikasi berikut ini akan menjawab permintaan yang ditanyakan melalui <a href="http://www.osticket.com/forums/showthread.php?t=6579" title="MOD Request - Mandatory Attachments" target="_blank">topik ini</a> pada Forum Diskusi osTicket. Karena saya membuat modifikasi berikut ini berdasarkan modifikasi saya terdahulu pada artikel <a href="http://www.openscriptsolution.com/id/2009/10/25/multiple-attachments-for-client-side-of-osticket-v1-6-rc5/" title="Multi File Lampiran untuk Sisi Klien di osTicket v1.6 RC5" target="_blank">Multi File Lampiran untuk Sisi Klien di osTicket v1.6 RC5</a> (modifikasi ini juga berfungsi dengan baik pada osTicket versi 1.6 ST), maka Anda harus mengimplementasikan modifikasi multi file lampiran tersebut pertama sekali sebelum mengimplementasikan modifikasi berikut ini. Baiklah, berikut ini informasi penting yang perlu Anda ketahui terkait dengan modifikasi lampiran yang bersifat wajib di bawah ini. Saya menambahkan sebuah pengaturan dari Admin Panel -> Settings -> Attachments, untuk mengeset apakah Anda akan mengijinkan lampiran yang bersifat wajib ketika klien Anda mengirimkan tiket atau tidak. Untuk keperluan ini, saya mengubah tabel ost_config dengan menambahkan sebuah field baru. Setelah mengimplementasikan modifikasi kode di bawah nanti, maka Anda harus pergi ke <strong>Admin Panel</strong> -> <strong>Settings</strong> -> <strong>Attachments</strong>, lalu beri tanda centang pada bagian &#8220;Mandatory Attachments&#8221; -> &#8220;Allow Mandatory Attachments&#8221;. Anda dapat mengaktifkan atau menonaktifkan fitur lampiran yang bersifat wajib ini kapanpun Anda mau.</p>
<ol>
<li>
Pertama sekali, ubah tabel <strong>ost_config</strong> dengan menambahkan sebuah field baru yang bernama <strong>allow_mandatory_attachments</strong> dengan menggunakan skrip berikut ke dalam database osTicket Anda (silahkan sesuaikan awalan tabel jika Anda menggunakan yang berbeda dengan yang saya gunakan, yaitu ost_):</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">ALTER TABLE `ost_config` ADD COLUMN `allow_mandatory_attachments` TINYINT(1)  NOT NULL DEFAULT '0' AFTER `allow_attachments`;</pre></div></div>

</li>
<li>
Buka berkas <strong>/include/client/open.inc.php</strong> Anda, dan temukan kode ini (Anda tidak akan pernah menemukan kode ini jika belum pernah mengimplementasikan modifikasi Multi File Lampiran untuk Sisi Klien pada osTicket 1.6 RC5 yang tautannya ada di atas tadi):</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">        &lt;td&gt;
            &lt;!-- &lt;input type=&quot;file&quot; name=&quot;attachment&quot;&gt;&lt;font class=&quot;error&quot;&gt;&amp;nbsp;<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$errors</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'attachment'</span><span style="color: #009900;">&#93;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/font&gt; --&gt;
            &lt;input id=&quot;my_file_element&quot; type=&quot;file&quot; name=&quot;file_1&quot; &gt;&lt;font class=&quot;error&quot;&gt;&amp;nbsp;<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$errors</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file_1'</span><span style="color: #009900;">&#93;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/font&gt;
        &lt;/td&gt;</pre></div></div>

<p>lalu timpa dengan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">        &lt;td&gt;
            &lt;!-- &lt;input type=&quot;file&quot; name=&quot;attachment&quot;&gt;&lt;font class=&quot;error&quot;&gt;&amp;nbsp;<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$errors</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'attachment'</span><span style="color: #009900;">&#93;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/font&gt; --&gt;
            &lt;input id=&quot;my_file_element&quot; type=&quot;file&quot; name=&quot;file_1&quot; value=&quot;document.getElementById( 'my_file_element' )&quot;&gt;&lt;font class=&quot;error&quot;&gt;
			<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// MOD Mandatory Attachments, by Masino Sinaga, October 8, 2011  </span>
			<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$cfg</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">allowMandatoryAttachments</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
			  <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&amp;nbsp;*'</span><span style="color: #339933;">;</span> 
			<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span> 
			  <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span> 
			<span style="color: #009900;">&#125;</span> 
			<span style="color: #666666; font-style: italic;">// MOD Mandatory Attachments, by Masino Sinaga, October 8, 2011 ?&gt;&amp;nbsp;&lt;?=$errors['file_1']</span>
			<span style="color: #000000; font-weight: bold;">?&gt;</span>
			&lt;/font&gt;
        &lt;/td&gt;</pre></div></div>

<p>Jadi berikut ini ide dari modifikasi tadi. Pertama sekali, kita memeriksa apakah sistem mengijinkan fitur attachments dan membolehkan mandatory attachments. Kedua, sistem akan memeriksa ukuran file lampiran untuk memastikan apakah tiket tersebut memiliki lampiran atau tidak. Jika kondisi pada langkah pertama terpenuhi tapi ukuran file masih nol, maka sistem akan otomatis membatalkan pengiriman tiket dan memberitahukan klien bahwa file lampiran belum ada.
</li>
<li>
Buka berkas <strong>/include/class.ticket.php</strong> Anda, lalu temukan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">        <span style="color: #000088;">$fields</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'message'</span><span style="color: #009900;">&#93;</span>  <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'type'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'text'</span><span style="color: #339933;">,</span>     <span style="color: #0000ff;">'required'</span><span style="color: #339933;">=&gt;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'error'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Message required'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>setelah baris tersebut, tambahkan kode berikut ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">        <span style="color: #666666; font-style: italic;">// MOD Mandatory Attachments, by Masino Sinaga, October 8, 2011</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$cfg</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">allowAttachments</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$cfg</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">allowMandatoryAttachments</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #000088;">$totalsize</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
          <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_FILES</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">!=</span><span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
               <span style="color: #000088;">$totalsize</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$totalsize</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'size'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
          <span style="color: #009900;">&#125;</span>
          <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$totalsize</span><span style="color: #339933;">==</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
             <span style="color: #000088;">$fields</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file_1'</span><span style="color: #009900;">&#93;</span>  <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'type'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'string'</span><span style="color: #339933;">,</span>     <span style="color: #0000ff;">'required'</span><span style="color: #339933;">=&gt;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'error'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Attachment file(s) required'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #666666; font-style: italic;">// MOD Mandatory Attachments, by Masino Sinaga, October 8, 2011</span></pre></div></div>

</li>
<li>
Buka berkas <strong>/include/class.config.php</strong> Anda, lalu temukan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">    <span style="color: #000000; font-weight: bold;">function</span> allowAttachments<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'allow_attachments'</span><span style="color: #009900;">&#93;</span>?<span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">:</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span></pre></div></div>

<p>setelah baris terakhir dari kode tadi, sisipkan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">    <span style="color: #666666; font-style: italic;">// MOD Mandatory Attachments, by Masino Sinaga, October 8, 2011</span>
    <span style="color: #000000; font-weight: bold;">function</span> allowMandatoryAttachments<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'allow_mandatory_attachments'</span><span style="color: #009900;">&#93;</span>?<span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">:</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #666666; font-style: italic;">// MOD Mandatory Attachments, by Masino Sinaga, October 8, 2011</span></pre></div></div>

</li>
<li>
Buka berkas <strong>/include/staff/attachment.inc.php</strong> Anda, lalu temukan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">          &lt;tr&gt;
            &lt;th width=&quot;165&quot;&gt;Allow Attachments:&lt;/th&gt;
            &lt;td&gt;
              &lt;input type=&quot;checkbox&quot; name=&quot;allow_attachments&quot; <span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'allow_attachments'</span><span style="color: #009900;">&#93;</span> ?<span style="color: #0000ff;">'checked'</span><span style="color: #339933;">:</span><span style="color: #0000ff;">''</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&gt;&lt;b&gt;Allow Attachments&lt;/b&gt;
                &amp;nbsp; (&lt;i&gt;Global Setting&lt;/i&gt;)
                &amp;nbsp;&lt;font class=&quot;error&quot;&gt;&amp;nbsp;<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$errors</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'allow_attachments'</span><span style="color: #009900;">&#93;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/font&gt;
            &lt;/td&gt;
          &lt;/tr&gt;</pre></div></div>

<p>setelah baris terakhir dari kode tadi, sisipkan kode berikut ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">          <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// MOD Mandatory Attachments, by Masino Sinaga, October 8, 2011 ?&gt;</span>
          <span style="color: #339933;">&lt;</span>tr<span style="color: #339933;">&gt;</span>
            <span style="color: #339933;">&lt;</span>th width<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;165&quot;</span><span style="color: #339933;">&gt;</span>Mandatory Attachments<span style="color: #339933;">:&lt;/</span>th<span style="color: #339933;">&gt;</span>
            <span style="color: #339933;">&lt;</span>td<span style="color: #339933;">&gt;</span>
              <span style="color: #339933;">&lt;</span>input type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;checkbox&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;allow_mandatory attachments&quot;</span> <span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'allow_mandatory_attachments'</span><span style="color: #009900;">&#93;</span> ?<span style="color: #0000ff;">'checked'</span><span style="color: #339933;">:</span><span style="color: #0000ff;">''</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&gt;&lt;b&gt;Allow Mandatory Attachments&lt;/b&gt;  &amp;nbsp;&lt;font class=&quot;error&quot;&gt;&amp;nbsp;<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$errors</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'allow_mandatory_attachments'</span><span style="color: #009900;">&#93;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/font&gt;
            &lt;/td&gt;
          &lt;/tr&gt;
          <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// MOD Mandatory Attachments, by Masino Sinaga, October 8, 2011 ?&gt;</span></pre></div></div>

</li>
<li>
Buka berkas <strong>/scp/admin.php</strong> Anda, lalu temukan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">               <span style="color: #000088;">$sql</span><span style="color: #339933;">=</span> <span style="color: #0000ff;">'UPDATE '</span><span style="color: #339933;">.</span>CONFIG_TABLE<span style="color: #339933;">.</span><span style="color: #0000ff;">' SET allow_attachments='</span><span style="color: #339933;">.</span>db_input<span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'allow_attachments'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>?<span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>
                    <span style="color: #0000ff;">',upload_dir='</span><span style="color: #339933;">.</span>db_input<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'upload_dir'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span></pre></div></div>

<p>lalu timpa dengan kode yang ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">               <span style="color: #000088;">$sql</span><span style="color: #339933;">=</span> <span style="color: #0000ff;">'UPDATE '</span><span style="color: #339933;">.</span>CONFIG_TABLE<span style="color: #339933;">.</span><span style="color: #0000ff;">' SET allow_attachments='</span><span style="color: #339933;">.</span>db_input<span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'allow_attachments'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>?<span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>
                     <span style="color: #0000ff;">',allow_mandatory_attachments='</span><span style="color: #339933;">.</span>db_input<span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'allow_mandatory_attachments'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>?<span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span> <span style="color: #666666; font-style: italic;">// MOD Mandatory Attachments, by Masino Sinaga, October 8, 2011</span>
                    <span style="color: #0000ff;">',upload_dir='</span><span style="color: #339933;">.</span>db_input<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'upload_dir'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span></pre></div></div>

</li>
</ol>
<p>Sekali lagi, saya mengingatkan Anda agar jangan lupa mengeset Mandatory Attachments setelah mengimplentasikan semua perubahan kode di atas tadi. Pergi ke menu <strong>Admin Panel</strong> -> <strong>Settings</strong> -> <strong>Attachments</strong>, lalu beri tanda centang pada &#8220;Mandatory Attachments&#8221; -> &#8220;Allow Mandatory Attachments&#8221;, dan terakhir simpan perubahan tersebut, setelah itu Anda akan dapat mengijinkan lampiran yang bersifat wajib untuk klien Anda ketika mereka mengirimkan tiket melalui sistem osTicket Anda.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.openscriptsolution.com%2Fid%2F2011%2F10%2F08%2Fmandatory-attachments-for-client-side-of-osticket-1-6-st%2F&amp;title=Berkas%20Lampiran%20yang%20Bersifat%20Wajib%20di%20Sisi%20Klien%20pada%20osTicket%201.6%20ST" id="wpa2a_8"><img src="http://www.openscriptsolution.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.openscriptsolution.com/id/2011/10/08/mandatory-attachments-for-client-side-of-osticket-1-6-st/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bagaimana Mendefinisikan Tipe Data untuk Kolom Tertentu Menggunakan Plugin WP-Table Reloaded di WordPress</title>
		<link>http://www.openscriptsolution.com/id/2011/09/22/how-to-define-data-type-for-the-certain-column-using-wp-table-reloaded-plugin-of-wordpress/</link>
		<comments>http://www.openscriptsolution.com/id/2011/09/22/how-to-define-data-type-for-the-certain-column-using-wp-table-reloaded-plugin-of-wordpress/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 12:14:12 +0000</pubDate>
		<dc:creator>Masino Sinaga</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[column]]></category>
		<category><![CDATA[data type]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[WP Table Reloaded]]></category>

		<guid isPermaLink="false">http://www.openscriptsolution.com/?p=1455</guid>
		<description><![CDATA[Informasi berikut ini akan memberitahukan kepada Anda bagaimana cara menetapkan tipe data pada kolom-kolom tertentu di tabel yang dibuat dengan plugin WP-Table Reloaded. Kadang-kadang salah satu dari kolom di tabel Anda bisa mengandung tipe data angka atau Numeric. Sebagai contoh, Anda memiliki sebuah kolom yang bernama &#8220;Quantity&#8221; dan data di kolom tersebut memiliki tipe data [...]]]></description>
			<content:encoded><![CDATA[<p>Informasi berikut ini akan memberitahukan kepada Anda bagaimana cara menetapkan tipe data pada kolom-kolom tertentu di tabel yang dibuat dengan plugin <a href="http://wordpress.org/extend/plugins/wp-table-reloaded/" title="WP Table Reloaded" target="_blank">WP-Table Reloaded</a>. Kadang-kadang salah satu dari kolom di tabel Anda bisa mengandung tipe data angka atau Numeric. Sebagai contoh, Anda memiliki sebuah kolom yang bernama &#8220;Quantity&#8221; dan data di kolom tersebut memiliki tipe data Numeric. Supaya Anda dapat mengurutkan kolom tersebut sesuai dengan tipe data sebagaimana mestinya, maka Anda harus memutuskan atau mendefinisikan kolom &#8220;Quantity&#8221; tadi sebagai tipe data Numeric. Berikut ini trik bagaimana Anda dapat mengeset suatu tipe data untuk kolom tertentu di plugin WP-Table Reloaded.</p>
<ol>
<li>
Pergi ke wp-admin (Dashboard), lalu klik menu <strong>Tools</strong> -> <strong>WP-Table Reloaded</strong>. Ubah tabel yang sudah Anda buat (asumi menggunakan contoh tabel 5 kolom dan 5 record di atas), maka masukkan kode berikut ke kotak teks <strong>Custom Commands</strong> di bagian <strong>DataTables JavaScript Features</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&quot;aoColumns&quot;: [ { &quot;sSortDataType&quot;: &quot;dom-text&quot; }, { &quot;sSortDataType&quot;: &quot;dom-text&quot; }, { &quot;sSortDataType&quot;: &quot;dom-text&quot; }, { &quot;sSortDataType&quot;: &quot;dom-text&quot; }, { &quot;sSortDataType&quot;: &quot;numeric&quot;, &quot;sType&quot;: &quot;numeric&quot; }]</pre></div></div>

<p>Dari kode di atas, untuk mendefinisikan kolom-kolom, kita menggunakan <strong>aoColumns</strong> sebagai kata kunci. Kita dapat melihat bahwa dari kolom pertama sampai keempat, memiliki property <strong>sSortDataType</strong> dengan nilai <strong>dom-text</strong>. Itu artinya, empat kolom pertama kita definisikan sebagai tipe data teks. Sementara di kolom yang kelima, baik <strong>sSortDataType</strong> maupun <strong>sType</strong> memiliki nilai <strong>numeric</strong>, yang artinya merupakan tipe data Numeric.
</li>
<li>
Simpan perubahan lalu panggil ulang tabel tadi dari tampilan depan situs Anda.
</li>
</ol>
<p>Hal penting yang perlu Anda ketahui adalah ketika Anda mendefinisikan sebuah kolom sebagai tipe data Numeric, maka Anda tidak boleh memasukkan mencampurkan dengan tipe data lainnya. Selain itu, Anda tidak dapat memformat data tadi, misalnya dengan menambahkan karakter koma atau titik sebagai pemisah ribuan atau desimal langsung ke datanya.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.openscriptsolution.com%2Fid%2F2011%2F09%2F22%2Fhow-to-define-data-type-for-the-certain-column-using-wp-table-reloaded-plugin-of-wordpress%2F&amp;title=Bagaimana%20Mendefinisikan%20Tipe%20Data%20untuk%20Kolom%20Tertentu%20Menggunakan%20Plugin%20WP-Table%20Reloaded%20di%20WordPress" id="wpa2a_10"><img src="http://www.openscriptsolution.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.openscriptsolution.com/id/2011/09/22/how-to-define-data-type-for-the-certain-column-using-wp-table-reloaded-plugin-of-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bagaimana Menyesuaikan Perataan Teks untuk Baris dan Kolom Tertentu di Tabel Menggunakan Plugin WP-Table Reloaded di WordPress</title>
		<link>http://www.openscriptsolution.com/id/2011/09/21/how-to-adjust-text-align-for-the-certain-rown-and-column-in-the-table-using-wp-table-reloaded-plugin-of-wordpress/</link>
		<comments>http://www.openscriptsolution.com/id/2011/09/21/how-to-adjust-text-align-for-the-certain-rown-and-column-in-the-table-using-wp-table-reloaded-plugin-of-wordpress/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 04:52:01 +0000</pubDate>
		<dc:creator>Masino Sinaga</dc:creator>
				<category><![CDATA[Umum]]></category>
		<category><![CDATA[column]]></category>
		<category><![CDATA[Custom CSS]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[row]]></category>
		<category><![CDATA[stylesheet]]></category>
		<category><![CDATA[tabel]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP Table Reloaded]]></category>

		<guid isPermaLink="false">http://www.openscriptsolution.com/?p=1449</guid>
		<description><![CDATA[Salah satu keuntungan dari menggunakan plugin WP-Table Reloaded adalah adanya kemampuan untuk mendefinisikan stylesheet kostum Anda dari bagian Plugins Options-nya. Itu artinya, setiap kali Anda ingin mengubah tampilan tabel, maka Anda tidak harus menyentuh atau mengubah berkas-berkas utama milik plugin ini. Karena kemampuan ini akan menimpa gaya standar yang sudah didefinisikan pada berkas .css milik [...]]]></description>
			<content:encoded><![CDATA[<p>Salah satu keuntungan dari menggunakan plugin <a href="http://wordpress.org/extend/plugins/wp-table-reloaded/" title="WP Table Reloaded" target="_blank">WP-Table Reloaded</a> adalah adanya kemampuan untuk mendefinisikan stylesheet kostum Anda dari bagian <strong>Plugins Options</strong>-nya. Itu artinya, setiap kali Anda ingin mengubah tampilan tabel, maka Anda tidak harus menyentuh atau mengubah berkas-berkas utama milik plugin ini. Karena kemampuan ini akan menimpa gaya standar yang sudah didefinisikan pada berkas .css milik plugin tersebut, maka Anda pun tidak perlu khawatir akan kehilangan modifikasi yang seandainya Anda pernah terapkan pada berkas utama plugin setiap kali Anda selesai memutahirkan plugin ini di waktu mendatang. Trik berikut ini akan memberikan ide kepada Anda, bagaimana cara mendefinisikan gaya tabel milik Anda sendiri dengan mudah dan cepat tanpa harus menyentuh berkas utama plugin ini. Sebagai contoh, dalam hal ini, saya ingin membuat semua tampilan teks di bagian judul tabel (baris pertama di keseluruhan tabel) menjadi rata-tengah, lalu membuat tampilan teks di seluruh kolom pertama dan keempat menjadi rata-kanan, dan akhirnya, membuat tampilan teks untuk seluruh data di kolom ketiga menjadi rata-tengah. </p>
<p>Berikut ini langkah-langkah yang harus Anda lakukan:</p>
<ol>
<li>
Pergi ke wp-admin (Dasbor) situs WordPress Anda, lalu klik pada menu <strong>Tools</strong> -> <strong>WP-Table Reloaded</strong>, lalu klik <strong>Pengaturan Plugin</strong>.
</li>
<li>
Pastikan bahwa Anda sudah memberi tanda centang pada item yang bertuliskan: &#8220;Ya, sertakan dan gunakan perintah-perintah CSS khusus berikut. Ini sebaiknya digunakan untuk mengubah tata letak tabel dan penggayaan.&#8221;.
</li>
<li>
Selanjutnya, pada textarea di bagian bawah dari <strong>CSS Tersuai:</strong>, sisipkan atau salin kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.wp-table-reloaded-id-1</span> <span style="color: #6666ff;">.row-1</span> <span style="color: #6666ff;">.column-1</span><span style="color: #00AA00;">,</span> <span style="color: #6666ff;">.row-1</span> <span style="color: #6666ff;">.column-2</span><span style="color: #00AA00;">,</span> <span style="color: #6666ff;">.row-1</span> <span style="color: #6666ff;">.column-3</span><span style="color: #00AA00;">,</span> <span style="color: #6666ff;">.row-1</span> <span style="color: #6666ff;">.column-4</span><span style="color: #00AA00;">,</span> <span style="color: #6666ff;">.row-1</span> <span style="color: #6666ff;">.column-5</span> <span style="color: #00AA00;">&#123;</span> 
      <span style="color: #000000; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">center</span><span style="color: #00AA00;">;</span> 
<span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.wp-table-reloaded-id-1</span> <span style="color: #6666ff;">.column-1</span><span style="color: #00AA00;">,</span> <span style="color: #6666ff;">.column-4</span> <span style="color: #00AA00;">&#123;</span> 
      <span style="color: #000000; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">right</span><span style="color: #00AA00;">;</span> 
<span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.wp-table-reloaded-id-1</span> <span style="color: #6666ff;">.column-3</span> <span style="color: #00AA00;">&#123;</span> 
      <span style="color: #000000; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">center</span><span style="color: #00AA00;">;</span> 
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Dari potongan kode di atas, diasumsikan bahwa paling tidak sudah ada satu tabel (dengan id tabel = 1) yang sudah saya buat, sehingga Anda akan meliaht bahwa kode <strong>.wp-table-reloaded-id-1</strong> artinya adalah kita akan mengubah gaya pada tabel yang memiliki id tabel = 1. Jika Anda ingin menerapkannya juga pada tabel yang lainnya (sebagai contoh tabel dengan id tabel = 2), maka cukup gunakan <strong>.wp-table-reloaded-id-2</strong>, dan seterusnya.</p>
<p>Hal lainnya yang perlu Anda ketahui adalah bahwa jika Anda ingin mengganti tampilan tabel hanya pada baris (row) dan kolom (column) tertentu, maka Anda harus menuliskan urutan kode <strong>.row</strong> harus mendahului <strong>.column</strong>, seperti yang ditunjukkan pada contoh di bawah:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.wp-table-reloaded-id-1</span> <span style="color: #6666ff;">.row-1</span> <span style="color: #6666ff;">.column-1</span><span style="color: #00AA00;">,</span> <span style="color: #6666ff;">.row-1</span> <span style="color: #6666ff;">.column-2</span><span style="color: #00AA00;">,</span> <span style="color: #6666ff;">.row-1</span> <span style="color: #6666ff;">.column-3</span><span style="color: #00AA00;">,</span> <span style="color: #6666ff;">.row-1</span> <span style="color: #6666ff;">.column-4</span><span style="color: #00AA00;">,</span> <span style="color: #6666ff;">.row-1</span> <span style="color: #6666ff;">.column-5</span> <span style="color: #00AA00;">&#123;</span> 
      <span style="color: #000000; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">center</span><span style="color: #00AA00;">;</span> 
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Tapi jika Anda ingin mengganti gaya dari suatu kolom (tanpa peduli untuk baris yang mana), maka Anda tidak perlu menyertakan bagian <strong>.row</strong>, seperti yang ditunjukkan pada kode berikut ini:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.wp-table-reloaded-id-1</span> <span style="color: #6666ff;">.column-1</span><span style="color: #00AA00;">,</span> <span style="color: #6666ff;">.column-4</span> <span style="color: #00AA00;">&#123;</span> 
      <span style="color: #000000; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">right</span><span style="color: #00AA00;">;</span> 
<span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.wp-table-reloaded-id-1</span> <span style="color: #6666ff;">.column-3</span> <span style="color: #00AA00;">&#123;</span> 
      <span style="color: #000000; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">center</span><span style="color: #00AA00;">;</span> 
<span style="color: #00AA00;">&#125;</span></pre></div></div>

</li>
<li>
Simpan pengaturan baru ini, lalu perhatikan tabel Anda.
</li>
</ol>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.openscriptsolution.com%2Fid%2F2011%2F09%2F21%2Fhow-to-adjust-text-align-for-the-certain-rown-and-column-in-the-table-using-wp-table-reloaded-plugin-of-wordpress%2F&amp;title=Bagaimana%20Menyesuaikan%20Perataan%20Teks%20untuk%20Baris%20dan%20Kolom%20Tertentu%20di%20Tabel%20Menggunakan%20Plugin%20WP-Table%20Reloaded%20di%20WordPress" id="wpa2a_12"><img src="http://www.openscriptsolution.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.openscriptsolution.com/id/2011/09/21/how-to-adjust-text-align-for-the-certain-rown-and-column-in-the-table-using-wp-table-reloaded-plugin-of-wordpress/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Bagaimana Mengganti Nilai Standar Jumlah Record Terpilih di Plugin WP Table Reloaded WordPress</title>
		<link>http://www.openscriptsolution.com/id/2011/09/20/how-to-change-the-default-selected-record-count-in-wp-table-reloaded-plugin-of-wordpress/</link>
		<comments>http://www.openscriptsolution.com/id/2011/09/20/how-to-change-the-default-selected-record-count-in-wp-table-reloaded-plugin-of-wordpress/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 06:57:17 +0000</pubDate>
		<dc:creator>Masino Sinaga</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[jumlah baris terpilih]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[selected record count]]></category>
		<category><![CDATA[selected row]]></category>
		<category><![CDATA[WP Table Reloaded]]></category>

		<guid isPermaLink="false">http://www.openscriptsolution.com/?p=1443</guid>
		<description><![CDATA[Bagi Anda yang sedang menggunakan plugin WP Table Reloaded di blog atau situs WordPress Anda, maka Anda akan menemukan suatu keterbatasan kondisi, bahwa sampai versi 1.9.2, tidak ada pengaturan yang disediakan oleh pembuat plugin ini untuk mengubah standar jumlah record atau baris yang ditampilkan pertama kali oleh tabel tersebut. Itu artinya, ketika Anda membuat sebuah [...]]]></description>
			<content:encoded><![CDATA[<p>Bagi Anda yang sedang menggunakan plugin <a href="http://wordpress.org/extend/plugins/wp-table-reloaded/" title="WP Table Reloaded" target="_blank">WP Table Reloaded</a> di blog atau situs WordPress Anda, maka Anda akan menemukan suatu keterbatasan kondisi, bahwa sampai versi 1.9.2, tidak ada pengaturan yang disediakan oleh pembuat plugin ini untuk mengubah standar jumlah record atau baris yang ditampilkan pertama kali oleh tabel tersebut. Itu artinya, ketika Anda membuat sebuah tabel yang memiliki jumlah record atau baris lebih dari 10 di dalamnya, maka tabel Anda hanya akan menampilkan maksimum 10 record atau baris saja saat tabel pertama kali dipanggil. Kadang-kadang, Anda tidak ingin hanya 10 record pertama yang ditampilkan. Pertanyaannya adalah, bagaimana saya dapat mengganti nilai standar untuk jumlah record yang ditampilkan sementara pengaturannya tidak tersedia, sebagai contoh, saya ingin mengganti dari nilai 10 menjadi 50, sehingga setiap kali tabel tersebut dipanggil, dia akan menampilkan 50 record? Pertanyaan berikutnya adalah: Dapatkah saya juga mengganti atau menambahkan nilai-nilai lainnya pada pilihan <strong>Tampilkan entri</strong> di sebelah kiri atas tabel? Berikut ini modifikasi yang sudah berhasil saya buat untuk menjawab kedua pertanyaan tersebut.</p>
<ol>
<li>
Buka berkas <strong>/wp-content/plugins/wp-table-reloaded/js/jquery.datatables.min.js</strong> Anda, lalu temukan kode ini:</p>

<div class="wp_syntax"><div class="code"><pre class="js" style="font-family:monospace;">aLengthMenu=[10,25,50,100]</pre></div></div>

<p>lalu timpa dengan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="js" style="font-family:monospace;">aLengthMenu=[5,10,25,50,100,200,500]</pre></div></div>

<p>Dalam hal ini, kita akan menambahkan pilihan-pilihan lainnya di samping nilai yang sudah ada &#8220;10,25,50,100&#8243; (4 nilai pilihan) menjadi &#8220;5,10,25,50,100,200,500&#8243; (7 nilai pilihan).
</li>
<li>
Selanjutnya masih pada file .js tadi, temukan lagi kode yang ini:</p>

<div class="wp_syntax"><div class="code"><pre class="js" style="font-family:monospace;">this._iDisplayLength=10;this._iDisplayStart=0;this._iDisplayEnd=10;</pre></div></div>

<p>lalu ganti dengan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="js" style="font-family:monospace;">this._iDisplayLength=50;this._iDisplayStart=0;this._iDisplayEnd=50;</pre></div></div>

<p>Ini artinya, kita akan mengganti standar nilai jumlah record atau baris di tabel dari 10 menjadi 50. Sebagai contoh, tabel Anda memiliki 175 record atau baris di dalamnya, maka setiap kali tabel Anda tadi dipanggil, maka terdapat maksimal 50 record atau baris yang ditampilkan menggantikan nilai standar 10 sebelumnya.
</li>
</ol>
<p>Harap diingat bahwa karena modifikasi ini melibatkan berkas javascript milik plugin ini, maka Anda harus menerapkan ulang modifikasi tersebut setiap kali Anda telah memutahirkan plugin ini ke versi terakhir. Semoga dapat membantu.</p>
<p><strong>Diperbaharui</strong> (beberapa menit setelah saya mengirim tulisan ini): Setelah terlibat diskusi dengan Tobias di <a href="http://wordpress.org/support/topic/plugin-wp-table-reloaded-wp-tables-reloaded-add-show-all-option?replies=5" title="Add Show All Option" target="_blank">topik ini</a>, saya menemukan pendekatan yang terbaik supaya tidak mengubah berkas utama milik plugin ini.</p>
<p>Berikut ini trik bagaimana Anda dapat mengganti standar jumlah record atau baris terpilih dan bagaimana Anda dapat mengganti  (tambah/ubah/hapus) nilai pilihan di <strong>Tampilkan entri</strong>:</p>
<ol>
<li>
Pergi ke wp-admin (Dasbor), klik menu &#8220;Tools&#8221; -> &#8220;WP-Table Reloaded&#8221;, lalu ubah tabel yang sudah ada, kemudian sisipkan kode berikut (sesuai dengan contoh asli di modifikasi atas tadi) ke dalam kotak teks &#8220;Custom Commands&#8221; di &#8220;DataTables JavaScript Features&#8221;:</p>

<div class="wp_syntax"><div class="code"><pre class="js" style="font-family:monospace;">&quot;aLengthMenu&quot;: [[5, 10, 25, 50, 100, 200, 500, -1], [5, 10, 25, 50, 100, 200, 500, &quot;All&quot;]], &quot;iDisplayLength&quot;: 100</pre></div></div>

<p>Ada dua bagian dari kode perintah di atas yang perlu kita ketahui.<br />
- <strong>aLengthMenu</strong>, merupakan nilai pilihan yang terdapat di pilihan &#8220;Tampilkan entri&#8221; yang dapat Anda tentukan sendiri nilainya. &#8220;-1&#8243; di sebelah kiri sama dengan teks &#8220;All&#8221; di sebelah kanan yang ditampilkan di bagian depan situs Anda.<br />
- <strong>iDisplayLength</strong>, merupakan standar nilai jumlah record atau baris terpilih ketika tabel Anda dipanggil pertama sekali. Saya sengaja mengesetnya ke nilai 100 daripada nilai 50, untuk memastikan bahwa kode perintah yang terbaru ini menimpa perubahan yang sebelumnya saya buat di berkas javascript pada modifikasi semula di bagian atas tulisan ini.</p>
<p>Keuntungan utama dari kode perintah tersebut adalah saya tidak perlu khawatir lagi kehilangan modifikasi setelah memperbaharuinya ke versi terakhir.
</li>
<li>
Simpan semua perubahan, lalu perhatikan apa yang terjadi.
</li>
</ol>
<p>Sekali lagi, terima kasih buat Tobias yang sudah menunjukkan kata kunci terhadap modifikasi ini. <img src='http://www.openscriptsolution.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.openscriptsolution.com%2Fid%2F2011%2F09%2F20%2Fhow-to-change-the-default-selected-record-count-in-wp-table-reloaded-plugin-of-wordpress%2F&amp;title=Bagaimana%20Mengganti%20Nilai%20Standar%20Jumlah%20Record%20Terpilih%20di%20Plugin%20WP%20Table%20Reloaded%20WordPress" id="wpa2a_14"><img src="http://www.openscriptsolution.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.openscriptsolution.com/id/2011/09/20/how-to-change-the-default-selected-record-count-in-wp-table-reloaded-plugin-of-wordpress/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Bagaimana Menterjemahkan Teks &#8220;Continue Reading&#8221; di Plugin Genesis Slider 0.9.4 pada WordPress</title>
		<link>http://www.openscriptsolution.com/id/2011/09/15/how-to-translate-continue-reading-text-in-genesis-slider-0-9-4-plugin-of-wordpress/</link>
		<comments>http://www.openscriptsolution.com/id/2011/09/15/how-to-translate-continue-reading-text-in-genesis-slider-0-9-4-plugin-of-wordpress/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 12:08:04 +0000</pubDate>
		<dc:creator>Masino Sinaga</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Genesis]]></category>
		<category><![CDATA[Genesis Slider]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[Read More]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[WordPress Theme]]></category>

		<guid isPermaLink="false">http://www.openscriptsolution.com/?p=1435</guid>
		<description><![CDATA[Hari ini saya mengganti beberapa situs saya yang menggunakan tema Genesis Theme Framework dengan menggunakan plugin Genesis Slider. Plugin ini mengijinkan Anda untuk membuat sebuah slider sederhana yang menampilkan fitur gambar, beserta dengan judul dan ringkasan konten dari setiap tulisan atau halaman di situs WordPress. Sepertinya segala sesuatunya berjalan dengan lancar, sampai saya menemukan kondisi [...]]]></description>
			<content:encoded><![CDATA[<p>Hari ini saya mengganti beberapa situs saya yang menggunakan tema <a href="http://www.studiopress.com" title="Genesis Theme Framework" target="_blank">Genesis Theme Framework</a> dengan menggunakan plugin <a href="http://www.studiopress.com/plugins/genesis-slider" title="Genesis Slider plugin" target="_blank">Genesis Slider</a>. Plugin ini mengijinkan Anda untuk membuat sebuah slider sederhana yang menampilkan fitur gambar, beserta dengan judul dan ringkasan konten dari setiap tulisan atau halaman di situs WordPress. Sepertinya segala sesuatunya berjalan dengan lancar, sampai saya menemukan kondisi di mana teks &#8220;Continue Reading&#8221; tidak diterjemahkan sebagaimana mestinya di konten slider yang bertalian. Lalu saya memodifikasi plugin ini supaya mendukung multi bahasa pada teks &#8220;Continue Reading&#8221;. Saya berharap pembuat plugin ini akan menyertakan perbaikan mengenai hal tadi pada versi selanjutnya. Salah satu dari beberapa situs saya yang memiliki konten dalam multi bahasa (Inggris dan Indonesia). Salah satu situs multi bahasa saya yang sudah berhasil saya modifikasi tersebut dapat Anda lihat <a href="http://www.masinosinaga.com" title="Masino Sinaga - Never stop innovating ..." target="_blank">di sini</a>, dan Anda juga dapat melihat demo-nya dalam bahasa Indonesia <a href="http://www.masinosinaga.com/id/" title="Masino Sinaga - Tak pernah berhenti berinovasi" target="_blank">di sini</a>. </p>
<p>Hanya sebuah perubahan kecil, sebenarnya. Buka berkas <strong>/wp-content/plugins/genesis-slider/plugin.php</strong> Anda, lalu temukan kode ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$read_more</span> <span style="color: #339933;">=</span> genesis_get_slider_option<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'slideshow_more_text'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>timpa kode tersebut dengan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$read_more</span> <span style="color: #339933;">=</span> __<span style="color: #009900;">&#40;</span>genesis_get_slider_option<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'slideshow_more_text'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'genesis-slider'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// modified by Masino Sinaga, September 15, 2011</span></pre></div></div>

<p>Semoga dapat membantu. <img src='http://www.openscriptsolution.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.openscriptsolution.com%2Fid%2F2011%2F09%2F15%2Fhow-to-translate-continue-reading-text-in-genesis-slider-0-9-4-plugin-of-wordpress%2F&amp;title=Bagaimana%20Menterjemahkan%20Teks%20%26%238220%3BContinue%20Reading%26%238221%3B%20di%20Plugin%20Genesis%20Slider%200.9.4%20pada%20WordPress" id="wpa2a_16"><img src="http://www.openscriptsolution.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.openscriptsolution.com/id/2011/09/15/how-to-translate-continue-reading-text-in-genesis-slider-0-9-4-plugin-of-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bagaimana Menampilkan Daftar Semua File Lampiran di Halaman View Ticket osTicket 1.6 ST</title>
		<link>http://www.openscriptsolution.com/id/2011/09/12/how-to-list-all-attachment-files-in-the-view-ticket-page-of-osticket-1-6-st/</link>
		<comments>http://www.openscriptsolution.com/id/2011/09/12/how-to-list-all-attachment-files-in-the-view-ticket-page-of-osticket-1-6-st/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 16:34:57 +0000</pubDate>
		<dc:creator>Masino Sinaga</dc:creator>
				<category><![CDATA[osTicket]]></category>
		<category><![CDATA[attachment]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[v1.6 ST]]></category>
		<category><![CDATA[viewticket]]></category>

		<guid isPermaLink="false">http://www.openscriptsolution.com/?p=1429</guid>
		<description><![CDATA[Karena jumlah file lampiran di sebuah tiket bisa bertambah semakin banyak sewaktu-waktu, di mana file-file lampiran tadi bisa saja berasal dari client (saat membuat dan membalas tiket), maupun dari staf (saat membalas tiket), maka pertimbangkanlah suatu kondisi di mana staf Anda membutuhkan file lampiran tertentu cukup dengan mencarinya melalui sebuah daftar yang berisi seluruh file-file [...]]]></description>
			<content:encoded><![CDATA[<p>Karena jumlah file lampiran di sebuah tiket bisa bertambah semakin banyak sewaktu-waktu, di mana file-file lampiran tadi bisa saja berasal dari client (saat membuat dan membalas tiket), maupun dari staf (saat membalas tiket), maka pertimbangkanlah suatu kondisi di mana staf Anda membutuhkan file lampiran tertentu cukup dengan mencarinya melalui sebuah daftar yang berisi seluruh file-file lampiran untuk tiket tersebut. Manfaat dari fitur ini bagi staf Anda akan sangat terasa, khususnya jika mereka ingin mencari atau membuka file lampiran tertentu tanpa harus mencarinya terlebih dulu atau menelusuri satu per satu pesan yang terdapat di bagian Ticket Thread. Modifikasi berikut akan mengatasi permasalahan tersebut untuk osTicket versi 1.6 ST. Setelah mengimplementasikan modifikasi ini, staf Anda akan lebih mudah dalam menemukan file lampiran tertentu. Anda akan melihat sebuah tab baru bernama &#8220;Attachments&#8221; di halaman view ticket. Tab ini hanya muncul jika di tiket tersebut terdapat minimal satu buah file lampiran.</p>
<ol>
<li>
Buka file <strong>/include/staff/viewticket.inc.php</strong> Anda, dan temukan kode ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">        <span style="color: #339933;">&lt;</span>div <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;tabber&quot;</span><span style="color: #339933;">&gt;</span></pre></div></div>

<p>setelah baris kode tersebut, tambahkan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">    <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// Begin of MOD List Attachment Files in View Ticket, by Masino Sinaga, September 12, 2011 ?&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$ticket</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">checkAttachments</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
    &lt;div id=&quot;attachments&quot; class=&quot;tabbertab&quot;&gt;
      &lt;h2&gt;Attachments&lt;/h2&gt;		
        &lt;table align=&quot;center&quot; class=&quot;message&quot; cellspacing=&quot;0&quot; cellpadding=&quot;1&quot; width=&quot;100%&quot; border=0&gt;
         &lt;tr class=&quot;header&quot;&gt;&lt;td&gt;<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$ticket</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getAttachments</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/td&gt;&lt;/tr&gt; 
		&lt;/table&gt;
    &lt;/div&gt;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// End of MOD List Attachment Files in View Ticket, by Masino Sinaga, September 12, 2011 ?&gt;</span></pre></div></div>

</li>
<li>
Buka file <strong>/include/class.ticket.php</strong> Anda, lalu temukan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">    <span style="color: #000000; font-weight: bold;">function</span> getAttachmentStr<span style="color: #009900;">&#40;</span><span style="color: #000088;">$refid</span><span style="color: #339933;">,</span><span style="color: #000088;">$type</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span></pre></div></div>

<p>sebelum baris kode tadi, tambahkan kode berikut ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">    <span style="color: #666666; font-style: italic;">// Begin of MOD List Attachment Files in View Ticket, by Masino Sinaga, September 8, 2011</span>
    <span style="color: #000000; font-weight: bold;">function</span> getAttachments<span style="color: #009900;">&#40;</span><span style="color: #000088;">$refid</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>        
        <span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span><span style="color: #0000ff;">'SELECT attach_id,ref_id,file_size,file_name FROM '</span><span style="color: #339933;">.</span>TICKET_ATTACHMENT_TABLE<span style="color: #339933;">.</span>
             <span style="color: #0000ff;">' WHERE deleted=0 AND ticket_id='</span><span style="color: #339933;">.</span>db_input<span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getId</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span> <span style="color: #0000ff;">' ORDER BY attach_id DESC'</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$res</span><span style="color: #339933;">=</span>db_query<span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span> <span style="color: #339933;">&amp;&amp;</span> db_num_rows<span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">list</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #339933;">,</span><span style="color: #000088;">$refid</span><span style="color: #339933;">,</span><span style="color: #000088;">$size</span><span style="color: #339933;">,</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span>db_fetch_row<span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$hash</span><span style="color: #339933;">=</span><span style="color: #990000;">MD5</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getId</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #000088;">$refid</span><span style="color: #339933;">.</span><span style="color: #990000;">session_id</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$size</span><span style="color: #339933;">=</span>Format<span style="color: #339933;">::</span><span style="color: #004000;">file_size</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$size</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$name</span><span style="color: #339933;">=</span>Format<span style="color: #339933;">::</span><span style="color: #004000;">htmlchars</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$attachstr</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;a class='Icon file' href='attachment.php?id=<span style="color: #006699; font-weight: bold;">$id</span>&amp;ref=<span style="color: #006699; font-weight: bold;">$hash</span>' target='_blank'&gt;&lt;b&gt;<span style="color: #006699; font-weight: bold;">$name</span>&lt;/b&gt;&lt;/a&gt;&amp;nbsp;(&lt;i&gt;<span style="color: #006699; font-weight: bold;">$size</span>&lt;/i&gt;)&amp;nbsp;&amp;nbsp;&lt;br /&gt;&quot;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$attachstr</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> checkAttachments<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span><span style="color: #0000ff;">'SELECT file_name FROM '</span><span style="color: #339933;">.</span>TICKET_ATTACHMENT_TABLE<span style="color: #339933;">.</span>
             <span style="color: #0000ff;">' WHERE deleted=0 AND ticket_id='</span><span style="color: #339933;">.</span>db_input<span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getId</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$res</span><span style="color: #339933;">=</span>db_query<span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span> <span style="color: #339933;">&amp;&amp;</span> db_num_rows<span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
           <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
           <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #666666; font-style: italic;">// End of MOD List Attachment Files in View Ticket, by Masino Sinaga, September 8, 2011</span></pre></div></div>

</li>
</ol>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.openscriptsolution.com%2Fid%2F2011%2F09%2F12%2Fhow-to-list-all-attachment-files-in-the-view-ticket-page-of-osticket-1-6-st%2F&amp;title=Bagaimana%20Menampilkan%20Daftar%20Semua%20File%20Lampiran%20di%20Halaman%20View%20Ticket%20osTicket%201.6%20ST" id="wpa2a_18"><img src="http://www.openscriptsolution.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.openscriptsolution.com/id/2011/09/12/how-to-list-all-attachment-files-in-the-view-ticket-page-of-osticket-1-6-st/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Bagaimana Menyembunyikan Catatan Internal dan Histori Tiket sebagai Standar di osTicket 1.6 ST</title>
		<link>http://www.openscriptsolution.com/id/2011/09/04/how-to-collapse-both-the-internal-notes-and-the-ticket-thread-as-default-in-osticket-1-6-st/</link>
		<comments>http://www.openscriptsolution.com/id/2011/09/04/how-to-collapse-both-the-internal-notes-and-the-ticket-thread-as-default-in-osticket-1-6-st/#comments</comments>
		<pubDate>Sun, 04 Sep 2011 05:30:09 +0000</pubDate>
		<dc:creator>Masino Sinaga</dc:creator>
				<category><![CDATA[osTicket]]></category>
		<category><![CDATA[collapse]]></category>
		<category><![CDATA[expand]]></category>
		<category><![CDATA[Internal Notes]]></category>
		<category><![CDATA[Ticket Thread]]></category>
		<category><![CDATA[v1.6 ST]]></category>

		<guid isPermaLink="false">http://www.openscriptsolution.com/?p=1425</guid>
		<description><![CDATA[Bagi Anda yang ingin menyembunyikan isi dari bagian Internal Notes dan Ticket Thread sebagai standar (default) di osTicket 1.6 ST, maka modifikasi berikut ini cocok buat Anda. Setiap kali staf Anda menampilkan isi sebuah tiket, maka bagian Internal Notes dan Ticket Thread akan otomatis disembunyikan secara standar. Staf harus mengklik pada judul yang bertalian untuk [...]]]></description>
			<content:encoded><![CDATA[<p>Bagi Anda yang ingin menyembunyikan isi dari bagian <strong>Internal Notes</strong> dan <strong>Ticket Thread</strong> sebagai standar (default) di osTicket 1.6 ST, maka modifikasi berikut ini cocok buat Anda. Setiap kali staf Anda menampilkan isi sebuah tiket, maka bagian Internal Notes dan Ticket Thread akan otomatis disembunyikan secara standar. Staf harus mengklik pada judul yang bertalian untuk menampilkan kembali isi dari masing-masing bagian yang terkait (tautan toogle). Karena modifikasi ini sangat sederhana, maka hanya ada satu berkas yang perlu diubah untuk mengimplementasikan hal ini, yaitu <strong>viewticket.inc.php</strong> yang terdapat di dalam sub direktori <strong>/include/staff/</strong>. <span id="more-1425"></span></p>
<ol>
<li>
Buka berkas <strong>/include/staff/viewticket.inc.php</strong> Anda, lalu temukan kode ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;div id='ticketnotes' style=&quot;display:<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$display</span><span style="color: #000000; font-weight: bold;">?&gt;</span>;text-align:center;&quot;&gt;</pre></div></div>

<p>timpa kode tersebut dengan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #0000ff;">'ticketnotes'</span> style<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;display:none;text-align:center;&quot;</span><span style="color: #339933;">&gt;</span></pre></div></div>

</li>
<li>
Masih pada berkas yang sama di atas, temukan lagi kode yang ini:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;ticketthread&quot;</span><span style="color: #339933;">&gt;</span></pre></div></div>

<p>kemudian timpa dengan kode berikut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;ticketthread&quot;</span> style<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;display:none&quot;</span><span style="color: #339933;">&gt;</span></pre></div></div>

</li>
</ol>
<p>Semoga dapat membantu.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.openscriptsolution.com%2Fid%2F2011%2F09%2F04%2Fhow-to-collapse-both-the-internal-notes-and-the-ticket-thread-as-default-in-osticket-1-6-st%2F&amp;title=Bagaimana%20Menyembunyikan%20Catatan%20Internal%20dan%20Histori%20Tiket%20sebagai%20Standar%20di%20osTicket%201.6%20ST" id="wpa2a_20"><img src="http://www.openscriptsolution.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.openscriptsolution.com/id/2011/09/04/how-to-collapse-both-the-internal-notes-and-the-ticket-thread-as-default-in-osticket-1-6-st/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
