|
|
| שורה 1: |
שורה 1: |
| //Adds wizard for using templates for external links | | //Adds wizard for using templates for external links |
| //Written by [[User:קיפודנחש]] | | //Written by [[User:קיפודנחש]] |
|
| | if (wgAction == 'edit') $(document).ready(function() { |
| function ltw_createTemplate() { | | |
| var par = ["{{" + this.templateName];
| | |
| for (var i in this.orderedFields)
| | |
| par.push((this.problematic? (parseInt(i)+1) + "=":"") + $.trim(this.orderedFields[i].value));
| | |
| if (this.defParam)
| | |
| for (var parnum in this.defParam)
| | function templates(templateName) { |
| if (par[parnum] == this.defParam[parnum]) | | var constants = ["", |
| par[parnum] = '';
| | "שם המחבר", |
| while (par.length && !par[par.length-1].length && this.orderedFields[par.length-2].type) // remove tailing empty ordered params.
| | "כותרת המאמר", |
| par.pop();
| | "מספר (כפי שמופיע בקישור)", |
| var code = par.join("|");
| | "מידע נוסף (למשל תאריך)", |
| if (this.namedFields) {
| | "מספר הסדרה", |
| var pairs = ['']; // so we'll get the firs bar
| | "נתיב הדף - כמו שמופיע בקישור", |
| for (j in this.namedFields) {
| | "מידע נוסף (לא תאריך)", |
| var val = $.trim(this.namedFields[j][1].value); | | "ספר", |
| if (val.length > 0) | | "פרק", |
| pairs.push(this.namedFields[j][0] + '=' + val);
| | "פסוק", |
| | "מסכת", |
| | "דף", |
| | "עמוד", |
| | "משנה", |
| | "סימן", |
| | "סעיף", |
| | "הלכות", |
| | "שם", |
| | "מספר הסדרה", |
| | 'מספר סדרת "ART"', |
| | "", |
| | "תאריך כתבה (לדוגמה, 1949/07/25), כפי שמופיע בקישור", |
| | "סוג הפרסום, כפי שמופיע בקישור אחרי '=EntityId'. בדרך כלל 'Ar' לכתבה רגילה, 'Pc' לתמונה ו־'Ad' לפרסומת", |
| | "שם הספר", |
| | "קידומת סוג הכתבה", |
| | "מזהה נושא הכתבה", |
| | "שם הערך", |
| | "קוד כניסה חינם (כפי שמופיע בקישור)", |
| | "כרך", |
| | "הפניה לכתבה (כפי שמופיע בקישור)", |
| | "הלכה", |
| | "", |
| | "חלק", |
| | "כותרת הדף", |
| | "שם החלל", |
| | "מספר ה-folder כמו שמופיע בקישור", |
| | "כותרת הספר/שם הקהילה", |
| | "מספר גיליון, תאריך פרסום ומספרי עמודים", |
| | "החלק השני של הקישור", |
| | "מספר העמוד, כפי שמופיע באתר", |
| | "שם האיש", |
| | "שם האמן", |
| | "שם העיתון", |
| | "קוד העיתון באתר (שלוש אותיות לטיניות גדולות)", |
| | "שם המין/זן", |
| | "שם הרב", |
| | "שם השיעור", |
| | "השיעור כשם שמופיע בקישור", |
| | "מספר גיליון, תאריך פרסום ומספרי עמודים (אופציונלי)", |
| | "שם הערך בויקישיבה", |
| | "קידומת הקישור, אם שונה מ-www" |
| | ]; |
| | |
| | var templatesAr = [ |
| | {t: 'קישור כללי', np: [ |
| | ['כתובת', 'הקישור (כלומר ה-URL) עצמו'], |
| | ['כותרת', 'שם המאמר המקושר'], |
| | ['הכותב', 'שמות כותבי המאמר', 1], |
| | ['תאריך', 'תאריך המאמר', 1], |
| | ['עמודים', 'מספר העמודים', 1], |
| | ['שפה', 'שפה (אם המאמר לא בעברית)', 1], |
| | ['פורמט', 'פורמט המאמר, אם אינו HTML (למשל PDF, DOC, וכן הלאה', 1], |
| | ['ציטוט', 'ציטוט משפט מהדף המקושר (יכול לעזור במציאת הדף בעתיד, אם הקישור ישתנה)', 1] |
| | ]}, |
| | {t: 'הארץ', p: [1,2,3,4], r: /(?:spages\/|itemNo=)(\d+)/i, rp: [3], bm: 1, op: [3]}, |
| | {t: 'דבר'}, |
| | {t: 'מעריב'}, |
| | {t: 'הצבי'}, |
| | {t: 'הצפירה'}, |
| | {t: 'המגיד'}, |
| | {t: 'חבצלת'}, |
| | {t: 'המליץ'}, |
| | {t: 'PalPost'}, |
| | {t: 'תנ"ך', p: [8,9,10], op:[2]}, |
| | {t: 'nrg', p: [1,2,3,4,0,19,20], r: /\/online\/([^\/]+)\/ART([^\/]*)\/([^\.]+).html/i, rp: [6,7,3], bm: 1, op:[3,4,5,6]}, |
| | {t: 'Mooma2', p: [42,3], r: /\?ArtistId=(\d+)/i, rp: [2]}, |
| | {t: 'בחדרי חרדים', p: [1,2,3,4], r: /\/Article\.aspx\?id=(\d+)/i, rp: [3], bm: 1, op: [3]}, |
| | {t: 'CIA factbook', p: ["האותיות שמציינות את המדינה"]}, |
| | {t: 'mynet', p: [1,2,3,4,0,5], r: /articles\/(\d+),7340,L-(\d+),00\.html/i, rp: [6,3], op: [3,4,5,6]}, |
| | {t: 'NFC', p: [1,2,3,4], r: /Archive\/([^\.]+)\.html/i, rp: [3], op: [3]}, |
| | {t: 'Onlife', p: [1,2,3,4], r: /onlife\.co\.il\/([^\/]+)\/(.*)/i, rp: [1,3], op: [3]}, |
| | {t: 'ynet', p: [1,2,3,4,0,5,25], def: {6: 0, 7: 'articles'}, r: /ynet\.co\.il\/([^\/]+)\/(\d+),7340,L-(\d+),00.html/i, rp: [7,6,3], bm: 1, op: [3,4,5,6]}, |
| | {t: 'Xnet', p: [1,2,3,4,0,5,25], def: {6: 0, 7: 'articles'}, r: /([^\/]+)\/(\d+),\d+,L-(\d+),00.html/i, rp: [7,6,3], bm: 1, op: [3,4,5,6]}, |
| | {t: 'וואלה!', p: [1,2,3,4,0,26], r: /\?w=\/(\d+)\/(\d+)/i, rp: [6,3], bm: 1, op: [3,4,5]}, |
| | {t: 'גלובס', p: [1,2,3,4], r: /\/news\/article.aspx\?did=(\d+)/i, rp: [3], bm: 1, op: [3]}, |
| | {t: 'כלכליסט', p: [1,2,3,4,0,19], r: /\/articles\/(\d+),7340,L-(\d+),00/i, rp: [6,3], op: [3,4,5,6]}, |
| | {t: 'נענע10', p: [1,2,3,4,0,26], r: /http:\/\/([a-z]*)\.nana10\.co\.il\/Article\/\?ArticleID=(\d+)/i, rp: [6,3], bm: 1, op: [3,4,5,6]}, |
| | {t: 'אנציקלופדיה ynet', p: [27,3,28,4], r: /\/yaan\/0,7340,L-(\d+)-([^-]*)-FreeYaan,00.html/i, rp: [2,3], op: [3]}, |
| | {t: 'תדהר', p: [29,13,27], op: [2]}, |
| | {t: 'אנשים ישראל', p: [1,2,3,4], r: /.*itemID=(\d+)&/i, rp: [3], op: [3]}, |
| | {t: 'אתר חיל האוויר', p: [1,2,3,4], r: /\/([^\/]*)-he\//i, rp: [3]}, |
| | {t: 'בלדד השוחי', p: [3,2,4], r: /ArticleID(\d*)/i, rp: [1], op: [2]}, |
| | {t: 'בשבע', p: [1,2,3,4], r: /Article.aspx\/(\d+)/i, rp: [3], op: [3]}, |
| | {t: 'האייל הקורא', p: [1,2,3,4], r: /story(?:_|\?id=)(\d+)/i, rp: [3], op: [3]}, |
| | {t: 'הידען', p: [1,2,30,4], r: /hayadan\.org\.il\/([^\/]*)/i, rp: [3], op: [3]}, |
| | {t: 'המאסף', p: [1,2,3,4], r: /notimportant\.co\.il\/?p=(\d+)/i, rp: [3], op: [3]}, |
| | {t: 'חסקין', p: [3,2], r: /ArticleNum=(\d+)/i, rp: [1]}, |
| | {t: 'בבלי', p: [11,12,13], op: [2]}, |
| | {t: 'משנה', p: [11,9,14], op: [2]}, |
| | {t: 'רמב"ם', p: [8,17,9,31], op: [2]}, |
| | {t: 'ירושלמי', p: [11,9,31], op: [2]}, |
| | {t: 'שולחן ערוך', p: [33,15,16], op: [2]}, |
| | {t: 'מטח', p: [1,2,3,4], op: [3]}, |
| | {t: 'גלצ', p: [1,2,3,4], r: /NewsArticle\.aspx\?NewsId\=(\d+)/i, rp: [3], op: [3]}, |
| | {t: 'ישראל היום', p: [1,2,3,4], r: /newsletter_article\.php\?id=(\d+)/i, rp: [3], bm: 1, op: [3]}, |
| | {t: 'מממ', p: [1,2,3,4], r: /data\/pdf\/([^\.])\.pdf/i, rp: [3], op: [3]}, |
| | {t: 'מממ2', p: [1,2,3,4], r: /data\/docs\/([^\.])\.rtf/i, rp: [3], op: [3]}, |
| | {t: 'משנה תורה', p: [12,3,34], r: /mechon-mamre.org\/\i\/(\d+)\.htm/i, rp: [2]}, |
| | {t: 'נזכור', p: [35,3], r: /HalalKorot\.aspx\?id=(\d+)/i, rp: [2]}, |
| | {t: 'סגולה', p: [1,2,3,4], r: /view-article\.asp\?article=(\d+)/i, rp: [3], op: [3]}, |
| | {t: 'ספורט 5', p: [1,2,3,36,4], r: /articles\.aspx\?FolderID=(\d+)&docID=(\d+)/i, rp: [4,3], op: [3], op: [0,4]}, |
| | {t: 'ספסל', p: [3,18,0], r: /hplayer\.aspx\?id=(\d+)/i, rp: [1]}, |
| | {t: 'ספסל מאמן', p: [3,18,0], r: /hstaff\.aspx\?id=(\d+)/i, rp: [1]}, |
| | {t: 'ספרי יזכור', p: [1,37,3,4], r: /yizkor\.nypl\.org\/index\.php\?id=(\d+)/i, rp: [3], op: [3]}, |
| | {t: 'הספרייה הדיגיטלית', p: [1,24,3,4], r: /nnl\/dig\/books\/([^\.]+)\.html/i, rp: [3], op: [3]}, |
| | {t: 'אורות', p: [1,2,3,4], r: /Article\.aspx\?ID=(\d+)/i, rp: [3], op: [3]}, |
| | {t: 'הערוץ האקדמי', p: [1,34,3,4], r: /programs\/Item\.aspx\?it=(\d+)/i, rp: [3], bm: 1, op: [3]}, |
| | {t: 'עכבר העיר', p: [1,2,3,4], r: /CM\.articles_item,(.*),\.aspx/i, rp: [3], bm: 1, op: [3]}, |
| | {t: 'ערוץ7', p: [1,2,3,4], r: /News\.aspx\/(\d+)/i, rp: [3], bm: 1, op: [3]}, |
| | {t: 'פעמים', p: [1,2,3,38], r: /dbsAttachedFiles\/Article_(.*)\.pdf/i, rp: [3], op: [3], op: [0,3]}, |
| | {t: 'תכלת', p: [1,2,3,4], r: /article\.php\?id=(\d+)/i, rp: [3], op: [3]}, |
| | {t: 'אנצ דעת', p: [3,27], r: /value\.asp\?id1=(\d+)/i, rp: [1]}, |
| | {t: 'דעת', p: [1,39,2], r: /(?:www\.)?daat\.ac\.il\/(.*)/i, rp: [2]}, |
| | {t: 'ויקישיבה', p: [50]}, |
| | {t: 'HebrewBooks', p: [1,8,3,4], r: /hebrewbooks\.org\/(\d+)/i, rp: [3], op: [3]}, |
| | {t: 'HebrewBooksPage', p: [1,8,3,4,40], r: /pdfpager\.aspx\?.*req=(\d+).*&pgnum=(\d+)/i, rp: [3,5], op: [0,3]}, |
| | {t: 'גדולי ישראל', p: [29,40,41,13]}, |
| | {t: 'עיתונות יהודית היסטורית 2', p: [43,44,1,2,22,3,7,0,23], def: {9: "Ar"}, r: /(?:Key|BaseHref)=([A-Z]{3})\/(\d{4}\/\d{1,2}\/\d{1,2})(?:.*&EntityId=|\/\d+\/)([A-Z][a-z])(\d+)/i, rp: [2,5,9,6], replace: [[/%2F/gi,'/']], op: [6,8]}, |
| | {t: 'Iucnredlist', p: [45,3], r: /details(?:\.php)?\/(\d+)/, rp: [2]}, |
| | {t: 'העין השביעית', p: [1,34,6,4,25], r: /the7eye\.org\.il\/([^\/]+)\/Pages\/(.*)\.aspx/, rp: [5,3], bm: 1, op: [3,4]}, |
| | {t: 'One', p: [1,2,3,4], r: /(?:Article[\d\-\/,]*\/|id=)([\d\-\/,]*\d)/, rp: [3], bm: 1, op: [3]}, |
| | {t: 'קול הלשון - שיעור', p: [46,47,48,4], np: [['וידאו', '"וידאו": רשמו "כן" אם זה שיעור לצפייה'], ['תואר', 'תואר - אם תואר המרצה שונה מ"הרב"']], r: /(?:PathFile=|Source=)([^&]*)/i, rp: [3], op: [3]}, |
| | {t: 'ספר פרויקט גוטנברג', np: [["כותב", "שם כותב הספר (אופציונלי)", 1], ['שם הספר', 'שם הספר (ברירת מחדל: שם הערך)', 1], ['מספר', 'מספר הספר בפרויקט']], r: /ebooks\/(\d+)/i, rp: [3]}, |
| | {t: 'imdb title', np: [['id', 'המספר שמופיע בקישור'], ['title', 'הכותרת שתופיע בקישור (אופציונלי: ברירת מחדל - שם הערך', 1]], r: /title\/tt(\d+)/i, rp: [1]}, |
| | {t: 'imdb name', np: [['id', 'המספר שמופיע בקישור'], ['name', 'הכותרת שתופיע בקישור (אופציונלי: ברירת מחדל - שם הערך', 1]], r: /name\/nm(\d+)/i, rp: [1]}, |
| | {t: 'imdb company', np: [['id', 'המספר שמופיע בקישור'], ['company', 'הכותרת שתופיע בקישור']], r: /company\/co(\d+)/i, rp: [1]}, |
| | {t: 'Google book', np: [['מזהה','מזהה הספר באתר גוגל'],['כותב','שם כותב/י הספר (אופציונלי)', 1],['שם הספר','שם הספר (אופציונלי) - ללא הפרמטר יוצג שם הערך', 1]], r: /id=([^&]*)/, rp: [1]}, |
| | {t: 'TheMarker1', p: [1,2,3,4,51], r: /http:\/\/(?:www)?(.*)\.themarker\.com\/([^\?]+)/i, rp: [5,3], op: [3,4]}, |
| | {t: 'מערכות', p: [1,2,3,49], r: /FILES\/(.*)\.pdf/i, rp: [3], op: [3]}, |
| | {t: 'mako', p: [1,2,3,6,4], r: /www\.mako\.co\.il\/(.*?)\/Article-(.*?)\.htm/i, rp: [4,3], bm: 1, op: [4]}, |
| | ]; |
| | |
| | if (! templateName) { |
| | var en = /^[a-z]/; |
| | function compare(t1, t2) { |
| | var gen = 'קישור כללי', a = t1.t.toLowerCase(), b = t2.t.toLowerCase(); |
| | if (a == gen ^ b == gen) return (b == gen) - (a == gen); |
| | if (en.test(a) - en.test(b)) return en.test(a) - en.test(b); // all hebrew before all english |
| | return a > b ? 1 : (a < b ? -1 : 0); |
| | } |
| | templatesAr.sort(compare); |
| | return templatesAr; |
| } | | } |
| if (pairs.length > 1) | | |
| code += pairs.join('|');
| | var template; |
| }
| | for (var i in templatesAr) |
| code += "}}";
| | if (templatesAr[i].t == templateName) |
| if (this.refCheckBox.checked)
| | template = templatesAr[i]; |
| return "{{הערה|1=" + code + "}}";
| | |
| if (this.listCheckBox.checked)
| | var historic = {"דבר": "DAV", "מעריב": "MAR", "הצבי": "HZV", "הצפירה": "HZF", "המגיד": "MGD", "המליץ": "HMZ", "חבצלת": "HZT", "PalPost": "PLS"}; |
| return "\n* " + code + "\n";
| | if (historic[template.t]) { |
| return code;
| | var r = new RegExp('=HISTNAME/(\\d{4}/\\d{1,2}/\\d{1,2})(?:.*&EntityId=|/\\d+/)([A-Z][a-z])(\\d+)'.replace('HISTNAME', historic[template.t])); |
| }
| | $.extend(template, {p: [1,2,22,3,7,0,23], def: {7: "Ar"}, r: r, rp: [3,7,4], replace: [[/%2F/gi, '/']], op: [4,6]}); |
|
| | } |
| function ltw_copyAttributes(target, source) {for (key in source)target[key] = source[key];return target;}
| | |
|
| | for (var i in template.p) |
|
| | if (typeof template.p[i] == "number") |
|
| | template.p[i] = constants[template.p[i]]; |
|
| | |
|
| | return template; |
| function ltw_knownLinkTemplates() {
| |
| var constants = ["",
| |
| "שם המחבר",
| |
| "כותרת המאמר",
| |
| "מספר (כפי שמופיע בקישור)",
| |
| "מידע נוסף (למשל תאריך)",
| |
| "מספר הסדרה",
| |
| "נתיב הדף - כמו שמופיע בקישור",
| |
| "מידע נוסף (לא תאריך)",
| |
| "ספר",
| |
| "פרק",
| |
| "פסוק",
| |
| "מסכת",
| |
| "דף",
| |
| "עמוד",
| |
| "משנה",
| |
| "סימן",
| |
| "סעיף",
| |
| "הלכות",
| |
| "שם",
| |
| "מספר הסדרה",
| |
| 'מספר סדרת "ART"',
| |
| "",
| |
| "תאריך כתבה, בצורה 1949/07/25<br/>כפי שמופיע בקישור",
| |
| "סוג הפרסום, כפי שמופיע בקישור אחרי '=EntityId'. בדרך כלל 'Ar' לכתבה רגילה, 'Pc' לתמונה ו־'Ad' לפרסומת",
| |
| "שם הספר",
| |
| "קידומת סוג הכתבה", | |
| "מזהה נושא הכתבה",
| |
| "שם הערך",
| |
| "קוד כניסה חינם (כפי שמופיע בקישור)",
| |
| "כרך",
| |
| "הפניה לכתבה (כפי שמופיע בקישור)",
| |
| "הלכה",
| |
| "",
| |
| "חלק",
| |
| "כותרת הדף",
| |
| "שם החלל",
| |
| "מספר ה-folder כמו שמופיע בקישור",
| |
| "כותרת הספר/שם הקהילה",
| |
| "מספר גיליון, תאריך פרסום ומספרי עמודים",
| |
| "החלק השני של הקישור",
| |
| "מספר העמוד, כפי שמופיע באתר",
| |
| "שם האיש",
| |
| "שם האמן",
| |
| "שם העיתון",
| |
| "קוד העיתון באתר (שלוש אותיות לטיניות גדולות)",
| |
| "שם המין/זן",
| |
| "שם הרב",
| |
| "שם השיעור",
| |
| "השיעור כשם שמופיע בקישור",
| |
| "מספר גיליון, תאריך פרסום ומספרי עמודים (אופציונלי)"
| |
| ];
| |
|
| |
| var templatesDic = {
| |
| 'קישור כללי': [],
| |
| "הארץ": [1, 2, 3, 4],
| |
| "דבר": [1,2,22,3,7,0,23],
| |
| "מעריב": [1,2,22,3,7,0,23],
| |
| "הצבי": [1,2,22,3,7,0,23],
| |
| "הצפירה": [1,2,22,3,7,0,23],
| |
| "המגיד": [1,2,22,3,7,0,23],
| |
| "חבצלת": [1,2,22,3,7,0,23],
| |
| "המליץ": [1,2,22,3,7,0,23],
| |
| "PalPost": [1,2,22,3,7,0,23],
| |
| 'תנ"ך': [8,9,10],
| |
| "nrg": [1,2,3,4,0,19,20],
| |
| "Mooma2": [42,3],
| |
| "בחדרי חרדים": [1,2,3,4],
| |
| "CIA factbook":["האותיות שמציינות את המדינה"],
| |
| "HebrewBooks":[1,8,3,4],
| |
| "mynet":[1,2,3,4,0,5],
| |
| "NFC":[1,2,3,4],
| |
| "Onlife":[1,2,3,4],
| |
| "ynet":[1,2,3,4,0,5,25],
| |
| "Xnet":[1,2,3,4,0,5,25],
| |
| "וואלה!":[1,2,3,4,0,26],
| |
| "גלובס":[1,2,3,4],
| |
| "כלכליסט":[1,2,3,4,0,19],
| |
| "נענע10":[1,2,3,4,0,26],
| |
| "אנציקלופדיה ynet":[27,3,28,4],
| |
| "תדהר":[29,13,27],
| |
| "אנשים ישראל":[1,2,3,4],
| |
| "אתר חיל האוויר":[1,2,3,4],
| |
| "בלדד השוחי":[3,2,4],
| |
| "בשבע":[1,2,3,4],
| |
| "האייל הקורא":[1,2,3,4],
| |
| "הידען":[1,2,30,4],
| |
| "המאסף":[1,2,3,4],
| |
| "חסקין":[3,2],
| |
| "בבלי":[11,12,13],
| |
| "משנה":[11,9,14],
| |
| 'רמב"ם':[8,17,9,31],
| |
| "ירושלמי":[11,9,31],
| |
| "שולחן ערוך":[33,15,16],
| |
| "מטח":[1,2,3,4],
| |
| "גלצ":[1,2,3,4],
| |
| "ישראל היום":[1,2,3,4],
| |
| "מממ":[1,2,3,4],
| |
| "מממ2":[1,2,3,4],
| |
| "משנה תורה":[12,3,34],
| |
| "נזכור":[35,3],
| |
| "סגולה":[1,2,3,4],
| |
| "ספורט 5":[1,2,3,36,4],
| |
| "ספסל":[3,18,0],
| |
| "ספסל מאמן":[3,18,0],
| |
| "ספרי יזכור":[1,37,3,4],
| |
| "הספרייה הדיגיטלית":[1,24,3,4],
| |
| "אורות":[1,2,3,4],
| |
| "הערוץ האקדמי":[1,34,3,4],
| |
| "עכבר העיר":[1,2,3,4],
| |
| "ערוץ7":[1,2,3,4],
| |
| "פעמים":[1,2,3,38],
| |
| "תכלת":[1,2,3,4],
| |
| "אנצ דעת":[3,27],
| |
| "דעת":[1,39,2],
| |
| "ויקישיבה":["שם הערך בויקישיבה"],
| |
| "HebrewBooksPage": [1,8,3,4,40],
| |
| "גדולי ישראל": [29,40,41,13],
| |
| "עיתונות יהודית היסטורית 2": [43,44,1,2,22,3,7,0,23],
| |
| "Iucnredlist": [45,3],
| |
| "העין השביעית": [1,34,6,4,25],
| |
| "One": [1,2,3,4],
| |
| "קול הלשון - שיעור" : [46,47,48,4],
| |
| "ספר פרויקט גוטנברג": [],
| |
| "imdb title": [],
| |
| "imdb name": [],
| |
| "imdb company": [],
| |
| "Google book": [],
| |
| "TheMarker1": [1,2,3,4],
| |
| "מערכות": [1,2,3,49],
| |
| "mako": [1,2,3,6,4]
| |
| };
| |
| for (var key in templatesDic)
| |
| for (var i in templatesDic[key]) | |
| if (typeof(templatesDic[key][i]) == "number") | |
| templatesDic[key][i] = constants[templatesDic[key][i]]; | |
| if (typeof privateTemplates === "object")
| |
| ltw_copyAttributes(templatesDic, privateTemplates); | |
| return templatesDic;
| |
| }
| |
|
| |
| function ltw_namedParams(templateName) {
| |
| var allNamedParam = {
| |
| 'קול הלשון - שיעור': [['וידאו', '"וידאו": רשמו "כן" אם זה שיעור לצפייה'], ['תואר', 'תואר - אם תואר המרצה שונה מ"הרב"']], | |
| "ספר פרויקט גוטנברג": [["כותב", "שם כותב הספר (אופציונלי)"], ['שם הספר', 'שם הספר (ברירת מחדל: שם הערך)'], ['מספר', 'מספר הספר בפרויקט']],
| |
| "imdb title": [['id', 'המספר שמופיע בקישור'], ['title', 'הכותרת שתופיע בקישור (אופציונלי: ברירת מחדל - שם הערך']],
| |
| "imdb name": [['id', 'המספר שמופיע בקישור'], ['name', 'הכותרת שתופיע בקישור (אופציונלי: ברירת מחדל - שם הערך']],
| |
| "imdb company": [['id', 'המספר שמופיע בקישור'], ['company', 'הכותרת שתופיע בקישור']],
| |
| "Google book": [['מזהה','מזהה הספר באתר גוגל'],['כותב','שם כותב/י הספר (אופציונלי)'],['שם הספר','שם הספר (אופציונלי) - ללא הפרמטר יוצג שם הערך']],
| |
| "TheMarker1": [['5','קידומת הקישור, אם שונה מ-www']],
| |
| 'קישור כללי': [
| |
| ['כתובת', 'הקישור (כלומר ה-URL) עצמו'],
| |
| ['כותרת', 'שם המאמר המקושר'],
| |
| ['הכותב', 'שמות כותבי המאמר'],
| |
| ['תאריך', 'תאריך המאמר'],
| |
| ['עמודים', 'מספר העמודים'],
| |
| ['שפה', 'שפה (אם המאמר לא בעברית)'],
| |
| ['פורמט', 'פורמט המאמר, אם אינו HTML (למשל PDF, DOC, וכן הלאה'],
| |
| ['ציטוט', 'ציטוט משפט מהדף המקושר (יכול לעזור במציאת הדף בעתיד, אם הקישור ישתנה)']
| |
| ]
| |
| };
| |
| return allNamedParam[templateName] || [];
| |
| }
| |
|
| |
| function ltw_defaultParameters(templateName) { // if parameter has the default value, we omit it
| |
| var defs = {
| |
| "דבר": {7: "Ar"},
| |
| "מעריב": {7: "Ar"},
| |
| "הצבי": {7: "Ar"},
| |
| "הצפירה": {7: "Ar"},
| |
| "המגיד": {7: "Ar"},
| |
| "המליץ": {7: "Ar"},
| |
| "חבצלת": {7: "Ar"},
| |
| "PalPost": {7: "Ar"},
| |
| "עיתונות יהודית היסטורית 2": {9: "Ar"},
| |
| "ynet": {6: 0, 7: 'articles'},
| |
| "Xnet": {6: 0, 7: 'articles'}
| |
| }
| |
| return defs[templateName] || {};
| |
| }
| |
|
| |
| function ltw_templateRegex(templateName) {
| |
| var regexes = {
| |
| "nrg": {regex: /\/online\/([^\/]+)\/ART([^\/]*)\/([^\.]+).html/i, params:[6,7,3]}, | |
| "NFC": {regex: /Archive\/([^\.]+)\.html/i, params:[3]},
| |
| "HebrewBooks": {regex: /hebrewbooks\.org\/(\d+)/i, params:[3]},
| |
| "mynet": {regex: /articles\/(\d+),7340,L-(\d+),00\.html/i, params:[6,3]},
| |
| "Onlife": {regex: /onlife\.co\.il\/([^\/]+)\/(.*)/i, params:[1,3]},
| |
| "PalPost": {regex: /BaseHref=PLS\/(\d{4}\/\d{1,2}\/\d{1,2})&EntityId=Ar(\d+)/i, params:[3,4]},
| |
| "ynet": {regex: /ynet\.co\.il\/([^\/]+)\/(\d+),7340,L-(\d+),00.html/i, params:[7,6,3]},
| |
| "Xnet": {regex: /([^\/]+)\/(\d+),\d+,L-(\d+),00.html/i, params:[7,6,3]},
| |
| "Mooma2": {regex: /\?ArtistId=(\d+)/i, params:[2]},
| |
| "HebrewBooksPage": {regex: /pdfpager\.aspx\?.*req=(\d+).*&pgnum=(\d+)/i, params:[3,5]},
| |
| "בחדרי חרדים" : { regex: /\/Article\.aspx\?id=(\d+)/i, params:[3]},
| |
| "וואלה!": {regex: /\?w=\/(\d+)\/(\d+)/i, params:[6,3]},
| |
| "גלובס": {regex: /\/news\/article.aspx\?did=(\d+)/i, params:[3]},
| |
| "כלכליסט": {regex: /\/articles\/(\d+),7340,L-(\d+),00/i, params:[6,3]},
| |
| "נענע10": {regex: /http:\/\/([a-z]*)\.nana10\.co\.il\/Article\/\?ArticleID=(\d+)/i, params:[6,3]},
| |
| "אנציקלופדיה ynet": {regex: /\/yaan\/0,7340,L-(\d+)-([^-]*)-FreeYaan,00.html/i, params:[2,3]},
| |
| "אנשים ישראל": {regex: /.*itemID=(\d+)&/i, params:[3]},
| |
| "אתר חיל האוויר": {regex: /\/([^\/]*)-he\//i, params:[3]},
| |
| "בלדד השוחי": {regex: /ArticleID(\d*)/i, params:[1]},
| |
| "בשבע": {regex: /Article.aspx\/(\d+)/i, params:[3]},
| |
| "האייל הקורא": {regex: /story(?:_|\?id=)(\d+)/i, params:[3]},
| |
| "הידען": {regex: /hayadan\.org\.il\/([^\/]*)/i, params:[3]},
| |
| "המאסף": {regex: /notimportant\.co\.il\/?p=(\d+)/i, params:[3]},
| |
| "חסקין": {regex: /ArticleNum=(\d+)/i, params:[1]},
| |
| "הארץ": {regex: /(?:spages\/|itemNo=)(\d+)/i, params:[3]},
| |
| "גלצ": {regex: /NewsArticle\.aspx\?NewsId\=(\d+)/i, params:[3]},
| |
| "ישראל היום": {regex: /newsletter_article\.php\?id=(\d+)/i, params:[3]},
| |
| "מממ": {regex: /data\/pdf\/([^\.])\.pdf/i, params:[3]},
| |
| "מממ2": {regex: /data\/docs\/([^\.])\.rtf/i, params:[3]},
| |
| "משנה תורה": {regex: /mechon-mamre.org\/\i\/(\d+)\.htm/i, params:[2]},
| |
| "נזכור": {regex: /HalalKorot\.aspx\?id=(\d+)/i, params:[2]},
| |
| "סגולה": {regex: /view-article\.asp\?article=(\d+)/i, params:[3]},
| |
| "ספורט 5": {regex: /articles\.aspx\?FolderID=(\d+)&docID=(\d+)/i, params:[4,3]},
| |
| "ספסל": {regex: /hplayer\.aspx\?id=(\d+)/i, params:[1]},
| |
| "ספסל מאמן": {regex: /hstaff\.aspx\?id=(\d+)/i, params:[1]},
| |
| "ספרי יזכור": {regex: /yizkor\.nypl\.org\/index\.php\?id=(\d+)/i, params:[3]},
| |
| "הספרייה הדיגיטלית": {regex: /nnl\/dig\/books\/([^\.]+)\.html/i, params:[3]},
| |
| "אורות": {regex: /Article\.aspx\?ID=(\d+)/i, params:[3]},
| |
| "הערוץ האקדמי": {regex: /programs\/Item\.aspx\?it=(\d+)/i, params:[3]},
| |
| "עכבר העיר": {regex: /CM\.articles_item,(.*),\.aspx/i, params:[3]},
| |
| "ערוץ7": {regex: /News\.aspx\/(\d+)/i, params:[3]}, | |
| "פעמים": {regex: /dbsAttachedFiles\/Article_(.*)\.pdf/i, params:[3]},
| |
| "תכלת": {regex: /article\.php\?id=(\d+)/i, params:[3]}, | |
| ":אנצ דעת": {regex: /value\.asp\?id1=(\d+)/i, params:[1]},
| |
| "דעת": {regex: /(?:www\.)?daat\.ac\.il\/(.*)/i, params:[2], problematic:1}, | |
| "עיתונות יהודית היסטורית 2": {regex: /(?:Key|BaseHref)=([A-Z]{3})\/(\d{4}\/\d{1,2}\/\d{1,2})(?:.*&EntityId=|\/\d+\/)([A-Z][a-z])(\d+)/i, params:[2,5,9,6], replace: [[/%2F/gi, '/']]},
| |
| "Iucnredlist": {regex: /details(?:\.php)?\/(\d+)/, params: [2]},
| |
| "העין השביעית": {regex: /the7eye\.org\.il\/([^\/]+)\/Pages\/(.*)\.aspx/, params: [5,3]},
| |
| "One": {regex: /(?:Article[\d\-\/,]*\/|id=)([\d\-\/,]*\d)/, params: [3]},
| |
| "קול הלשון - שיעור": {regex: /(?:PathFile=|Source=)([^&]*)/i, params:[3]},
| |
| "ספר פרויקט גוטנברג": {regex: /ebooks\/(\d+)/i, params: [3]},
| |
| "imdb title": {regex: /title\/tt(\d+)/i, params: [1]},
| |
| "imdb name": {regex: /name\/nm(\d+)/i, params: [1]},
| |
| "imdb company": {regex: /company\/co(\d+)/i, params: [1]},
| |
| "Google book" : {regex: /id=([^&]*)/, params: [1]},
| |
| "TheMarker1": {regex: /http:\/\/(?:www)?(.*)\.themarker\.com\/([^\?]+)/i, params: [5,3]},
| |
| "מערכות": {regex: /FILES\/(.*)\.pdf/i, params: [3]},
| |
| "mako": {regex: /www\.mako\.co\.il\/(.*?)\/Article-(.*?)\.htm/i, params: [4,3]} | |
| } | | } |
|
| | |
| // these guys are all the same - it's best to handle them as such. | | function templateDialog(dialog, template) { |
| var historic = {"דבר": "DAV", "מעריב": "MAR", "הצבי": "HZV", "הצפירה": "HZF", "המגיד": "MGD", "המליץ": "HMZ", "חבצלת": "HZT", "PalPost": "PLS"};
| | var orderedFields = [], |
| var histregex = {regex: /=HISTNAME\/(\d{4}\/\d{1,2}\/\d{1,2})(?:.*&EntityId=|\/\d+\/)([A-Z][a-z])(\d+)/i, params:[3,7,4], replace: [[/%2F/gi, '/']]};
| | namedFields = [], |
| for (var template in historic) {
| | table = $('<table>'), |
| var lr = ltw_copyAttributes({}, histregex); | | empty = {val: function(){return '';}, hasClass: function(){return 0;}}; |
| lr.regex = new RegExp(lr.regex.source.replace("HISTNAME", historic[template]));
| | |
| regexes[template] = lr;
| | function createWikiCode() { |
| }
| | var par = ["{{" + template.t]; |
| if (typeof privateRegexes === "object")
| | for (var i in orderedFields) { |
| ltw_copyAttributes(regexes, privateRegexes);
| | var val = $.trim(orderedFields[i].val()).replace('|', '{{!}}'); |
| return regexes[templateName];
| | if (val.indexOf('=') + 1) |
| }
| | val = (i + 1) + '=' + val; |
|
| | par.push(val); |
| function ltw_addFiledToTable(doc, table, param) {
| | } |
| var row = table.insertRow(-1) || table[rows[table.rows.length-1]];
| | if (template.def) |
| var cell = row.insertCell(-1) || row.cells[0];
| | for (var parnum in template.def) |
| cell.innerHTML = param;
| | if (par[parnum] == template.def[parnum]) |
| cell.style.maxWidth = "16em";
| | par[parnum] = ''; |
| var field = ltw_copyAttributes(doc.createElement("input"), {type: "text", maxLength: 120, doc: doc});
| | while (par.length && !par[par.length-1].length && orderedFields[par.length-2].length) // last condition is to avoid remving "emptys" |
| field.onkeyup = field.onmouseup = field.onfocus = field.onblur = ltw_updatePreview;
| | par.pop(); |
| field.style.width = "20em";
| | var code = par.join("|"); |
| cell = row.insertCell(-1) || row.cells[1];
| | if (namedFields) { |
| cell.appendChild(field);
| | var pairs = []; |
| return field;
| | for (j in namedFields) { |
| } | | var val = $.trim(namedFields[j][1].val()).replace('|', '{{!}}'); |
|
| | if (val.length) |
| function ltw_hasBookMarklet(template) { | | pairs.push(namedFields[j][0] + '=' + val); |
| return $.inArray(template, ['ynet', 'הארץ', 'nrg', 'וואלה!', 'ערוץ 7', 'נענע10', 'גלובס', 'עכבר העיר', 'הערוץ האקדמי', 'העין השביעית', 'Xnet' ,'One', 'בחדרי חרדים','ישראל היום','mako']) + 1;
| |
| } | |
|
| |
| function ltw_popupPredefinedLinkTemplate(templateName, paramList, regexDict) { | |
| var hasBookmarklet = ltw_hasBookMarklet(templateName);
| |
| var namedParamsList = ltw_namedParams(templateName);
| |
| var height = 160 + 26 * (paramList.length + namedParamsList.length) + (regexDict ? 60 : 0) + (hasBookmarklet ? 60 : 0);
| |
| for (var i in paramList)
| |
| height += 18 * Math.floor(paramList[i].length / 33);
| |
| for (var i in namedParamsList)
| |
| height += 18 * Math.floor(namedParamsList[i][1].length / 33);
| |
| var top = (screen.height - height) / 2, left = (screen.width - 550) / 2;
| |
| var popup = window.open("", "", "resizable=1,height="+height+",width=550,left="+left+",top="+top);
| |
| var doc = popup.document;
| |
| doc.write("Fix for FF4");
| |
| var body = doc.body;
| |
| ltw_copyAttributes(doc, {
| |
| title: " הוספת תבנית: " + templateName,
| |
| dir: "rtl",
| |
| templateName: templateName,
| |
| orderedFields: [],
| |
| getTemplate: ltw_createTemplate,
| |
| updatePreview: function(){this.previewNode.data = this.getTemplate();},
| |
| problematic: regexDict && regexDict.problematic,
| |
| defParam: ltw_defaultParameters(templateName)
| |
| });
| |
| body.innerHTML = "";
| |
| if (hasBookmarklet) {
| |
| var p = doc.createElement("p");
| |
| p.style.color = 'red';
| |
| p.appendChild(doc.createTextNode('קיים בוקמרקלט שמייצר תבנית זו באופן אוטומטי. אנא שקלו להשתמש בו.'));
| |
| body.appendChild(p);
| |
| }
| |
| if (regexDict) {
| |
| body.appendChild(doc.createTextNode('הדביקו את הקישור כאן:'));
| |
| var b = doc.createElement("input");
| |
| b.urlInput = doc.createElement("input");
| |
| ltw_copyAttributes(b.urlInput, { type: "text", maxLength: 600 } );
| |
| b.urlInput.style.width = "12em";
| |
| body.appendChild(b.urlInput);
| |
| ltw_copyAttributes(b, {type: "button", value: "חילוץ פרמטרים מהקישור", regexDict: regexDict, doc: doc, update: ltw_updatePreview });
| |
| b.onclick = function() {
| |
| var str = this.urlInput.value;
| |
| if (this.regexDict.replace) | |
| for (var r in this.regexDict.replace) | |
| str = str.replace(this.regexDict.replace[r][0], this.regexDict.replace[r][1]); | |
| var matches = str.match(this.regexDict.regex); | |
| var orderedFields = this.doc.orderedFields, namedFields = this.doc.namedFields;
| |
| var numOrdered = orderedFields.length, numNamed = namedFields.length; | |
| if (matches) | |
| for (var i = 1; i < matches.length; i++) { | |
| var fieldIndex = this.regexDict.params[i-1] - 1; //parameters are counted from one, we count from 0. | |
| if (fieldIndex < numOrdered)
| |
| orderedFields[fieldIndex].value = matches[i] || '';
| |
| else if (fieldIndex < numOrdered + numNamed) | |
| namedFields[fieldIndex-numOrdered][1].value = matches[i] || ''; | |
| } | | } |
| this.update(); | | if (pairs.length) |
| | code += '|' + pairs.join('|'); |
| | } |
| | code += "}}"; |
| | if ($('#ltw2_ref').attr('checked')) |
| | return "{{הערה|" + code + "}}"; |
| | if ($('#ltw2_list').attr('checked')) |
| | return "\n* " + code + "\n"; |
| | return code; |
| } | | } |
| body.appendChild(b); | | |
| body.appendChild(doc.createElement("hr"));
| | function updatePreview(){ |
| }
| | $('#ltw2_preview').text(createWikiCode()); |
| var table = doc.createElement("table");
| | var good = true; |
| for (var i in paramList) {
| | var f = orderedFields.concat(namedFields) |
| var param = paramList[i];
| | for (i in f) |
| if (param.length == 0) { // this allow defining an empty parameter. by use of a "pseudo field". | | if (f[i].hasClass('ltw_required') && $.trim(f[i].val()).length == 0) |
| doc.orderedFields.push({value:""}); | | good = false; |
| continue; | | $(".ui-dialog-buttonpane button:contains('אישור')").button(good ? "enable" : "disable"); |
| | } |
| | |
| | function addRow(labelText, paramName, optional) { |
| | var inputField = $('<input>', {id: 'ltw2_inputfield_' + paramName, type: 'text', width: 600}).css({width: '28em'}).bind('input', updatePreview); |
| | if (! (optional || 0)) |
| | inputField.addClass('ltw_required').css({border: '1px red solid'}); |
| | var tr = $('<tr>') |
| | .append($('<td>').text(labelText).css({maxWidth: '20em'})) |
| | .append($('<td>').css({width: '30em'}).append(inputField)); |
| | if (typeof paramName == 'number') |
| | orderedFields.push(inputField); |
| | else |
| | namedFields.push([paramName, inputField]); |
| | table.append(tr); |
| | } |
| | |
| | function extractParamsFromURL() { |
| | var str = this.value; |
| | if (template.replace) |
| | for (var r in template.replace) |
| | str = str.replace(template.replace[r][0], template.replace[r][1]); |
| | var matches = str.match(template.r); |
| | if (matches) |
| | for (var i = 1; i < matches.length; i++) |
| | $('#ltw2_inputfield_' + template.rp[i-1]).val(matches[i] || ''); |
| | updatePreview(); |
| } | | } |
| doc.orderedFields.push(ltw_addFiledToTable(doc, table, param)); | | |
| }
| | if (template.bm) |
| doc.namedFields = [];
| | dialog.append($('<p>').css({color: 'red', fontWeight: 'bold'}) |
| for (var i in namedParamsList) {
| | .text('קיים בוקמרקלט שמייצר תבנית "' + template.t + '" באופן אוטומטי. אנא שקלו להשתמש בו.')) |
| var np = namedParamsList[i];
| | .append($('<hr>')); |
| doc.namedFields.push([np[0], ltw_addFiledToTable(doc, table, np[1])]);
| | |
| }
| | if (template.r) |
| body.appendChild(table);
| | dialog.append($('<span>').text('הדביקו את הקישור כאן:').css({width: '20em'})) |
| body.appendChild(doc.createElement("p"));
| | .append($('<input>', {type: "text", maxLength: 600}).css({width: '30em'}).bind('input', extractParamsFromURL)) |
| var p = doc.createElement("p");
| | .append($('<hr>')) |
| var checkboxes = {refCheckBox: " הערת שוליים:", listCheckBox: " פריט ברשימה:"}
| | |
| for (var box in checkboxes) {
| | dialog |
| p.appendChild(doc.createTextNode(checkboxes[box]));
| | .append($('<p>').text('השדות המסומנים באדום הם חובה, השאר אופציונליים')) |
| doc[box] = ltw_copyAttributes(doc.createElement('input'), {type: "checkbox", doc: doc, onchange: ltw_updatePreview});
| | .append(table) |
| p.appendChild(doc[box]);
| | .append($('<p>').css({height: '2em'})) |
| }
| | .append($('<label>').text(' הערת שוליים ')) |
| body.appendChild(p);
| | .append($('<input>', {type: 'checkbox', id: 'ltw2_ref'}).change(updatePreview)) |
| body.appendChild(p = doc.createElement("p"));
| | .append($('<label>').css({width: '12em'}).text( ' פריט ברשימה ')) |
| ltw_copyAttributes(p.style, {background: "blue", color: "white", fontSize: "0.85em"} );
| | .append($('<input>', {type: 'checkbox', id: 'ltw2_list'}).change(updatePreview)) |
| p.appendChild(doc.previewNode = doc.createTextNode(' '));
| | .append($('<p>').css({height: '1.5em'})) |
| body.appendChild(doc.createElement("p"));
| | .append($('<p>', {id: 'ltw2_preview'}).css({backgroundColor: "lightGreen", fontSize: '120%', maxWidth: '40em'})); |
| b = ltw_copyAttributes(doc.createElement("input"), {type:"button", value:"אישור", doc: doc, popup: popup});
| | |
| doc.problematic = regexDict && regexDict.problematic && true;
| | for (var i = 0; i < (template.p || []).length; i++) |
| b.onclick = function() {
| | if (template.p[i].length == 0) // this allow defining an empty parameter. by use of a "pseudo field". |
| insertTags("", this.doc.getTemplate(), "");
| | orderedFields.push(empty); |
| this.popup.close(); | | else |
| | addRow(template.p[i], parseInt(i, 10) + 1, template.op && ($.inArray(i, template.op)+1)); |
| | |
| | for (var i in template.np) |
| | addRow(template.np[i][1], template.np[i][0], template.np[i][2]); |
| | |
| | |
| | dialog.dialog('option', 'buttons', { |
| | 'אישור': function() {insertTags('', '', createWikiCode()); dialog.dialog('close');}, |
| | 'ביטול': function() {dialog.dialog('close');} |
| | }); |
| | $('.ui-dialog-buttonpane').css({backgroundColor: '#E0E0E0'}); |
| | dialog.dialog('option', { |
| | height: 'auto', |
| | width: 'auto', |
| | position: [(window.width - dialog.width()) / 2, (window.height - dialog.height()) / 2] |
| | }); |
| | updatePreview(); |
| } | | } |
| body.appendChild(b); | | |
| b = ltw_copyAttributes(doc.createElement("input"), {type: "button", value: "ביטול", popup: popup, onclick: function(){this.popup.close();}});
| | function fireDialog() { |
| body.appendChild(b);
| | $('#ltw_dialog').remove(); // kill existing popup when button is pressed again. |
| doc.refCheckBox.onchange();
| | var title = 'יצירת תבנית קישור', |
| }
| | dialog = $('<div>', {id: 'ltw_dialog'}).css({backgroundColor: '#E8E8E8'}).dialog({ |
|
| | title: title, |
| function ltw_fireLinkTemplatePopup(templateName) { | | resizable: false, |
| var linkTemplates = ltw_knownLinkTemplates();
| | close: function() {$(this).remove();}, |
| var templateParams = linkTemplates[templateName];
| | }), |
| ltw_popupPredefinedLinkTemplate(templateName, templateParams, ltw_templateRegex(templateName));
| | selector = $('<select>').change(function() { |
| }
| | if (! this.value) return; |
|
| | dialog.dialog('option', 'title', title + ' עבור ' + this.value); |
| function ltw_createSortedTemplatesList() {
| | $(this).remove(); |
| var fullList = ltw_knownLinkTemplates();
| | templateDialog(dialog, templates(this.value)); |
| var names = [], hnames = [];
| | }); |
| var first = 'קישור כללי';
| | |
| for (var x in fullList)
| | selector.append($('<option>', {text: 'בחרו תבנית מהרשימה'})); |
| if (x.match(/^[a-zA-Z]/)) | | var fullList = templates(false); |
| names.push(x);
| | for (var i in fullList) |
| else | | selector.append($('<option>', {text: fullList[i].t, value: fullList[i].t})); |
| if (x != first)
| | dialog.append(selector); |
| hnames.push(x);
| |
| hnames.sort();
| |
| names.sort(function(a,b){var la=a.toLowerCase(),lb=b.toLowerCase();return la>lb?1:la<lb?-1:0;});
| |
| return [first].concat(hnames).concat(names);
| |
| } | |
|
| |
| function ltw_createLinkTemplatesSelections() {
| |
| var select = document.createElement("select");
| |
| select.onchange = function() {
| |
| ltw_fireLinkTemplatePopup(this.value);
| |
| this.selectedIndex = 0;
| |
| return false;
| |
| } | | } |
| select.options.add(new Option("אשף תבניות קישורים", ""));
| | |
| var allnames = ltw_createSortedTemplatesList(); | | setTimeout(function() { |
| for (var i in allnames)
| | var button = $('<img>', {src: 'http://upload.wikimedia.org/wikipedia/commons/e/ea/Button_easy_cite.png', title: 'תבנית קישור'}) |
| select.options.add(new Option(allnames[i], allnames[i])); | | .click(function() { |
| var toolbar = document.getElementById("toolbar");
| | mediaWiki.loader.using('jquery.ui.dialog', fireDialog); |
| if (toolbar)
| | }); |
| toolbar.appendChild(select);
| | $('div.section-advanced > div:last').append(button); |
| }
| | $('div #toolbar').append(button); |
|
| | }, 1000); |
| function ltw_updatePreview() { this.doc.updatePreview(); }
| | }); |
|
| |
| function ltw_advancedFire(context) {
| |
| ltw_fireLinkTemplatePopup(this.template);
| |
| }
| |
|
| |
| function ltw_createAdvanceToolKit() {
| |
| var gadget = {label: 'אשף תבניות קישורים', type: 'select', list: []};
| |
| var templatesList = ltw_createSortedTemplatesList();
| |
| for (var i in templatesList)
| |
| gadget.list.push({label: templatesList[i], action: {type: 'callback', execute: ltw_advancedFire, template: templatesList[i]}});
| |
| $j('#wpTextbox1').wikiEditor('addToToolbar', {
| |
| 'section': 'advanced',
| |
| 'group': 'heading',
| |
| 'tools': {'linkTemplateWizard': gadget}
| |
| });
| |
| }
| |
|
| |
| if (typeof $j != 'undefined' && typeof $j.fn.wikiEditor != 'undefined')
| |
| $j(document).ready(ltw_createAdvanceToolKit);
| |
| if (wgAction == 'edit')
| |
| hookEvent("load", ltw_createLinkTemplatesSelections);
| |