tag:blogger.com,1999:blog-85283749425004386022024-02-05T19:15:02.078-08:00Information Technology BlogProgramming Lessons, Technology tips,Gansukh Bhttp://www.blogger.com/profile/06641799687255335083noreply@blogger.comBlogger108125tag:blogger.com,1999:blog-8528374942500438602.post-21439807188964095952020-06-05T01:49:00.001-07:002020-06-16T18:24:24.951-07:00MySQL reset password for userALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'bla'<br />
<br />
For mysql 8.0.12+<br />
<br />
PASSWORD() is deprecated, SET PASSWORD is disabled, ALTER USER is disabled as well.<br />
1. stop mysql service<br />
2. Start it this way: /usr/local/mysql/bin/mysqld_safe --skip-grant-tables<br />
3. Login (mysql) and exec: update user set authentication_string='' where<br />
User='root'; 4. killall mysqld<br />
5. Start service againUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-8528374942500438602.post-29902391625065935922019-03-04T23:04:00.002-08:002019-03-04T23:04:51.437-08:00See what is happening in process that "eating" resourceTo see what process is eating my server resource, use following command:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">$ top </span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: inherit;">Then use command:</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">$ strace -p <process id></span>Unknownnoreply@blogger.com7tag:blogger.com,1999:blog-8528374942500438602.post-15411080143771610262018-02-03T07:47:00.001-08:002018-02-03T07:47:39.137-08:00MAMP Pro-г зүй бус унтрааснаас болж MySQL эвдрэхMamp PRO ашиглах явцад компьютерийн цэнэг дуусах, мэтээр сервисийг зогсоолгүйгээр унтрааснаас болж дараа нь MySQL-ийн ямар нэг хүснэгтийн файлд эвдрэл гарч, сервис эхлэхгүй алдаа гарах тохиолдолд гардаг. Алдааны логийг уншихад:<br />
<br />
2018-02-03 22:50:43 1754 [ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace cms_db/auth uses space ID: 1 at filepath: ./green_cms_db/auth.ibd. Cannot open tablespace mysql/innodb_table_stats which uses space ID: 1 at filepath: ./mysql/innodb_table_stats.ibd<br />
2018-02-03 22:50:43 7fffb2fdb3c0 InnoDB: Operating system error number 2 in a file operation.<br />
InnoDB: The error means the system cannot find the path specified.<br />
InnoDB: If you are installing InnoDB, remember that you must create<br />
InnoDB: directories yourself, InnoDB does not create them.<br />
InnoDB: Error: could not open single-table tablespace file ./mysql/innodb_table_stats.ibd<br />
InnoDB: We do not continue the crash recovery, because the table may become<br />
InnoDB: corrupt if we cannot apply the log records in the InnoDB log to it.<br />
InnoDB: To fix the problem and start mysqld:<br />
InnoDB: 1) If there is a permission problem in the file and mysqld cannot<br />
InnoDB: open the file, you should modify the permissions.<br />
InnoDB: 2) If the table is not needed, or you can restore it from a backup,<br />
InnoDB: then you can remove the .ibd file, and InnoDB will do a normal<br />
InnoDB: crash recovery and ignore that table.<br />
InnoDB: 3) If the file system or the disk is broken, and you cannot remove<br />
InnoDB: the .ibd file, you can set innodb_force_recovery > 0 in my.cnf<br />
InnoDB: and force InnoDB to continue crash recovery here.<br />
180203 22:50:43 mysqld_safe mysqld from pid file /Applications/MAMP/tmp/mysql/mysql.pid ended<br />
180203 23:26:39 mysqld_safe Logging to '/Applications/MAMP/logs/mysql_error.log'.<br />
<br />
гэсэн мэдээлэл бичигдсэн байв. Нэгэн ачтай буянтай хүн дараах зааврыг бэлдсэн байсныг олж үзээд дагаж хийснээр асуудлаас ангижрав бололтой. <br />
<br />
1. Stop servers in MAMP<br />
2. Navigate to the .idb files for your WP DB - if using MAMP, should be somewhere like ~/Library/Application Support/appsolute/MAMP PRO/db/mysql56/[yourdbname]/<br />
Add .bk (or any unrecognizable extension) to the end of the .idb filenames<br />
3. Create a temporary folder somewhere handy; select all the .idb files and move them into that folder.<br />
4. Stop servers in MAMP<br />
5. Drop the .bk (or whatever you used) from the .idb file names<br />
6. Move the files back into the original folder from Step 2.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8528374942500438602.post-26472322666317620622017-04-06T03:11:00.001-07:002017-04-06T03:11:48.802-07:00Symfony 1.4-ийг composer package ашиглах боломжтой болгохSymfony lib-ийн lib/autoload/sfAutoloadAgain.class.php-ийн 72-р мөрөнд дараах кодыг өөрчилж оруулснаар сүүлийн үеийн composer-ээр суудаг package-үүдийг load хийж болж байна.<br />
<br />
<pre style="background-color: white; font-family: "Courier New"; font-size: 9pt;"><span style="background-color: #f7faff; color: navy; font-weight: bold;">if </span><span style="background-color: #f7faff;">(</span><span style="background-color: #f7faff; font-style: italic;">is_array</span><span style="background-color: #f7faff;">(</span><span style="background-color: #f7faff; color: #660000;">$autoload</span><span style="background-color: #f7faff;">) && </span><span style="background-color: #f7faff; color: #660000;">$this </span><span style="background-color: #f7faff;">=== </span><span style="background-color: #f7faff; color: #660000;">$autoload</span><span style="background-color: #f7faff;">[</span><span style="background-color: #f7faff; color: blue;">0</span><span style="background-color: #f7faff;">])</span></pre><br />
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8528374942500438602.post-17220294739990789352017-04-06T03:04:00.000-07:002017-04-06T03:04:09.461-07:00Doctrine form ашиглалгүйгээр file upload хийх<pre style="background: rgb(255, 255, 255);"><span style="background: rgb(255, 255, 232); color: #5f5035;"><?php</span><span style="background: rgb(255, 255, 232);"></span>
<span style="background: rgb(255, 255, 232); color: maroon; font-weight: bold;">foreach</span><span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #808030;">(</span><span style="background: rgb(255, 255, 232); color: #797997;">$request</span><span style="background: rgb(255, 255, 232); color: #808030;">-</span><span style="background: rgb(255, 255, 232); color: #808030;">></span><span style="background: rgb(255, 255, 232);">getFiles</span><span style="background: rgb(255, 255, 232); color: #808030;">(</span><span style="background: rgb(255, 255, 232); color: #808030;">)</span><span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: maroon; font-weight: bold;">as</span><span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #797997;">$fileName</span><span style="background: rgb(255, 255, 232); color: #808030;">)</span><span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: purple;">{</span><span style="background: rgb(255, 255, 232);"></span>
<span style="background: rgb(255, 255, 232);"></span>
<span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #797997;">$fileSize</span><span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #808030;">=</span><span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #797997;">$fileName</span><span style="background: rgb(255, 255, 232); color: #808030;">[</span><span style="background: rgb(255, 255, 232); color: #0000e6;">'size'</span><span style="background: rgb(255, 255, 232); color: #808030;">]</span><span style="background: rgb(255, 255, 232); color: purple;">;</span><span style="background: rgb(255, 255, 232);"></span>
<span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #797997;">$fileType</span><span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #808030;">=</span><span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #797997;">$fileName</span><span style="background: rgb(255, 255, 232); color: #808030;">[</span><span style="background: rgb(255, 255, 232); color: #0000e6;">'type'</span><span style="background: rgb(255, 255, 232); color: #808030;">]</span><span style="background: rgb(255, 255, 232); color: purple;">;</span><span style="background: rgb(255, 255, 232);"></span>
<span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #797997;">$theFileName</span><span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #808030;">=</span><span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #797997;">$fileName</span><span style="background: rgb(255, 255, 232); color: #808030;">[</span><span style="background: rgb(255, 255, 232); color: #0000e6;">'name'</span><span style="background: rgb(255, 255, 232); color: #808030;">]</span><span style="background: rgb(255, 255, 232); color: purple;">;</span><span style="background: rgb(255, 255, 232);"></span>
<span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #797997;">$uploadDir</span><span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #808030;">=</span><span style="background: rgb(255, 255, 232);"> sfConfig</span><span style="background: rgb(255, 255, 232); color: purple;">:</span><span style="background: rgb(255, 255, 232); color: purple;">:</span><span style="background: rgb(255, 255, 232);">get</span><span style="background: rgb(255, 255, 232); color: #808030;">(</span><span style="background: rgb(255, 255, 232); color: #0000e6;">"sf_upload_dir"</span><span style="background: rgb(255, 255, 232); color: #808030;">)</span><span style="background: rgb(255, 255, 232); color: purple;">;</span><span style="background: rgb(255, 255, 232);"></span>
<span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #797997;">$Contacts_uploads</span><span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #808030;">=</span><span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #797997;">$uploadDir</span><span style="background: rgb(255, 255, 232); color: #808030;">.</span><span style="background: rgb(255, 255, 232); color: #0000e6;">'/contacts_uploads'</span><span style="background: rgb(255, 255, 232); color: purple;">;</span><span style="background: rgb(255, 255, 232);"></span>
<span style="background: rgb(255, 255, 232);"></span>
<span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: maroon; font-weight: bold;">if</span><span style="background: rgb(255, 255, 232); color: #808030;">(</span><span style="background: rgb(255, 255, 232); color: #808030;">!</span><span style="background: rgb(255, 255, 232); color: #400000;">is_dir</span><span style="background: rgb(255, 255, 232); color: #808030;">(</span><span style="background: rgb(255, 255, 232); color: #797997;">$Contacts_uploads</span><span style="background: rgb(255, 255, 232); color: #808030;">)</span><span style="background: rgb(255, 255, 232); color: #808030;">)</span><span style="background: rgb(255, 255, 232);"></span>
<span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #400000;">mkdir</span><span style="background: rgb(255, 255, 232); color: #808030;">(</span><span style="background: rgb(255, 255, 232); color: #797997;">$Contacts_uploads</span><span style="background: rgb(255, 255, 232); color: #808030;">,</span><span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #008c00;">0777</span><span style="background: rgb(255, 255, 232); color: #808030;">)</span><span style="background: rgb(255, 255, 232); color: purple;">;</span><span style="background: rgb(255, 255, 232);"> </span>
<span style="background: rgb(255, 255, 232);"></span>
<span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #400000;">move_uploaded_file</span><span style="background: rgb(255, 255, 232); color: #808030;">(</span><span style="background: rgb(255, 255, 232); color: #797997;">$fileName</span><span style="background: rgb(255, 255, 232); color: #808030;">[</span><span style="background: rgb(255, 255, 232); color: #0000e6;">'tmp_name'</span><span style="background: rgb(255, 255, 232); color: #808030;">]</span><span style="background: rgb(255, 255, 232); color: #808030;">,</span><span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: #0000e6;">"</span><span style="background: rgb(255, 255, 232); color: #797997;">$Contacts_uploads</span><span style="background: rgb(255, 255, 232); color: #0000e6;">/</span><span style="background: rgb(255, 255, 232); color: #797997;">$theFileName</span><span style="background: rgb(255, 255, 232); color: #0000e6;">"</span><span style="background: rgb(255, 255, 232); color: #808030;">)</span><span style="background: rgb(255, 255, 232); color: purple;">;</span><span style="background: rgb(255, 255, 232);"></span>
<span style="background: rgb(255, 255, 232);"></span>
<span style="background: rgb(255, 255, 232);"> </span><span style="background: rgb(255, 255, 232); color: purple;">}</span><span style="background: rgb(255, 255, 232);"></span>
<span style="background: rgb(255, 255, 232); color: #5f5035;">?></span></pre>
Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-8528374942500438602.post-44205779653153029212017-01-23T01:37:00.001-08:002017-01-23T01:37:08.535-08:00Cron log бүртгэл үүсэхээр тохируулах/etc/rsyslog.d/50-default.conf файлыг нээж cron.*-ийн өмнөх # тэмдэгийг арилгаад хадгална.<br />
<br />
sudo service rsyslog restart<br />
service cron restart<br />
<br />
командуудыг өгсний дараа /var/log/cron.log файлаас cron-ы лог бүртгэлийг харж болно.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8528374942500438602.post-46245083075635386712017-01-04T00:53:00.000-08:002017-01-04T01:33:55.243-08:00Detecting & clearing INODE junksUbuntu серверийн маань Inode хязгаар дүүрээд серверт ямарч шинэ файл үүсэх боломжгүй болох алдаа тохиолдоод ухаж үзэв.<br />
<br />
<pre>$ df -i
</pre><br />
командаар шалгахад 100 хувь дүүрсэн үзүүлэлт харуулав.<br />
<br />
Шалтгааныг хайж хаана тэр олон файл үүсээд байна вэ гэсэн асуудлыг мөшгөвөл<br />
<br />
<pre>$ for i in /*; do echo $i; find $i |wc -l; done
</pre><br />
Командаар аль фолдерт хэт олон файл үүссэн байгааг харах боломжтой.<br />
<br />
Сэжиг төрсөн фолдер ажиглагдвал<br />
<br />
<pre>$ for i in /home/*; do echo $i; find $i |wc -l; done
</pre><br />
Энэ командаар дэд фолдеруудынх нь файлын тоог нарийвчилж шинжилж болно.<br />
<br />
Миний тохиолдолд /var/lib/php5 хавтсанд хэт олон тооны session файл үүссэн байсныг<br />
<br />
<pre>$ cd /var/lib/php5
$ find . -name "sess_*" -print | xargs rm -v
</pre><br />
командаар устгав<br />
<br />
Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-8528374942500438602.post-31970976746547644772015-10-09T00:58:00.000-07:002015-10-09T00:58:02.459-07:00Big integer add, multiply operations in C++64 бит хэмжээнээс хэтрэх, натурал тоонуудыг нэмэх, үржих үйлдлүүдийг C++ дээр бичив. Жишээ кодонд тооны факториал олох програмыг хавсаргав.<br />
<br />
<pre style='color:#000000;background:#ffffff;'><span style='color:#004a43; '>#</span><span style='color:#004a43; '>include </span><span style='color:#800000; '><</span><span style='color:#40015a; '>stdio.h</span><span style='color:#800000; '>></span>
<span style='color:#004a43; '>#</span><span style='color:#004a43; '>include </span><span style='color:#800000; '><</span><span style='color:#40015a; '>algorithm</span><span style='color:#800000; '>></span>
<span style='color:#004a43; '>#</span><span style='color:#004a43; '>include </span><span style='color:#800000; '><</span><span style='color:#40015a; '>iostream</span><span style='color:#800000; '>></span>
<span style='color:#004a43; '>#</span><span style='color:#004a43; '>include </span><span style='color:#800000; '><</span><span style='color:#40015a; '>cstring</span><span style='color:#800000; '>></span>
<span style='color:#800000; font-weight:bold; '>using</span> <span style='color:#800000; font-weight:bold; '>namespace</span> <span style='color:#666616; '>std</span><span style='color:#800080; '>;</span>
<span style='color:#800000; font-weight:bold; '>int</span> n<span style='color:#808030; '>,</span> s<span style='color:#800080; '>;</span>
<span style='color:#603000; '>string</span> add<span style='color:#808030; '>(</span><span style='color:#603000; '>string</span> a<span style='color:#808030; '>,</span> <span style='color:#603000; '>string</span> b<span style='color:#808030; '>)</span><span style='color:#800080; '>{</span>
<span style='color:#603000; '>reverse</span><span style='color:#808030; '>(</span>a<span style='color:#808030; '>.</span>begin<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#808030; '>,</span> a<span style='color:#808030; '>.</span>end<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#603000; '>reverse</span><span style='color:#808030; '>(</span>b<span style='color:#808030; '>.</span>begin<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#808030; '>,</span> b<span style='color:#808030; '>.</span>end<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#696969; '>//cout << a << " + " << b << endl;</span>
<span style='color:#603000; '>string</span> sum <span style='color:#808030; '>=</span> <span style='color:#800000; '>"</span><span style='color:#800000; '>"</span><span style='color:#800080; '>;</span>
<span style='color:#800000; font-weight:bold; '>int</span> a_len <span style='color:#808030; '>=</span> a<span style='color:#808030; '>.</span>length<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#800000; font-weight:bold; '>int</span> b_len <span style='color:#808030; '>=</span> b<span style='color:#808030; '>.</span>length<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#800000; font-weight:bold; '>int</span> max_len <span style='color:#808030; '>=</span> <span style='color:#603000; '>max</span><span style='color:#808030; '>(</span>a_len<span style='color:#808030; '>,</span> b_len<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#800000; font-weight:bold; '>int</span> carry <span style='color:#808030; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#800080; '>;</span>
<span style='color:#696969; '>//cout << a << endl << b << endl;</span>
<span style='color:#800000; font-weight:bold; '>for</span><span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>int</span> k <span style='color:#808030; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#800080; '>;</span> k <span style='color:#808030; '><</span> max_len <span style='color:#800080; '>;</span> k<span style='color:#808030; '>+</span><span style='color:#808030; '>+</span><span style='color:#808030; '>)</span><span style='color:#800080; '>{</span>
<span style='color:#800000; font-weight:bold; '>int</span> digit_a <span style='color:#808030; '>=</span> <span style='color:#808030; '>(</span>k <span style='color:#808030; '><</span> a_len <span style='color:#800080; '>?</span> a<span style='color:#808030; '>[</span>k<span style='color:#808030; '>]</span> <span style='color:#808030; '>-</span> <span style='color:#0000e6; '>'0'</span> <span style='color:#800080; '>:</span> <span style='color:#008c00; '>0</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#800000; font-weight:bold; '>int</span> digit_b <span style='color:#808030; '>=</span> <span style='color:#808030; '>(</span>k <span style='color:#808030; '><</span> b_len <span style='color:#800080; '>?</span> b<span style='color:#808030; '>[</span>k<span style='color:#808030; '>]</span> <span style='color:#808030; '>-</span> <span style='color:#0000e6; '>'0'</span> <span style='color:#800080; '>:</span> <span style='color:#008c00; '>0</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
sum <span style='color:#808030; '>+</span><span style='color:#808030; '>=</span> <span style='color:#808030; '>(</span><span style='color:#808030; '>(</span>digit_a <span style='color:#808030; '>+</span> digit_b <span style='color:#808030; '>+</span> carry<span style='color:#808030; '>)</span> <span style='color:#808030; '>%</span> <span style='color:#008c00; '>10</span><span style='color:#808030; '>)</span> <span style='color:#808030; '>+</span> <span style='color:#0000e6; '>'0'</span><span style='color:#800080; '>;</span>
carry <span style='color:#808030; '>=</span> <span style='color:#808030; '>(</span>digit_a <span style='color:#808030; '>+</span> digit_b <span style='color:#808030; '>+</span> carry<span style='color:#808030; '>)</span> <span style='color:#808030; '>/</span> <span style='color:#008c00; '>10</span><span style='color:#800080; '>;</span>
<span style='color:#800080; '>}</span>
<span style='color:#800000; font-weight:bold; '>if</span><span style='color:#808030; '>(</span>carry<span style='color:#808030; '>)</span> sum <span style='color:#808030; '>+</span><span style='color:#808030; '>=</span> <span style='color:#800000; '>"</span><span style='color:#0000e6; '>1</span><span style='color:#800000; '>"</span><span style='color:#800080; '>;</span>
<span style='color:#696969; '>//cout << sum << endl;</span>
<span style='color:#603000; '>reverse</span><span style='color:#808030; '>(</span>sum<span style='color:#808030; '>.</span>begin<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#808030; '>,</span> sum<span style='color:#808030; '>.</span>end<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#800000; font-weight:bold; '>return</span> sum<span style='color:#808030; '>.</span>length<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span> <span style='color:#808030; '>=</span><span style='color:#808030; '>=</span> <span style='color:#008c00; '>0</span> <span style='color:#800080; '>?</span> <span style='color:#800000; '>"</span><span style='color:#0000e6; '>0</span><span style='color:#800000; '>"</span> <span style='color:#800080; '>:</span> sum<span style='color:#800080; '>;</span>
<span style='color:#800080; '>}</span>
<span style='color:#603000; '>string</span> multiply<span style='color:#808030; '>(</span><span style='color:#603000; '>string</span> a<span style='color:#808030; '>,</span> <span style='color:#603000; '>string</span> b<span style='color:#808030; '>)</span><span style='color:#800080; '>{</span>
<span style='color:#603000; '>reverse</span><span style='color:#808030; '>(</span>a<span style='color:#808030; '>.</span>begin<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#808030; '>,</span> a<span style='color:#808030; '>.</span>end<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#603000; '>reverse</span><span style='color:#808030; '>(</span>b<span style='color:#808030; '>.</span>begin<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#808030; '>,</span> b<span style='color:#808030; '>.</span>end<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#603000; '>string</span> product <span style='color:#808030; '>=</span> <span style='color:#800000; '>"</span><span style='color:#800000; '>"</span><span style='color:#800080; '>;</span>
<span style='color:#800000; font-weight:bold; '>int</span> a_len <span style='color:#808030; '>=</span> a<span style='color:#808030; '>.</span>length<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#800000; font-weight:bold; '>int</span> b_len <span style='color:#808030; '>=</span> b<span style='color:#808030; '>.</span>length<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#800000; font-weight:bold; '>int</span> max_len <span style='color:#808030; '>=</span> <span style='color:#603000; '>max</span><span style='color:#808030; '>(</span>a_len<span style='color:#808030; '>,</span> b_len<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#603000; '>string</span> offset <span style='color:#808030; '>=</span> <span style='color:#800000; '>"</span><span style='color:#800000; '>"</span><span style='color:#800080; '>;</span>
<span style='color:#800000; font-weight:bold; '>for</span><span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>int</span> i <span style='color:#808030; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#800080; '>;</span> i <span style='color:#808030; '><</span> a_len<span style='color:#800080; '>;</span> i<span style='color:#808030; '>+</span><span style='color:#808030; '>+</span><span style='color:#808030; '>)</span><span style='color:#800080; '>{</span>
<span style='color:#800000; font-weight:bold; '>int</span> carry <span style='color:#808030; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#800080; '>;</span>
<span style='color:#603000; '>string</span> temp_product <span style='color:#808030; '>=</span> offset<span style='color:#800080; '>;</span>
<span style='color:#800000; font-weight:bold; '>for</span><span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>int</span> j <span style='color:#808030; '>=</span> <span style='color:#008c00; '>0</span><span style='color:#800080; '>;</span> j <span style='color:#808030; '><</span> b_len<span style='color:#800080; '>;</span> j<span style='color:#808030; '>+</span><span style='color:#808030; '>+</span><span style='color:#808030; '>)</span><span style='color:#800080; '>{</span>
temp_product <span style='color:#808030; '>+</span><span style='color:#808030; '>=</span> <span style='color:#808030; '>(</span>a<span style='color:#808030; '>[</span>i<span style='color:#808030; '>]</span><span style='color:#808030; '>-</span><span style='color:#0000e6; '>'0'</span><span style='color:#808030; '>)</span><span style='color:#808030; '>*</span><span style='color:#808030; '>(</span>b<span style='color:#808030; '>[</span>j<span style='color:#808030; '>]</span><span style='color:#808030; '>-</span><span style='color:#0000e6; '>'0'</span><span style='color:#808030; '>)</span><span style='color:#808030; '>%</span><span style='color:#008c00; '>10</span> <span style='color:#808030; '>+</span> carry <span style='color:#808030; '>+</span> <span style='color:#0000e6; '>'0'</span><span style='color:#800080; '>;</span>
carry <span style='color:#808030; '>=</span> <span style='color:#808030; '>(</span>a<span style='color:#808030; '>[</span>i<span style='color:#808030; '>]</span><span style='color:#808030; '>-</span><span style='color:#0000e6; '>'0'</span><span style='color:#808030; '>)</span><span style='color:#808030; '>*</span><span style='color:#808030; '>(</span>b<span style='color:#808030; '>[</span>j<span style='color:#808030; '>]</span><span style='color:#808030; '>-</span><span style='color:#0000e6; '>'0'</span><span style='color:#808030; '>)</span><span style='color:#808030; '>/</span><span style='color:#008c00; '>10</span><span style='color:#800080; '>;</span>
<span style='color:#800080; '>}</span>
<span style='color:#800000; font-weight:bold; '>if</span><span style='color:#808030; '>(</span>carry<span style='color:#808030; '>)</span> temp_product <span style='color:#808030; '>+</span><span style='color:#808030; '>=</span> carry <span style='color:#808030; '>+</span> <span style='color:#0000e6; '>'0'</span><span style='color:#800080; '>;</span>
<span style='color:#603000; '>reverse</span><span style='color:#808030; '>(</span>temp_product<span style='color:#808030; '>.</span>begin<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#808030; '>,</span> temp_product<span style='color:#808030; '>.</span>end<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
product <span style='color:#808030; '>=</span> add<span style='color:#808030; '>(</span>product<span style='color:#808030; '>,</span> temp_product<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
offset <span style='color:#808030; '>+</span><span style='color:#808030; '>=</span> <span style='color:#800000; '>"</span><span style='color:#0000e6; '>0</span><span style='color:#800000; '>"</span><span style='color:#800080; '>;</span>
<span style='color:#800080; '>}</span>
<span style='color:#800000; font-weight:bold; '>return</span> product<span style='color:#808030; '>[</span><span style='color:#008c00; '>0</span><span style='color:#808030; '>]</span> <span style='color:#808030; '>!</span><span style='color:#808030; '>=</span> <span style='color:#0000e6; '>'0'</span> <span style='color:#800080; '>?</span> product <span style='color:#800080; '>:</span> <span style='color:#800000; '>"</span><span style='color:#0000e6; '>0</span><span style='color:#800000; '>"</span><span style='color:#800080; '>;</span>
<span style='color:#800080; '>}</span>
<span style='color:#800000; font-weight:bold; '>int</span> <span style='color:#400000; '>main</span><span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#800080; '>{</span>
<span style='color:#603000; '>string</span> result <span style='color:#808030; '>=</span> <span style='color:#800000; '>"</span><span style='color:#0000e6; '>1</span><span style='color:#800000; '>"</span><span style='color:#800080; '>;</span>
<span style='color:#603000; '>cin</span> <span style='color:#808030; '>></span><span style='color:#808030; '>></span> n<span style='color:#800080; '>;</span>
<span style='color:#800000; font-weight:bold; '>for</span><span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>int</span> i <span style='color:#808030; '>=</span> <span style='color:#008c00; '>1</span><span style='color:#800080; '>;</span> i <span style='color:#808030; '><</span><span style='color:#808030; '>=</span> n<span style='color:#800080; '>;</span> i<span style='color:#808030; '>+</span><span style='color:#808030; '>+</span> <span style='color:#808030; '>)</span><span style='color:#800080; '>{</span>
result <span style='color:#808030; '>=</span> multiply<span style='color:#808030; '>(</span>result<span style='color:#808030; '>,</span> to_string<span style='color:#808030; '>(</span>i<span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#800080; '>}</span>
<span style='color:#603000; '>cout</span> <span style='color:#808030; '><</span><span style='color:#808030; '><</span> result <span style='color:#808030; '><</span><span style='color:#808030; '><</span> <span style='color:#603000; '>endl</span><span style='color:#800080; '>;</span>
<span style='color:#800000; font-weight:bold; '>return</span> <span style='color:#008c00; '>0</span><span style='color:#800080; '>;</span>
<span style='color:#800080; '>}</span>
</pre>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8528374942500438602.post-82871201567318830812015-10-05T23:10:00.001-07:002015-10-05T23:11:35.069-07:00Тэмцээн #01Өнгөрөсөн амралтын өдрүүдэд зохиогдсон <a href="https://www.hackerrank.com/contests/sict01/challenges">https://www.hackerrank.com/contests/sict01/challenges</a> тэмцээнд идэвхитэй оролцож амжилт гаргасан найзууддаа баярлалаа.<br />
<br />
<a name='more'></a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2wq_VVp4JGsa7BM-_I5emlxoiS-j8qNKC1-w9gPsJfrd2ULV_UUnbBMFmYv5pZseCy29toAPlzAcw0WjwQiAPOGobFTwuX90Kk6e2EESpujix7IXRyiSoCYOKZ_4qJ3msBo5dcCJFuZ7Q/s1600/Untitled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2wq_VVp4JGsa7BM-_I5emlxoiS-j8qNKC1-w9gPsJfrd2ULV_UUnbBMFmYv5pZseCy29toAPlzAcw0WjwQiAPOGobFTwuX90Kk6e2EESpujix7IXRyiSoCYOKZ_4qJ3msBo5dcCJFuZ7Q/s320/Untitled.png" /></a></div>
<a href="https://www.hackerrank.com/contests/sict01/challenges/challenge-107">Шат</a>, <a href="https://www.hackerrank.com/contests/sict01/challenges/2-5">Чапаев Петка 2</a> бодлогуудын хувьд шийдэл нь тодорхой хялбар бодлого тул бодолт хийлгүй орхиё.<br />
<br />
<br />
<br />
<a href="https://www.hackerrank.com/contests/sict01/challenges/challenge-105">Индиан Жонс ба Нууцлаг хаалга</a> бодлогын шийдэл нь орж хоёр хүснэгтийг тулгаж үзэх замаар хоёр дахь хүснэгт эхний хүснэгтэд агуулагдаж байгаа эсэхийг шалгахад хангалттай.<br />
<br />
<br />
<br />
<pre style="background: #ffffff; color: black;"><span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">cmath</span><span style="color: maroon;">></span>
<span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">cstdio</span><span style="color: maroon;">></span>
<span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">vector</span><span style="color: maroon;">></span>
<span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">iostream</span><span style="color: maroon;">></span>
<span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">algorithm</span><span style="color: maroon;">></span>
<span style="color: maroon; font-weight: bold;">using</span> <span style="color: maroon; font-weight: bold;">namespace</span> <span style="color: #666616;">std</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">int</span> <span style="color: #400000;">main</span><span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: dimgrey;">/* Enter your code here. Read input from STDIN. Print output to STDOUT */</span>
<span style="color: maroon; font-weight: bold;">int</span> R<span style="color: #808030;">,</span> C<span style="color: #808030;">,</span> r<span style="color: #808030;">,</span> c<span style="color: #808030;">,</span> i<span style="color: #808030;">,</span> j<span style="color: #808030;">,</span> t<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">short</span> grid<span style="color: #808030;">[</span><span style="color: #008c00;">1000</span><span style="color: #808030;">]</span><span style="color: #808030;">[</span><span style="color: #008c00;">1000</span><span style="color: #808030;">]</span><span style="color: #808030;">,</span> pattern<span style="color: #808030;">[</span><span style="color: #008c00;">1000</span><span style="color: #808030;">]</span><span style="color: #808030;">[</span><span style="color: #008c00;">1000</span><span style="color: #808030;">]</span><span style="color: purple;">;</span>
<span style="color: dimgrey;">//Accepting Inputs</span>
<span style="color: #603000;">cin</span><span style="color: #808030;">></span><span style="color: #808030;">></span>t<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">while</span> <span style="color: #808030;">(</span>t<span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: #603000;">cin</span><span style="color: #808030;">></span><span style="color: #808030;">></span>R<span style="color: #808030;">></span><span style="color: #808030;">></span>C<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span>i<span style="color: #808030;">=</span><span style="color: #008c00;">0</span><span style="color: purple;">;</span> i<span style="color: #808030;"><</span>R<span style="color: purple;">;</span> i<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span>j<span style="color: #808030;">=</span><span style="color: #008c00;">0</span><span style="color: purple;">;</span> j<span style="color: #808030;"><</span>C<span style="color: purple;">;</span> j<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">char</span> c<span style="color: purple;">;</span>
<span style="color: #603000;">cin</span><span style="color: #808030;">></span><span style="color: #808030;">></span>c<span style="color: purple;">;</span>
grid<span style="color: #808030;">[</span>i<span style="color: #808030;">]</span><span style="color: #808030;">[</span>j<span style="color: #808030;">]</span> <span style="color: #808030;">=</span> c <span style="color: #808030;">-</span> <span style="color: #0000e6;">'0'</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: #603000;">cin</span><span style="color: #808030;">></span><span style="color: #808030;">></span>r<span style="color: #808030;">></span><span style="color: #808030;">></span>c<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span>i<span style="color: #808030;">=</span><span style="color: #008c00;">0</span><span style="color: purple;">;</span> i<span style="color: #808030;"><</span>r<span style="color: purple;">;</span> i<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span>j<span style="color: #808030;">=</span><span style="color: #008c00;">0</span><span style="color: purple;">;</span> j<span style="color: #808030;"><</span>c<span style="color: purple;">;</span> j<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">char</span> c<span style="color: purple;">;</span>
<span style="color: #603000;">cin</span><span style="color: #808030;">></span><span style="color: #808030;">></span>c<span style="color: purple;">;</span>
pattern<span style="color: #808030;">[</span>i<span style="color: #808030;">]</span><span style="color: #808030;">[</span>j<span style="color: #808030;">]</span> <span style="color: #808030;">=</span> c <span style="color: #808030;">-</span> <span style="color: #0000e6;">'0'</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: dimgrey;">//Searching grid</span>
<span style="color: maroon; font-weight: bold;">bool</span> flag <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">false</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span>i<span style="color: #808030;">=</span><span style="color: #008c00;">0</span><span style="color: purple;">;</span> i<span style="color: #808030;"><</span><span style="color: #808030;">=</span>R<span style="color: #808030;">-</span>r<span style="color: purple;">;</span> i<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span>j<span style="color: #808030;">=</span><span style="color: #008c00;">0</span><span style="color: purple;">;</span> j<span style="color: #808030;"><</span><span style="color: #808030;">=</span>C<span style="color: #808030;">-</span>c<span style="color: purple;">;</span> j<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>grid<span style="color: #808030;">[</span>i<span style="color: #808030;">]</span><span style="color: #808030;">[</span>j<span style="color: #808030;">]</span><span style="color: #808030;">=</span><span style="color: #808030;">=</span>pattern<span style="color: #808030;">[</span><span style="color: #008c00;">0</span><span style="color: #808030;">]</span><span style="color: #808030;">[</span><span style="color: #008c00;">0</span><span style="color: #808030;">]</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">int</span> a<span style="color: #808030;">,</span> b<span style="color: purple;">;</span>
<span style="color: dimgrey;">//cout<<i<<" "<<j<<" "<<grid[i][j]<<endl;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span>a<span style="color: #808030;">=</span><span style="color: #008c00;">0</span><span style="color: purple;">;</span> a<span style="color: #808030;"><</span>r<span style="color: purple;">;</span> a<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">for</span> <span style="color: #808030;">(</span>b<span style="color: #808030;">=</span><span style="color: #008c00;">0</span><span style="color: purple;">;</span> b<span style="color: #808030;"><</span>c<span style="color: purple;">;</span> b<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>grid<span style="color: #808030;">[</span>i<span style="color: #808030;">+</span>a<span style="color: #808030;">]</span><span style="color: #808030;">[</span>j<span style="color: #808030;">+</span>b<span style="color: #808030;">]</span> <span style="color: #808030;">=</span><span style="color: #808030;">=</span> pattern<span style="color: #808030;">[</span>a<span style="color: #808030;">]</span><span style="color: #808030;">[</span>b<span style="color: #808030;">]</span><span style="color: #808030;">)</span> flag <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">true</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">else</span> <span style="color: purple;">{</span>
flag <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">false</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">break</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span><span style="color: #808030;">!</span>flag<span style="color: #808030;">)</span> <span style="color: maroon; font-weight: bold;">break</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>flag<span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: #603000;">cout</span><span style="color: #808030;"><</span><span style="color: #808030;"><</span><span style="color: maroon;">"</span><span style="color: #0000e6;">YES</span><span style="color: maroon;">"</span><span style="color: #808030;"><</span><span style="color: #808030;"><</span><span style="color: #603000;">endl</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">break</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>flag<span style="color: #808030;">)</span> <span style="color: maroon; font-weight: bold;">break</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span><span style="color: #808030;">!</span>flag<span style="color: #808030;">)</span> <span style="color: #603000;">cout</span><span style="color: #808030;"><</span><span style="color: #808030;"><</span><span style="color: maroon;">"</span><span style="color: #0000e6;">NO</span><span style="color: maroon;">"</span><span style="color: #808030;"><</span><span style="color: #808030;"><</span><span style="color: #603000;">endl</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">return</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
</pre>
<br />
<a href="https://www.hackerrank.com/contests/sict01/challenges/challenge-104">Түвшний нэвтрэлт</a> бодлогын хувьд өгөгдсөн S цэгээс графын бүх оройд түвшний нэвтрэлт хийхдээ тухайн оройд хэдэн алхамаар очсоныг(нэг алхам нь 6 урттай) нэг массивт тэмдэглээд, тухайн массивийн агуулгыг хэвлэхэд хангалттай.<br />
<br />
<pre style="background: rgb(255, 255, 255);"><span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">cmath</span><span style="color: maroon;">></span>
<span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">cstdio</span><span style="color: maroon;">></span>
<span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">vector</span><span style="color: maroon;">></span>
<span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">list</span><span style="color: maroon;">></span>
<span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">map</span><span style="color: maroon;">></span>
<span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">iostream</span><span style="color: maroon;">></span>
<span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">algorithm</span><span style="color: maroon;">></span>
<span style="color: maroon; font-weight: bold;">using</span> <span style="color: maroon; font-weight: bold;">namespace</span> <span style="color: #666616;">std</span><span style="color: purple;">;</span>
<span style="color: #603000;">vector</span><span style="color: purple;"><</span> <span style="color: #603000;">vector</span><span style="color: purple;"><</span><span style="color: maroon; font-weight: bold;">int</span><span style="color: purple;">></span> <span style="color: purple;">></span>g<span style="color: #808030;">(</span><span style="color: #008c00;">1001</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: #603000;">list</span><span style="color: purple;"><</span> <span style="color: maroon; font-weight: bold;">int</span> <span style="color: purple;">></span>nodes<span style="color: purple;">;</span>
<span style="color: #603000;">map</span><span style="color: purple;"><</span><span style="color: maroon; font-weight: bold;">int</span><span style="color: #808030;">,</span> <span style="color: maroon; font-weight: bold;">bool</span><span style="color: purple;">></span>v<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">bool</span> visited<span style="color: #808030;">[</span><span style="color: #008c00;">1001</span><span style="color: #808030;">]</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">int</span> steps<span style="color: #808030;">[</span><span style="color: #008c00;">1001</span><span style="color: #808030;">]</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">void</span> bfs<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">int</span> s <span style="color: #808030;">=</span> nodes<span style="color: #808030;">.</span>front<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
nodes<span style="color: #808030;">.</span>pop_front<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> i <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span> i <span style="color: #808030;"><</span> g<span style="color: #808030;">[</span>s<span style="color: #808030;">]</span><span style="color: #808030;">.</span>size<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span> i<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span><span style="color: #808030;">!</span>visited<span style="color: #808030;">[</span>g<span style="color: #808030;">[</span>s<span style="color: #808030;">]</span><span style="color: #808030;">[</span>i<span style="color: #808030;">]</span><span style="color: #808030;">]</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
steps<span style="color: #808030;">[</span>g<span style="color: #808030;">[</span>s<span style="color: #808030;">]</span><span style="color: #808030;">[</span>i<span style="color: #808030;">]</span><span style="color: #808030;">]</span> <span style="color: #808030;">=</span> steps<span style="color: #808030;">[</span>s<span style="color: #808030;">]</span> <span style="color: #808030;">+</span> <span style="color: #008c00;">6</span><span style="color: purple;">;</span>
nodes<span style="color: #808030;">.</span>push_back<span style="color: #808030;">(</span>g<span style="color: #808030;">[</span>s<span style="color: #808030;">]</span><span style="color: #808030;">[</span>i<span style="color: #808030;">]</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
visited<span style="color: #808030;">[</span>g<span style="color: #808030;">[</span>s<span style="color: #808030;">]</span><span style="color: #808030;">[</span>i<span style="color: #808030;">]</span><span style="color: #808030;">]</span> <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">true</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>nodes<span style="color: #808030;">.</span>size<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
bfs<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">int</span> <span style="color: #400000;">main</span><span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">int</span> t<span style="color: #808030;">,</span> m<span style="color: #808030;">,</span> n<span style="color: #808030;">,</span> x<span style="color: #808030;">,</span> y<span style="color: #808030;">,</span> s<span style="color: purple;">;</span>
<span style="color: #603000;">scanf</span><span style="color: #808030;">(</span><span style="color: maroon;">"</span><span style="color: #007997;">%d</span><span style="color: maroon;">"</span><span style="color: #808030;">,</span> <span style="color: #808030;">&</span>t<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">while</span><span style="color: #808030;">(</span>t<span style="color: #808030;">-</span><span style="color: #808030;">-</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
nodes<span style="color: #808030;">.</span>clear<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> i <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span> i <span style="color: #808030;"><</span> <span style="color: #008c00;">1001</span><span style="color: purple;">;</span> i<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span><span style="color: purple;">{</span> visited<span style="color: #808030;">[</span>i<span style="color: #808030;">]</span> <span style="color: #808030;">=</span> <span style="color: maroon; font-weight: bold;">false</span><span style="color: purple;">;</span> steps<span style="color: #808030;">[</span>i<span style="color: #808030;">]</span> <span style="color: #808030;">=</span> <span style="color: #808030;">-</span><span style="color: #008c00;">1</span><span style="color: purple;">;</span> g<span style="color: #808030;">[</span>i<span style="color: #808030;">]</span><span style="color: #808030;">.</span>clear<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span> <span style="color: purple;">}</span>
<span style="color: #603000;">scanf</span><span style="color: #808030;">(</span><span style="color: maroon;">"</span><span style="color: #007997;">%d</span><span style="color: #0000e6;"> </span><span style="color: #007997;">%d</span><span style="color: maroon;">"</span><span style="color: #808030;">,</span> <span style="color: #808030;">&</span>n<span style="color: #808030;">,</span> <span style="color: #808030;">&</span>m<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> i <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span> i <span style="color: #808030;"><</span> m<span style="color: purple;">;</span> i<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: #603000;">scanf</span><span style="color: #808030;">(</span><span style="color: maroon;">"</span><span style="color: #007997;">%d</span><span style="color: #007997;">%d</span><span style="color: maroon;">"</span><span style="color: #808030;">,</span> <span style="color: #808030;">&</span>x<span style="color: #808030;">,</span> <span style="color: #808030;">&</span>y<span style="color: #808030;">)</span><span style="color: purple;">;</span>
g<span style="color: #808030;">[</span>x<span style="color: #808030;">]</span><span style="color: #808030;">.</span>push_back<span style="color: #808030;">(</span>y<span style="color: #808030;">)</span><span style="color: purple;">;</span>
g<span style="color: #808030;">[</span>y<span style="color: #808030;">]</span><span style="color: #808030;">.</span>push_back<span style="color: #808030;">(</span>x<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: #603000;">scanf</span><span style="color: #808030;">(</span><span style="color: maroon;">"</span><span style="color: #007997;">%d</span><span style="color: maroon;">"</span><span style="color: #808030;">,</span> <span style="color: #808030;">&</span>s<span style="color: #808030;">)</span><span style="color: purple;">;</span>
nodes<span style="color: #808030;">.</span>push_back<span style="color: #808030;">(</span>s<span style="color: #808030;">)</span><span style="color: purple;">;</span>
steps<span style="color: #808030;">[</span>s<span style="color: #808030;">]</span> <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span>
bfs<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> i <span style="color: #808030;">=</span> <span style="color: #008c00;">1</span><span style="color: purple;">;</span> i <span style="color: #808030;"><</span><span style="color: #808030;">=</span> n<span style="color: purple;">;</span> i<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">if</span><span style="color: #808030;">(</span>i <span style="color: #808030;">!</span><span style="color: #808030;">=</span> s<span style="color: #808030;">)</span>
<span style="color: #603000;">printf</span><span style="color: #808030;">(</span><span style="color: maroon;">"</span><span style="color: #007997;">%d</span><span style="color: #0000e6;"> </span><span style="color: maroon;">"</span><span style="color: #808030;">,</span> steps<span style="color: #808030;">[</span>i<span style="color: #808030;">]</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: #603000;">printf</span><span style="color: #808030;">(</span><span style="color: maroon;">"</span><span style="color: #0f69ff;">\n</span><span style="color: maroon;">"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">return</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span></pre>
<br />
<a href="https://www.hackerrank.com/contests/sict01/challenges/challenge-106">Хүснэгт эргүүлэлт</a> бодлогын хувьд өгөгдсөн хүснэгт<br />
<br />
<pre style="background: rgb(255, 255, 255); border-radius: 3px; border: 1px solid rgb(194, 199, 208); color: #454c59; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 14px; font-stretch: inherit; line-height: 18px; margin-bottom: 9px; outline: 0px; padding: 20px; vertical-align: baseline; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;"><code style="background: transparent; border-radius: 3px; border: 0px; color: inherit; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 1em; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">a11 a12 a13 a14 a15
a21 a22 a23 a24 a25
a31 a32 a33 a34 a35
a41 a42 a43 a44 a45</code></pre>
<br />
гэж бодвол <br />
<br />
<pre style="background: rgb(255, 255, 255); border-radius: 3px; border: 1px solid rgb(194, 199, 208); color: #454c59; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 14px; font-stretch: inherit; line-height: 18px; margin-bottom: 9px; outline: 0px; padding: 20px; vertical-align: baseline; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;"><code style="background: transparent; border-radius: 3px; border: 0px; color: inherit; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 1em; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Гадна хүрээг:
a11 a12 a13 a14 a15
a21 a25
a31 a35
a41 a42 a43 a44 a45
->
a11 <- a12 <- a13 <- a14 <- a15 <- a25 <- a35 <- a45 <- a44 <- a43 <- a42 <- a41 <- a31 <- a21
Түүний дотор хүрээг:
a22 a23 a24
a32 a33 a34
->
a22 <- a23 <- a24 <- a34 <- a33 <- a32</code></pre>
<br />
гэсэн цуваанд шилжүүллээ гэс бодоход R удаагийн эргүүлэлтийн дараах тухайн элементийн байршил АгуулагдажбайгааЦуваа[R%(цувааны урт)] гэсэн байдлаар олдоно.<br />
<br />
<pre style="background: #ffffff; color: black;"><span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">cmath</span><span style="color: maroon;">></span>
<span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">cstdio</span><span style="color: maroon;">></span>
<span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">vector</span><span style="color: maroon;">></span>
<span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">iostream</span><span style="color: maroon;">></span>
<span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">algorithm</span><span style="color: maroon;">></span>
<span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">queue</span><span style="color: maroon;">></span>
<span style="color: #004a43;">#</span><span style="color: #004a43;">include </span><span style="color: maroon;"><</span><span style="color: #40015a;">stdio.h</span><span style="color: maroon;">></span>
<span style="color: maroon; font-weight: bold;">using</span> <span style="color: maroon; font-weight: bold;">namespace</span> <span style="color: #666616;">std</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">void</span> printMatrix<span style="color: #808030;">(</span><span style="color: #603000;">vector</span><span style="color: purple;"><</span> <span style="color: #603000;">vector</span><span style="color: purple;"><</span><span style="color: maroon; font-weight: bold;">int</span><span style="color: purple;">></span> <span style="color: purple;">></span> <span style="color: #808030;">&</span> matrix<span style="color: #808030;">,</span> <span style="color: maroon; font-weight: bold;">int</span> M<span style="color: #808030;">,</span> <span style="color: maroon; font-weight: bold;">int</span> N<span style="color: #808030;">)</span>
<span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> row <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span> row <span style="color: #808030;"><</span> M<span style="color: purple;">;</span> row<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span>
<span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> column <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span> column <span style="color: #808030;"><</span> N<span style="color: purple;">;</span> column<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span>
<span style="color: purple;">{</span>
<span style="color: #603000;">printf</span><span style="color: #808030;">(</span><span style="color: maroon;">"</span><span style="color: #007997;">%d</span><span style="color: #0000e6;"> </span><span style="color: maroon;">"</span><span style="color: #808030;">,</span> matrix<span style="color: #808030;">[</span>row<span style="color: #808030;">]</span><span style="color: #808030;">[</span>column<span style="color: #808030;">]</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: #603000;">printf</span><span style="color: #808030;">(</span><span style="color: maroon;">"</span><span style="color: #0f69ff;">\n</span><span style="color: maroon;">"</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">void</span> Matrix_Rotation<span style="color: #808030;">(</span><span style="color: #603000;">vector</span><span style="color: purple;"><</span> <span style="color: #603000;">vector</span><span style="color: purple;"><</span><span style="color: maroon; font-weight: bold;">int</span><span style="color: purple;">></span> <span style="color: purple;">></span> <span style="color: #808030;">&</span> matrix<span style="color: #808030;">,</span> <span style="color: maroon; font-weight: bold;">int</span> M<span style="color: #808030;">,</span> <span style="color: maroon; font-weight: bold;">int</span> N<span style="color: #808030;">,</span> <span style="color: maroon; font-weight: bold;">int</span> R<span style="color: #808030;">)</span>
<span style="color: purple;">{</span>
<span style="color: #603000;">vector</span><span style="color: purple;"><</span> <span style="color: #603000;">vector</span><span style="color: purple;"><</span><span style="color: maroon; font-weight: bold;">int</span><span style="color: purple;">></span> <span style="color: purple;">></span> old_matrix <span style="color: #808030;">=</span> matrix<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">int</span> num_rings <span style="color: #808030;">=</span> <span style="color: #603000;">min</span><span style="color: #808030;">(</span>M<span style="color: #808030;">,</span>N<span style="color: #808030;">)</span><span style="color: #808030;">/</span><span style="color: #008c00;">2</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">int</span> num_elems_to_queue<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> ring <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span> ring <span style="color: #808030;"><</span> num_rings<span style="color: purple;">;</span> ring<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span>
<span style="color: purple;">{</span>
<span style="color: #603000;">queue</span><span style="color: purple;"><</span><span style="color: maroon; font-weight: bold;">int</span><span style="color: purple;">></span> ring_queue<span style="color: purple;">;</span>
<span style="color: dimgrey;">//populate ring queue</span>
<span style="color: dimgrey;">//populate top side</span>
num_elems_to_queue <span style="color: #808030;">=</span> <span style="color: #808030;">(</span>N <span style="color: #808030;">-</span> <span style="color: #808030;">(</span><span style="color: #008c00;">2</span> <span style="color: #808030;">*</span> ring<span style="color: #808030;">)</span><span style="color: #808030;">)</span> <span style="color: #808030;">-</span> <span style="color: #008c00;">1</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> num_elems_queued <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span> num_elems_queued <span style="color: #808030;"><</span> num_elems_to_queue<span style="color: purple;">;</span> num_elems_queued<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span>
<span style="color: purple;">{</span>
ring_queue<span style="color: #808030;">.</span>push<span style="color: #808030;">(</span>matrix<span style="color: #808030;">[</span>ring<span style="color: #808030;">]</span><span style="color: #808030;">[</span>ring <span style="color: #808030;">+</span> num_elems_queued<span style="color: #808030;">]</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: dimgrey;">//populate right side</span>
num_elems_to_queue <span style="color: #808030;">=</span> <span style="color: #808030;">(</span>M <span style="color: #808030;">-</span> <span style="color: #808030;">(</span><span style="color: #008c00;">2</span> <span style="color: #808030;">*</span> ring<span style="color: #808030;">)</span><span style="color: #808030;">)</span> <span style="color: #808030;">-</span> <span style="color: #008c00;">1</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> num_elems_queued <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span> num_elems_queued <span style="color: #808030;"><</span> num_elems_to_queue<span style="color: purple;">;</span> num_elems_queued<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span>
<span style="color: purple;">{</span>
ring_queue<span style="color: #808030;">.</span>push<span style="color: #808030;">(</span>matrix<span style="color: #808030;">[</span>ring <span style="color: #808030;">+</span> num_elems_queued<span style="color: #808030;">]</span><span style="color: #808030;">[</span>N <span style="color: #808030;">-</span> <span style="color: #008c00;">1</span> <span style="color: #808030;">-</span> ring<span style="color: #808030;">]</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: dimgrey;">//populate bottom side</span>
num_elems_to_queue <span style="color: #808030;">=</span> <span style="color: #808030;">(</span>N <span style="color: #808030;">-</span> <span style="color: #808030;">(</span><span style="color: #008c00;">2</span> <span style="color: #808030;">*</span> ring<span style="color: #808030;">)</span><span style="color: #808030;">)</span> <span style="color: #808030;">-</span> <span style="color: #008c00;">1</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> num_elems_queued <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span> num_elems_queued <span style="color: #808030;"><</span> num_elems_to_queue<span style="color: purple;">;</span> num_elems_queued<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span>
<span style="color: purple;">{</span>
ring_queue<span style="color: #808030;">.</span>push<span style="color: #808030;">(</span>matrix<span style="color: #808030;">[</span>M <span style="color: #808030;">-</span> <span style="color: #008c00;">1</span> <span style="color: #808030;">-</span> ring<span style="color: #808030;">]</span><span style="color: #808030;">[</span>N <span style="color: #808030;">-</span> <span style="color: #008c00;">1</span> <span style="color: #808030;">-</span> ring <span style="color: #808030;">-</span> num_elems_queued<span style="color: #808030;">]</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: dimgrey;">//populate left side</span>
num_elems_to_queue <span style="color: #808030;">=</span> <span style="color: #808030;">(</span>M <span style="color: #808030;">-</span> <span style="color: #808030;">(</span><span style="color: #008c00;">2</span> <span style="color: #808030;">*</span> ring<span style="color: #808030;">)</span><span style="color: #808030;">)</span> <span style="color: #808030;">-</span> <span style="color: #008c00;">1</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> num_elems_queued <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span> num_elems_queued <span style="color: #808030;"><</span> num_elems_to_queue<span style="color: purple;">;</span> num_elems_queued<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span>
<span style="color: purple;">{</span>
ring_queue<span style="color: #808030;">.</span>push<span style="color: #808030;">(</span>matrix<span style="color: #808030;">[</span>M <span style="color: #808030;">-</span> <span style="color: #008c00;">1</span> <span style="color: #808030;">-</span> ring <span style="color: #808030;">-</span> num_elems_queued<span style="color: #808030;">]</span><span style="color: #808030;">[</span>ring<span style="color: #808030;">]</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">int</span> rotations <span style="color: #808030;">=</span> R <span style="color: #808030;">%</span> ring_queue<span style="color: #808030;">.</span>size<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> r <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span> r <span style="color: #808030;"><</span> rotations<span style="color: purple;">;</span> r<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span>
<span style="color: purple;">{</span>
ring_queue<span style="color: #808030;">.</span>push<span style="color: #808030;">(</span>ring_queue<span style="color: #808030;">.</span>front<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
ring_queue<span style="color: #808030;">.</span>pop<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: dimgrey;">//populate top side</span>
num_elems_to_queue <span style="color: #808030;">=</span> <span style="color: #808030;">(</span>N <span style="color: #808030;">-</span> <span style="color: #808030;">(</span><span style="color: #008c00;">2</span> <span style="color: #808030;">*</span> ring<span style="color: #808030;">)</span><span style="color: #808030;">)</span> <span style="color: #808030;">-</span> <span style="color: #008c00;">1</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> num_elems_queued <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span> num_elems_queued <span style="color: #808030;"><</span> num_elems_to_queue<span style="color: purple;">;</span> num_elems_queued<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span>
<span style="color: purple;">{</span>
matrix<span style="color: #808030;">[</span>ring<span style="color: #808030;">]</span><span style="color: #808030;">[</span>ring <span style="color: #808030;">+</span> num_elems_queued<span style="color: #808030;">]</span> <span style="color: #808030;">=</span> ring_queue<span style="color: #808030;">.</span>front<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
ring_queue<span style="color: #808030;">.</span>pop<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: dimgrey;">//populate right side</span>
num_elems_to_queue <span style="color: #808030;">=</span> <span style="color: #808030;">(</span>M <span style="color: #808030;">-</span> <span style="color: #808030;">(</span><span style="color: #008c00;">2</span> <span style="color: #808030;">*</span> ring<span style="color: #808030;">)</span><span style="color: #808030;">)</span> <span style="color: #808030;">-</span> <span style="color: #008c00;">1</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> num_elems_queued <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span> num_elems_queued <span style="color: #808030;"><</span> num_elems_to_queue<span style="color: purple;">;</span> num_elems_queued<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span>
<span style="color: purple;">{</span>
matrix<span style="color: #808030;">[</span>ring <span style="color: #808030;">+</span> num_elems_queued<span style="color: #808030;">]</span><span style="color: #808030;">[</span>N <span style="color: #808030;">-</span> <span style="color: #008c00;">1</span> <span style="color: #808030;">-</span> ring<span style="color: #808030;">]</span> <span style="color: #808030;">=</span> ring_queue<span style="color: #808030;">.</span>front<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
ring_queue<span style="color: #808030;">.</span>pop<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: dimgrey;">//populate bottom side</span>
num_elems_to_queue <span style="color: #808030;">=</span> <span style="color: #808030;">(</span>N <span style="color: #808030;">-</span> <span style="color: #808030;">(</span><span style="color: #008c00;">2</span> <span style="color: #808030;">*</span> ring<span style="color: #808030;">)</span><span style="color: #808030;">)</span> <span style="color: #808030;">-</span> <span style="color: #008c00;">1</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> num_elems_queued <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span> num_elems_queued <span style="color: #808030;"><</span> num_elems_to_queue<span style="color: purple;">;</span> num_elems_queued<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span>
<span style="color: purple;">{</span>
matrix<span style="color: #808030;">[</span>M <span style="color: #808030;">-</span> <span style="color: #008c00;">1</span> <span style="color: #808030;">-</span> ring<span style="color: #808030;">]</span><span style="color: #808030;">[</span>N <span style="color: #808030;">-</span> <span style="color: #008c00;">1</span> <span style="color: #808030;">-</span> ring <span style="color: #808030;">-</span> num_elems_queued<span style="color: #808030;">]</span> <span style="color: #808030;">=</span> ring_queue<span style="color: #808030;">.</span>front<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
ring_queue<span style="color: #808030;">.</span>pop<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: dimgrey;">//populate left side</span>
num_elems_to_queue <span style="color: #808030;">=</span> <span style="color: #808030;">(</span>M <span style="color: #808030;">-</span> <span style="color: #808030;">(</span><span style="color: #008c00;">2</span> <span style="color: #808030;">*</span> ring<span style="color: #808030;">)</span><span style="color: #808030;">)</span> <span style="color: #808030;">-</span> <span style="color: #008c00;">1</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> num_elems_queued <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span> num_elems_queued <span style="color: #808030;"><</span> num_elems_to_queue<span style="color: purple;">;</span> num_elems_queued<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span>
<span style="color: purple;">{</span>
matrix<span style="color: #808030;">[</span>M <span style="color: #808030;">-</span> <span style="color: #008c00;">1</span> <span style="color: #808030;">-</span> ring <span style="color: #808030;">-</span> num_elems_queued<span style="color: #808030;">]</span><span style="color: #808030;">[</span>ring<span style="color: #808030;">]</span> <span style="color: #808030;">=</span> ring_queue<span style="color: #808030;">.</span>front<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
ring_queue<span style="color: #808030;">.</span>pop<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">}</span>
printMatrix<span style="color: #808030;">(</span>matrix<span style="color: #808030;">,</span> M<span style="color: #808030;">,</span> N<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">int</span> <span style="color: #400000;">main</span><span style="color: #808030;">(</span><span style="color: #808030;">)</span> <span style="color: purple;">{</span>
<span style="color: dimgrey;">/* Enter your code here. Read input from STDIN. Print output to STDOUT */</span>
<span style="color: maroon; font-weight: bold;">int</span> M<span style="color: #808030;">,</span> N<span style="color: #808030;">,</span> R<span style="color: #808030;">,</span> elem<span style="color: purple;">;</span>
<span style="color: #603000;">cin</span> <span style="color: #808030;">></span><span style="color: #808030;">></span> M<span style="color: purple;">;</span>
<span style="color: #603000;">cin</span> <span style="color: #808030;">></span><span style="color: #808030;">></span> N<span style="color: purple;">;</span>
<span style="color: #603000;">cin</span> <span style="color: #808030;">></span><span style="color: #808030;">></span> R<span style="color: purple;">;</span>
<span style="color: #603000;">vector</span><span style="color: purple;"><</span> <span style="color: #603000;">vector</span><span style="color: purple;"><</span> <span style="color: maroon; font-weight: bold;">int</span> <span style="color: purple;">></span> <span style="color: purple;">></span> matrix<span style="color: purple;">;</span>
<span style="color: #603000;">vector</span><span style="color: purple;"><</span> <span style="color: maroon; font-weight: bold;">int</span> <span style="color: purple;">></span> row_vec<span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> row <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span> row <span style="color: #808030;"><</span> M<span style="color: purple;">;</span> row<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span>
<span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">for</span><span style="color: #808030;">(</span><span style="color: maroon; font-weight: bold;">int</span> column <span style="color: #808030;">=</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span> column <span style="color: #808030;"><</span> N<span style="color: purple;">;</span> column<span style="color: #808030;">+</span><span style="color: #808030;">+</span><span style="color: #808030;">)</span>
<span style="color: purple;">{</span>
<span style="color: #603000;">cin</span> <span style="color: #808030;">></span><span style="color: #808030;">></span> elem<span style="color: purple;">;</span>
row_vec<span style="color: #808030;">.</span>push_back<span style="color: #808030;">(</span>elem<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
matrix<span style="color: #808030;">.</span>push_back<span style="color: #808030;">(</span>row_vec<span style="color: #808030;">)</span><span style="color: purple;">;</span>
row_vec<span style="color: #808030;">.</span>clear<span style="color: #808030;">(</span><span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
Matrix_Rotation<span style="color: #808030;">(</span>matrix<span style="color: #808030;">,</span> M<span style="color: #808030;">,</span> N<span style="color: #808030;">,</span> R<span style="color: #808030;">)</span><span style="color: purple;">;</span>
<span style="color: maroon; font-weight: bold;">return</span> <span style="color: #008c00;">0</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
</pre>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8528374942500438602.post-89821802453314454222014-05-15T23:03:00.000-07:002014-05-15T23:04:19.974-07:00Jquery Ajax loader<pre style='color:#000000;background:#ffffff;'><html><body style='color:#000000; background:#ffffff; '>
$<span style='color:#808030; '>(</span>function <span style='color:#808030; '>(</span><span style='color:#808030; '>)</span> <span style='color:#800080; '>{</span>
<span style='color:#800000; font-weight:bold; '>if</span> <span style='color:#808030; '>(</span>window<span style='color:#808030; '>.</span>location<span style='color:#808030; '>.</span>hash<span style='color:#808030; '>)</span><span style='color:#800080; '>{</span> contentload<span style='color:#808030; '>(</span>window<span style='color:#808030; '>.</span>location<span style='color:#808030; '>.</span>hash<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span><span style='color:#800080; '>}</span>
$<span style='color:#808030; '>(</span><span style='color:#800000; '>"</span><span style='color:#0000e6; '>body</span><span style='color:#800000; '>"</span><span style='color:#808030; '>)</span><span style='color:#808030; '>.</span>on<span style='color:#808030; '>(</span><span style='color:#800000; '>"</span><span style='color:#0000e6; '>click</span><span style='color:#800000; '>"</span><span style='color:#808030; '>,</span> <span style='color:#800000; '>"</span><span style='color:#0000e6; '>a</span><span style='color:#800000; '>"</span><span style='color:#808030; '>,</span> function<span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>event</span><span style='color:#808030; '>)</span><span style='color:#800080; '>{</span>
fragment <span style='color:#808030; '>=</span> <span style='color:#800000; font-weight:bold; '>this</span><span style='color:#808030; '>.</span>hash<span style='color:#800080; '>;</span>
<span style='color:#800000; font-weight:bold; '>if</span><span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>this</span><span style='color:#808030; '>.</span>hostname <span style='color:#808030; '>=</span><span style='color:#808030; '>=</span> window<span style='color:#808030; '>.</span>location<span style='color:#808030; '>.</span>hostname <span style='color:#808030; '>)</span>
<span style='color:#800080; '>{</span>
<span style='color:#800000; font-weight:bold; '>if</span><span style='color:#808030; '>(</span>$<span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>this</span><span style='color:#808030; '>)</span><span style='color:#808030; '>.</span>attr<span style='color:#808030; '>(</span>'data<span style='color:#808030; '>-</span>toggle'<span style='color:#808030; '>)</span> <span style='color:#808030; '>!</span><span style='color:#808030; '>=</span> <span style='color:#800000; '>"</span><span style='color:#0000e6; '>dropdown</span><span style='color:#800000; '>"</span> && $<span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>this</span><span style='color:#808030; '>)</span><span style='color:#808030; '>.</span>attr<span style='color:#808030; '>(</span>'target'<span style='color:#808030; '>)</span> <span style='color:#808030; '>!</span><span style='color:#808030; '>=</span> <span style='color:#800000; '>"</span><span style='color:#0000e6; '>_blank</span><span style='color:#800000; '>"</span><span style='color:#808030; '>)</span>
<span style='color:#800080; '>{</span>
var load_url <span style='color:#808030; '>=</span> <span style='color:#800000; font-weight:bold; '>this</span><span style='color:#808030; '>.</span>href<span style='color:#808030; '>.</span>split<span style='color:#808030; '>(</span>'<span style='color:#808030; '><</span>?php echo $_SERVER<span style='color:#808030; '>[</span>'SERVER_NAME'<span style='color:#808030; '>]</span>?<span style='color:#808030; '>></span>'<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
contentload<span style='color:#808030; '>(</span>load_url<span style='color:#808030; '>[</span><span style='color:#008c00; '>1</span><span style='color:#808030; '>]</span><span style='color:#808030; '>,</span> <span style='color:#800000; font-weight:bold; '>true</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#800080; '>}</span>
<span style='color:#800000; font-weight:bold; '>return</span> <span style='color:#800000; font-weight:bold; '>false</span><span style='color:#800080; '>;</span>
<span style='color:#800080; '>}</span>
<span style='color:#800080; '>}</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
window<span style='color:#808030; '>.</span>onpopstate <span style='color:#808030; '>=</span> function<span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>event</span><span style='color:#808030; '>)</span> <span style='color:#800080; '>{</span>
load_url <span style='color:#808030; '>=</span> location<span style='color:#808030; '>.</span>href<span style='color:#800080; '>;</span>
contentload<span style='color:#808030; '>(</span> load_url<span style='color:#808030; '>,</span> <span style='color:#800000; font-weight:bold; '>false</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
console<span style='color:#808030; '>.</span>log<span style='color:#808030; '>(</span><span style='color:#800000; '>"</span><span style='color:#0000e6; '>path: </span><span style='color:#800000; '>"</span> <span style='color:#808030; '>+</span> load_url<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#800080; '>}</span><span style='color:#800080; '>;</span>
<span style='color:#800080; '>}</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
function contentload<span style='color:#808030; '>(</span>load_url<span style='color:#808030; '>,</span> is_link<span style='color:#808030; '>)</span> <span style='color:#800080; '>{</span>
$<span style='color:#808030; '>(</span><span style='color:#800000; '>"</span><span style='color:#0000e6; '>#body-loader</span><span style='color:#800000; '>"</span><span style='color:#808030; '>)</span><span style='color:#808030; '>.</span>show<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
$<span style='color:#808030; '>.</span>ajax<span style='color:#808030; '>(</span><span style='color:#800080; '>{</span>
url <span style='color:#808030; '>:</span> load_url<span style='color:#808030; '>,</span>
success <span style='color:#808030; '>:</span> function<span style='color:#808030; '>(</span>data<span style='color:#808030; '>)</span> <span style='color:#800080; '>{</span>
$<span style='color:#808030; '>(</span>'#container<span style='color:#808030; '>-</span>wrapper'<span style='color:#808030; '>)</span><span style='color:#808030; '>.</span>html<span style='color:#808030; '>(</span>data<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
$<span style='color:#808030; '>(</span><span style='color:#800000; '>"</span><span style='color:#0000e6; '>#body-loader</span><span style='color:#800000; '>"</span><span style='color:#808030; '>)</span><span style='color:#808030; '>.</span>hide<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#800000; font-weight:bold; '>if</span><span style='color:#808030; '>(</span>is_link<span style='color:#808030; '>)</span>
<span style='color:#800080; '>{</span>
var full_url <span style='color:#808030; '>=</span> '<span style='color:#696969; '>//<?php echo $_SERVER['SERVER_NAME']?>'+load_url;</span>
history<span style='color:#808030; '>.</span>pushState<span style='color:#808030; '>(</span><span style='color:#800080; '>{</span><span style='color:#800080; '>}</span><span style='color:#808030; '>,</span> 'New URL<span style='color:#808030; '>:</span> ' <span style='color:#808030; '>+</span> full_url<span style='color:#808030; '>,</span> full_url<span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#800080; '>}</span>
load_start<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#800080; '>}</span>
<span style='color:#800080; '>}</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#800080; '>}</span>
</pre>Gansukh Bhttp://www.blogger.com/profile/06641799687255335083noreply@blogger.com0tag:blogger.com,1999:blog-8528374942500438602.post-82414642375410873412014-05-15T22:49:00.002-07:002014-05-15T22:49:25.800-07:00Cache header for Apache<pre style='color:#000000;background:#ffffff;'><html><body style='color:#000000; background:#ffffff; '>
<span style='color:#808030; '><</span>IfModule mod_expires<span style='color:#808030; '>.</span>c<span style='color:#808030; '>></span>
ExpiresActive On
ExpiresByType image<span style='color:#808030; '>/</span>jpg <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 year</span><span style='color:#800000; '>"</span>
ExpiresByType image<span style='color:#808030; '>/</span>jpeg <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 year</span><span style='color:#800000; '>"</span>
ExpiresByType image<span style='color:#808030; '>/</span>gif <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 year</span><span style='color:#800000; '>"</span>
ExpiresByType image<span style='color:#808030; '>/</span>png <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 year</span><span style='color:#800000; '>"</span>
ExpiresByType text<span style='color:#808030; '>/</span>css <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 month</span><span style='color:#800000; '>"</span>
ExpiresByType application<span style='color:#808030; '>/</span>pdf <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 month</span><span style='color:#800000; '>"</span>
ExpiresByType text<span style='color:#808030; '>/</span>x<span style='color:#808030; '>-</span>javascript <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 month</span><span style='color:#800000; '>"</span>
ExpiresByType application<span style='color:#808030; '>/</span>x<span style='color:#808030; '>-</span>shockwave<span style='color:#808030; '>-</span>flash <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 month</span><span style='color:#800000; '>"</span>
ExpiresByType image<span style='color:#808030; '>/</span>x<span style='color:#808030; '>-</span>icon <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 year</span><span style='color:#800000; '>"</span>
ExpiresDefault <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 2 days</span><span style='color:#800000; '>"</span>
<span style='color:#808030; '><</span><span style='color:#808030; '>/</span>IfModule<span style='color:#808030; '>></span>
</pre><br />
<pre style='color:#000000;background:#ffffff;'><html><body style='color:#000000; background:#ffffff; '>
<span style='color:#808030; '><</span>IfModule mod_expires<span style='color:#808030; '>.</span>c<span style='color:#808030; '>></span>
ExpiresActive On
ExpiresByType image<span style='color:#808030; '>/</span>jpg <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 year</span><span style='color:#800000; '>"</span>
ExpiresByType image<span style='color:#808030; '>/</span>jpeg <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 year</span><span style='color:#800000; '>"</span>
ExpiresByType image<span style='color:#808030; '>/</span>gif <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 year</span><span style='color:#800000; '>"</span>
ExpiresByType image<span style='color:#808030; '>/</span>png <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 year</span><span style='color:#800000; '>"</span>
ExpiresByType text<span style='color:#808030; '>/</span>css <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 month</span><span style='color:#800000; '>"</span>
ExpiresByType application<span style='color:#808030; '>/</span>pdf <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 month</span><span style='color:#800000; '>"</span>
ExpiresByType text<span style='color:#808030; '>/</span>x<span style='color:#808030; '>-</span>javascript <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 month</span><span style='color:#800000; '>"</span>
ExpiresByType application<span style='color:#808030; '>/</span>x<span style='color:#808030; '>-</span>shockwave<span style='color:#808030; '>-</span>flash <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 month</span><span style='color:#800000; '>"</span>
ExpiresByType image<span style='color:#808030; '>/</span>x<span style='color:#808030; '>-</span>icon <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 1 year</span><span style='color:#800000; '>"</span>
ExpiresDefault <span style='color:#800000; '>"</span><span style='color:#0000e6; '>access 2 days</span><span style='color:#800000; '>"</span>
<span style='color:#808030; '><</span><span style='color:#808030; '>/</span>IfModule<span style='color:#808030; '>></span>
</pre>Gansukh Bhttp://www.blogger.com/profile/06641799687255335083noreply@blogger.com0tag:blogger.com,1999:blog-8528374942500438602.post-50732954692994189702014-03-17T11:44:00.002-07:002014-03-17T11:44:16.765-07:00Quote.mn - Онч үгсийн сайт<div class="separator" style="clear: both; text-align: center;">
<a href="http://quote.mn/" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Quote.mn" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOcVBvszhGOTXu97oolikPqQodBDz9JWuBmIqfM25ZyLOXoZNJi3NY2pwOq5tMVlnmhpI3q1W_cLie2lN7OhQQTDJXZ4n4i2REOGv0Mt4wH_gFQQen9UgIE070t34wWdas2udqwQF7qYjy/s1600/og.jpg" height="200" title="Inspirational Quotes at Quote.mn" width="200" /><span id="goog_160415741"></span></a><span id="goog_160415742"></span></div>
Хэдэн жилийн өмнө, тодруулбал 2011 оны 7 сарын 10-ны өдөр онч мэргэн үгсийн сайт хийх шийдвэрээ биелүүлэхээр <a href="http://quote.mn/" target="_blank">http://quote.mn/</a> домэйнийг худалдаж авснаа санаж байна. Санаагаа хэрэгжүүлэхээр 2 ч удаа кодын ажлыг гүйцэлдүүлсэн ч нэвтрүүлж чадалгүй орхисон.<br />
<br />
Гадны сайтуудаас гайгүй хэдэн онч үг бот гүйлгэж авсан ч тэр өгөгдлийн сангаа хуудаслаж, оновчилж зохион байгуулахаас залхуурч нэг алгасав. 2 жилийн дараа Монгол хэл рүү нээлттэй орчуулгатай хийхээр болж, нийтийн сүлжээнүүдээр зарлан идэвхитэн орчуулагч хайхаа шийдсэн ч уур амьсгал эсрэгээрээ, "онч үгсийг үзэн ядагчид" нийтийн сүлжээдээр дүүрэн байгааг мэдээд хүсэл унтарсан удаа бий.<br />
<br />
Ухаалаг үгсийг олон уншаад, хэлээд давтаад байх нь хүнийг ухаантай харуулдаг ч ухаантай болгочихдоггүй, үйл хөдлөлөөрөө ухааныг баталдаг. Гэхдээ төрөлхийн боловч тэлж нээгдээгүй ухаанд ухаарал нэмэрлэх үгс л ус, агаар мэт хэрэгцээтэй байж болох, үгүй ч байж болох.<br />
<br />
3 жилийн өмнө худалдаж авч хадгалсан домэйнийг юутай ч нэг бүтээл болгож гаргалаа. Монгол хэл дээр гаргах, орчуулгын систем хийх санаа байсан ч нэг хэсэгтээ хийхгүй. Монгол хэл дээр орчуулах нь зүйтэй, дэмжинэ, оролцоно гэсэн санал хүсэлт хангалттай олон иртэл англи хэл дээрхи агуулга, системийг хөгжүүлнэ.Gansukh Bhttp://www.blogger.com/profile/06641799687255335083noreply@blogger.com0tag:blogger.com,1999:blog-8528374942500438602.post-79582740132065568672014-02-06T23:16:00.001-08:002014-02-06T23:16:10.156-08:00Symfony 1.4: sfImageFileValidatorSymfony 1.4 дээр upload хийж буй зургийн өргөн, өндрийг шалгах шалгагч.<br />
<br />
<pre>$this->validatorSchema['picture'] = new sfImageFileValidator(
array(
'required' => $this->getObject()->isNew() ? true : false,
'path' => sfConfig::get('sf_upload_dir') . '/content_picture',
'max_size' => 1048576,
'min_height' => '292',
'min_width' => '640',
'mime_types' => array(
'image/jpeg',
'image/pjpeg',
'image/png',
'image/x-png',
'image/gif',
)
),
array(
'required' => 'Та зураг оруулна уу',
'max_size' => 'Таны оруулсан зурагны хэмжээ иx байна. Хамгийн иxдээ 1024kb.',
'mime_types' => 'Та зөвxөн зурган файл оруулаx боломжтой'));
</pre>
<br />
Байдлаар ашиглана. Validator-ийн код:<br />
<a name='more'></a><br /><br />
<pre style="-webkit-text-stroke-width: 0px; box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Courier, monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; margin-bottom: 0px; margin-top: 0px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px;"><div class="line" id="LC1" style="box-sizing: border-box; padding-left: 10px;">
<span class="o" style="box-sizing: border-box; font-weight: bold;"> </span></div>
<div class="line" id="LC1" style="box-sizing: border-box; padding-left: 10px;">
</div>
<div class="line" id="LC1" style="box-sizing: border-box; padding-left: 10px;">
<span class="o" style="box-sizing: border-box; font-weight: bold;"><?</span><span class="nx" style="box-sizing: border-box;">php</span></div>
<div class="line" id="LC2" style="box-sizing: border-box; padding-left: 10px;">
</div>
<div class="line" id="LC3" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;">/**</span></div>
<div class="line" id="LC4" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * sfImageFileValidator allows you to apply constraints to image file upload, it extend the sfFileValidator functions.</span></div>
<div class="line" id="LC5" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> *</span></div>
<div class="line" id="LC6" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * @author Kamil Adryjanek <kamil.adryjanek@gmail.com></span></div>
<div class="line" id="LC7" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> */</span></div>
<div class="line" id="LC8" style="box-sizing: border-box; padding-left: 10px;">
<span class="k" style="box-sizing: border-box; font-weight: bold;">class</span> <span class="nc" style="box-sizing: border-box; color: #445588; font-weight: bold;">sfImageFileValidator</span> <span class="k" style="box-sizing: border-box; font-weight: bold;">extends</span> <span class="nx" style="box-sizing: border-box;">sfValidatorFile</span></div>
<div class="line" id="LC9" style="box-sizing: border-box; padding-left: 10px;">
<span class="p" style="box-sizing: border-box;">{</span></div>
<div class="line" id="LC10" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;">/**</span></div>
<div class="line" id="LC11" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * Configures the current validator.</span></div>
<div class="line" id="LC12" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> *</span></div>
<div class="line" id="LC13" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * Available options:</span></div>
<div class="line" id="LC14" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> *</span></div>
<div class="line" id="LC15" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * * max_height: The maximum file height in pixels</span></div>
<div class="line" id="LC16" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * * min_height: The minimum file height in pixels</span></div>
<div class="line" id="LC17" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * * max_width: The maximum file width in pixels</span></div>
<div class="line" id="LC18" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * * min_width: The minimum file width in pixels</span></div>
<div class="line" id="LC19" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> *</span></div>
<div class="line" id="LC20" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * Available error codes:</span></div>
<div class="line" id="LC21" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> *</span></div>
<div class="line" id="LC22" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * * max_height</span></div>
<div class="line" id="LC23" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * * min_height</span></div>
<div class="line" id="LC24" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * * max_width</span></div>
<div class="line" id="LC25" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * * min_width</span></div>
<div class="line" id="LC26" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> *</span></div>
<div class="line" id="LC27" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * @param array $options An array of options</span></div>
<div class="line" id="LC28" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * @param array $messages An array of error messages</span></div>
<div class="line" id="LC29" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> *</span></div>
<div class="line" id="LC30" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * @see sfValidatorBase</span></div>
<div class="line" id="LC31" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> */</span></div>
<div class="line" id="LC32" style="box-sizing: border-box; padding-left: 10px;">
<span class="k" style="box-sizing: border-box; font-weight: bold;">public</span> <span class="k" style="box-sizing: border-box; font-weight: bold;">function</span> <span class="nf" style="box-sizing: border-box; color: #990000; font-weight: bold;">configure</span><span class="p" style="box-sizing: border-box;">(</span><span class="nv" style="box-sizing: border-box; color: teal;">$options</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">=</span> <span class="k" style="box-sizing: border-box; font-weight: bold;">array</span><span class="p" style="box-sizing: border-box;">(),</span> <span class="nv" style="box-sizing: border-box; color: teal;">$messages</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">=</span> <span class="k" style="box-sizing: border-box; font-weight: bold;">array</span><span class="p" style="box-sizing: border-box;">())</span></div>
<div class="line" id="LC33" style="box-sizing: border-box; padding-left: 10px;">
<span class="p" style="box-sizing: border-box;">{</span></div>
<div class="line" id="LC34" style="box-sizing: border-box; padding-left: 10px;">
<span class="k" style="box-sizing: border-box; font-weight: bold;">parent</span><span class="o" style="box-sizing: border-box; font-weight: bold;">::</span><span class="na" style="box-sizing: border-box; color: teal;">configure</span><span class="p" style="box-sizing: border-box;">(</span><span class="nv" style="box-sizing: border-box; color: teal;">$options</span><span class="p" style="box-sizing: border-box;">,</span> <span class="nv" style="box-sizing: border-box; color: teal;">$messages</span><span class="p" style="box-sizing: border-box;">);</span></div>
<div class="line" id="LC35" style="box-sizing: border-box; padding-left: 10px;">
</div>
<div class="line" id="LC36" style="box-sizing: border-box; padding-left: 10px;">
<span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">addOption</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'max_height'</span><span class="p" style="box-sizing: border-box;">);</span></div>
<div class="line" id="LC37" style="box-sizing: border-box; padding-left: 10px;">
<span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">addOption</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'min_height'</span><span class="p" style="box-sizing: border-box;">);</span></div>
<div class="line" id="LC38" style="box-sizing: border-box; padding-left: 10px;">
<span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">addOption</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'max_width'</span><span class="p" style="box-sizing: border-box;">);</span></div>
<div class="line" id="LC39" style="box-sizing: border-box; padding-left: 10px;">
<span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">addOption</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'min_width'</span><span class="p" style="box-sizing: border-box;">);</span></div>
<div class="line" id="LC40" style="box-sizing: border-box; padding-left: 10px;">
</div>
<div class="line" id="LC41" style="box-sizing: border-box; padding-left: 10px;">
<span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">addMessage</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'max_height'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #dd1144;">'File is too high (maximum is %max_height% pixels, %height% given).'</span><span class="p" style="box-sizing: border-box;">);</span></div>
<div class="line" id="LC42" style="box-sizing: border-box; padding-left: 10px;">
<span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">addMessage</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'min_height'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #dd1144;">'File is too short (minimum is %min_height% pixels, %height% given).'</span><span class="p" style="box-sizing: border-box;">);</span></div>
<div class="line" id="LC43" style="box-sizing: border-box; padding-left: 10px;">
<span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">addMessage</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'max_width'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #dd1144;">'File is too wide (maximum is %max_width% pixels, %width% given).'</span><span class="p" style="box-sizing: border-box;">);</span></div>
<div class="line" id="LC44" style="box-sizing: border-box; padding-left: 10px;">
<span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">addMessage</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'min_width'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #dd1144;">'File is too thin (minimum is %min_width% pixels, %width% given).'</span><span class="p" style="box-sizing: border-box;">);</span></div>
<div class="line" id="LC45" style="box-sizing: border-box; padding-left: 10px;">
<span class="p" style="box-sizing: border-box;">}</span></div>
<div class="line" id="LC46" style="box-sizing: border-box; padding-left: 10px;">
</div>
<div class="line" id="LC47" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;">/**</span></div>
<div class="line" id="LC48" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * This validator always returns a sfValidatedFile object.</span></div>
<div class="line" id="LC49" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> *</span></div>
<div class="line" id="LC50" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * The input value must be an array with the following keys:</span></div>
<div class="line" id="LC51" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> *</span></div>
<div class="line" id="LC52" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * * tmp_name: The absolute temporary path to the file</span></div>
<div class="line" id="LC53" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * * name: The original file name (optional)</span></div>
<div class="line" id="LC54" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * * type: The file content type (optional)</span></div>
<div class="line" id="LC55" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * * error: The error code (optional)</span></div>
<div class="line" id="LC56" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * * size: The file size in bytes (optional)</span></div>
<div class="line" id="LC57" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> *</span></div>
<div class="line" id="LC58" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> * @see sfValidatorBase</span></div>
<div class="line" id="LC59" style="box-sizing: border-box; padding-left: 10px;">
<span class="sd" style="box-sizing: border-box; color: #dd1144;"> */</span></div>
<div class="line" id="LC60" style="box-sizing: border-box; padding-left: 10px;">
<span class="k" style="box-sizing: border-box; font-weight: bold;">protected</span> <span class="k" style="box-sizing: border-box; font-weight: bold;">function</span> <span class="nf" style="box-sizing: border-box; color: #990000; font-weight: bold;">doClean</span><span class="p" style="box-sizing: border-box;">(</span><span class="nv" style="box-sizing: border-box; color: teal;">$value</span><span class="p" style="box-sizing: border-box;">)</span></div>
<div class="line" id="LC61" style="box-sizing: border-box; padding-left: 10px;">
<span class="p" style="box-sizing: border-box;">{</span></div>
<div class="line" id="LC62" style="box-sizing: border-box; padding-left: 10px;">
<span class="k" style="box-sizing: border-box; font-weight: bold;">if</span> <span class="p" style="box-sizing: border-box;">(</span><span class="o" style="box-sizing: border-box; font-weight: bold;">!</span><span class="nb" style="box-sizing: border-box; color: #0086b3;">is_array</span><span class="p" style="box-sizing: border-box;">(</span><span class="nv" style="box-sizing: border-box; color: teal;">$value</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">||</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">!</span><span class="nb" style="box-sizing: border-box; color: #0086b3;">isset</span><span class="p" style="box-sizing: border-box;">(</span><span class="nv" style="box-sizing: border-box; color: teal;">$value</span><span class="p" style="box-sizing: border-box;">[</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'tmp_name'</span><span class="p" style="box-sizing: border-box;">]))</span> <span class="p" style="box-sizing: border-box;">{</span></div>
<div class="line" id="LC63" style="box-sizing: border-box; padding-left: 10px;">
<span class="k" style="box-sizing: border-box; font-weight: bold;">throw</span> <span class="k" style="box-sizing: border-box; font-weight: bold;">new</span> <span class="nx" style="box-sizing: border-box;">sfValidatorError</span><span class="p" style="box-sizing: border-box;">(</span><span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #dd1144;">'invalid'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="k" style="box-sizing: border-box; font-weight: bold;">array</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'value'</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">=></span> <span class="p" style="box-sizing: border-box;">(</span><span class="nx" style="box-sizing: border-box;">string</span><span class="p" style="box-sizing: border-box;">)</span> <span class="nv" style="box-sizing: border-box; color: teal;">$value</span><span class="p" style="box-sizing: border-box;">));</span></div>
<div class="line" id="LC64" style="box-sizing: border-box; padding-left: 10px;">
<span class="p" style="box-sizing: border-box;">}</span></div>
<div class="line" id="LC65" style="box-sizing: border-box; padding-left: 10px;">
</div>
<div class="line" id="LC66" style="box-sizing: border-box; padding-left: 10px;">
<span class="c1" style="box-sizing: border-box; color: #999988; font-style: italic;">// get image dimensions</span></div>
<div class="line" id="LC67" style="box-sizing: border-box; padding-left: 10px;">
<span class="k" style="box-sizing: border-box; font-weight: bold;">list</span><span class="p" style="box-sizing: border-box;">(</span><span class="nv" style="box-sizing: border-box; color: teal;">$width</span><span class="p" style="box-sizing: border-box;">,</span> <span class="nv" style="box-sizing: border-box; color: teal;">$height</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">=</span> <span class="nb" style="box-sizing: border-box; color: #0086b3;">getimagesize</span><span class="p" style="box-sizing: border-box;">(</span><span class="nv" style="box-sizing: border-box; color: teal;">$value</span><span class="p" style="box-sizing: border-box;">[</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'tmp_name'</span><span class="p" style="box-sizing: border-box;">]);</span></div>
<div class="line" id="LC68" style="box-sizing: border-box; padding-left: 10px;">
</div>
<div class="line" id="LC69" style="box-sizing: border-box; padding-left: 10px;">
<span class="c1" style="box-sizing: border-box; color: #999988; font-style: italic;">// check file height</span></div>
<div class="line" id="LC70" style="box-sizing: border-box; padding-left: 10px;">
<span class="k" style="box-sizing: border-box; font-weight: bold;">if</span> <span class="p" style="box-sizing: border-box;">(</span><span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">hasOption</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'max_height'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">&&</span> <span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">getOption</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'max_height'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; font-weight: bold;"><</span> <span class="p" style="box-sizing: border-box;">(</span><span class="nx" style="box-sizing: border-box;">int</span><span class="p" style="box-sizing: border-box;">)</span> <span class="nv" style="box-sizing: border-box; color: teal;">$height</span><span class="p" style="box-sizing: border-box;">)</span> <span class="p" style="box-sizing: border-box;">{</span></div>
<div class="line" id="LC71" style="box-sizing: border-box; padding-left: 10px;">
<span class="k" style="box-sizing: border-box; font-weight: bold;">throw</span> <span class="k" style="box-sizing: border-box; font-weight: bold;">new</span> <span class="nx" style="box-sizing: border-box;">sfValidatorError</span><span class="p" style="box-sizing: border-box;">(</span><span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #dd1144;">'max_height'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="k" style="box-sizing: border-box; font-weight: bold;">array</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'max_height'</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">=></span> <span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">getOption</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'max_height'</span><span class="p" style="box-sizing: border-box;">),</span> <span class="s1" style="box-sizing: border-box; color: #dd1144;">'height'</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">=></span> <span class="p" style="box-sizing: border-box;">(</span><span class="nx" style="box-sizing: border-box;">int</span><span class="p" style="box-sizing: border-box;">)</span> <span class="nv" style="box-sizing: border-box; color: teal;">$height</span><span class="p" style="box-sizing: border-box;">));</span></div>
<div class="line" id="LC72" style="box-sizing: border-box; padding-left: 10px;">
<span class="p" style="box-sizing: border-box;">}</span></div>
<div class="line" id="LC73" style="box-sizing: border-box; padding-left: 10px;">
</div>
<div class="line" id="LC74" style="box-sizing: border-box; padding-left: 10px;">
<span class="k" style="box-sizing: border-box; font-weight: bold;">if</span> <span class="p" style="box-sizing: border-box;">(</span><span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">hasOption</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'min_height'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">&&</span> <span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">getOption</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'min_height'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">></span> <span class="p" style="box-sizing: border-box;">(</span><span class="nx" style="box-sizing: border-box;">int</span><span class="p" style="box-sizing: border-box;">)</span> <span class="nv" style="box-sizing: border-box; color: teal;">$height</span><span class="p" style="box-sizing: border-box;">)</span> <span class="p" style="box-sizing: border-box;">{</span></div>
<div class="line" id="LC75" style="box-sizing: border-box; padding-left: 10px;">
<span class="k" style="box-sizing: border-box; font-weight: bold;">throw</span> <span class="k" style="box-sizing: border-box; font-weight: bold;">new</span> <span class="nx" style="box-sizing: border-box;">sfValidatorError</span><span class="p" style="box-sizing: border-box;">(</span><span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #dd1144;">'min_height'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="k" style="box-sizing: border-box; font-weight: bold;">array</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'min_height'</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">=></span> <span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">getOption</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'min_height'</span><span class="p" style="box-sizing: border-box;">),</span> <span class="s1" style="box-sizing: border-box; color: #dd1144;">'height'</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">=></span> <span class="p" style="box-sizing: border-box;">(</span><span class="nx" style="box-sizing: border-box;">int</span><span class="p" style="box-sizing: border-box;">)</span> <span class="nv" style="box-sizing: border-box; color: teal;">$height</span><span class="p" style="box-sizing: border-box;">));</span></div>
<div class="line" id="LC76" style="box-sizing: border-box; padding-left: 10px;">
<span class="p" style="box-sizing: border-box;">}</span></div>
<div class="line" id="LC77" style="box-sizing: border-box; padding-left: 10px;">
</div>
<div class="line" id="LC78" style="box-sizing: border-box; padding-left: 10px;">
<span class="c1" style="box-sizing: border-box; color: #999988; font-style: italic;">// check file width</span></div>
<div class="line" id="LC79" style="box-sizing: border-box; padding-left: 10px;">
<span class="k" style="box-sizing: border-box; font-weight: bold;">if</span> <span class="p" style="box-sizing: border-box;">(</span><span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">hasOption</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'max_width'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">&&</span> <span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">getOption</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'max_width'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; font-weight: bold;"><</span> <span class="p" style="box-sizing: border-box;">(</span><span class="nx" style="box-sizing: border-box;">int</span><span class="p" style="box-sizing: border-box;">)</span> <span class="nv" style="box-sizing: border-box; color: teal;">$width</span><span class="p" style="box-sizing: border-box;">)</span> <span class="p" style="box-sizing: border-box;">{</span></div>
<div class="line" id="LC80" style="box-sizing: border-box; padding-left: 10px;">
<span class="k" style="box-sizing: border-box; font-weight: bold;">throw</span> <span class="k" style="box-sizing: border-box; font-weight: bold;">new</span> <span class="nx" style="box-sizing: border-box;">sfValidatorError</span><span class="p" style="box-sizing: border-box;">(</span><span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #dd1144;">'max_width'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="k" style="box-sizing: border-box; font-weight: bold;">array</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'max_width'</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">=></span> <span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">getOption</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'max_width'</span><span class="p" style="box-sizing: border-box;">),</span> <span class="s1" style="box-sizing: border-box; color: #dd1144;">'width'</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">=></span> <span class="p" style="box-sizing: border-box;">(</span><span class="nx" style="box-sizing: border-box;">int</span><span class="p" style="box-sizing: border-box;">)</span> <span class="nv" style="box-sizing: border-box; color: teal;">$width</span><span class="p" style="box-sizing: border-box;">));</span></div>
<div class="line" id="LC81" style="box-sizing: border-box; padding-left: 10px;">
<span class="p" style="box-sizing: border-box;">}</span></div>
<div class="line" id="LC82" style="box-sizing: border-box; padding-left: 10px;">
</div>
<div class="line" id="LC83" style="box-sizing: border-box; padding-left: 10px;">
<span class="k" style="box-sizing: border-box; font-weight: bold;">if</span> <span class="p" style="box-sizing: border-box;">(</span><span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">hasOption</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'min_width'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">&&</span> <span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">getOption</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'min_width'</span><span class="p" style="box-sizing: border-box;">)</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">></span> <span class="p" style="box-sizing: border-box;">(</span><span class="nx" style="box-sizing: border-box;">int</span><span class="p" style="box-sizing: border-box;">)</span> <span class="nv" style="box-sizing: border-box; color: teal;">$width</span><span class="p" style="box-sizing: border-box;">)</span> <span class="p" style="box-sizing: border-box;">{</span></div>
<div class="line" id="LC84" style="box-sizing: border-box; padding-left: 10px;">
<span class="k" style="box-sizing: border-box; font-weight: bold;">throw</span> <span class="k" style="box-sizing: border-box; font-weight: bold;">new</span> <span class="nx" style="box-sizing: border-box;">sfValidatorError</span><span class="p" style="box-sizing: border-box;">(</span><span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="p" style="box-sizing: border-box;">,</span> <span class="s1" style="box-sizing: border-box; color: #dd1144;">'min_width'</span><span class="p" style="box-sizing: border-box;">,</span> <span class="k" style="box-sizing: border-box; font-weight: bold;">array</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'min_width'</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">=></span> <span class="nv" style="box-sizing: border-box; color: teal;">$this</span><span class="o" style="box-sizing: border-box; font-weight: bold;">-></span><span class="na" style="box-sizing: border-box; color: teal;">getOption</span><span class="p" style="box-sizing: border-box;">(</span><span class="s1" style="box-sizing: border-box; color: #dd1144;">'min_width'</span><span class="p" style="box-sizing: border-box;">),</span> <span class="s1" style="box-sizing: border-box; color: #dd1144;">'width'</span> <span class="o" style="box-sizing: border-box; font-weight: bold;">=></span> <span class="p" style="box-sizing: border-box;">(</span><span class="nx" style="box-sizing: border-box;">int</span><span class="p" style="box-sizing: border-box;">)</span> <span class="nv" style="box-sizing: border-box; color: teal;">$width</span><span class="p" style="box-sizing: border-box;">));</span></div>
<div class="line" id="LC85" style="box-sizing: border-box; padding-left: 10px;">
<span class="p" style="box-sizing: border-box;">}</span></div>
<div class="line" id="LC86" style="box-sizing: border-box; padding-left: 10px;">
</div>
<div class="line" id="LC87" style="box-sizing: border-box; padding-left: 10px;">
<span class="c1" style="box-sizing: border-box; color: #999988; font-style: italic;">// check other options</span></div>
<div class="line" id="LC88" style="box-sizing: border-box; padding-left: 10px;">
<span class="k" style="box-sizing: border-box; font-weight: bold;">return</span> <span class="k" style="box-sizing: border-box; font-weight: bold;">parent</span><span class="o" style="box-sizing: border-box; font-weight: bold;">::</span><span class="na" style="box-sizing: border-box; color: teal;">doClean</span><span class="p" style="box-sizing: border-box;">(</span><span class="nv" style="box-sizing: border-box; color: teal;">$value</span><span class="p" style="box-sizing: border-box;">);</span></div>
<div class="line" id="LC89" style="box-sizing: border-box; padding-left: 10px;">
<span class="p" style="box-sizing: border-box;">}</span></div>
<div class="line" id="LC90" style="box-sizing: border-box; padding-left: 10px;">
<span class="p" style="box-sizing: border-box;">}</span></div>
<div class="line" id="LC91" style="box-sizing: border-box; padding-left: 10px;">
<span class="cp" style="box-sizing: border-box; color: #999999; font-weight: bold;">?></span></div>
</pre>
Gansukh Bhttp://www.blogger.com/profile/06641799687255335083noreply@blogger.com0tag:blogger.com,1999:blog-8528374942500438602.post-83737957676010334642014-01-20T00:02:00.001-08:002014-01-20T00:04:50.464-08:00Symfony 1.4: sfWidgetFormDoctrineChoice виджетийн method-ийг параметертэй болгож сайжруулсан нь.<pre><span style="background: #ffffe8; color: #5f5035;"><?php</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: dimgrey;">/**</span>
<span style="background: #ffffe8; color: dimgrey;">* sfWidgetFormDoctrineChoiceWithParams represents a sfWidgetFormDoctrineChoice with parameter capability on table_method.</span>
<span style="background: #ffffe8; color: dimgrey;">*/</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: maroon; font-weight: bold;">class</span><span style="background: #ffffe8; color: black;"> sfWidgetFormDoctrineChoiceWithParams </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">extends</span><span style="background: #ffffe8; color: black;"> sfWidgetFormDoctrineChoice </span><span style="background: #ffffe8; color: purple;">{</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: dimgrey;">/**</span>
<span style="background: #ffffe8; color: dimgrey;"> * @see sfWidget</span>
<span style="background: #ffffe8; color: dimgrey;"> */</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">public</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">function</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #400000;">__construct</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #797997;">$options</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">array</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$attributes</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">array</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">{</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$options</span><span style="background: #ffffe8; color: #808030;">[</span><span style="background: #ffffe8; color: #0000e6;">'choices'</span><span style="background: #ffffe8; color: #808030;">]</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">array</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">parent</span><span style="background: #ffffe8; color: purple;">:</span><span style="background: #ffffe8; color: purple;">:</span><span style="background: #ffffe8; color: #400000;">__construct</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #797997;">$options</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$attributes</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">}</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: dimgrey;">/**</span>
<span style="background: #ffffe8; color: dimgrey;"> * Constructor.</span>
<span style="background: #ffffe8; color: dimgrey;"> *</span>
<span style="background: #ffffe8; color: dimgrey;"> * Available options:</span>
<span style="background: #ffffe8; color: dimgrey;"> *</span>
<span style="background: #ffffe8; color: dimgrey;"> * * model: The model class (required)</span>
<span style="background: #ffffe8; color: dimgrey;"> * * add_empty: Whether to add a first empty value or not (false by default)</span>
<span style="background: #ffffe8; color: dimgrey;"> * If the option is not a Boolean, the value will be used as the text value</span>
<span style="background: #ffffe8; color: dimgrey;"> * * method: The method to use to display object values (__toString by default)</span>
<span style="background: #ffffe8; color: dimgrey;"> * * key_method: The method to use to display the object keys (getPrimaryKey by default)</span>
<span style="background: #ffffe8; color: dimgrey;"> * * order_by: An array composed of two fields:</span>
<span style="background: #ffffe8; color: dimgrey;"> * * The column to order by the results (must be in the PhpName format)</span>
<span style="background: #ffffe8; color: dimgrey;"> * * asc or desc</span>
<span style="background: #ffffe8; color: dimgrey;"> * * query: A query to use when retrieving objects</span>
<span style="background: #ffffe8; color: dimgrey;"> * * multiple: true if the select tag must allow multiple selections</span>
<span style="background: #ffffe8; color: dimgrey;"> * * table_method: A method to return either a query, collection or single object</span>
<span style="background: #ffffe8; color: dimgrey;"> *</span>
<span style="background: #ffffe8; color: dimgrey;"> * @see sfWidgetFormSelect</span>
<span style="background: #ffffe8; color: dimgrey;"> */</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">protected</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">function</span><span style="background: #ffffe8; color: black;"> configure</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #797997;">$options</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">array</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$attributes</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">array</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">{</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">addRequiredOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'model'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">addOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'add_empty'</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">false</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">addOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'method'</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #0000e6;">'__toString'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">addOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'key_method'</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #0000e6;">'getPrimaryKey'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">addOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'order_by'</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">null</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">addOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'query'</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">null</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">addOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'multiple'</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">false</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">addOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'table_method'</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">null</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">parent</span><span style="background: #ffffe8; color: purple;">:</span><span style="background: #ffffe8; color: purple;">:</span><span style="background: #ffffe8; color: black;">configure</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #797997;">$options</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$attributes</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">}</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: dimgrey;">/**</span>
<span style="background: #ffffe8; color: dimgrey;"> * Returns the choices associated to the model.</span>
<span style="background: #ffffe8; color: dimgrey;"> *</span>
<span style="background: #ffffe8; color: dimgrey;"> * @return array An array of choices</span>
<span style="background: #ffffe8; color: dimgrey;"> */</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">public</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">function</span><span style="background: #ffffe8; color: black;"> getChoices</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">{</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$choices</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">array</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">if</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">false</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">!</span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">getOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'add_empty'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">{</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$choices</span><span style="background: #ffffe8; color: #808030;">[</span><span style="background: #ffffe8; color: #0000e6;">''</span><span style="background: #ffffe8; color: #808030;">]</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">true</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">getOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'add_empty'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">?</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #0000e6;">''</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">:</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">translate</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">getOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'add_empty'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">}</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">if</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">null</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">getOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'table_method'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">{</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$query</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">null</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">getOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'query'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">?</span><span style="background: #ffffe8; color: black;"> Doctrine_Core</span><span style="background: #ffffe8; color: purple;">:</span><span style="background: #ffffe8; color: purple;">:</span><span style="background: #ffffe8; color: black;">getTable</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">getOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'model'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">createQuery</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">:</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">getOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'query'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">if</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #797997;">$order</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">getOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'order_by'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">{</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$query</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">addOrderBy</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #797997;">$order</span><span style="background: #ffffe8; color: #808030;">[</span><span style="background: #ffffe8; color: #008c00;">0</span><span style="background: #ffffe8; color: #808030;">]</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">.</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #0000e6;">' '</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">.</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$order</span><span style="background: #ffffe8; color: #808030;">[</span><span style="background: #ffffe8; color: #008c00;">1</span><span style="background: #ffffe8; color: #808030;">]</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">}</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$objects</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$query</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">execute</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">}</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">else</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">{</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$results</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">callTableMethod</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">if</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #797997;">$results</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">instanceof</span><span style="background: #ffffe8; color: black;"> Doctrine_Query</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">{</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$objects</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$results</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">execute</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">}</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">else</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">if</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #797997;">$results</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">instanceof</span><span style="background: #ffffe8; color: black;"> Doctrine_Collection</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">{</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$objects</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$results</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">}</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">else</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">if</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #797997;">$results</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">instanceof</span><span style="background: #ffffe8; color: black;"> Doctrine_Record</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">{</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$objects</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">new</span><span style="background: #ffffe8; color: black;"> Doctrine_Collection</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">getOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'model'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$objects</span><span style="background: #ffffe8; color: #808030;">[</span><span style="background: #ffffe8; color: #808030;">]</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$results</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">}</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">else</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">{</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$objects</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">array</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">}</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">}</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$method</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">getOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'method'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$keyMethod</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">getOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'key_method'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">foreach</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #797997;">$objects</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">as</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$object</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">{</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$choices</span><span style="background: #ffffe8; color: #808030;">[</span><span style="background: #ffffe8; color: #797997;">$object</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: #797997;">$keyMethod</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">]</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$object</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: #797997;">$method</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">}</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">return</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$choices</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">}</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: dimgrey;">/**</span>
<span style="background: #ffffe8; color: dimgrey;"> * Gets result for 'choices' from the Table class of model</span>
<span style="background: #ffffe8; color: dimgrey;"> *</span>
<span style="background: #ffffe8; color: dimgrey;"> * @return mixed Result of table method [Doctrine_Query, Doctrine_Collection, Doctrine_Record]</span>
<span style="background: #ffffe8; color: dimgrey;"> */</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">private</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">function</span><span style="background: #ffffe8; color: black;"> callTableMethod</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">{</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$tableMethod</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">getOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'table_method'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">if</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #400000;">is_array</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #797997;">$tableMethod</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">{</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$results</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #400000;">call_user_func_array</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">array</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: black;">Doctrine</span><span style="background: #ffffe8; color: purple;">:</span><span style="background: #ffffe8; color: purple;">:</span><span style="background: #ffffe8; color: black;">getTable</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">getOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'model'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$tableMethod</span><span style="background: #ffffe8; color: #808030;">[</span><span style="background: #ffffe8; color: #0000e6;">'method'</span><span style="background: #ffffe8; color: #808030;">]</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$tableMethod</span><span style="background: #ffffe8; color: #808030;">[</span><span style="background: #ffffe8; color: #0000e6;">'parameters'</span><span style="background: #ffffe8; color: #808030;">]</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">}</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">else</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">{</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$results</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: black;"> Doctrine</span><span style="background: #ffffe8; color: purple;">:</span><span style="background: #ffffe8; color: purple;">:</span><span style="background: #ffffe8; color: black;">getTable</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">getOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'model'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: #797997;">$tableMethod</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">}</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">return</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$results</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: purple;">}</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: purple;">}</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: #5f5035;">?></span>
</pre>
<br />
Ашиглахдаа:<br />
<br />
<pre style="background: #ffffff; color: black;"><span style="background: #ffffe8; color: #5f5035;"><?php</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">setWidgets</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">array</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #0000e6;">'portraits'</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">new</span><span style="background: #ffffe8; color: black;"> customWidgetFormDoctrineChoiceWithParams</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">array</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #0000e6;">'model'</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #0000e6;">'EclecticPortrait'</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #0000e6;">'multiple'</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">true</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #0000e6;">'expanded'</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">true</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #0000e6;">'table_method'</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">array</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'method'</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #0000e6;">'getUserPortraits'</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #0000e6;">'parameters'</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">=</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: maroon; font-weight: bold;">array</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">getOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'contact'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #797997;">$</span><span style="background: #ffffe8; color: maroon; font-weight: bold;">this</span><span style="background: #ffffe8; color: #808030;">-</span><span style="background: #ffffe8; color: #808030;">></span><span style="background: #ffffe8; color: black;">getOption</span><span style="background: #ffffe8; color: #808030;">(</span><span style="background: #ffffe8; color: #0000e6;">'id'</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">,</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: black;"> </span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: #808030;">)</span><span style="background: #ffffe8; color: purple;">;</span><span style="background: #ffffe8; color: black;"></span>
<span style="background: #ffffe8; color: #5f5035;">?></span>
</pre>
Gansukh Bhttp://www.blogger.com/profile/06641799687255335083noreply@blogger.com0tag:blogger.com,1999:blog-8528374942500438602.post-35106406759288812122013-12-30T00:49:00.003-08:002013-12-30T00:50:27.855-08:00MySQL: Latin1 convert to UTF8Олон жилийн өмнө үүсгэж байсан датабэйсүүд ихэвчлэн Latin1 үсгэн кодчилолтой байх нь элбэг. Үнийг орчин цагт хөрвүүлж, нийтлэг хэрэглэгддэг unicode руу хөрвүүлэх асуудал, бэрхшээлүүд бишгүй гардаг.<br />
<br />
http://www.badral.net/?p=127 Бадрал ахын блогт линукс шелл командаар баазыг хөрвүүлэх команд байсан ч виндовс дээр хөвүүлэхэд асуудал гарав.<br />
<br />
# mysqldump -u dbuser -pdbpass --opt --skip-set-charset --default-character-set=latin1 --skip-extended-insert databasename > database.sql<br />
# sed -i 's/DEFAULT CHARSET=latin1/DEFAULT CHARSET=utf8/g' database.sql // эсвэл perl -i -pe 's/DEFAULT CHARSET=latin1/DEFAULT CHARSET=utf8/' database.sql гэсэн ч болно.<br />
# sed -i '1i SET NAMES utf8;' database.sql // эсвэл ямар нэг засварлагчаар vi database.sql гэдэг ч юм уу нээгээд толгойд нь "SET NAMES utf8;" гэсэн мөр нэмнэ.<br />
# cat database.sql | mysql -u dbuser -pdbpass<br />
<br />
MySQL датабэйсийхээ charset-г utf8 болгож өөрчилснийхөө дараа дараах query-г ажиллуулж Unicode руу хөрвүүлж авав.<br />
<br />
<pre style="background: #ffffff; color: black;"><span style="color: maroon; font-weight: bold;">UPDATE</span> content <span style="color: maroon; font-weight: bold;">SET</span> title <span style="color: #808030;">=</span> CONVERT<span style="color: #808030;">(</span>CAST<span style="color: #808030;">(</span>CONVERT<span style="color: #808030;">(</span>title <span style="color: maroon; font-weight: bold;">USING</span> latin1<span style="color: #808030;">)</span> <span style="color: maroon; font-weight: bold;">AS</span> <span style="color: #074726;">BINARY</span><span style="color: #808030;">)</span> <span style="color: maroon; font-weight: bold;">USING</span> utf8<span style="color: #808030;">)</span><span style="color: purple;">;</span>
</pre>
Gansukh Bhttp://www.blogger.com/profile/06641799687255335083noreply@blogger.com1tag:blogger.com,1999:blog-8528374942500438602.post-81159215187950872602013-12-17T00:34:00.002-08:002013-12-17T00:39:20.042-08:00Вэб дизайн хийлгэх үйлчлүүлэгчдээсээ асуух 72 асуултВэб дизайн хийлгэхээр хандсан үйлчлүүлэгчдээсээ зайлшгүй асуух ёстой 72 асуултыг энэ сайт дээр оруулжээ. <br />
<a href="http://bonfx.com/72-questions-to-ask-new-web-design-clients-with-pdf-chart/" target="_blank">http://bonfx.com/72-questions-to-ask-new-web-design-clients-with-pdf-chart/</a><br />
<br />
Ярилцлага авч байгаа юм шиг дараалуулаад асуугаад байхгүй ч гэсэн зайлшгүй энэ талаар тандаж, хариултыг нь олж авч байж тухайн захиалагч юу хүсч байна? Хэр их ажиллагаатай болох вэ? Ажлыг гүйцэтгэх явцад, ажиллагаанд оруулах, оруулснаас хойш гүйцэтгэгч, захиалагч хоёр яаж хамтарч ажиллах вэ? гэсэн асуултын хариултыг олж, "тоглолтын дүрмийг гаргах" болно.<br />
<br />
Вэб хөгжүүлэгчид эдгээр асуултуудыг үйлчлүүлэгчдээсээ асуудаг ч зарим асуултыг асууж тодруулахаа мартсанаас болж үйл ойлголцол гарч, цаг хугацаа, нөөцийг буруу төлөвлөх асуудал гарч болзошгүй тул тэмдэглэж аваад үйлчлүүлэгчдээсээ асуухыг зөвлөжээ.<br />
<a name='more'></a><br />
1. Байгууллагын имэйлээ яаж тохируулж хэрэглэдэг вэ?<br />
2. Нууц үгээр нэвтэрч орох нууцлагдсан хэсэг хэрэгтэй юу?<br />
3. Танай компанийн брэнд болгож хэрэглэдэг өнгөний кодууд?<br />
4. Бидний хийж гүйцэтгэсэн ажлуудыг харсан уу?<br />
5. Хэр хугацаанд хийх вэ?<br />
6. Танилцуулга сайт хэлбэрээр үү? Блог шинж чанартай байх уу?<br />
7. Хэнд хандаж сайтаа хийх вэ?<br />
8. Шаардлагууд ?<br />
9. Танай өрсөлдөгч байгууллагуудын ямар ямар вэб сайтууд байна?<br />
10. Бидэнтэй уулзахаас өмнө хэдэн компанид хандаж уулзсан бэ?<br />
11. Та бүхэнд нэрийн хуудас, бланкны толгой хэрэгтэй юу?<br />
12. Сайтын илэрхийлэх үндсэн санаа?<br />
13. Домэйнээ бүртгүүлж авсан уу?<br />
14. Хайлтын системийн оновчлолын талаар хэр ойлголттой вэ?<br />
15. Таны дуртай вэб сайтууд?<br />
16. Одоо танд вэб сайт байгаа юу?<br />
17. Танай байгуулагад фотошоп гэх мэт зураг засварлах програмтай ажилладаг хүн байгаа юу?<br />
18. Хайлтын системтэй холбоотой тусламж хэрэгтэй юу?<br />
19. Ямар нэг бүтээгдэхүүнийг танилцуулах болон бусад онцгой үйл явдалтай холбогдуулж вэбээ нээх үү?<br />
20. Агуулга удирдах систем хэрэгтэй юу?<br />
21. Вэб сайттай бол хэр удаан эзэмшиж байна?<br />
22. Хэрэгцээтэй фото зургууд танд байга юу?<br />
23. Олон хүн танай сайтыг удирдах уу?<br />
24. Танай вэбэд хичнээн хуудас хэрэгтэй вэ?<br />
25. Танай байгууллагын танилцуулга, тараах материал байна уу?<br />
26. Танай одоогийн вэб сайтыг хүмүүс яаж олж ордог вэ?<br />
27. Мэдээллийн чанартай тогтмол имэйл (news letter) илгээх үү?<br />
28. Хамтарч ажилладаг мэргэжлийн дизайнер байгаа юу?<br />
29. Эзэмшдэг, ашигладаг вэб сервер байгаа юу?<br />
30. Танд таалагддаг, сонирхлыг тань татдаг ямар ямар вэб сайтууд байна?<br />
31. Домэйн удирдах эрх тань танд байна уу?<br />
32. Өөр сурталчилгааны материалууд танд байна уу?<br />
33. Хэрэглэхэд хялбар байдлыг хэр эрхэмлэдэг вэ? (User Experience тал дээрхи хандлагыг асууж буй бололтой.)<br />
34. Хайлтын систем дэх үзүүлэлт танд хэр чухал вэ?<br />
35. Ямар үйлдлүүдийг сайтдаа багтаах вэ? <br />
36. Бүтээлчээр сайтынхаа агуулгад цаашид анхаарах уу?<br />
37. Танай сайтын агуулгууд бэлэн байгаа юу?<br />
38. Танайд мэдээллийн технологийн ажилтан бий юу? Байгаа бол энэ ажилд оролцох уу?<br />
39. Лого эмблем байгаа юу? Ямар форматаар байна?<br />
40. Вэб дизайн, график дизайны тал дээр хэр туршлагатай вэ?<br />
41. Ямар компани дээр вэбээ байршуулдаг вэ? (Вэб сайттай бол)<br />
42. Вэб дизайн хөгжүүлэлт хийлгэж оролцож байсан уу?<br />
43. Танай өрсөлдөгч ямар байгууллагууд вэ?<br />
44. Хэр ойр ойрхон вэб сайтаа шинэчлэх вэ?<br />
45. Вэб сайтынхаа хийлгэхийг хүсч буй хэв маягийг тодорхолойлну уу.<br />
46. Ажиллах боломжтой таньдаг хөгжүүлэгчтэй юу?<br />
47. Таны хийлгэх боломжит буй үнэ хөлс, төсөв?<br />
48. Бидэнтэй хамтарч ажиллахыг хүсч байна уу?<br />
49. Зургийн цомог хэрэгтэй юу?<br />
50. Танай багт HTML/CSS мэддэг хүн байгаа юу?<br />
51. Танай лого вектор форматтайгаар байгаа юу?<br />
52. Танай ашигладаг системтэй нэгтгэх, холбоо уялдаатай ажиллуулах шаардлагатай юу?<br />
53. Сайтаа цаашид яаж арчлах вэ?<br />
54. Таны хэрэглэдэг програм хангамжууд?<br />
55. Бидний тухай хаанаас олж мэдсэн бэ?<br />
56. Бидний блог, нийтлэлүүдээс уншиж үзсэн үү?<br />
57. Та юу юуг вэб сайтуудын түгээмэл гаргадаг алдаа гэж боддог вэ?<br />
58. График дизайнтай холбоотой өөр тусламжууд танд хэрэгтэй юу?<br />
59. Фэйсбүүк, Твиттер гэх мэт нийтийн сүлжээний сайтуудын боломжууд хэрэгтэй юу?<br />
60. Вэбийн стандарт, вэб дизайны талаар хэр мэдэх вэ? <br />
61. Вэб сайтаа өөр гадны програмуудтай холбоотой ажиллуулах шаардлагатай юу?<br />
62. Холбоо барих хэсэг хэрэгтэй юу?<br />
63. Домайн хаяг байгаа юу?<br />
64. Өөр дизайны байгууллагуудтай холбоотой ажилладаг уу?<br />
65. Өөрчлөх боломжтой уян хатан байдал танд хэр чухав вэ?<br />
66. Өөрчлөлт оруулах тал дээр тусламж хэрэгтэй юу? Байнга тусламж дэмжлэх авах уу?<br />
67. Вэб сайт тань юу юуг гүйцэтгэх боломжтой байх шаардлагатай вэ?<br />
68. Онлайн худалдаа хийх боломж хэрэгтэй юу?<br />
69. Логогоо солих, шинэчлэх бодол байгаа юу?<br />
70. Хостинг эрх байгаа юу?<br />
71. Үйл ажиллагааныхаа имижийг шинэлэг байдлаар танилцуулахы хүсч байна уу?<br />
72. Одоогийн байгаа сайтаа хамгийн сүүлд хэзээ өөрчилж сайжруулсан бэ?<br />
Gansukh Bhttp://www.blogger.com/profile/06641799687255335083noreply@blogger.com1tag:blogger.com,1999:blog-8528374942500438602.post-79276626014932654332013-12-15T19:43:00.001-08:002013-12-15T19:43:40.786-08:00Countries listДэлхийн бүх улсуудын жагсаалтыг SQL датабэйс, далбаануудыг нэг стандартад оруулсан icon хэлбэрээр олов. <br />
<br />
https://drive.google.com/file/d/0B0MgiGLzI_S1ejNPSW9EQWdLZDA/edit?usp=sharing<br />
<br />
Gansukh Bhttp://www.blogger.com/profile/06641799687255335083noreply@blogger.com0tag:blogger.com,1999:blog-8528374942500438602.post-73917599443924643022013-12-13T00:37:00.000-08:002013-12-13T00:37:54.002-08:00Responsive videoResponsive буюу ямар ч хэмжээтэй төхөөрөмж дээр алдаагүй, зохицон ажиллах видеоны эмбэд кодыг оруулах гэж нэлээн оролдож байгаад нэтээс хайж олов.<br />
<br />
<pre style='color:#000000;background:#ffffff;'><html><body style='color:#000000; background:#ffffff; '><pre><span style='color:#808030; '>.</span>embed-container <span style='color:#800080; '>{</span>
<span style='color:#bb7977; font-weight:bold; '>position</span><span style='color:#808030; '>:</span> <span style='color:#074726; '>relative</span><span style='color:#800080; '>;</span>
<span style='color:#bb7977; font-weight:bold; '>padding-bottom</span><span style='color:#808030; '>:</span> <span style='color:#008c00; '>56.25</span><span style='color:#006600; '>%</span><span style='color:#800080; '>;</span>
<span style='color:#bb7977; font-weight:bold; '>padding-top</span><span style='color:#808030; '>:</span> <span style='color:#008c00; '>30</span><span style='color:#006600; '>px</span><span style='color:#800080; '>;</span>
<span style='color:#bb7977; font-weight:bold; '>height</span><span style='color:#808030; '>:</span> <span style='color:#008c00; '>0</span><span style='color:#800080; '>;</span>
<span style='color:#bb7977; font-weight:bold; '>overflow</span><span style='color:#808030; '>:</span> <span style='color:#074726; '>hidden</span><span style='color:#800080; '>;</span>
<span style='color:#800080; '>}</span>
<span style='color:#808030; '>.</span>embed-container <span style='color:#800000; font-weight:bold; '>iframe</span><span style='color:#808030; '>,</span> <span style='color:#808030; '>.</span>embed-container <span style='color:#800000; font-weight:bold; '>object</span><span style='color:#808030; '>,</span> <span style='color:#808030; '>.</span>embed-container <span style='color:#800000; font-weight:bold; '>embed</span> <span style='color:#800080; '>{</span>
<span style='color:#bb7977; font-weight:bold; '>position</span><span style='color:#808030; '>:</span> <span style='color:#074726; '>absolute</span><span style='color:#800080; '>;</span>
<span style='color:#bb7977; font-weight:bold; '>top</span><span style='color:#808030; '>:</span> <span style='color:#008c00; '>0</span><span style='color:#800080; '>;</span>
<span style='color:#bb7977; font-weight:bold; '>left</span><span style='color:#808030; '>:</span> <span style='color:#008c00; '>0</span><span style='color:#800080; '>;</span>
<span style='color:#bb7977; font-weight:bold; '>width</span><span style='color:#808030; '>:</span> <span style='color:#008c00; '>100</span><span style='color:#006600; '>%</span><span style='color:#800080; '>;</span>
<span style='color:#bb7977; font-weight:bold; '>height</span><span style='color:#808030; '>:</span> <span style='color:#008c00; '>100</span><span style='color:#006600; '>%</span><span style='color:#800080; '>;</span>
<span style='color:#800080; '>}</span>
</pre><pre style='color:#000000;background:#ffffff;'><html><body style='color:#000000; background:#ffffff; '><pre><span style='color:#a65700; '><</span><span style='color:#800000; font-weight:bold; '>div</span><span style='color:#274796; '> </span><span style='color:#074726; '>class</span><span style='color:#808030; '>=</span><span style='color:#0000e6; '>"embed-container"</span><span style='color:#a65700; '>></span>
<span style='color:#a65700; '><</span><span style='color:#800000; font-weight:bold; '>iframe</span><span style='color:#274796; '> </span><span style='color:#074726; '>src</span><span style='color:#808030; '>=</span><span style='color:#0000e6; '>"//www.youtube.com/embed/ZI3z5cFgmMk"</span><span style='color:#274796; '> </span><span style='color:#074726; '>frameborder</span><span style='color:#808030; '>=</span><span style='color:#0000e6; '>"0"</span><span style='color:#274796; '> allowfullscreen</span><span style='color:#a65700; '>></span><span style='color:#a65700; '></</span><span style='color:#800000; font-weight:bold; '>iframe</span><span style='color:#a65700; '>></span>
<span style='color:#a65700; '></</span><span style='color:#800000; font-weight:bold; '>div</span><span style='color:#a65700; '>></span>
</pre>Gansukh Bhttp://www.blogger.com/profile/06641799687255335083noreply@blogger.com1tag:blogger.com,1999:blog-8528374942500438602.post-15786041783923593852013-12-08T01:30:00.001-08:002013-12-08T01:30:15.930-08:00Web Design vs Монгол бичигМонгол бичгээр вэб сайт бүтээх хүсэл эрмэлзэл сонирхол олон вэб хөгжүүлэгч, дизайнеруудад бодлын гүнд нь явдаг байх.<br />
<br />
Харин вэб дизайныг Монгол бичигт тааруулан урлахад фонт, вэб броузер, гарын драйвер гэх мэт асуудал бэрхшээл их байсан ч, өдөр өдрөөр технологи хөгжихийн хэрээр фонтны асуудал шийдэгдсэн. Ихэнхи вэб броузерууд http://www.w3.org/TR/css-writing-modes-3/ босоо, хэвтээ, баруун зүүнгүй бичдэг болсон байна. /* Firefox дээр л энэ асуудал шийдэгдээгүй байв. {ubuntu дээр шалгав}<br />
<br />
Энэ сэдэвтэй холбогдуулаад Bootstrap 3.0.2-ийн грид системийг монгол бичигт тааруулан жаахан өөрчилж үзэв. <br />
<br />
Dropdown (Dropright?) гэх мэт component, js боломжуудыг ажиллагаанд оруулахад нэлээн засвар өөрчлөлт орох бололтой. <br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLxbYxVVXzC2RoF3XnHXnyydqBu9OqQiEeSFPARQcQeiqm-ZMngjSiXWolpzkgDSGoXnM4HjsJD9ok7tshBkAkEAoaOZ5CnlbRyqM0dHuW7L903B0SXVTosPt9KTKPcfFjIQQPdZUeneS2/s1600/Screenshot+from+2013-12-08+17:20:47.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLxbYxVVXzC2RoF3XnHXnyydqBu9OqQiEeSFPARQcQeiqm-ZMngjSiXWolpzkgDSGoXnM4HjsJD9ok7tshBkAkEAoaOZ5CnlbRyqM0dHuW7L903B0SXVTosPt9KTKPcfFjIQQPdZUeneS2/s640/Screenshot+from+2013-12-08+17:20:47.png" width="640" /></a></div>Gansukh Bhttp://www.blogger.com/profile/06641799687255335083noreply@blogger.com0tag:blogger.com,1999:blog-8528374942500438602.post-72683187799381597232013-12-01T06:33:00.000-08:002013-12-01T06:35:57.469-08:00Монгол бичгийг вэбэд дүрслэхЭх монгол бичгээ хэрэглэх хүсэл, тэр тусмаа вэбэд алдаагүй, дүрслэх хүсэл олон хэрэглэгч, хөгжүүлэгчдэд байдаг байх. Олон үйлдлийн системүүдэд фонт, гарын драйвер суулгах гэх мэтээр өөр өөрийн аргаар дүрслэх арга хэрэгслүүдийг хэрэгжүүлж байгаа ч өнөөг хүртэл крилл, латин үсэгтэй адил хялбар хэрэглэх боломж үүсээгүй л байна.<br />
<br />
Харин саяхан Амаржаргал хэмээх залуугийн хийсэн драйвер, шинэ фонт http://mongoltolbo.com/hutuch/ хаяг дээр гарсан байна. Вэб-д Монгол бичиг дүрслэх боломжуудад нэлээн үсрэлт хийхийн эхлэл болох болов уу гэж бодогдов.<br />
<br />
<style>
@font-face {
font-family: 'Hutuch-Light';
src:url('https://dl.dropboxusercontent.com/u/71917687/font/MongolianScript.woff') format('woff'), url('https://dl.dropboxusercontent.com/u/71917687/font/Hutuch-Light.ttf') format('truetype'), url('https://dl.dropboxusercontent.com/u/71917687/font/Hutuch-Light.svg#Hutuch-Light') format('svg');
font-weight: normal; font-style: normal
}
.Hutuch-Light{
font-family:'Hutuch-Light';
font-size:60px
-webkit-text-stroke: 0.25px;
text-shadow: 1px 1px 1px rgba(0,0,0,0.8);
}
.monscript-post{
margin-top:10px;
margin-bottom:20px;
text-shadow: 1px 1px 1px rgba(0,0,0,0);
-moz-writing-mode: vertical-lr;
-ms-writing-mode: vertical-lr;
-o-writing-mode: vertical-lr;
writing-mode: vertical-lr;
direction: ltr;
font-height: 40px;
line-height: 50px;
-webkit-font-feature-settings: 'ccmp' !important;
}
щ
</style><br />
<br />
Ubuntu үйлдийн систем дээр Firefox дээр алдаагүй дүрслэгдэж байв.<br />
<p class="monscript-post Hutuch-Light" style="height:auto; width:auto; overflow-x:auto; overflow-y:auto;">᠂᠂᠂ ᠰᠡᠳᠭᠢᠯ ᠤᠷᠮᠠᠰ ᠪᠠᠳᠠᠷᠠᠨ ᠪᠠᠬᠠᠲᠤᠮᠤ᠂ ᠦᠰᠦᠨ ᠪᠤᠭᠤᠷᠤᠯ ᠥᠲᠡᠭᠦᠰ ᠪᠢ!<br />
ᠬᠤᠲᠤᠭ ᠥᠯᠵᠡᠢ ᠪᠦᠷᠢᠳᠦᠭ᠍ᠰᠡᠨ ᠬᠤᠪᠢ ᠶᠡᠬᠡ ᠵᠠᠶᠠᠭᠠᠲᠤ ᠲᠦᠮᠡᠨ ᠦ ᠮᠢᠨᠢ<br />
</p><br />
Монгол улсын ерөнхийлөгчийн албан ёсны сайтын Монгол Бичиг дээрхи хувилбар гарсан нь ихэд таатай харагдав. http://www.president.mn/mng/<br />
<br />
Эх монгол бичиг дээр олон олон сайтууд гарч, мартагдах шахсан бичиг үсэг эргэн түгэн дэлгэрэх болтугай.<br />
<br />
Монгол бичгийн цахим дүрслэлтэй холбоотай мэдээлэл, холбоосууд:<br />
<br />
http://monscript.blogspot.com/<br />
http://mongolian-script.blogspot.com/<br />
Gansukh Bhttp://www.blogger.com/profile/06641799687255335083noreply@blogger.com0tag:blogger.com,1999:blog-8528374942500438602.post-81247543476710230532013-11-25T01:00:00.002-08:002013-11-25T01:00:36.155-08:00PHP: Монгол хэл дээрхи SLUG функцГайгүй Slug функц хайж яваад <a href="https://gist.github.com/sgmurphy/3098978" target="_blank">https://gist.github.com/sgmurphy/3098978</a> нэг ийм функц олов.<br />
<div>
<br /></div>
<div>
Жаахан засвар хийгээд Монгол үсгүүдийг авдаг болгов.<br />
<pre>function url_slug($str, $options = array()) {
// Make sure string is in UTF-8 and strip invalid UTF-8 characters
$str = mb_convert_encoding((string)$str, 'UTF-8', mb_list_encodings());
$defaults = array(
'delimiter' => '-',
'limit' => null,
'lowercase' => true,
'replacements' => array(),
'transliterate' => true,
);
// Merge options
$options = array_merge($defaults, $options);
$char_map = array(
// Latin
'À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A', 'Æ' => 'AE', 'Ç' => 'C',
'È' => 'E', 'É' => 'E', 'Ê' => 'E', 'Ë' => 'E', 'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I',
'Ð' => 'D', 'Ñ' => 'N', 'Ò' => 'O', 'Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ö' => 'O', 'Ő' => 'O',
'Ø' => 'O', 'Ù' => 'U', 'Ú' => 'U', 'Û' => 'U', 'Ü' => 'U', 'Ű' => 'U', 'Ý' => 'Y', 'Þ' => 'TH',
'ß' => 'ss',
'à' => 'a', 'á' => 'a', 'â' => 'a', 'ã' => 'a', 'ä' => 'a', 'å' => 'a', 'æ' => 'ae', 'ç' => 'c',
'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i',
'ð' => 'd', 'ñ' => 'n', 'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ö' => 'o', 'ő' => 'o',
'ø' => 'o', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ü' => 'u', 'ű' => 'u', 'ý' => 'y', 'þ' => 'th',
'ÿ' => 'y',
// Latin symbols
'©' => '(c)',
// Greek
'Α' => 'A', 'Β' => 'B', 'Γ' => 'G', 'Δ' => 'D', 'Ε' => 'E', 'Ζ' => 'Z', 'Η' => 'H', 'Θ' => '8',
'Ι' => 'I', 'Κ' => 'K', 'Λ' => 'L', 'Μ' => 'M', 'Ν' => 'N', 'Ξ' => '3', 'Ο' => 'O', 'Π' => 'P',
'Ρ' => 'R', 'Σ' => 'S', 'Τ' => 'T', 'Υ' => 'Y', 'Φ' => 'F', 'Χ' => 'X', 'Ψ' => 'PS', 'Ω' => 'W',
'Ά' => 'A', 'Έ' => 'E', 'Ί' => 'I', 'Ό' => 'O', 'Ύ' => 'Y', 'Ή' => 'H', 'Ώ' => 'W', 'Ϊ' => 'I',
'Ϋ' => 'Y',
'α' => 'a', 'β' => 'b', 'γ' => 'g', 'δ' => 'd', 'ε' => 'e', 'ζ' => 'z', 'η' => 'h', 'θ' => '8',
'ι' => 'i', 'κ' => 'k', 'λ' => 'l', 'μ' => 'm', 'ν' => 'n', 'ξ' => '3', 'ο' => 'o', 'π' => 'p',
'ρ' => 'r', 'σ' => 's', 'τ' => 't', 'υ' => 'y', 'φ' => 'f', 'χ' => 'x', 'ψ' => 'ps', 'ω' => 'w',
'ά' => 'a', 'έ' => 'e', 'ί' => 'i', 'ό' => 'o', 'ύ' => 'y', 'ή' => 'h', 'ώ' => 'w', 'ς' => 's',
'ϊ' => 'i', 'ΰ' => 'y', 'ϋ' => 'y', 'ΐ' => 'i',
// Turkish
'Ş' => 'S', 'İ' => 'I', 'Ç' => 'C', 'Ü' => 'U', 'Ö' => 'O', 'Ğ' => 'G',
'ş' => 's', 'ı' => 'i', 'ç' => 'c', 'ü' => 'u', 'ö' => 'o', 'ğ' => 'g',
// Mongolian / Russian
'А' => 'А', 'Б' => 'Б', 'В' => 'В', 'Г' => 'Г', 'Д' => 'Д', 'Е' => 'Е', 'Ё' => 'Ё', 'Ж' => 'Ж',
'З' => 'З', 'И' => 'И', 'Й' => 'Й', 'К' => 'К', 'Л' => 'Л', 'М' => 'М', 'Н' => 'Н', 'О' => 'О', 'Ө' => 'Ө',
'П' => 'П', 'Р' => 'Р', 'С' => 'С', 'Т' => 'Т', 'У' => 'У', 'Ү' => 'Ү' , 'Ф' => 'Ф', 'Х' => 'Х', 'Ц' => 'Ц',
'Ч' => 'Ч', 'Ш' => 'Ш', 'Щ' => 'Щ', 'Ъ' => 'Ъ', 'Ы' => 'Ы', 'Ь' => 'Ь', 'Э' => 'Э', 'Ю' => 'Ю',
'Я' => 'Я',
'а' => 'а', 'б' => 'б', 'в' => 'в', 'г' => 'г', 'д' => 'д', 'е' => 'е', 'ё' => 'ё', 'ж' => 'ж',
'з' => 'з', 'и' => 'и', 'й' => 'й', 'к' => 'к', 'л' => 'л', 'м' => 'м', 'н' => 'н', 'о' => 'о','ө' => 'ө',
'п' => 'п', 'р' => 'р', 'с' => 'с', 'т' => 'т', 'у' => 'у', 'ү' => 'ү', 'ф' => 'ф', 'х' => 'х', 'ц' => 'ц',
'ч' => 'ч', 'ш' => 'ш', 'щ' => 'щ', 'ъ' => 'ъ', 'ы' => 'ы', 'ь' => 'ь', 'э' => 'э', 'ю' => 'ю',
'я' => 'я',
// Ukrainian
'Є' => 'Є', 'І' => 'I', 'Ї' => 'Ү', 'Ґ' => 'G',
'є' => 'є', 'і' => 'i', 'ї' => 'ү', 'ґ' => 'g',
// Czech
'Č' => 'C', 'Ď' => 'D', 'Ě' => 'E', 'Ň' => 'N', 'Ř' => 'R', 'Š' => 'S', 'Ť' => 'T', 'Ů' => 'U',
'Ž' => 'Z',
'č' => 'c', 'ď' => 'd', 'ě' => 'e', 'ň' => 'n', 'ř' => 'r', 'š' => 's', 'ť' => 't', 'ů' => 'u',
'ž' => 'z',
// Polish
'Ą' => 'A', 'Ć' => 'C', 'Ę' => 'e', 'Ł' => 'L', 'Ń' => 'N', 'Ó' => 'o', 'Ś' => 'S', 'Ź' => 'Z',
'Ż' => 'Z',
'ą' => 'a', 'ć' => 'c', 'ę' => 'e', 'ł' => 'l', 'ń' => 'n', 'ó' => 'o', 'ś' => 's', 'ź' => 'z',
'ż' => 'z',
// Latvian
'Ā' => 'A', 'Č' => 'C', 'Ē' => 'E', 'Ģ' => 'G', 'Ī' => 'i', 'Ķ' => 'k', 'Ļ' => 'L', 'Ņ' => 'N',
'Š' => 'S', 'Ū' => 'u', 'Ž' => 'Z',
'ā' => 'a', 'č' => 'c', 'ē' => 'e', 'ģ' => 'g', 'ī' => 'i', 'ķ' => 'k', 'ļ' => 'l', 'ņ' => 'n',
'š' => 's', 'ū' => 'u', 'ž' => 'z'
);
// Make custom replacements
$str = preg_replace(array_keys($options['replacements']), $options['replacements'], $str);
// Transliterate characters to ASCII
if ($options['transliterate']) {
$str = str_replace(array_keys($char_map), $char_map, $str);
}
// Replace non-alphanumeric characters with our delimiter
$str = preg_replace('/[^\p{L}\p{Nd}]+/u', $options['delimiter'], $str);
// Remove duplicate delimiters
$str = preg_replace('/(' . preg_quote($options['delimiter'], '/') . '){2,}/', '$1', $str);
// Truncate slug to max. characters
$str = mb_substr($str, 0, ($options['limit'] ? $options['limit'] : mb_strlen($str, 'UTF-8')), 'UTF-8');
// Remove delimiter from ends
$str = trim($str, $options['delimiter']);
return $options['lowercase'] ? mb_strtolower($str, 'UTF-8') : $str;
}
</pre>
</div>
<div>
</div>
Gansukh Bhttp://www.blogger.com/profile/06641799687255335083noreply@blogger.com0tag:blogger.com,1999:blog-8528374942500438602.post-8623029717057543842013-11-10T22:13:00.002-08:002013-11-10T22:13:37.183-08:00HTML Page print дээрхи url, header-ийг арилгах<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikyKUwAU_9w-cZ-8XPKLxWKi2l41wrsNDCu4_sleP4S6tEXuiS1C-WAWd9p2BeEBdso1Vwa9WVZOajfe_oO7BeQNoYauloeFNUGOg2l20vJRyYvi5CIyUN9quJlN6-zuL0IC6ZRsnjJKD_/s1600/1391717_721456924535161_97483306_n.jpg" imageanchor="1"><img border="0" height="118" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikyKUwAU_9w-cZ-8XPKLxWKi2l41wrsNDCu4_sleP4S6tEXuiS1C-WAWd9p2BeEBdso1Vwa9WVZOajfe_oO7BeQNoYauloeFNUGOg2l20vJRyYvi5CIyUN9quJlN6-zuL0IC6ZRsnjJKD_/s640/1391717_721456924535161_97483306_n.jpg" width="640" /></a><br />
<br />
<pre style="background: #ffffff; color: black;"><pre><span style="color: purple;">@</span><span style="color: #004a43;">page</span>
<span style="color: purple;">{</span>
<span style="color: #bb7977; font-weight: bold;">size</span><span style="color: #808030;">:</span> <span style="color: #074726;">portrait</span><span style="color: purple;">;</span>
<span style="color: #bb7977; font-weight: bold;">margin</span><span style="color: #808030;">:</span><span style="color: #008c00;">0</span><span style="color: #006600;">cm</span><span style="color: purple;">;</span>
<span style="color: purple;">}</span>
<span style="color: purple;">@</span><span style="color: #004a43;">page</span> rotated <span style="color: purple;">{</span> <span style="color: #bb7977; font-weight: bold;">size</span> <span style="color: #808030;">:</span> <span style="color: #074726;">portrait</span> <span style="color: purple;">}</span>
<span style="color: maroon; font-weight: bold;">table</span> <span style="color: purple;">{</span> <span style="color: #bb7977; font-weight: bold;">page</span> <span style="color: #808030;">:</span> rotated <span style="color: purple;">}</span>
<span style="color: purple;">@</span><span style="color: #004a43;">media</span> <span style="color: #004a43;">print</span><span style="color: purple;">{</span>
<span style="color: maroon; font-weight: bold;">body</span><span style="color: purple;">{</span> <span style="color: #bb7977; font-weight: bold;">background-color</span><span style="color: #808030;">:</span><span style="color: #008c00;">#</span><span style="color: green;">FFFFFF</span><span style="color: purple;">;</span> <span style="color: #bb7977; font-weight: bold;">background-image</span><span style="color: #808030;">:</span><span style="color: #074726;">none</span><span style="color: purple;">;</span> <span style="color: #bb7977; font-weight: bold;">color</span><span style="color: #808030;">:</span><span style="color: #008c00;">#</span><span style="color: green;">000000</span> <span style="color: purple;">}</span>
<span style="color: #808030;">#</span>ad<span style="color: purple;">{</span> <span style="color: #bb7977; font-weight: bold;">display</span><span style="color: #808030;">:</span><span style="color: #074726;">none</span><span style="color: purple;">;</span><span style="color: purple;">}</span>
<span style="color: purple;">}</span></pre>
</pre>
<br />
@page дээр margin: 0; нөхцлийг зааж өгөхөд зураг дээр харагдаж буй огноо, url хаяг шахагдаж алга болох нь ээGansukh Bhttp://www.blogger.com/profile/06641799687255335083noreply@blogger.com0tag:blogger.com,1999:blog-8528374942500438602.post-13403711207725271342013-05-28T12:17:00.000-07:002013-05-28T12:17:45.670-07:00ХОВЧ ШААЗГАЙ буюу JIRGEE.QUOTE.MN <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHl81WljwvmCXG_tlJcb-r8hqKGcktAHXjKGpLkKDsMPN9B-u3sLXHWBC_bBELhjdefVtHtgL7b05hkDdNQuwtcAxbcPhxuIoIBQccWIjSzX8UnmwTId7Pc8dkoJpMI3iikO74iWBZiV3j/s1600/magpie+render.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="196" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHl81WljwvmCXG_tlJcb-r8hqKGcktAHXjKGpLkKDsMPN9B-u3sLXHWBC_bBELhjdefVtHtgL7b05hkDdNQuwtcAxbcPhxuIoIBQccWIjSzX8UnmwTId7Pc8dkoJpMI3iikO74iWBZiV3j/s200/magpie+render.png" width="200" /></a>Дийлэнхи твиттер хэрэглэгчдийн хувьд өөрийн дагагчдаа эргүүлэн дагах бяцхан дадал, соёл бий болсон байдаг. Олон хүн дагаад, дагуулаад эхлэхээр үүнийг гар аргаар хянах боломж хомс. Олон онлайн түүл (refollow.com, justunfollow.com, unfollowers.me) байдаг хэдий ч эдгээр төлбөртэй үйлчилгээг санал болгодог, үнэгүй туршиж үзэхэд дагах, дагуулах тоо нь хязгаарлалттай байдаг учир байнгын хэрэглээ болгон хэрэглэхэд өртөг зардал ихтэй.<br />
<br />
<ul>
<li>Харин http://jirgee.quote.mn/-нь <br />
ямар нэгэн хязгаарлалтгүйгээр дагах/цуцлах боломжтой. </li>
<li>1400 тэмдэгтээр жиргэх </li>
</ul>
боломжыг эхний ээлжинд хангаж өглөө.<br />
<br />
Сэтгэл гаргаж хийсэн өчүүхэн аппликэйшнийг минь тухлан сууж таалан болгооно уу. Санал хүсэлт, сэтгэгдэл, зөвлөмжийг <a href="http://twitter.com/GansukhB" target="_blank">@GansukhB</a> твиттер хаяг дээр хүлээн авна. Эсвэл сэтгэгдэл хэсэг дээр бичиж үлдээнэ үү.Gansukh Bhttp://www.blogger.com/profile/06641799687255335083noreply@blogger.com0tag:blogger.com,1999:blog-8528374942500438602.post-71541126924058082132011-07-20T15:57:00.000-07:002011-07-20T15:58:37.679-07:00All Images has been converted to PDF!<div style="text-align: justify;">Скайнердаж оруулсан хуудсууд гэх мэт зургийн файлаар байгаа зүйлсийг pdf рүү хөрвүүлэх шаардлага урьд нь нэлээд таарч байлаа. Үүнийг шийдэхийн тулд OpenOffice-оо нээгээд зургуудаа оруулаад хуудсаа дүүртэл нь сунгаад PDF file format руу хөрвүүлэх бодол хамгийн түрүүнд орж ирэв. Гарын арван хуруунд багтах тооны хуудас бол асуудалгүй. Гэтэл хэдэн зуу, хэдэн мянган хуудсыг гараар бэлтгэнэ гэдэг үнэхээр залхуутай ажил.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Залхуугийхаа хүчээр энэ талаар Google-с хайж үзтэл ImageMagick нэртэй гайхалтай програм байдаг юм байна.</div><div style="font-family: "Courier New",Courier,monospace;"><br />
</div><div style="font-family: "Courier New",Courier,monospace;">$ sudo apt-get install imagemagick</div><br />
гээд суулгачихна.<br />
<div style="font-family: "Courier New",Courier,monospace;"><br />
</div><div style="font-family: "Courier New",Courier,monospace;">$ cd <зургууд байрлаж буй хавтас></div><div style="font-family: "Courier New",Courier,monospace;"><br />
</div><div style="font-family: "Courier New",Courier,monospace;">$ convert *.jpg foo.pdf</div><br />
гэвэл тухайн хавтсанд байгаа бүх jpg өргөтгөлтэй файлуудыг дарааллаар нь foo.pdf болгож нэгтгэн хөрвүүлнэ. Гайхалтай хялбар биш үү?<br />
<br />
Зөвхөн байгаа зургуудыг нэгтгэж pdf болгохоос гадна өнгөнүүдийн элдэв тохиргоо, маск, зургийн хэмжээг шахах, элдэв эффэкт өгөх, эргүүлэх гэх мэт зурагтай холбоотой бүхий л боломжууд өгөгдсөн юм байна. Үүнийг нь <br />
<br />
<div style="font-family: "Courier New",Courier,monospace;">$ convert -h</div><br />
командаар дэлгэрэнгүй хараарай.Gansukh Bhttp://www.blogger.com/profile/06641799687255335083noreply@blogger.com3tag:blogger.com,1999:blog-8528374942500438602.post-51852472706739656592011-07-10T00:36:00.000-07:002011-07-20T15:57:50.090-07:00Ubuntu 11.04 a few problems with soundUbuntu 11.04 дээр зарим нэг дууны холбогдолтой програмуудын ажиллагаа асуудалтай байв.<br />
<br />
Эхлээд Tuxguitar програмыг ажиллуулаад дууг нь тоглуулах гэтэл дуу нь огт гарахгүй байна. Элдэв ALSA драйвер, сан суулгаад нэмэр байдаггүй. Timidity гэгч midi дууны сан бүхий програмыг суулгаад <br />
<br />
timidity -EFreverb=0 -iA -Os <br />
<br />
командыг өгч ажиллуулж өгч орхиод tuxguitar-аа нээгээд дуу тоглуулж болж байв.<br />
<center> * * * </center><br />
gtick хэмээх metronome багажыг ажиллуулах гэтэл <br />
<br />
Couldn't start metronome.<br />
Please check if specified sound device<br />
and sample file are accessible.<br />
<br />
гэсэн алдааны мэдээлэл гарч ирэв. Google-ээс хайж хэдэн хэдэн хэлэлцүүлгийн сэдвүүдийг нээж үзтэл preference дотроос дууныхаа төхөөрөмжийг /dev/dsp /dev/dsp1 гэх мэтээр өөр өөрөөр зааж өгвөл ажиллана гэнэ. Оролдож үзээд үр дүнгүй. /dev хавтасыг сөхөөд үзвэл dsp нэртэй ямар ч дууны төхөөрөмж алга.<br />
<br />
Тэгтэл /dev/dsp нь OSS (Open Sound) гэгч зүйлийн хэсэг байсан ч элдэв шалтгааны улмаас линуксын сүүлийн үеийн хувилбаруудад ашиглагдахаа больжээ. Гэхдээ үүнийг padsp хэмээх багажийн тусламжтай ашиглаж болох гэнэ.<br />
<br />
padsp gtick <br />
<br />
командыг өгтөл ажиллаж байна. Ашгүй гэж.Gansukh Bhttp://www.blogger.com/profile/06641799687255335083noreply@blogger.com1