دانلود سامانه آزمون ساز – دانشگاه ولی عصر (عج)
سیستمی که پیش روی شماست ، با هدف طراحی ، آماده سازی و ذخیره آزمونها به سفارش گروه کامپیوتر دانشگاه ولی عصر طراحی شده است .
در این سیستم دانشجویان فرهیخته و اساتید گرامی می توانند عضو شوند ،در این نسخه از سیستم امکان آزمون دهی آنلاین برای دانشجویان وجود ندارد اما برای اساتید دانشگاه امکان اضافه کردن سوالات برای هر درس را فراهم می کند ، اساتید بعد از وارد کردن سوالات چهار گزینه ای خود به سیستم آزمون می تواند از سوالات خود ۴ خروجی متفاوت در قالب doc دریافت کند، در فایلهای خروجی علاوه بر درهم ریزی سوالات ، گزینه ها نیز طبق الگوریتم خاصی در هم ریزی شده اند .
در سامانه آزمون علاوه بر اینکه اساتید و طراحان سوال محترم می توانند به صورت دستی سوالات خود را وارد سیستم کنند قابلیت استفاده از بانک سوالات قبلی که خود یا طراحان دیگر برای فصل مورد نظر طراحی کرده اند ، در نظر گرفته شده است .
در انتهای هر فایل خروجی کلید حل (جدولی مشابه پاسخنامه ) ضمیمه شده که برای تسریع در امر تصحیح می تواند مورد استفاده بگیرد .
سیستم طراحی شده به صورت پیشفرض از ۶ نوع خط(فونت) ( ۳ نوع خط لاتین ، ۳ نوع خط فارسی) استفاده می کند با این حال کاربران بعد از ذخیره و بازکردن فایلهای خروجی می توانند فونت دلخواه خود را اعمال کنند.
دمو http://ce.edu.vru.ac.ir/exam
توابع و پلاگین های استفاده شده
- قالب و طرح بندی
قسمت اعظم طرح گرافیکی ، قالب بندی و به طور کلی رابط کاربری این سیستم برای اعتماد بیشتر کاربران به سیستم ،از طرح سامانه اساتید دانشگاه ولی عصر الگو برداری شده و برای قالب بندی صفحات خطا و…. از یک قالب بندی ساده و معمولی استفاده شده.
- مبدّل تاریخ هجری و شمسی
در این پروژه برای تبدیل تاریخ از توابع فایل jdf.php استفاده شده.
از مزایای این اسکریپت ، می توان به موارد زیر اشاره نمود:
حجم ناچیز و سرعت بسیار زیاد ، وجود مجموعه ی کامل آموزشی به زبان فارسی ،پارامترهای اضافه برای کنترل دقیق توابع و خروجی ها ،امکان اعمال اختلاف ساعت جهانی دلخواه در خروجی ، تعیین زبان اعداد خروجی ( فارسی یا انگلیسی ) به دلخواه ، احتساب روز شنبه به عنوان روز اوّل هفته در تمامی خروجی ها ، توابع جدید تبدیل تاریخ میلادی به هجری شمسی و برعکس ، با خروجی آرایه یا متن ، به دلخواه تابع تبدیل عناصر زمان ( هجری شمسی ) به برچسب زمان تابع تبدیل برچسب زمان به آرایه ی عناصر مختلف تاریخ و زمان ( هجری شمسی ) تابع بررسی صحیح بودن تاریخ هجری شمسی ، تبدیل زبان اعداد موجود در متن خروجی ( فارسی یا انگلیسی ) ، شبیه سازی توابع کاربردی زمان برای تاریخ هجری شمسی امکان رفع خطاهای چند دقیقه ای زمان بعضی سرورها جلو و عقب کشیده شدن ساعت در نیمه های اوّل و دوم سال ، به صورت خودکار محاسبات و خروجی های بسیار متنوّع از جمله : سال به حروف ، کامل یا خلاصه نام فصل از سال به حروف یا شماره ی آن نام ماه های هجری شمسی به حروف یا شماره ی آن محاسبه ی نام باستانی برج ها محاسبه ی نام حیوانی سال ها تعداد روزهای گذشته یا باقی مانده از سال درصد گذشته یا باقی مانده از سال و امکانات بسیار متنوّع دیگر …
برای مشاهده مستندات این اسکریپت میتوانید به سایت jdf.scr.ir مراجعه کنید .
نیاز به سایت داری : سایت میخوام
- پلاگین datepicker با تاریخ هجری شمسی
این پلاگین که توسط شخصی به نام آقای مهدی هاشمی نوشته شده در بخش طراحان سوال به کاربر این امکان را میدهد که به صورت کاربر پسند تر تاریخ امتحان خود را مشخص سازد .
فایلهای کمکی این اسکریپت در پوشه date داخل دایرکتوری طراح سوال گذاشته شده است . که می توانید به منظور اشنایی بیشتر از این فایلها استفاده بکنید.
- آپلودر عکس
همانطور که از اسمش پیداست این پلاگین برای آپلود تصاویر توسط کاربران مورد استفاده قرار گرفته ، هر چند که چارچوب کلی پلاگین از قبل آماده بود ، اما برای استفاده در این پروژه به طور کامل ویرایش شده و امکاناتی به آن اضافه یا کم شده است.
- توابع در هم ریزی (GetAPermutation و GenerateSamples )
این توابع سوالات و گزینه های مطرح شده را طبق الگویتم ریاضی خاصی به صورت تصادفی درهم میریزد.
این توابع بعنوان ورودی دو عدد از شما می گیرد، که عدد اول تعداد اعدادیست که لازم داریم ، بعنوان مثال اگر ازمون ما ۱۸ سوال داشته باشد ، عدد ۱۸ را بعنوان پارامتر اول به تابع ارسال می کنیم و یا اگر آزمون ۵ گزینه ای باشد برای در هم ریزی گزینه ها ، عدد ۵ را ارسال می کنیم . اما پارامتر دوم ، پارامتر دوم تعداد درهم ریزی های مورد نیاز ما می باشد برای مثال اگر ما قصد تولید ۴ نمونه سوال داشته باشیم عدد ۲ را بعنوان پارامتر دوم تابع ارسال خواهیم کرد.
خروجی این تابع یک آرایه شامل شماره سوالات یا گزینه هاست که به صورت تصادفی در هم ریزی شده اند.
این پلاگین توسط استاد گرانقدر ، مهندس محمدی ، نوشته شده است.
- مبدل کد اچ تی ام ال به سند متنی (ورد)
مهمترین کد نوشته شده در این پروژه مبدل کد های زبان اچ تی ام ال به داکیومنت می باشد ، این پلاگین که در فایلهای codeX.php مورد استفاده قرار گرفته کل محتوا را به یک فایل با فرمت .doc تغییر داده و امکان دانلود آنرا برای کاربر محیا می سازد . کاربر میتواند پس از دانلود آن با نرم افزاری مثل ms-office آنها را ویرایش کرده و چاپ کند.
در صورتی که قصد تغییر در این فایل را دارید ، توجه داشته باشید که همه قالبندی ها (css) و تگ ها توسط این پلاگین پشتیبانی نمی شود و تنها تگ ها و قالب بندی های ساده را مورد استفاده قرار بدهید.
این مبدل به طور کامل از RTL پشتیبانی می کند.
- تابع ارسال درخواست اجاکس (Ajaxrequest)
به کمک این تابع بدون استفاده از کتابخانه های حجیم جی کئوری (jquery) و دردسرهایش، تنها بر مبنای آژاکس، اطلاعات یک فرم را به صورت پیشرفته ارسال می کنیم و علاوه بر آن، حالت در حال پردازش یا loading را نیز با تصویر و متن نشان دهیم.
توضیح جزئیات این تابع :
در طی این فرایند متغیر loadingmessage در حالت بین صفر تا ۴ از xmlHttp.readyState اجرا می شود و یک پیام مبنی بر در حال پردازش به همراه تصویر نشان داده می شود.
– تابع Ajaxrequest برای ارسال درخواست آژاکسی است که با مرورگرهای مختلف سازگار شده و نهایتا اگر سیستم کاربر نتواند درخواست را ارسال کند پیامی به او مبنی بر پشتیبانی نکردن مرورگرش از آژاکس نشان داده خواهد شد.
– متدی که در کد اسفاده شده، متد post است.
– تابع getFormValues اطلاعات فرم را پردازش و در خود نگهداری می کند و در تابع formget مجددا به عنوان پارامتر در تابعی دیگر با نام postData و متغیر poststr ذخیره می شود که از آن در قسمت xmlHttp.send جهت ارسال اطلاعات استفاده می کنیم.
– برای سازگاری و جلوگیری از مشکلات احتمالی در ارسال اطلاعات فرم از طریق آژاکس با زبان فارسی، از تابع encodeURI استفاده کرده ایم، این تابع مقادیر فیلدها را به صورت کاراکترهای استاندارد utf8 تبدیل می کند.
- تابع fancybox
از این تابع برای نمایش بعضی صفحات به صورت آجاکس روی صفحه موجود استفاده شده است .
جزئیات کامل این پلاگین در سایت سازنده آن به آدرس (http://fancybox.net/howto) موجود است و نمونه مثال هایی از کاربرد آن زده شده .
ابتدا باید هدر های این برنامه را به برنامه اضافه کرد.در کد بالا گفته شده در صورت کلیک کاربر بر روی لینکی با آی دی fancy یک جعبه پاپ آپ روی صفحه موجود نمایش بده.
- تابع addspan
برای استفاده از فونت مجزا برای کلمات فارسی و انگلیسی تابع addspan کلمات انگلیسی را پیدا کرده و تگ span را به آن اضافه می کند.
این تابع در ورودی متن صورت سوال را گرفته و با تابع preg_match_all (از توابع پیشفرض php ) بررسی میکند که آیا در متن ارسال شده به تابع کلمات انگلیسی هست یا خیر…. در صورت وجود متن انگلیسی توسط تابع explode حرف به حرف شکسته می شود و داخل یک ارایه ریخته می شود و کلمات انگلیسی شناسایی شده و به هر کدام تگ span اضافه می شود و در پایان مجدد تمام خانه های آرایه با هم ترکیب شده و خروجی یک متغیر حاوی متن است.
۱۰- تابع deladditionspan
این تابع در صورتی که چند کلمه انگلیسی پشت هم موجود باشد متوجه شده و از یک تگ سراسری استفاده می کند و تگ های اضافی حذف می شوند.
نحوه کار این تابع به این گونه است که مانند تابع قبل ابتدا بررسی میکند آیا متن ارسالی دارای کلمه انگلیسی هست یا خیر سپس جستجو میکند که آیا بعد از بسته شدن تگ span تگ span دیگری باز شده ، در صورت باز شدن تگ به جای کل عبارت بسته شدن و بازشدن تگ span جدید یک کارکتر فضای خالی قرار میدهد .